À l'intérieur de le kit de développement Visual Studio
Il existe de nombreuses manières d'étendre Visual Studio. Le mot commun trois derniers sont : automation, les extensions de VSPackage, et extensions managées (MEF) managed extensibility framework.
L'automatisation est principalement utilisée pour automatiser des tâches répétitives, comme avec les macros et des compléments, ou fournissez une structure pour l'entrée d'utilisateur, comme avec des assistants.
Créer un VSPackage est un puissant moyen d'étendre Visual Studio. Visual Studio inclut de nombreux composants qui sont des VSPackages, par exemple le débogueur et les barres d'outils prédéfinies. Une extension d'un VSPackage peut accéder et étendre à plusieurs des composants Visual Studio, tels que le shell et le système de projet.
Managed extensibility framework est (MEF) un mécanisme d'extensibilité qui est utilisé pour la première fois dans l'éditeur Visual Studio 2010. MEF permet de personnaliser et d'étendre l'éditeur sans devoir créer un VSPackage.
Le modèle d'extensibilité Visual Studio
Le modèle d'extensibilité Visual Studio est composé des différentes bibliothèques qui permettent aux extendeurs pour accéder et étendre aux composants Visual Studio.
La première couche du modèle se trouve dans l'API Visual Studio, qui est le même jeu d'interfaces que les développeurs Microsoft utilisent pour le développement Visual Studio. Vous pouvez utiliser une bibliothèque nommée basée sur la bibliothèque de Visual Studio (VSL) pour écrire des extensions dans du code non managé.
Si vous écrivez une extension en code managé, vous pouvez utiliser des assemblys d'interopérabilité Visual Studio directement, ou vous pouvez utiliser managed package (MPF). Managed package fournit des classes qui encapsulent plusieurs interfaces dans l'API Visual Studio.
Si vous étendez l'éditeur Visual Studio 2010, vous pouvez utiliser les assemblys d'éditeur ainsi que des assemblys MEF qui définissent les contrats par lesquels votre extension est publiée dans l'éditeur Visual Studio.
Pour plus d'informations, consultez :
services de Visual Studio
Un service fournit un ensemble spécifique d'interfaces pour que les composants consomment. Visual Studio fournit un jeu des services qui peuvent être utilisés par tous les composants, y compris les extensions. Par exemple, les services de Visual Studio offrent des fenêtres Outil à afficher ou masqué dynamiquement, autorisez un accès pour aider, à la barre d'état, ou aux événements d'interface utilisateur. L'éditeur Visual Studio 2010 fournit également des services qui peuvent être importés par les extensions de l'éditeur.
Pour plus d'informations, consultez :
composants extensibles de Visual Studio
Les composants suivants sont celles les plus souvent utilisés par des extensions Visual Studio :
commandes d'environnement
Menus et barres d'outils
Fenêtres d'outils
Fenêtres de documents
Éditeurs
services linguistiques
Projets
Modèles
Commandes
Les commandes sont des fonctions qui accomplissent des tâches, telles que l'impression d'un document, soit une vue, ou créer un nouveau fichier.
Lorsque vous étendez Visual Studio, vous pouvez créer des commandes et les inscrire auprès de le shell Visual Studio. Vous pouvez spécifier comment ces commandes s'affichent dans l'IDE, par exemple, dans un menu ou une barre d'outils. En général une commande personnalisée apparaît dans le menu d' Outils , et une commande pour afficher une fenêtre Outil apparaîtrait dans le sous-menu d' Autres fenêtres le menu pour Afficher .
Lorsque vous créez une commande, vous devez également créer un gestionnaire d'événements pour celui-ci. Le gestionnaire d'événements détermine lorsque la commande est visible ou active, vous permet de modifier son texte, et vérifie que la commande répond correctement lorsqu'il est activé. Dans la plupart des instances, l'IDE gère les commandes à l'aide de l'interface d' IOleCommandTarget . Les commandes de Visual Studio sont démarrer géré par le contexte la plus profonde de commande, selon la sélection locale, et continuer au contexte externe, selon la sélection globale. Les commandes ajoutées au menu principal sont immédiatement disponibles pour les scripts.
Pour plus d'informations, consultez Comment les VSPackages ajoutent des éléments de l'interface utilisateur à l'IDE.
Menus et barres d'outils
Les menus et les barres d'outils fournissent un moyen aux utilisateurs appellent des commandes. Les menus sont des lignes ou des colonnes des commandes qui sont généralement affichées sous forme de différents éléments de texte au début d'une fenêtre Outil. Des sous-menus sont des menus secondaires qui s'affichent lorsqu'un utilisateur clique sur les commandes qui incluent une petite flèche. Les menus contextuels apparaissent lorsqu'un utilisateur clique avec le bouton droit sur certains éléments d'interface utilisateur. Certains noms de menu courants sont Fichier, Edit, Afficher, et Fenêtre. Pour plus d'informations, consultez Tâches courantes avec des commandes, des menus, et les barres d'outils.
Les barres d'outils sont des lignes ou des colonnes de boutons et d'autres contrôles, tels que les zones de liste déroulante, des zones de liste, des zones de texte. Les boutons de barre d'outils ont généralement des images d'icône, telles qu'une icône de dossier pour une commande d' Ouvrir un fichier ou une imprimante pour une commande d' Imprimer . Tous les éléments de barre d'outils sont associés aux commandes. Lorsque vous cliquez sur un bouton de barre d'outils, sa commande associée s'exécute. Dans le cas d'un contrôle déroulant, chaque élément dans la liste déroulante est associé à une autre commande. Certains contrôles de barre d'outils, tels qu'un contrôle separator, sont des hybrides. Un côté du contrôle est un bouton de barre d'outils et l'autre côté est une flèche bas qui affiche plusieurs commandes lorsque l'utilisateur clique dessus.
Pour plus d'informations, consultez
Fenêtres d'outils
Les fenêtres Outil sont utilisées dans l'IDE pour afficher les informations. boîte à outils, Explorateur de solutions, fenêtre de Propriétés , et Navigateur Web sont des exemples de fenêtres Outil.
Les fenêtres Outil offrent généralement des contrôles individuels avec lesquels l'utilisateur peut interagir. Par exemple, la fenêtre de Propriétés permet de définir des propriétés d'utilisateur des objets qui jouent un rôle particulier. La fenêtre de Propriétés est spécialisée en ce sens, mais également général parce qu'elle peut être utilisée dans de nombreuses situations. De même, la fenêtre de Sortie est spécialisée parce qu'elle donne la sortie au texte par, mais général parce que de nombreux sous-systèmes dans Visual Studio peuvent l'utiliser pour fournir la sortie à l'utilisateur de Visual Studio.
Examinez l'image suivante de Visual Studio, qui contient plusieurs fenêtres Outil.
Certaines des fenêtres Outil ancrées ensemble sont dans un volet unique qui affiche la fenêtre Outil de l'explorateur de solutions et masque les autres fenêtres Outil mais les rendent disponibles en cliquant sur les onglets. L'image montre deux autres fenêtres Outil, la fenêtre de Liste d'erreurs et de Sortie , ancrée ensemble dans un volet unique.
Également indiqué est le volet du document principal, qui affiche plusieurs fenêtres de l'éditeur. Bien que les fenêtres Outil ont généralement une seule instance (par exemple, vous pouvez ouvrir un seul Explorateur de solutions), les fenêtres de l'éditeur peuvent avoir plusieurs instances, qui est utilisée pour modifier un document séparé mais qui sont ancrés dans le même volet. L'image montre un volet de document qui a deux fenêtres de l'éditeur, une fenêtre Concepteur de formulaires, et une fenêtre du navigateur qui affiche la page de démarrage. Toutes les fenêtres dans le volet de document sont disponibles en cliquant sur les onglets, mais la fenêtre de l'éditeur qui contient le fichier d'EditorPane.cs est visible et active.
Lorsque vous étendez Visual Studio, vous pouvez créer des fenêtres Outil qui permettent aux utilisateurs de Visual Studio interagir avec votre extension. Vous pouvez également créer vos propres éditeurs qui permettent aux utilisateurs de Visual Studio modifier des documents. Étant donné que vos fenêtres Outil et éditeurs sont intégrés dans Visual Studio, vous ne devez pas les programmer pour ancrer ou afficher dans un onglet correctement. Lorsqu'ils sont correctement enregistrés dans Visual Studio, ils auront automatiquement les fonctionnalités classiques des fenêtres Outil et les fenêtres de document dans Visual Studio.
Pour plus d'informations, consultez
Fenêtres de documents
Une fenêtre de document est une fenêtre enfant entre crochets d'une (MDI) fenêtre d'interface multidocument. Les fenêtres de document sont généralement utilisées pour héberger des éditeurs de texte, des éditeurs de formulaire (également appelés concepteurs), ou des contrôles d'édition, mais elles peuvent également héberger d'autres types fonctionnels. La boîte de dialogue de Nouveau fichier inclut des exemples de fenêtres de document que Visual Studio fournit.
La plupart des éditeurs sont spécifiques à un langage de programmation ou un type de fichier, comme les pages HTML, des jeux de frames, des fichiers C++, ou des fichiers d'en-tête. En sélectionnant un modèle dans la boîte de dialogue de Nouveau fichier , un utilisateur crée dynamiquement une fenêtre de document pour l'éditeur pour le type de fichier associé au modèle. Une fenêtre de document est également créé lorsqu'un utilisateur ouvre un fichier existant.
Les fenêtres de document sont limitées à la zone cliente MDI. Chaque fenêtre de document contient un onglet en haut, et l'ordre de tabulation est lié à d'autres fenêtres qui peuvent être ouvertes dans la zone MDI. Cliquez avec le bouton droit sur l'onglet d'une fenêtre de document affiche un menu contextuel qui inclut des options de diviser la région MDI en plusieurs groupes horizontaux ou de tabulation verticale. Fractionner la région MDI active plusieurs fichiers à afficher en même temps.
Pour plus d'informations, consultez
Éditeurs
L'éditeur Visual Studio 2010 est un nouveau type de composant Visual Studio. Pendant que le nouvel éditeur est lui-même un VSPackage, il vous permet de le personnaliser et de l'utiliser pour votre propre type de contenu à l'aide de (MEF) managed extensibility framework. Dans de nombreux cas vous n'aurez pas besoin de créer un VSPackage pour étendre l'éditeur, bien que si vous souhaitez inclure des fonctionnalités du shell (par exemple, une commande de menu ou une touche de raccourci), vous pouvez combiner une extension MEF avec un VSPackage.
Vous pouvez également créer un éditeur personnalisé, par exemple si vous souhaitez lire et écrire dans une base de données, ou si vous souhaitez utiliser un concepteur. Vous pouvez également utiliser un éditeur externe tel que le Bloc-notes ou Microsoft Wordpad.
Pour plus d'informations, consultez éditeurs.
services linguistiques
Si vous souhaitez l'éditeur Visual Studio pour prendre en charge les nouveaux mots clés de programmation ou même un nouveau langage de programmation, vous créez un service de langage. Chaque service de langage peut implémenter certaines fonctionnalités d'éditeur entièrement, partiellement, ou pas du tout. Selon la façon dont il est configuré, le service de langage peut fournir la coloration syntaxique, accolades correspondantes, la prise en charge IntelliSense, et d'autres fonctionnalités dans l'éditeur.
Au cœur d'un service de langage sont un analyseur et un scanner. Un scanner (ou le lexer) divise un fichier source dans les éléments appelés jetons, et un analyseur d'établir des relations entre ces jetons. Lorsque vous créez un service de langage, vous devez implémenter l'analyseur et le scanner afin que Visual Studio puisse comprendre les jetons et la syntaxe du langage.
vous pouvez créer des services linguistiques managés ou non managés.
Pour plus d'informations, consultez
Implémenter un service de langage à l'aide de managed package.
Procédure pas - à - pas : Création d'un service de langage (managed de package)
Projets
Dans Visual Studio, les projets sont des conteneurs que les développeurs utilisent pour organiser et génèrent le code source et d'autres ressources. Les projets vous permettent d'organiser, générer, déboguer, et déployer le code source, les références aux services Web et aux bases de données, et d'autres ressources. VSPackages peut étendre le système de projet Visual Studio en fournissant des types de projet, des sous-types de projet, et les outils personnalisés.
Les projets peuvent également être recueillis dans une solution, qui est un regroupement d'un ou plusieurs projets qui fonctionnent ensemble pour créer une application. Le projet et les informations d'état relatifs à la solution est stocké dans deux fichiers solution, le fichier solution texte (.sln) et le fichier binaire de l'option de solution (.suo). Ces fichiers sont semblables les fichiers aux fichiers (.vbg) de groupe qui ont été utilisés dans les versions antérieures de Visual Basic, et à l'espace de travail (.dsw) et de l'utilisateur à options (.opt) qui ont été utilisés dans les versions antérieures de Visual C++.
Pour plus d'informations, consultez
projet et modèles d'élément
Visual Studio inclut des modèles de projet prédéfinis et les modèles d'élément de projet. Vous pouvez également créer vos propres modèles ou d'obtenir des modèles de communauté, puis les intégrer dans Visual Studio. MSDN Code Gallery Est l'endroit pour passer des modèles et des extensions.
Les modèles contiennent la structure de projet et les fichiers de base requis pour générer un type particulier d'application, de contrôle, de bibliothèque, ou de la classe. Lorsque vous souhaitez développer des logiciels qui ressemble à un des modèles, créez un projet basé sur le modèle puis modifiez les fichiers de ce projet.
Notes
Cette architecture de modèle n'est pas prise en charge pour les projets de Visual C++ .Pour plus d'informations sur la création de modèles de projet de Visual C++ , consultez Conception d'un Assistant.
Pour plus d'informations, consultez Modèles de projets et d'éléments de projet à ajouter.
Shell intégré et applications d'interpréteur de commandes isolé
Vous pouvez intégrer votre extension dans Visual Studio en mode intégré ou le mode d'isolation.
À l'aide de le shell intégré vous permet de fournir des outils personnalisés que vos clients peuvent utiliser avec d'autres composants Visual Studio. Le shell intégré est optimisé au langage hôte et outils logiciels.
À l'aide de le shell d'isolement vous permet de créer des outils personnalisés qui s'exécutent dans le shell Visual Studio avec uniquement les composants Visual Studio à inclure. L'interpréteur de commandes isolé est optimisé pour les outils spécialisés qui ont un accès complet aux services de Visual Studio mais a également une apparence et une personnalisation personnalisées.
Pour plus d'informations, consultez