Поделиться через


Пошаговое руководство: Восстановление свойств проекта

В этом пошаговом руководстве показано, как создать управляемое VSPackage, что свойства проекта отображаются в окне инструментов. Можно создать VSPackage, управляемая образцом с помощью шаблона проекта пакета Visual Studio. Использовать автоматизацию с итоговым VSPackage для отображения свойств проекта в окне инструментов. Выполните следующие шаги, чтобы создать управляемое VSPackage, имеющее окно инструментов, а затем расширить его с помощью автоматизации:

  • Создайте управляемую VSPackage.

  • Вызовите модель автоматизации для отображения свойств проекта в окне инструментов.

Обязательные компоненты

Чтобы выполнить это пошаговое руководство, необходимо устанавливать SDK для Visual Studio 2010.

Примечание

Дополнительные сведения о пакете SDK для Visual Studio см. в разделе интеграция SDK Visual Studio.Чтобы узнать, как загрузить пакет SDK для Visual Studio см. в разделе Центр разработчиков расширяемости Visual Studio на веб-сайте MSDN.

Расположения для шаблона проекта пакета Visual Studio

Шаблон проекта пакета Visual Studio могут находиться в разных местах в 3 Создать проект диалоговое окно:

  1. Под моделью расширяемости Visual Basic. Язык по умолчанию для проекта Visual Basic.

  2. Под расширяемостью c#. Язык по умолчанию для проекта c#.

  3. Под другой моделью расширяемости типов проектов. Язык по умолчанию для проекта C++.

Создать управляемое VSPackage

  1. Создайте проект с именем VSPackage ProjectProps с помощью Visual Studio шаблон проекта пакета.

    Дополнительные сведения о создании управляемого VSPackage см. в разделе Пошаговое руководство: Создание команды меню ресурсов с помощью шаблона пакета Visual Studio.

    На Выбрать язык программирования определите язык на страницы Visual C# или Visual Basic.

  2. На Базовые сведения о пакете VSPackage страница, чтобы принять значения по умолчанию.

  3. На Выберите параметры пакета VSPackage выберите страницу Команда меню и Окно инструментов.

  4. На Параметры команды страница выберите моя панель элементов.

  5. На Параметры окна инструментов страница окно инструментов ProjectProps типа.

  6. Нажмите кнопку Готово.

    Шаблон создает управляемый проект с именем ProjectProps.

  7. Выполните построение решения и убедитесь в том, что он будет компилироваться без ошибок.

Вызов модель автоматизации для отображения свойств проекта в окне инструментов

  1. IN Обозреватель решенийщелкните правой кнопкой мыши ProjectProps узел и нажмите кнопку Добавление ссылки.

  2. в Добавление ссылки диалоговое окно " в .NET вкладка дважды щелкает EnvDTE затем перейдите ОК.

    Это устанавливает ссылку на EnvDTE пространство имен.

  3. Добавьте следующую линию в верхней части файла VSPkg.cs или VSPkg.vb.

    Imports EnvDTE
    
    using EnvDTE;
    
  4. Добавьте следующую линию в верхней части текста сообщений ProjectProps класс.

    Public Shared dte As EnvDTE.DTE
    
    public static EnvDTE.DTE dte;
    
  5. Добавьте следующую линию в верхней части текста сообщений ShowToolWindow метод.

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

    Этот код использует GetService метод получения a DTE объект автоматизации, представляющего Visual Studio среда.

  6. Открыть MyControl.cs или в MyControl.vb Visual Studio конструктор и удаляет щелкните я! кнопка, которая была введена Visual Studio шаблон проекта пакета.

  7. Открыть MyControl.cs или MyControl.vb в редакторе исходного кода. Добавьте следующую линию в верхней части текста сообщений MyControl класс.

    Private treeView1 As TreeView
    
    private TreeView treeView1;
    
  8. Замените текст сообщения MyControl конструктор с помощью следующих линий.

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

    Этот код использует объекты автоматизации DTE для получения свойств проекта и динамически заполнить элемент управления дерева в окне инструментов с помощью значений имен свойств проекта.

  9. Построение ProjectProps этот проект.

  10. Запустите ProjectProps проект, нажав клавишу F5или CTRL+F5 запуск Visual Studio экспериментальном построении.

    Примечание

    Версии 2 Visual Studio теперь открыть.

  11. IN Visual Studio Exp, создает или открывает любой проект.

  12. На Просмотреть меню наведите курсор на пункт Другие окна и щелкните элемент окно инструментов ProjectProps.

    Вы должны увидеть элемент управления " дерево " в окне инструментов вместе с значениями имени свойства проекта.

См. также

Задачи

Практическое руководство. Создание окон инструментов и управление ими

Основные понятия

Visual Studio и автоматизации

модель автоматизации