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 classer et installer les extensions. Le format du package VSIX suit la norme Open Packaging Conventions (OPC), 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 afin de mieux comprendre le fonctionnement des projets d'extension :

Structure de fichiers

Lorsque vous créez de nouvelles extensions à l'aide du modèle VSIX Project w/Command (Community), la structure du fichier se présente comme suit :

Structure de fichier 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 enregistrés dans le fichier .vsixmanifest. C'est le seul fichier obligatoire dans un projet VSIX.

Le fichier VSCommandTable.vsct est l'endroit où les commandes sont déclarées. Il s'agit d'un fichier XML qui contient les définitions des commandes des boutons, des menus, des raccourcis clavier, etc. Le fichier compile son contenu dans un blob dans la sortie .dll que Visual Studio utilise pour construire toute la structure du menu de la table de commande. Ce fichier ne fait que déclarer les composants de la table de commande ; il ne gère aucune invocation de commande.

Le fichier *Package.cs est la classe Package, qui est le point d'entrée de la plupart des extensions. Vous y trouverez souvent des gestionnaires de commandes, des fenêtres d'outils, des pages d'options, des services et d'autres composants enregistrés.

Compilation

Le projet se compile dans un fichier .vsix situé dans le dossier /bin/debug ou /bin/release, en fonction de la configuration actuelle de la construction de votre solution. La charge de travail de développement de l'extension Visual Studio fournit des cibles et des tâches MSBuild dédiées pour gérer la saveur du projet VSIX.

Lorsque le projet VSIX se construit, il se déploie automatiquement dans l'instance expérimentale. Ceci 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 des applications non testées qui pourraient le modifier, le VSSDK fournit un espace expérimental que vous pouvez utiliser pour expérimenter. Vous développez de nouvelles applications en utilisant Visual Studio comme d'habitude, mais vous les exécutez en utilisant cette instance expérimentale.

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

Si vous souhaitez lancer 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 vous seront utiles pour suivre cette boîte à outils.