VS2010 MPF: заполнение списка «Добавить-> Новый элемент…» для настраиваемого проекта

Я создал собственный языковой пакет, расширяющий ProjectPackage. Я могу правильно создать новый проект. Я хотел бы иметь возможность добавлять в проект новые исходные файлы с помощью пункта меню Добавить-> Новый элемент ... (Ctrl + Shift + A). Однако, когда я щелкаю по нему, список доступных шаблонов пуст. Я хотел бы добавить свой собственный шаблон в меню доступных шаблонов для этого типа проекта. Есть ли документация для этого? Единственные упоминания, которые я видел, это взлом реестра, но должен быть способ сделать это программно, как я думаю.

Есть ли какой-то особый метод, который я могу переопределить для заполнения списка? Действительно ли мне нужно создавать шаблон, или я могу просто показать 'имя шаблона', 'значок' и указать правильное расширение файла (файлы должны быть пустыми при создании, поэтому я думаю, что шаблон в значительной степени тратится на то, что я хочу сделать).

Вот путь, по которому я шел до сих пор. Я решил, что могу установить тип проекта и GUID в моем пользовательском файле .vproj (.vproj - это расширение файла, под которым зарегистрирован мой собственный проект). Я думал, что могу быстро создать шаблон элемента с тем же ProjectType, что и мой файл .vproj.

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <Icon>VerilogSource.ico</Icon>
    <DefaultName>module.v</DefaultName>
    <Name>Basic Verilog Module</Name>
    <Description>
      A basic Verilog module for quickly adding new files to the project.
    </Description>
    <ProjectType>VerilogProject</ProjectType>
  </TemplateData>
  <TemplateContent>
    <ProjectItem TargetFileName="$fileinputname$.v"
        ReplaceParameters="true">module.v</ProjectItem>
  </TemplateContent>
</VSTemplate>

Увы, этот шаблон вообще не отображается, хотя я включил его в VSIX и скопировал в выходной каталог. Если я помещу этот шаблон в ту же папку, что и мой .vproj, он появится как шаблон для создания нового проекта (неправильно!) И все равно не будет отображаться в моем списке новых элементов. Все это может быть связано с тем, что я не использую VSTemplate для создания своего проекта. Вместо этого я использую [ProvideProjectFactoryAttribute], чтобы VS2010 знал, где находится мой файл vproj, и он будет использовать файл vproj (который, я думаю, вы могли бы назвать шаблоном, но это не VSTemplate, это проект) для создания нового project off of.

Это то место, где я нахожусь до сих пор, и я продолжаю пробовать новые вещи. Я надеюсь, что у кого-то есть ответ, который я ищу. Спасибо,

Giawa

6
задан Giawa 26 July 2011 в 22:00
поделиться