HOW TO:檢視現有的金鑰繫結
更新:2007 年 11 月
Bindings 屬性可以讓您檢視或變更與指定命令有關聯的按鍵繫結。讀取此屬性會以物件陣列的形式擷取命令目前的繫結。每個物件都包含描述繫結的字串。
如果將值設定為 Bindings 屬性,會為指定的命令指定一個或多個新的按鍵繫結。如需詳細資訊,請參閱 HOW TO:繫結命令至單一快速鍵和 HOW TO:繫結命令至多個快速鍵的組合。
注意事項: |
---|
根據目前使用的設定與版本,您所看到的對話方塊與功能表命令可能會與 [說明] 中所描述的不同。使用 [一般開發設定] 開發了這些程序。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定。 |
檢視現有的按鍵繫結
使用 [Visual Studio 增益集精靈] 建立新的增益集 (Add-In)。命名專案,再按 [確定] 啟動精靈。
如需使用 [Visual Studio 增益集精靈] 的詳細資訊,請參閱 HOW TO:建立增益集。
在 [選取程式語言] 頁上,選取 [使用 Visual C# 建立增益集] 以執行以下的 Visual C# 範例,或選取 [使用 Visual Basic 建立增益集] 以執行 Visual Basic 範例。
將下列範例函式貼入 [Visual Studio 增益集精靈] 所產生程式碼的 Connect 類別 (Class) 中。
從 OnConnection 方法呼叫函式,如 HOW TO:編譯和執行 Automation 物件模型程式碼範例所述。
若要執行增益集,請按一下 [工具] 功能表上的 [增益集管理員]、選取您建立的增益集,然後按一下 [確定]。
所有繫結至 File.NewFile 命令的快速鍵清單隨即顯示。
範例
在下列範例中,會藉由顯示所有繫結至 File.NewFile 命令的快速鍵來說明 Bindings 的使用方式。
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)
' Pass the applicationObject member variable to the code example.
ListKeyBindings(_applicationObject)
End Sub
Sub ListKeyBindings(ByVal dte As DTE2)
' Bindings() is an array of key binding string names.
Dim bindings() As Object
Dim binding As Object
Dim msg As String = Nothing
' Populate the collection with all of the bindings
' for the command File.NewFile.
bindings = dte.Commands.Item("File.NewFile").Bindings
For Each binding In bindings
msg += CStr(binding) & vbCr
Next
MsgBox(msg)
End Sub
// Add-in code.
public void OnConnection(object application,
Extensibility.ext_ConnectMode connectMode, object addInInst, ref
System.Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
//Pass the applicationObject member variable to the code example.
ListKeyBindings((DTE2)_applicationObject);
}
public void ListKeyBindings(DTE2 dte)
{
object[] bindings;
string msg = string.Empty;
// Populate the collection with all of the bindings associated
// with the command File.NewFile.
// Bindings() is an array of key binding string names.
bindings = (object[])dte.Commands.Item("File.NewFile", 0).Bindings;
foreach (object b in bindings)
{
msg += ((string)b) + "\n";
}
System.Windows.Forms.MessageBox.Show(msg);
}