共用方式為


將鍵盤快捷方式系結至功能表項

若要將鍵盤快捷方式系結至自定義功能表命令,只要將項目添加進套件的 .vsct 檔案即可。 本主題說明如何將鍵盤快捷方式對應至自定義按鈕、功能表項或工具列命令,以及如何在預設編輯器中套用鍵盤對應,或將其限制為自定義編輯器。

若要將鍵盤快捷方式指派給現有的Visual Studio功能表項,請參閱 識別和自定義鍵盤快捷方式

選擇按鍵組合

Visual Studio 中已經使用許多鍵盤快捷方式。 您不應該將相同的快捷方式指派給多個命令,因為重複的系結很難偵測,也可能會導致無法預期的結果。 因此,建議您在指派快捷方式之前先確認快捷方式的可用性。

確認鍵盤快捷方式的可用性

  1. 在 [ 工具>選項>環境] 視窗中,選取 [鍵盤]。

  2. 請確定 中的 [使用新快捷方式 ] 設定為 [全域]。

  3. 在 [ 按下快捷鍵 ] 方塊中,輸入您想要使用的鍵盤快捷方式。

    如果 Visual Studio 中已經使用快捷方式,則方塊 目前使用的 快捷方式會顯示快捷方式目前呼叫的命令。

  4. 請嘗試不同的按鍵組合,直到您找到未對應的按鍵。

    備註

    使用 Alt 的鍵盤快捷方式可能會開啟功能表,而不會直接執行命令。 因此,當您輸入包含 Alt 的快捷方式時,方塊目前使用的快捷方式可能空白。您可以關閉 [選項] 對話框,然後按按鍵來確認快捷方式不會開啟功能表。

    下列步驟假設您擁有帶有功能表命令的現有 VSPackage。 如果您需要協助,請參閱 使用功能表命令建立延伸模組

將鍵盤快捷方式指派給命令

  1. 開啟套件的 .vsct 檔案。

  2. 如果尚未存在,請在<Commands>之後的建立空白<KeyBindings>區段。

    警告

    如需密鑰系結的詳細資訊,請參閱 Keybinding

    <KeyBindings> 段中,建立 <KeyBinding> 項目。

    guidid 屬性設定為您想要叫用的命令。

    mod1 屬性設定為 ControlAltShift

    KeyBindings 區段看起來應該像這樣:

    <KeyBindings>
        <KeyBinding guid="<name of command set>" id="<name of command id>"
            editor="guidVSStd97" key1="1" mod1="CONTROL"/>
    </KeyBindings>
    
    

    如果您的鍵盤快捷方式需要兩個以上的按鍵,請設定 mod2key2 屬性。

    在大部分 情況下,Shift 不應該在沒有第二個修飾詞的情況下使用,因為按下它已經會導致大部分英數位元索引鍵輸入大寫字母或符號。

    虛擬密鑰代碼可讓您存取沒有與其相關聯的字元的特殊索引鍵,例如函式索引鍵和 Backspace 鍵。 如需詳細資訊,請參閱 虛擬密鑰碼

    若要在 Visual Studio 編輯器中使用 命令,請將 屬性設定 editorguidVSStd97

    若要讓命令只能在自定義編輯器中使用,請在建立包含自定義編輯器的 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" />