Есть ли способ добавить пользовательский фильтр файлов в диалог открытия файлов Visual Studio через расширение VSIX?
Я реализую набор расширений MEF через проект расширения VSIX. Это для небольшого внутреннего DSL.
Я могу получить подсветку синтаксиса, работающую просто отлично.
Я хотел бы иметь возможность иметь связанную запись фильтра файлов в диалоговом окне "Открыть файл" в Visual Studio.
Есть ли способ сделать это через расширение VSIX? Если нет, каков санкционированный способ добавления фильтров в этот список?
Я не видел в системе VSPackage ничего такого, что могло бы сделать это.
1 ответ
Если вы разработали пакет только с пользовательской языковой службой и хотите иметь возможность создавать собственные проекты с вашим пользовательским типом проекта - вам необходимо разработать систему проектов (см. Пример системы проекта IronPython и посмотрите MSDN).
Но если вы просто хотите добавить свое собственное расширение в одну из существующих групп проектов в диалоговом окне "Открыть файл" - вам просто нужно создать собственный шаблон элемента. Что-то вроде этого:
<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
<TemplateData>
<DefaultName>Class.my</DefaultName>
<Name>MY File Class</Name>
<Description>An empty class definition</Description>
<Icon>__TemplateIcon.ico</Icon>
<ProjectType>[PUT HERE THE PROJECT TYPE YOU WANT TO PLACE YOUR TEMPLATE UNDER]</ProjectType>
<SortOrder>10</SortOrder>
</TemplateData>
<TemplateContent>
<References />
<ProjectItem SubType="Code" TargetFileName="$fileinputname$.my" ReplaceParameters="true">Class.my</ProjectItem>
</TemplateContent>
</VSTemplate>
Самый простой способ создать новый шаблон - это извлечь существующий, распаковать из ZIP, настроить все, что вам нужно, и установить его обратно в IDE. Но вы также можете создать его с нуля и установить во время настройки в VS. Я думаю, у вас достаточно указателей, чтобы копать глубже;)