共用方式為


HOW TO:繫結命令至單一快速鍵

更新:2007 年 11 月

除了顯示快速鍵繫結外,您也可以用 Bindings 屬性設定或變更 Visual Studio 命令的快速鍵繫結。請注意,當您變更快速鍵繫結時,它會取代之前的快速鍵繫結 (即舊的繫結會不見)。此外,如果其他命令使用了新的快速鍵繫結,則該快速鍵繫結也會從舊的命令中移除,並且重新指定給新的命令。

不過,有一種方式可以保留快速鍵繫結,將新的快速鍵繫結變成其他的快速鍵,而不是取代舊的快速鍵。這個方法會在 HOW TO:保留現有的命令鍵繫結主題中說明。

注意事項:

根據目前使用的設定與版本,您所看到的對話方塊與功能表命令可能會與 [說明] 中所描述的不同。使用 [一般開發設定] 開發了這些程序。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定

程序

若要繫結命令至快速鍵

  1. 請使用 [Visual Studio 增益集精靈] 建立新的增益集。命名專案,再按 [確定] 啟動精靈。

    如需使用 [Visual Studio 增益集精靈] 的詳細資訊,請參閱 HOW TO:建立增益集

  2. 在 [選取程式語言] 頁上,選取 [使用 Visual C# 建立增益集] 以執行以下的 Visual C# 範例,或選取 [使用 Visual Basic 建立增益集] 以執行 Visual Basic 範例。

  3. 在 [Visual Studio 增益集精靈] 產生之程式碼的 Connect 類別中,貼上以下的範例函式。

  4. 在 [選項] 對話方塊的左窗格中,展開 [環境] 資料夾並選取 [鍵盤]。

    請確認您在步驟 7 中重新命名的 vsk 檔案名稱,顯示在 [套用下列其他鍵盤對應配置] 下拉式功能表中。

  5. 在執行增益集範例之前,請確定鍵盤繫結必須設為 [(預設)]。作法是在 [選項] 對話方塊中,按一下 [鍵盤] 窗格的 [重設]。

  6. OnConnection 方法呼叫函式,如 HOW TO:編譯和執行 Automation 物件模型程式碼範例所述。

  7. 建置增益集。

  8. 若要執行增益集,請按一下 [工具] 功能表上的 [增益集管理員]、選取您建立的增益集,然後按一下 [確定]。

    該命令會繫結至單一的全域快速鍵。您可以按 CTRL+SHIFT+ALT+X 測試鍵盤繫結,按下按鍵後會隨即顯示 [新增檔案] 對話方塊。

範例

下列增益集範例示範如何將 File.NewFile 命令繫結至單一快速鍵 (F2)。

Public Sub OnConnection(ByVal application As Object, ByVal  _
  connectMode As ext_ConnectMode, ByVal addInInst As Object, ByRef  _
  custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    BindingsExample(_applicationObject)
            
End Sub

Sub BindingsExample(ByVal dte As DTE2)
    Dim cmds As Commands
    Dim cmd As Command
    Try
        ' Set references to the Commands collection and the 
        ' File.NewFile command.
        cmds = DTE.Commands
        cmd = cmds.Item("File.NewFile")

        ' Assigns the command (File.NewFile) globally to the F2 key.
        cmd.Bindings = "Global::F2"
        MsgBox("key remapped")
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
End Sub
public void OnConnection(object application, ext_ConnectMode 
connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    BindingsExample(_applicationObject);

}

public void BindingsExample(DTE2 dte)
{
    Commands cmds;
    Command cmd;

    try
    {
        // Set references to the Commands collection and the 
        // File.NewFile command.
        cmds = dte.Commands;
        cmd = cmds.Item("File.NewFile", 1);

        // Assigns the command (File.NewFile) globally to the F2 key.
        cmd.Bindings = "Global::F2";
        System.Windows.Forms.MessageBox.Show("key remapped");
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
}

請參閱

工作

HOW TO:繫結命令至多個快速鍵的組合

HOW TO:保留現有的命令鍵繫結

概念

繫結屬性參數格式

其他資源

繫結增益集命令至按鍵