Какую запись сделать в .pkgdef для расширения .vsix Visual Studio Snippets - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть решение .vsix в Visual Studio 2017 для развертывания 4 папок фрагментов.

Вот как это выглядит

Имеет ли каждая папкау которого есть свои собственные фрагменты xml или C # нужен собственный файл .pkgdef?Или нам нужен только один файл .pkgdef, расположенный непосредственно под CompanySnippets?

Я спрашиваю, потому что у нас был один файл .pkgdef со следующими записями

[$RootKey$\Languages\CodeExpansions\CSharp\Paths]
"CompanyCodeSnippets"="$PackageFolder$"

[$RootKey$\Languages\CodeExpansions\Xml\Paths]
"CompanyCodeSnippets"="$PackageFolder$"

Но мы получаем нераспознанные языковые проблемыдля фрагментов, и я думаю, что устранить их до файла .pkgdef.

Если я сделаю отдельный .pkgdef для каждой папки фрагментов, я заставлю их отображаться.

Я не совсем понимаю, как посмотреть значение $ RootKey $ и что на самом деле стоит $ PackageFolder $.Не много документации по этим значениям, кроме того, что MS говорит, что они есть.Я отлаживал VS 2017, и он должен находиться на компьютере реестра \ HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 15.0, но в этом реестре нет Languages ​​\ CodeExpansion, поэтому я не уверен, является ли это частью нашей проблемы.

И я также не уверен, что $ PackageFolder $ захватывает фрагменты из подпапок.

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 21 мая 2019

Возможно, опоздал на вечеринку, но вот официальная документация по всем поддерживаемым строкам подстановки в файлах pkgdef: https://docs.microsoft.com/en-au/visualstudio/extensibility/substitution-strings-used-in-dot-pkgdef-and-dot-pkgundef-files?view=vs-2015.

Достаточно одного pkgdef, но вы, скорее всего, захотитечтобы хранить фрагменты C # и XML в отдельных папках, иначе диспетчер фрагментов может быть сбит с толку.

Вот как должна выглядеть соответствующая часть вашего pkgdef:

[$RootKey$\Languages\CodeExpansions\CSharp\Paths]
"CompanyCodeSnippets"="$PackageFolder$\CompanyCodeSnippets-CSharp"

[$RootKey$\Languages\CodeExpansions\Xml\Paths]
"CompanyCodeSnippets"="$PackageFolder$\CompanyCodeSnippets-Xml"

(извините, не могузапомни, если нужно убежать от символов обратной косой черты в путях)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...