Partager via


Anatomie d’une extension Visual Studio

Un package VSIX est un fichier .vsix qui contient une ou plusieurs extensions Visual Studio et les métadonnées que Visual Studio utilise pour classifier et installer les extensions. Le format de package VSIX suit la norme OPC (Open Packaging Conventions), ce qui signifie qu’il peut être ouvert par n’importe quel outil capable d’ouvrir des fichiers ZIP.

Un projet d’extension est un projet C# avec quelques extras qui le rendent unique. La vidéo suivante explore un projet d’extension pour mieux comprendre le fonctionnement des projets d’extension :

Structure de fichiers

Lors de la création de nouvelles extensions à l’aide du modèle Projet VSIX avec commande (Communauté), la structure du fichier se présente comme suit :

structure de fichiers d’un projet VSIX.

Le fichier .vsixmanifest est le fichier principal. Il s’agit d’un fichier XML contenant des informations sur l’extension utilisée par Visual Studio. Tous les composants de l’extension sont inscrits dans le fichier .vsixmanifest. Il s’agit du seul fichier obligatoire dans un projet VSIX.

Le fichier VSCommandTable.vsct est l’emplacement où les commandes sont déclarées. Il s’agit d’un fichier XML et contient les définitions des commandes de bouton, des menus, des liaisons de raccourci clavier et bien plus encore. Le fichier compile son contenu dans un objet blob dans la sortie .dll que Visual Studio utilise pour construire sa structure de menu de table de commandes entière. Ce fichier déclare uniquement les composants de la table de commandes ; il ne gère aucun appel de commande.

Le fichier *Package.cs est la classe Package, qui est le point d’entrée de la plupart des extensions. Ici, vous trouverez souvent des gestionnaires de commandes, des fenêtres d’outils, des pages d’options, des services et d’autres composants inscrits.

Compilation

Le projet se compile dans un fichier .vsix situé dans le dossier /bin/debug ou /bin/release dossier, qui dépend de votre configuration de build de solution actuelle. La charge de travail Développement d’extensions Visual Studio fournit des cibles et des tâches MSBuild dédiées pour gérer le type de projet VSIX.

Lorsque le projet VSIX est généré, il se déploie automatiquement sur l’instance expérimentale. Cela peut être contrôlé dans les paramètres du projet VSIX :

propriétés du projet VSIX.

Instance expérimentale

Pour protéger votre environnement de développement Visual Studio contre les applications non testées susceptibles de le changer, le VSSDK fournit un espace expérimental que vous pouvez utiliser pour expérimenter. Vous développez de nouvelles applications à l’aide de Visual Studio comme d’habitude, mais vous les exécutez à l’aide de cette instance expérimentale.

Chaque application dotée d’un package VSIX lance l’instance expérimentale Visual Studio en mode débogage.

Si vous souhaitez démarrer l’instance expérimentale de Visual Studio en dehors d’une solution spécifique, exécutez la commande suivante dans la fenêtre de commande :

devenv.exe /RootSuffix Exp

Pour plus de concepts d’extensibilité, consultez les ressources utiles, qui seront utiles pour suivre ce kit de ressources.