Cet article fait partie d'un ensemble de notes prises au cours du VSX Day. Voir le sommaire ici.
Macros
Comme dans Office, on peut enregistrer nos actions, ce qui crée une macro.
Ecrites en langages .NET. Classe DTE (alias Application).
Dans le répertoire local de l'utilisateur.
Astuce: référencer la DLL EnvDTE dont le nom est en majuscules (il y a les mêmes en minuscules) pour que ça marche.
Contenu de EnvDTE
- Core: commandes, menus, événements.
- Project Model: solutions, projets, ProjectItems (pour les manipuler).
- Code Model: modélise le code d'un fichier source.
- Editor Model: manipule un fichier source en tant que texte
- Build Model: Debug, Release, ...
Astuces
Polymorphisme
Modèle COM, donc on navigue à l'aveugle quand il y a du polymorphisme.
Solution: dans Microsoft.VisualBasic.dll il y a une classe Microsoft.VisualBasic.Information qui permet d'avoir le type derrière un __ComObject.
Collections
Les collections commencent à 1, pas 0!
Evénéments
Pour recevoir des événements du CodeModel (exemple: modification d'une classe par le développeur), il faut programmatiquement accéder à tous les namespaces.
Add-ins
Nouveau projet puis "Other Project types / Extensibility".
Classe Connect qui est le coeur de l'AddIn et intéragit avec Visual Studio.
Comments