繁体   English   中英

在.vsix Visual Studio代码段扩展的.pkgdef中制作什么条目

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM