Пошаговое руководство: Восстановление свойств проекта
В этом пошаговом руководстве показано, как создать управляемое 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 Создать проект диалоговое окно:
Под моделью расширяемости Visual Basic. Язык по умолчанию для проекта Visual Basic.
Под расширяемостью c#. Язык по умолчанию для проекта c#.
Под другой моделью расширяемости типов проектов. Язык по умолчанию для проекта C++.
Создать управляемое VSPackage
Создайте проект с именем VSPackage ProjectProps с помощью Visual Studio шаблон проекта пакета.
Дополнительные сведения о создании управляемого VSPackage см. в разделе Пошаговое руководство: Создание команды меню ресурсов с помощью шаблона пакета Visual Studio.
На Выбрать язык программирования определите язык на страницы Visual C# или Visual Basic.
На Базовые сведения о пакете VSPackage страница, чтобы принять значения по умолчанию.
На Выберите параметры пакета VSPackage выберите страницу Команда меню и Окно инструментов.
На Параметры команды страница выберите моя панель элементов.
На Параметры окна инструментов страница окно инструментов ProjectProps типа.
Нажмите кнопку Готово.
Шаблон создает управляемый проект с именем ProjectProps.
Выполните построение решения и убедитесь в том, что он будет компилироваться без ошибок.
Вызов модель автоматизации для отображения свойств проекта в окне инструментов
IN Обозреватель решенийщелкните правой кнопкой мыши ProjectProps узел и нажмите кнопку Добавление ссылки.
в Добавление ссылки диалоговое окно " в .NET вкладка дважды щелкает EnvDTE затем перейдите ОК.
Это устанавливает ссылку на EnvDTE пространство имен.
Добавьте следующую линию в верхней части файла VSPkg.cs или VSPkg.vb.
Imports EnvDTE
using EnvDTE;
Добавьте следующую линию в верхней части текста сообщений ProjectProps класс.
Public Shared dte As EnvDTE.DTE
public static EnvDTE.DTE dte;
Добавьте следующую линию в верхней части текста сообщений ShowToolWindow метод.
dte = CType(GetService(GetType(DTE)), DTE)
dte = (DTE)GetService(typeof(DTE));
Этот код использует GetService метод получения a DTE объект автоматизации, представляющего Visual Studio среда.
Открыть MyControl.cs или в MyControl.vb Visual Studio конструктор и удаляет щелкните я! кнопка, которая была введена Visual Studio шаблон проекта пакета.
Открыть MyControl.cs или MyControl.vb в редакторе исходного кода. Добавьте следующую линию в верхней части текста сообщений MyControl класс.
Private treeView1 As TreeView
private TreeView treeView1;
Замените текст сообщения 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 для получения свойств проекта и динамически заполнить элемент управления дерева в окне инструментов с помощью значений имен свойств проекта.
Построение ProjectProps этот проект.
Запустите ProjectProps проект, нажав клавишу F5или CTRL+F5 запуск Visual Studio экспериментальном построении.
Примечание
Версии 2 Visual Studio теперь открыть.
IN Visual Studio Exp, создает или открывает любой проект.
На Просмотреть меню наведите курсор на пункт Другие окна и щелкните элемент окно инструментов ProjectProps.
Вы должны увидеть элемент управления " дерево " в окне инструментов вместе с значениями имени свойства проекта.
См. также
Задачи
Практическое руководство. Создание окон инструментов и управление ими