Freigeben über


Exemplarische Vorgehensweise: Abrufen von Projekteigenschaften

In dieser exemplarischen Vorgehensweise wird erläutert, wie verwaltete VSPackages erstellt, die Projekteigenschaften in einem Toolfenster angezeigt wird. Sie können eine verwaltete VSPackages. B. Erstellen Sie die Visual Studio-Paket importieren verwenden. Verwenden Sie automatisierung mit resultierenden VSPackage, um Projekteigenschaften in einem Toolfenster anzuzeigen. Führen Sie folgende Schritte aus, um einen verwalteten VSPackages zu erstellen, das ein Toolfenster aufweist und es zu erweitern, indem Sie verwenden:

  • Erstellen Sie verwaltete VSPackages.

  • Rufen Sie das Automatisierungsmodell auf, um Projekteigenschaften in einem Toolfenster anzuzeigen.

Vorbereitungsmaßnahmen

Zum Abschließen dieser exemplarischen Vorgehensweise müssen Sie Visual Studio 2010 SDKinstallieren.

Hinweis

Weitere Informationen über das Visual Studio-SDK finden Sie unter Erweitern von Visual Studio Overview.Um herauszufinden finden Sie unter wie das Visual Studio-SDK, auf Visual Studio Extensibility Developer Center der MSDN-Website herunterlädt.

Speicherorte für die Visual Studio-Paket-Projektvorlage

Die Visual Studio-Paket importieren kann in drei verschiedenen Stellen im Dialogfeld Neues Projekt gefunden werden:

  1. Klicken Sie unter Von Visual Basic-Erweiterbarkeit. Die Standardsprache des Projekts ist Visual Basic.

  2. Die C#-Erweiterbarkeit. Die Standardsprache ist C# des Projekts.

  3. Verwenden anderer Projekttyp-Erweiterbarkeit. Die Standardsprache des Projekts ist C++.

So erstellen Sie eine verwaltete VSPackages

  1. Erstellen Sie ein VSPackage-Projekt, das ProjectProps benannt wird, indem Sie die Visual Studio Paket importieren verwenden.

    Weitere Informationen zum Erstellen eines verwalteten VSPackages finden Sie unter Exemplarische Vorgehensweise: Wenn Sie einen Menübefehl mit der Visual Studio-Paket-Vorlage erstellenerstellt.

    Legen Sie auf der Seite Wählen Sie eine Programmiersprache aus. die Sprache zu Visual C# oder Visual Basic fest.

  2. Auf der Seite Grundlegende Informationen zum VSPackage Übernehmen Sie die Standardwerte.

  3. Optionen für das VSPackage auswählen Klicken Sie auf der Seite ausgewählten Menübefehl und Toolfenster.

  4. Geben Sie auf der Seite Befehlsoptionen Meine Toolbox ein.

  5. Auf der Seite Typ Optionen des Toolfensters ProjectProps-Tool-Fenster.

  6. Klicken Sie auf Fertig stellen.

    Die Vorlage generiert ein verwaltetes Projekt, das ProjectProps benannt ist.

  7. Erstellen Sie die Projektmappe, und stellen Sie sicher, dass es fehlerfrei kompiliert wird.

Um das Automatisierungsmodell aufrufen, um Projekteigenschaften in einem Toolfenster anzuzeigen

  1. In Projektmappen-ExplorerProjectProps mit der rechten Maustaste auf den Knoten, und klicken Sie dann auf Verweis hinzufügen.

  2. Klicken Sie im Dialogfeld Verweis hinzufügen auf der Registerkarte .NET auf EnvDTE und klicken Sie dann auf OK.

    Dadurch wird ein Verweis auf den EnvDTE-Namespace ein.

  3. Fügen Sie die folgende Zeile am oberen Rand der VSPkg.cs- oder VSPkg.vb-Datei hinzu.

    Imports EnvDTE
    
    using EnvDTE;
    
  4. Fügen Sie die folgende Zeile am oberen Rand des Texts in der ProjectProps-Klasse hinzu.

    Public Shared dte As EnvDTE.DTE
    
    public static EnvDTE.DTE dte;
    
  5. Fügen Sie die folgende Zeile am oberen Rand des Texts in der ShowToolWindow-Methode hinzu.

    dte = CType(GetService(GetType(DTE)), DTE)
    
    dte = (DTE)GetService(typeof(DTE));
    

    In diesem Code wird GetService-Methode, um ein DTE Automatisierungsobjekt abzurufen, das die Visual Studio Umgebung darstellt.

  6. Öffnen Sie MyControl.cs oder MyControl.vb im Visual Studio Designer, und entfernen Sie die Hier klicken! Schaltfläche, die von der Visual Studio Paket importieren eingefügt wurde.

  7. Öffnen Sie MyControl.cs oder MyControl.vb im Quellcode-Editor. Fügen Sie die folgende Zeile am oberen Rand des Texts in der MyControl-Klasse hinzu.

    Private treeView1 As TreeView
    
    private TreeView treeView1;
    
  8. Ersetzen Sie den Text des MyControl-Konstruktors, indem Sie die folgenden Zeilen verwenden.

    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);
    }
    

    In diesem Code wird DTE-Automatisierungsobjekte, um die Projekteigenschaften abzurufen und die Strukturansicht im Toolfenster dynamisch aufzufüllen, indem die Werte für den Projekteigenschaften verwendet.

  9. Erstellen Sie das ProjectProps Projekt.

  10. Führen Sie das ProjectProps Projekt, indem Sie F5drücken, oder STRG+F5 , um die experimentelle Build Visual Studio auszuführen.

    Hinweis

    Zwei Versionen von Visual Studio sind jetzt geöffnet.

  11. In Visual Studio , Exp Erstellen oder öffnen Sie ein beliebiges Projekt.

  12. Zeigen Sie im Menü Ansicht zeigen Sie auf Weitere Fenster , und klicken Sie auf ProjectProps-Toolfenster.

    Sie sollten die Strukturansicht im Toolfenster zusammen mit den Werten Name der Projekteigenschaften finden.

Siehe auch

Aufgaben

Gewusst wie: Erstellen und Steuern von Toolfenstern

Konzepte

Automatisierung und Visual Studio SDK

Automatisierungs-Modell