Как установить шаблон visual studio
В первом пошаговом руководстве в этой серии создается базовая система проектов, часть 1, в которой показано, как создать базовую систему проектов. в этом пошаговом руководстве строится базовая система проектов путем добавления шаблона Visual Studio, страницы свойств и других функций. Прежде чем начать это, необходимо выполнить первое пошаговое руководство.
В этом пошаговом руководстве объясняется, как выполнить эти задачи:
создайте шаблон Visual Studio.
развертывание шаблона Visual Studio.
создайте дочерний узел типа проекта в диалоговом окне создание Project .
включите подстановку параметров в шаблоне Visual Studio.
Создание страницы свойств проекта.
создание шаблона Visual Studio
-
показывает, как создать базовый шаблон проекта и добавить его в систему проектов. здесь также показано, как зарегистрировать этот шаблон с Visual Studio с помощью ProvideProjectFactoryAttribute атрибута, который записывает полный путь к папке \ темплатес\прожектс\симплепрожект \ в системном реестре.
используя шаблон Visual Studio (vstemplate -файл) вместо базового шаблона проекта, можно управлять отображением шаблона в диалоговом окне создание Project и способе замены параметров шаблона. Файл VSTEMPLATE — это XML-файл, описывающий, как следует включать исходные файлы при создании проекта с помощью шаблона системы проектов. Сама система проектов создается путем сбора VSTEMPLATE -файла и исходных файлов в .zip файле и разворачивается путем копирования файла .zip в расположение, известное Visual Studio. Этот процесс более подробно описан далее в этом пошаговом руководстве.
В Visual Studio откройте решение симплепрожект, созданное в разделе Создание базовой системы проектов, часть 1.
В файле симплепрожектпаккаже. CS Найдите атрибут провидепрожектфактори. Замените второй параметр (имя проекта) на null, а четвертый параметр (путь к папке шаблона проекта) на ". \ \Нуллпас ", как показано ниже.
Добавьте XML-файл с именем симплепрожект. vstemplate в папку \ темплатес\прожектс\симплепрожект \ .
Замените содержимое файла симплепрожект. vstemplate следующим кодом.
В окне Свойства выберите все пять файлов в папке \ Темплатес\прожектс\симплепрожект \ и задайте для действия сборки значение зиппрожект.
в этом разделе определяется расположение и внешний вид типа проекта симплепрожект в диалоговом окне создание Project , как показано ниже.
Элемент называет шаблон проекта Симплепрожект приложением.
элемент содержит описание, которое отображается в диалоговом окне создание Project при выборе шаблона проекта.
Элемент задает значок, который отображается вместе с типом проекта симплепрожект.
элемент присваивает имя Project типу в диалоговом окне создание Project . Это имя заменяет параметр имени проекта атрибута Провидепрожектфактори.
Элемент должен соответствовать LanguageVsTemplate аргументу ProvideProjectFactory атрибута в файле симплепрожектпаккаже. cs.
В разделе описываются эти файлы, создаваемые при создании нового проекта:
Все три файла имеют значение ReplaceParameters true, что позволяет подстановку параметров. Файл Program. CS имеет значение OpenInEditor true, что приводит к открытию файла в редакторе кода при создании проекта.
дополнительные сведения об элементах в схеме шаблона Visual Studio см. в справочнике по схеме шаблонов Visual Studio.
если проект содержит более одного шаблона Visual Studio, каждый шаблон находится в отдельной папке. Для каждого файла в этой папке должно быть задано действие build зиппрожект.
Добавление минимального vsct-файла
Visual Studio должны быть запущены в режиме установки для распознавания нового или измененного шаблона Visual Studio. Для режима установки требуется наличие файла vsct . Поэтому необходимо добавить в проект минимальный файл . vsct .
Добавьте XML-файл с именем симплепрожект. vsct в проект симплепрожект.
Замените содержимое файла симплепрожект. vsct следующим кодом.
Задайте для действия сборки этого файла значение вскткомпиле. Это можно сделать только в файле CSPROJ , а не в окне " свойства ". Убедитесь, что на этом этапе для действия сборки этого файла установлено значение нет .
Щелкните правой кнопкой мыши узел Симплепрожект и выберите пункт изменить симплепрожект. csproj.
В файле CSPROJ выберите элемент симплепрожект. vsct .
Измените действие сборки на вскткомпиле.
файл проекта и закройте редактор.
Сохраните узел Симплепрожект, а затем в Обозреватель решений нажмите кнопку перезагрузить Project.
изучите шаги сборки шаблона Visual Studio
система сборки проекта VSPackage обычно выполняется Visual Studio в режиме установки при изменении vstemplate -файла или при перестроении проекта, содержащего vstemplate -файл. вы можете следовать указаниям, установив уровень детализации MSBuild на нормальный или более высокий.
В меню Сервис выберите пункт Параметры.
Разверните узел проекты и решения , а затем выберите Сборка и запуск.
Перестройте проект Симплепрожект.
Этап сборки для создания .zip файла проекта должен выглядеть следующим образом.
развертывание шаблона Visual Studio
Visual Studio шаблоны не содержат сведений о пути. Таким образом, файл шаблона .zip должен быть развернут в расположении, известном Visual Studio. Расположение папки Прожекттемплатес обычно \microsoft\visualstudio\14.0exp\projecttemplates.
Для развертывания фабрики проектов программа установки должна иметь права администратора. он развертывает шаблоны в узле установки Visual Studio: . \ Microsoft Visual Studio .\n\n-\ Common7\IDE\ProjectTemplates.
тестирование шаблона Visual Studio
проверьте фабрику проекта, чтобы узнать, создает ли она иерархию проектов с помощью шаблона Visual Studio.
сбросьте экспериментальный экземпляр пакета SDK Visual Studio.
вкл Windows 7 . в меню пуск найдите папку Microsoft Visual Studio/Пакет SDK для Microsoft Visual Studio/тулс , а затем выберите сбросить Microsoft Visual Studio экспериментальный экземпляр.
в более поздних версиях Windows: на начальном экране введите сбросить Microsoft Visual Studio экспериментальный экземпляр.
Появится окно командной строки. Если вы видите слова для продолжения нажмите клавишу Ввод. После закрытия окна откройте Visual Studio.
Перестройте проект Симплепрожект и начните отладку. Откроется экспериментальный экземпляр.
В экспериментальном экземпляре создайте проект Симплепрожект. в диалоговом окне создание Project выберите симплепрожект.
Вы увидите новый экземпляр Симплепрожект.
Создание дочернего узла типа проекта
дочерний узел можно добавить в узел типа проекта в диалоговом окне создание Project . Например, для типа проекта Симплепрожект могут существовать дочерние узлы для консольных приложений, оконных приложений, веб-приложений и т. д.
Дочерние узлы создаются путем изменения файла проекта и добавления дочерних элементов в элементы. При копировании шаблона во время сборки или развертывания каждый дочерний узел становится вложенной папкой папки шаблонов проектов.
В этом разделе показано, как создать дочерний узел консоли для типа проекта Симплепрожект.
Переименуйте папку \ Темплатес\прожектс\симплепрожект \ в \ темплатес\прожектс\консолеапп \.
В окне Свойства выберите все пять файлов в папке \ темплатес\прожектс\консолеапп \ и убедитесь, что для действия сборки задано значение зиппрожект.
В файле Симплепрожект. vstemplate добавьте следующую строку в конце раздела непосредственно перед закрывающим тегом.
В результате Шаблон консольного приложения будет отображаться как в дочернем узле консоли, так и в родительском узле Симплепрожект, который находится на одном уровне над дочерним узлом.
Сохраните файл симплепрожект. vstemplate .
В файле CSPROJ добавьте в каждый из элементов зиппрожект. Выгрузить проект, как и ранее, и изменить файл проекта.
Нахождение элементов. К каждому элементу добавьте элемент и присвойте ему консоль value. Зиппрожект
Добавьте его в файл проекта:
Сохраните файл проекта и перезагрузите проект.
Тестирование дочернего узла типа проекта
проверьте измененный файл проекта, чтобы увидеть, появился ли дочерний узел консоли в диалоговом окне New Project .
запустите программу сброса Microsoft Visual Studio экспериментального экземпляра .
Перестройте проект Симплепрожект и начните отладку. Должен отобразиться экспериментальный экземпляр
в диалоговом окне создание Project щелкните узел симплепрожект . Шаблон консольного приложения должен появиться в области шаблоны .
Разверните узел симплепрожект . Должен отобразиться дочерний узел консоли . Шаблон приложения симплепрожект будет отображаться в области шаблоны .
Замена параметров шаблона проекта
- При создании базовой системы проектов часть 1 показала, как перезаписать ProjectNode.AddFileFromTemplate метод для выполнения базовой разновидности подстановки параметров шаблона. в этом разделе рассказывается, как использовать более сложные параметры шаблона Visual Studio.
при создании проекта с помощью шаблона Visual Studio в диалоговом окне создание Project параметры шаблона заменяются строками для настройки проекта. Параметр шаблона — это специальный маркер, который начинается и заканчивается знаком доллара, например $time $. Следующие два параметра особенно полезны для включения настройки в проектах, основанных на шаблоне.
$GUID 10 $ заменяется новым идентификатором GUID. Можно указать до 10 уникальных идентификаторов GUID, например $guid $1.
$safeprojectname $ — это имя, предоставленное пользователем в диалоговом окне создание Project , которое удаляет все незащищенные символы и пробелы.
Полный список параметров шаблона см. в разделе Параметры шаблона.
Замена параметров шаблона проекта
В файле симплепрожектноде. CS удалите AddFileFromTemplate метод.
В файле \ темплатес\прожектс\консолеапп\симплепрожект.мипрож выберите свойство и измените его значение на $safeprojectname $.
В файле \ темплатес\прожектс\симплепрожект\програм.КС замените содержимое файла следующим кодом:
Перестройте проект Симплепрожект и начните отладку. Должен отобразиться экспериментальный экземпляр.
Создайте новое консольное приложение Симплепрожект. (в области типы Project выберите симплепрожект. в разделе Visual Studio установленные шаблоны выберите консольное приложение.)
В созданном проекте откройте программу Program. CS. Он должен выглядеть примерно следующим образом (значения GUID в файле будут отличаться):
Можно создать страницу свойств для типа проекта, чтобы пользователи могли просматривать и изменять свойства в проектах, основанных на шаблоне. В этом разделе показано, как создать страницу свойств, не зависящую от конфигурации. Эта основная страница свойств использует сетку свойств для отображения открытых свойств, предоставляемых в классе страницы свойств.
Создайте класс страницы свойств, производный от SettingsPage базового класса. Сетка свойств, предоставляемая SettingsPage классом, учитывает большинство типов данных-примитивов и знает, как их отображать. Кроме того, SettingsPage класс знает, как сохранять значения свойств в файле проекта.
В файле симплепрожектпаккаже. CS добавьте этот ProvideObject атрибут к SimpleProjectPackage классу:
Он регистрирует класс страницы свойств GeneralPropertyPage в com.
В файле симплепрожектноде. CS добавьте следующие два переопределенных метода в SimpleProjectNode класс:
Оба этих метода возвращают массив идентификаторов GUID страницы свойств. Идентификатор GUID Женералпропертипаже является единственным элементом массива, поэтому в диалоговом окне страницы свойств будет отображаться только одна страница.
Добавьте файл класса с именем женералпропертипаже. CS в проект симплепрожект.
Замените содержимое этого файла, используя следующий код:
GeneralPropertyPage Класс предоставляет три общедоступных свойства AssemblyName, OutputType и rootNamespace. Поскольку AssemblyName не имеет метода Set, он отображается как свойство только для чтения. OutputType является перечислимой константой, поэтому он отображается в виде раскрывающегося списка.
SettingsPage Базовый класс предоставляет ProjectMgr для сохранения свойств. BindProperties Метод использует ProjectMgr для извлечения значений материализованных свойств и установки соответствующих свойств. ApplyChanges Метод использует ProjectMgr для получения значений свойств и их сохранения в файле проекта. Метод Set свойства задает IsDirty значение true, чтобы указать, что свойства должны быть сохранены. Сохраняемость происходит при сохранении проекта или решения.
Перестройте решение Симплепрожект и начните отладку. Должен отобразиться экспериментальный экземпляр.
В экспериментальном экземпляре создайте новое приложение Симплепрожект.
Visual Studio вызывает фабрику проектов для создания проекта с помощью шаблона Visual Studio. В редакторе кода откроется новый файл Program. CS .
Тестирование страницы свойств проекта
Теперь можно проверить, можно ли изменять и изменять значения свойств.
В диалоговом окне страницы свойств миконсолеаппликатион измените свойство DefaultNamespace на MyApplication.
Выберите свойство OutputType , а затем выберите Библиотека классов.
Щелкните Применить и нажмите кнопку ОК.
Снова откройте диалоговое окно страницы свойств и убедитесь, что изменения сохранены.
Закройте экспериментальный экземпляр Visual Studio.
Повторно откройте экспериментальный экземпляр.
Снова откройте диалоговое окно страницы свойств и убедитесь, что изменения сохранены.
Закройте экспериментальный экземпляр Visual Studio.
Шаблоны проектов и элементов предоставляют многократно используемые заглушки, обеспечивающие пользователям определенный базовый код, и структуры, которые можно использовать в своих целях.
шаблоны Visual Studio
Для пользователей эти шаблоны представляют собой отправную точку, с которой можно начать создание новых проектов или расширение текущих проектов. Шаблоны проектов предоставляют файлы, необходимые для конкретного типа проекта, включая стандартные ссылки на сборки, задают свойства проекта и параметры компилятора по умолчанию. По сложности шаблоны элементов могут варьироваться от одного пустого файла с определенным расширением до нескольких файлов исходного кода, которые содержат код заглушек, файлы сведений о конструкторе и внедренные ресурсы.
Вы можете использовать установленные шаблоны, создавать собственные шаблоны, а также скачивать и использовать шаблоны, созданные сообществом. Дополнительные сведения см. в статьях Практическое руководство. Создание шаблонов проектов и Практическое руководство. Создание шаблонов элементов.
Содержимое шаблона
Все шаблоны проектов и элементов, установленные с Visual Studio или созданные пользователем, работают на основе одних и тех же принципов и имеют схожее содержимое. Все шаблоны содержат следующие элементы:
- Файлы, создаваемые при использовании шаблона. Сюда входят файлы с исходным кодом, внедренные ресурсы, файлы проектов и т. д.
- Файл VSTEMPLATE, который содержит метаданные, необходимые для создания проекта или элемента из шаблона, а также для отображения шаблона в окнах Новый проект и Добавление нового элемента.
- Файл VSTEMPLATE, который содержит метаданные, необходимые для создания проекта или элемента из шаблона, а также для отображения шаблона на странице Создание проекта и в диалоговом окне Добавление нового элемента.
Дополнительные сведения о VSTEMPLATE-файлах см. в статьях о тегах шаблона и параметрах шаблона.
Если эти файлы сжаты в ZIP-файл и помещены в соответствующую папку, Visual Studio автоматически отображает их в следующих расположениях:
В этом разделе содержатся сведения о создании шаблона с помощью мастера экспорта шаблонов, который упаковывает шаблон в ZIP-файл.
Использование мастера экспорта шаблонов
Называя проект, который будет источником для шаблонов, используйте только допустимые символы идентификаторов. В противном случае в проектах, созданных из шаблона, могут возникать ошибки компиляции. Дополнительные сведения о допустимых символах идентификаторов см. в статьях Имена объявленных элементов (Visual Basic) и Идентификаторы (C++). Кроме того, можно использовать параметры шаблона, чтобы применять безопасные имена классов и пространств имен.
Внесите в проект все необходимые изменения, пока он не будет готов к сохранению в качестве шаблона. Например, может потребоваться отредактировать файлы кода, чтобы указать, где должна быть выполнена замена параметра. См. раздел Практическое руководство. Замена параметров в шаблоне.
В меню Проект выберите команду Экспорт шаблона.
Открывается мастер экспорта шаблонов.
На странице Выбор типа шаблона выберите Шаблон проекта. Выберите проект, который необходимо экспортировать в шаблон, а затем нажмите кнопку Далее.
Проект будет экспортирован в ZIP-файл и помещен в указанное выходное расположение, а также (если установлен соответствующий флажок) импортирован в Visual Studio.
Проект будет экспортирован в ZIP-файл и помещен в указанное выходное расположение, а также (если установлен соответствующий флажок) импортирован в Visual Studio.
Чтобы найти шаблон в диалоговом окне создания проекта, можно использовать поиск по имени или прокрутку списка. (Фильтрация по языку или типу проекта для пользовательских шаблонов сейчас не поддерживается.)
Другие способы создания шаблонов проектов
Шаблоны проектов можно создать вручную, собрав файлы, образующие проект, в папку, а затем создав VSTEMPLATE-файл XML с соответствующими метаданными. Дополнительные сведения см. в статье Практическое руководство. Создание веб-шаблонов вручную.
Если у вас установлен пакет SDK для Visual Studio, можно поместить готовый шаблон в оболочку (VSIX-файл для развертывания) с помощью шаблона Проект VSIX. Дополнительные сведения см. в разделе Приступая к работе с использованием шаблона проекта VSIX.
Чтобы файлы шаблонов отображались в диалоговых окнах "Новый проект" и "Новый элемент", эти файлы должны находиться в известном расположении.
Можно также создать пользовательские подкатегории в расположении с пользовательскими шаблонами. Категории будут отображаться в диалоговых окнах Новый проект и Добавление нового элемента.
Локальные шаблоны
Установленные шаблоны и пользовательские шаблоны хранятся в двух различных местах.
Установленные шаблоны
По умолчанию шаблоны, установленные с Visual Studio, находятся в следующих расположениях:
%ProgramFiles(x86)%\Microsoft Visual Studio\2017\\Common7\IDE\ProjectTemplates\\
%ProgramFiles(x86)%\Microsoft Visual Studio\2017\\Common7\IDE\ItemTemplates\\
Например, следующий каталог содержит шаблоны элементов Visual Basic для английского языка (LCID 1033):
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates\VisualBasic\1033
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\\Common7\IDE\ProjectTemplates\\
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\\Common7\IDE\ItemTemplates\\
Например, следующий каталог содержит шаблоны элементов Visual Basic для английского языка (LCID 1033):
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\ItemTemplates\VisualBasic\1033
%ProgramFiles%\Microsoft Visual Studio\2022\\Common7\IDE\ProjectTemplates\\
%ProgramFiles%\Microsoft Visual Studio\2022\\Common7\IDE\ItemTemplates\\
Например, следующий каталог содержит шаблоны элементов Visual Basic для английского языка (LCID 1033):
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\ItemTemplates\VisualBasic\1033
Шаблоны пользователя
Если добавить сжатый файл (ZIP), содержащий VSTEMPLATE-файл, в каталог с пользовательскими шаблонами, этот шаблон будет отображаться в диалоговом окне "Новый проект" или "Новый элемент". По умолчанию пользовательские шаблоны находятся в следующих расположениях:
%USERPROFILE%\Documents\Visual Studio 2017\Templates\ProjectTemplates
%USERPROFILE%\Documents\Visual Studio 2017\Templates\ItemTemplates
%USERPROFILE%\Documents\Visual Studio 2019\Templates\ProjectTemplates
%USERPROFILE%\Documents\Visual Studio 2019\Templates\ItemTemplates
%USERPROFILE%\Documents\Visual Studio 2022\Templates\ProjectTemplates
%USERPROFILE%\Documents\Visual Studio 2022\Templates\ItemTemplates
Известное расположение пользовательских шаблонов можно изменить, последовательно выбрав Сервис > Параметры > Проекты и решения > Расположения.
Упорядочивание шаблонов
Категории в диалоговых окнах Новый проект и Добавление нового элемента отражают структуры каталогов, которые существуют в расположениях установленных и пользовательских шаблонов. Пользовательские шаблоны можно упорядочить по собственным категориям путем добавления новых папок в каталог с пользовательскими шаблонами. Диалоговые окна Новый проект и Добавление нового элемента отражают все изменения, вносимые в категории шаблонов пользователя.
Вы не можете создать новую категорию на уровне языка программирования. Новые категории можно создавать только в рамках каждого отдельного языка.
Создание категорий пользовательских шаблонов проектов
Поместите все шаблоны для этой категории в новую папку.
В меню Файл щелкните Создать > Проект.
Создание категорий пользовательских шаблонов элементов
Поместите все шаблоны для этой категории в новую папку.
Создайте новый проект или откройте уже имеющийся. Затем в меню Проект выберите пункт Добавить новый элемент.
Отображение шаблонов в родительских категориях
Можно включить шаблоны в подкатегориях, чтобы они отображались в их родительских категориях, с помощью элемента NumberOfParentCategoriesToRollUp в VSTEMPLATE-файле. Эти действия одинаковы как для шаблонов проектов, так и для шаблонов элементов.
Найдите ZIP-файл, содержащий шаблон.
Извлеките содержимое ZIP-файла.
Откройте VSTEMPLATE-файл в Visual Studio.
В элементе TemplateData добавьте элемент NumberOfParentCategoriesToRollUp . Например, следующий код делает шаблон видимым в родительской категории, но не на более высоких уровнях.
Сохраните VSTEMPLATE-файл и закройте его.
Файлы сжимаются в ZIP-файл.
Удалите извлеченные файлы шаблона и ZIP-файл старого шаблона.
Поместите новый ZIP-файл в каталог, где находился удаленный ZIP-файл.
Шаблоны проектов Visual Studio позволяют разработчикам более эффективно создавать несколько схожих проектов, определяя общий набор начальных файлов. Шаблоны проектов могут быть полностью кастомизированы в соответствии с потребностями команды разработчиков или группы и могут быть опубликованы в Visual Studio Marketplace для загрузки и использования другими людьми! После публикации разработчики могут установить шаблон и получить к нему доступ через диалоговое окно New Project в Visual Studio.
Недавно разработанное диалоговое окно New Project для Visual Studio 2019 было создано, чтобы помочь разработчикам быстрее добираться до своего кода. Используя опыт поиска и фильтрации, мы стремимся обеспечить лучшее обнаружение для конкретных шаблонов, чтобы вы могли быстрее начать разработку своего приложения.
В этом пошаговом руководстве вы научитесь:
- Созданию шаблона проекта
- Добавлению тегов или фильтров в шаблон проекта
- Развертыванию шаблона в качестве расширения с шаблоном VSIX project
Создание шаблона проекта
Добавление тегов/фильтров в шаблон вашего проекта
После того как вы создали шаблон проекта, можно добавить к нему тег или фильтры в шаблоне .vstemplate XML-файла.
-
Добавьте встроенные теги Visual Studio, а также любые пользовательские теги в шаблон проекта, используя элементы LanguageTag, PlatformTag, ProjectTypeTagв разделе TemplateDataи сохраните файл. Например, как выделено на скриншоте ниже:
Развертывание шаблона в качестве расширения с помощью шаблона VSIX project
Оберните шаблон проекта в шаблон VSIX project, чтобы развернуть его как расширение.
В Solution Explorer щелкните правой кнопкой мыши на VSIX project и выберите Set as StartUp Project. Ваш Solution Explorer должен теперь выглядеть примерно так (с выделенным жирным VSIX project):
- Кликните Assets и выберите New.
- Установите поле Type как Microsoft.VisualStudio.ProjectTemplate.
- Установите поле Source как A project in current solution.
- Установите поле Project в качестве шаблона проекта.
Есть предложения?
Мы продолжаем работать над нашими инструментами, и для этого нам нужна ваша помощь! Пожалуйста, поделитесь своими отзывами/комментариями ниже, или через Developer Community Visual Studio, или твитнув нашей команде @VisualStudio.
Читайте также: