簡體   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