Procédure pas - à - pas : Récupérer les propriétés de projet
Cette procédure pas - à - pas montre comment créer un VSPackage managé qui affiche les propriétés de projet dans une fenêtre Outil. Vous pouvez créer un VSPackage managé par exemple à l'aide de le modèle de projet de package Visual Studio. Utilisez l'automation avec le VSPackage obtenu pour afficher les propriétés d'un projet dans une fenêtre Outil. Suivez les étapes suivantes pour créer un VSPackage managé qui possède une fenêtre Outil puis à l'étendre à l'aide de l'automation :
créez le VSPackage managé.
Appelez le modèle Automation pour afficher les propriétés d'un projet dans une fenêtre Outil.
Composants requis
Pour exécuter cette procédure, vous devez installer Kit de développement logiciel Visual Studio 2010.
Notes
Pour plus d'informations sur le kit de développement Visual Studio, consultez Étendre la présentation de Visual Studio.Pour savoir comment télécharger le kit de développement Visual Studio, consultez Visual Studio Extensibility Developer Center sur le site Web MSDN.
Emplacements du modèle de projet de package Visual Studio
Le modèle de projet de package Visual Studio se trouve dans trois emplacements différents dans la boîte de dialogue Nouveau projet :
Sous l'extensibilité Visual Basic. Le langage par défaut du projet est en Visual Basic.
Sous l'extensibilité c#. Le langage par défaut du projet est c#.
Sous d'autres projets contenus l'extensibilité. Le langage par défaut du projet est en C++.
pour créer un VSPackage managé
Créez un projet d'un VSPackage nommé ProjectProps à l'aide de le modèle de projet de package de Visual Studio.
Pour plus d'informations sur la création d'un VSPackage managé, consultez Procédure pas - à - pas : Créer une commande de menu à l'aide de le modèle de package Visual Studio.
Dans la page de Sélectionner un langage de programmation , définissez le langage à Visual C# ou Visual Basic.
Dans la page de Les informations de base d'un VSPackage , acceptez les valeurs par défaut.
Dans la page de Sélectionnez les options d'un VSPackage , sélectionnez Commande de menu et fenêtre Outil.
sur la page d' options de commande , tapez ma boîte à outils.
sur la page d' options de fenêtre Outil , fenêtre Outil de ProjectProps de type.
Cliquez sur Terminer.
le modèle génère un projet managé nommé ProjectProps.
Générez la solution et vérifiez qu'elle compile sans erreurs.
Pour appeler le modèle Automation pour afficher les propriétés d'un projet dans une fenêtre Outil
Dans Explorateur de solutions, cliquez avec le bouton droit sur le nœud de ProjectProps puis cliquez sur Ajouter une référence.
Dans la boîte de dialogue d' Ajouter une référence , sous l'onglet de .NET , double-cliquez sur EnvDTE puis cliquez sur OK.
Cela génère une référence à l'espace de noms d' EnvDTE .
ajoutez la ligne suivante en haut du fichier de VSPkg.cs ou de VSPkg.vb.
Imports EnvDTE
using EnvDTE;
Ajoutez la ligne suivante au début du corps de la classe d' ProjectProps .
Public Shared dte As EnvDTE.DTE
public static EnvDTE.DTE dte;
Ajoutez la ligne suivante au début du corps de la méthode d' ShowToolWindow .
dte = CType(GetService(GetType(DTE)), DTE)
dte = (DTE)GetService(typeof(DTE));
Ce code utilise la méthode d' GetService pour obtenir un objet Automation DTE qui représente l'environnement de Visual Studio .
Ouvrez MyControl.cs ou MyControl.vb dans le concepteur de Visual Studio et supprimez le bouton de cliquez sur-moi ! qui a été inséré par le modèle de projet de package de Visual Studio.
ouvrez MyControl.cs ou MyControl.vb dans l'éditeur de code source. Ajoutez la ligne suivante au début du corps de la classe d' MyControl .
Private treeView1 As TreeView
private TreeView treeView1;
Remplacez le corps du constructeur d' MyControl à l'aide de les lignes suivantes.
Public Sub New() ' This call is required by the Windows.Forms Form Designer. InitializeComponent() ' ' treeView1 ' Me.treeView1 = New System.Windows.Forms.TreeView() Me.SuspendLayout() Me.treeView1.Location = New System.Drawing.Point(20, 20) Dim project As EnvDTE.Project project = ProjectProps.dte.Solution.Projects.Item(1) Dim nodeNum As Integer = 0 Me.treeView1.Name = "ProjectPropsTree" Me.treeView1.Nodes.Add(New System.Windows.Forms.TreeNode(project.Name & " Properties")) For Each [property] As EnvDTE.Property In project.Properties Dim node As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Node" & nodeNum) node.Name = "Node" & nodeNum nodeNum = nodeNum + 1 node.Text = [property].Name treeView1.Nodes(0).Nodes.Add(node) Next [property] Me.treeView1.Size = New System.Drawing.Size(250, 500) Me.treeView1.TabIndex = 1 Me.Controls.Add(Me.treeView1) Me.ResumeLayout(False) End Sub
public MyControl() { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); // // treeView1 // this.treeView1 = new System.Windows.Forms.TreeView(); this.SuspendLayout(); this.treeView1.Location = new System.Drawing.Point(20, 20); EnvDTE.Project project; project = ProjectProps.dte.Solution.Projects.Item(1); int nodeNum = 0; this.treeView1.Name = "ProjectPropsTree"; this.treeView1.Nodes.Add(new System.Windows.Forms.TreeNode(project.Name + " Properties")); foreach (EnvDTE.Property property in project.Properties) { System.Windows.Forms.TreeNode node = new System.Windows.Forms.TreeNode("Node" + nodeNum); node.Name = "Node" + nodeNum++; node.Text = property.Name; treeView1.Nodes[0].Nodes.Add(node); } this.treeView1.Size = new System.Drawing.Size(250, 500); this.treeView1.TabIndex = 1; this.Controls.Add(this.treeView1); this.ResumeLayout(false); }
Ce code utilise des objets Automation DTE pour récupérer les propriétés du projet et remplir dynamiquement un contrôle d'arborescence dans la fenêtre Outil à l'aide de les valeurs de nom de propriétés du projet.
Générez le projet de ProjectProps .
exécutez le projet de ProjectProps en appuyant sur F5, ou CTRL+F5 pour exécuter la génération expérimentale de Visual Studio .
Notes
deux versions de Visual Studio sont maintenant ouvertes.
Dans Visual Studio Exp, créez ou ouvrez un projet.
Dans le menu d' Afficher , pointez sur Autres fenêtres et cliquez sur fenêtre Outil de ProjectProps.
Vous devez voir le contrôle d'arborescence de la fenêtre Outil avec les valeurs de nom de propriétés du projet.
Voir aussi
Tâches
Comment : créer et contrôler des fenêtres Outil