Prise en main des extensions du service de langage et de l’éditeur

Vous pouvez utiliser des extensions d’éditeur pour ajouter des fonctionnalités de service de langage telles que le plan, la correspondance entre accolades, IntelliSense et les ampoules à votre propre langage de programmation ou à n’importe quel type de contenu. Vous pouvez également personnaliser l’apparence et le comportement de l’éditeur Visual Studio, par exemple la coloration du texte, les marges, les ornements et d’autres éléments visuels. Vous pouvez également définir votre propre type de contenu et spécifier l’apparence et le comportement des vues de texte dans lesquelles votre contenu apparaît.

Pour commencer à écrire des extensions d’éditeur, utilisez les modèles de projet d’éditeur installés dans le cadre du Kit de développement logiciel (SDK) Visual Studio. Le Kit de développement logiciel (SDK) Visual Studio est un ensemble téléchargeable d’outils qui facilitent le développement d’extensions Visual Studio, soit à l’aide de VSPackages, soit à l’aide de l’infrastructure d’extensibilité managée (MEF).

Remarque

Pour plus d’informations sur le Kit de développement logiciel (SDK) Visual Studio, consultez le Kit de développement logiciel (SDK) Visual Studio.

Nous vous recommandons d’en savoir plus sur les concepts et technologies suivants avant d’écrire vos propres extensions d’éditeur.

Extensions wpF (Windows Presentation Foundation) et éditeur

L’interface utilisateur de l’éditeur Visual Studio est implémentée à l’aide de Windows Presentation Foundation (WPF). WpF fournit une expérience visuelle riche et un modèle de programmation cohérent qui sépare les aspects visuels du code de la logique métier. Vous pouvez utiliser de nombreux éléments et fonctionnalités WPF lorsque vous créez des extensions d’éditeur. Pour plus d’informations, consultez Windows Presentation Foundation.

Extensions MEF (Managed Extensibility Framework) et éditeur

L’éditeur Visual Studio utilise le Framework d’extensibilité managé (MEF) pour gérer ses composants et extensions. MeF permet également aux développeurs de créer plus facilement des extensions pour une application hôte comme Visual Studio. Dans ce framework, vous définissez une extension en fonction d’un contrat MEF et exportez-la en tant que composant MEF. L’application hôte gère les composants en les recherchant, en les inscrivant et en s’assurant qu’elles sont appliquées au contexte approprié.

Remarque

Pour plus d’informations sur MEF dans l’éditeur, consultez Managed Extensibility Framework dans l’éditeur.

Points et extensions de l’éditeur Visual Studio

Les points d’extension de l’éditeur sont des composants MEF que vous pouvez personnaliser et étendre. Dans certains cas, vous étendez le point d’extension en implémentant une interface et en l’exportant avec les métadonnées appropriées. Dans d’autres cas, vous venez de déclarer une extension et de l’exporter en tant que type particulier.

Voici quelques-uns des types de base des extensions d’éditeur :

  • Marges et barres de défilement

  • Balises

  • Ornements

  • Options

  • IntelliSense

    Pour plus d’informations sur les points d’extension de l’éditeur, consultez les points d’extension du service de langage et de l’éditeur.

Déploiement d’extensions d’éditeur

Dans Visual Studio, vous déployez des extensions d’éditeur en ajoutant un fichier de métadonnées nommé source.extension.vsixmanifest à la solution, en créant la solution, puis en ajoutant une copie des fichiers binaires et du manifeste dans un dossier connu de Visual Studio. Le fichier manifeste définit les faits de base sur l’extension (par exemple, nom, auteur, version et type de contenu). Pour plus d’informations sur le fichier manifeste VSIX et sur la façon de déployer des extensions, consultez Extensions Ship Visual Studio.

Lorsque vous installez une extension sur un ordinateur, incluez les fichiers binaires et le manifeste dans un sous-dossier de dossier connu de Visual Studio.

Avertissement

Vous n’avez pas à vous soucier des détails des manifestes et des emplacements de déploiement si vous utilisez l’un des modèles d’extensibilité de l’éditeur inclus dans Visual Studio. Les modèles contiennent tout ce qui est nécessaire pour inscrire et déployer une extension.

Exécuter des extensions dans l’instance expérimentale

Vous pouvez isoler votre version de travail de Visual Studio pendant que vous développez une extension en la déployant dans le dossier expérimental suivant (sur Windows Vista et Windows 7) :

{%LOCALAPPDATA%}\VisualStudio\10.0Exp\Extensions\{Company}\{ExtensionID}

%LOCALAPPDATA% est le nom de l’utilisateur connecté, Company est le nom de l’entreprise propriétaire de l’extension, et ExtensionID est l’ID de l’extension.

Lorsque vous déployez une extension à l’emplacement expérimental, elle s’exécute en mode débogage. Une deuxième instance de Visual Studio est démarrée et nommée Microsoft Visual Studio - Instance expérimentale.

Gérer les extensions

Les extensions de Visual Studio sont répertoriées dans Extensions et Mises à jour (dans le menu Outils). Si vous testez une extension dans l’instance expérimentale, elle est répertoriée dans Extensions et Mises à jour dans l’instance expérimentale, mais n’est pas répertoriée dans l’instance de développement.

Pour plus d’informations, consultez Rechercher et utiliser des extensions Visual Studio.

Utiliser des modèles pour créer des extensions d’éditeur

Vous pouvez utiliser des modèles d’éditeur pour créer des extensions MEF qui personnalisent les classifieurs, les ornements et les marges. Il existe des modèles pour les projets C# et Visual Basic. Pour plus d’informations, consultez Créer une extension avec un modèle d’élément d’éditeur.

Vous pouvez également utiliser le modèle de projet VSIX pour créer des extensions. Ce modèle fournit uniquement les éléments requis pour déployer n’importe quel type d’extension, et inclut le fichier source.extension.vsixmanifest , les références d’assembly requises et un fichier projet qui inclut les tâches de génération qui vous permettent de déployer l’extension. Pour plus d’informations, consultez Modèle de projet VSIX.

Vous pouvez également créer des composants MEF de l’éditeur à partir d’une extension de package Visual Studio. Pour plus d’informations, consultez les procédures pas à pas suivantes :