2016-12-07 44 views
1

因此.vsct文件允許開發人員爲基於Visual Studio Shell的應用程序擴展(Management Studio 2016插件)定義命令,工具欄等。 它還alows設置鍵綁定這些命令,就像這樣:C#VSIX - KeyBindings元素的「編輯器」屬性

<KeyBinding guid="guidMenuAndCommandsCmdSet" id="cmdidMyCommand" editor="guidVSStd97" key1="1" mod1="Control" /> 

問題是選擇在哪裏使用的快捷方式。

guidVSStd97

是全球快捷鍵ID。我想要做的是將其綁定爲文本編輯器快捷方式。 有誰知道在哪裏可以找到其他值(「編輯器」)屬性?

在MS documentation中一點都不令人遺憾。

+0

你有沒有找到答案? – Tatranskymedved

+1

@Transranskymedved這個[回答](http://stackoverflow.com/a/31339140/6996876)? – 2017-03-20 09:53:41

+0

@ user1892538剛纔我開始閱讀!謝謝隊友 – Tatranskymedved

回答

0

你可以在this answer找到主要的細節。

有關編輯器(範圍)的所有信息都存儲在Visual Studio註冊表中。可以通過以下方式獲得: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0Exp_Config\Editors,其中12.0Exp_Config可與任何其他版本交換。

之後,你必須將GUID的符號鏈接:

<Symbols> 
    <GuidSymbol name="guidMyWindow" value="{00000000-0000-0000-0000-000000000000}" /> 
<Symbols> 

0的應該從註冊範圍的有效GUID所取代。

KeyBinding看起來像:

<KeyBindings> 
    <KeyBinding guid="guidMyPackageCmdSet" 
       id="MyCmdId" 
       editor="guidMyWindow" 
       key1="S" mod1="Control" /> 
</KeyBindings> 

如果您正在創建自己的Keybindings,您可能要更改範圍,以你自己的。我建議在MSDN網站上通過我的answer相似的主題和this answer

+0

Thx for answer。 – Maliszo