如何:繫結命令至單一快速鍵
.Visual Studio 增益集在 Visual Studio 2013 中已不適用。 您應該升級您的增益集至 VSPackage 擴充套件。 如需升級的詳細資訊,請參閱 常見問題集:將增益集轉換成 VSPackage 擴充功能。
除了顯示快速鍵繫結外,您也可以用 Bindings 屬性設定或變更 Visual Studio 命令的快速鍵繫結。 請注意,當您變更快速鍵繫結時,它會取代之前的快速鍵繫結 (即舊的繫結會不見)。 此外,如果其他命令使用了新的快速鍵繫結,則該快速鍵繫結也會從舊的命令中移除,並且重新指定給新的命令。
不過,有一種方式可以保留快速鍵繫結,將新的快速鍵繫結變成其他的快速鍵,而不是取代舊的快速鍵。 這個方法會在 如何:保留現有的鍵盤快速鍵主題中說明。
注意事項 |
---|
根據您目前使用的設定或版本,您所看到的對話方塊與功能表指令可能會與 [說明] 中描述的不同。使用 [一般開發設定] 開發了這些程序。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱Visual Studio 中的自訂開發設定。 |
程序
若要繫結命令至快速鍵
使用 [Visual Studio 增益集精靈] 建立新的增益集。 為專案命名,然後按一下 [確定] 以啟動精靈。
如需使用 [Visual Studio 增益集精靈] 的詳細資訊,請參閱 如何:建立增益集。
在 [選取程式語言] 頁上,選取 [使用 Visual C# 建立增益集] 以執行以下的 Visual C# 範例,或選取 [使用 Visual Basic 建立增益集] 以執行 Visual Basic 範例。
在 [Visual Studio 增益集精靈] 產生之程式碼的 Connect 類別中,貼上以下的範例函式。
建置並執行增益集。
按 F2 鍵,執行 File.Newfile 命令。
範例
下列增益集範例示範如何將 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);
}
}