[英]What entry to make in .pkgdef for a .vsix Visual Studio Snippets Extension
我在Visual Studio 2017中有一个.vsix解决方案,用于部署4个片段片段。
每个具有自己的xml或C#代码段的文件夹是否都需要它自己的.pkgdef文件? 还是只需要一个直接位于CompanySnippets下的.pkgdef文件?
我问是因为我们有一个.pkgdef文件,其中包含以下条目
[$RootKey$\Languages\CodeExpansions\CSharp\Paths]
"CompanyCodeSnippets"="$PackageFolder$"
[$RootKey$\Languages\CodeExpansions\Xml\Paths]
"CompanyCodeSnippets"="$PackageFolder$"
但是,对于这些代码片段,我们遇到了无法识别的语言问题,我想我已经将其问题拖到了.pkgdef文件中。
如果我为每个片段文件夹分别创建一个.pkgdef,我将显示它们。
我对如何查看$ RootKey $的值以及$ PackageFolder $的含义感到困惑。 除了MS所说的以外,没有多少关于这些值的文档。 我正在调试VS 2017,应该在Registry Computer \\ HKEY_CURRENT_USER \\ Software \\ Microsoft \\ VisualStudio \\ 15.0处进行调试,但是该注册表没有Languages \\ CodeExpansion,所以我不确定这是否是我们问题的一部分。
而且我也不确定$ PackageFolder $是否从子文件夹中获取摘要。
任何帮助深表感谢。
也许聚会晚了,但这是pkgdef文件中所有受支持的替换字符串的正式文档: https ://docs.microsoft.com/zh-cn/visualstudio/extensibility/substitution-strings-used-in-dot-pkgdef -and-dot-pk-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"
(很抱歉,如果需要在路径中转义反斜杠字符,我将不记得了)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.