若要將鍵盤快捷方式系結至自定義功能表命令,只要將項目添加進套件的 .vsct 檔案即可。 本主題說明如何將鍵盤快捷方式對應至自定義按鈕、功能表項或工具列命令,以及如何在預設編輯器中套用鍵盤對應,或將其限制為自定義編輯器。
若要將鍵盤快捷方式指派給現有的Visual Studio功能表項,請參閱 識別和自定義鍵盤快捷方式。
選擇按鍵組合
Visual Studio 中已經使用許多鍵盤快捷方式。 您不應該將相同的快捷方式指派給多個命令,因為重複的系結很難偵測,也可能會導致無法預期的結果。 因此,建議您在指派快捷方式之前先確認快捷方式的可用性。
確認鍵盤快捷方式的可用性
在 [ 工具>選項>環境] 視窗中,選取 [鍵盤]。
請確定 中的 [使用新快捷方式 ] 設定為 [全域]。
在 [ 按下快捷鍵 ] 方塊中,輸入您想要使用的鍵盤快捷方式。
如果 Visual Studio 中已經使用快捷方式,則方塊 目前使用的 快捷方式會顯示快捷方式目前呼叫的命令。
請嘗試不同的按鍵組合,直到您找到未對應的按鍵。
備註
使用 Alt 的鍵盤快捷方式可能會開啟功能表,而不會直接執行命令。 因此,當您輸入包含 Alt 的快捷方式時,方塊目前使用的快捷方式可能空白。您可以關閉 [選項] 對話框,然後按按鍵來確認快捷方式不會開啟功能表。
下列步驟假設您擁有帶有功能表命令的現有 VSPackage。 如果您需要協助,請參閱 使用功能表命令建立延伸模組。
將鍵盤快捷方式指派給命令
開啟套件的 .vsct 檔案。
如果尚未存在,請在
<Commands>之後的建立空白<KeyBindings>區段。警告
如需密鑰系結的詳細資訊,請參閱 Keybinding。
在
<KeyBindings>段中,建立<KeyBinding>項目。將
guid和id屬性設定為您想要叫用的命令。將
mod1屬性設定為 Control、 Alt 或 Shift。KeyBindings 區段看起來應該像這樣:
<KeyBindings> <KeyBinding guid="<name of command set>" id="<name of command id>" editor="guidVSStd97" key1="1" mod1="CONTROL"/> </KeyBindings>如果您的鍵盤快捷方式需要兩個以上的按鍵,請設定
mod2和key2屬性。在大部分 情況下,Shift 不應該在沒有第二個修飾詞的情況下使用,因為按下它已經會導致大部分英數位元索引鍵輸入大寫字母或符號。
虛擬密鑰代碼可讓您存取沒有與其相關聯的字元的特殊索引鍵,例如函式索引鍵和 Backspace 鍵。 如需詳細資訊,請參閱 虛擬密鑰碼。
若要在 Visual Studio 編輯器中使用 命令,請將 屬性設定
editor為guidVSStd97。若要讓命令只能在自定義編輯器中使用,請在建立包含自定義編輯器的 VSPackage 時,將 屬性設定
editor為 Visual Studio 套件範本所產生的自定義編輯器名稱。 若要尋找名稱值,請在<Symbols>區段中<GuidSymbol>尋找屬性以 「editorfactory結尾的name節點」。這是自訂編輯器的名稱。
範例 1
本範例會將鍵盤快捷方式 Ctrl+Alt+C 系結至名為 的套件中名為 cmdidMyCommandMyPackage的命令。
<CommandTable>
. . .
<Commands>
. . .
</Commands>
<KeyBindings>
<KeyBinding guid="guidMyPackageCmdSet" id="cmdidMyCommand"
key1="C" mod1="CONTROL" mod2="ALT" editor="guidVSStd97" />
</KeyBindings>
. . .
</CommandTable>
範例 2
本範例會將鍵盤快捷方式 Ctrl+B 系結至名為 的專案中名為 cmdidBoldTestEditor的命令。 命令只能在自定義編輯器中使用,而不適用於其他編輯器。
<KeyBinding guid="guidTestEditorEditorFactory" id="cmdidBold" editor="guidVSStd97" key1="B" mod1="Control" />