方法 : 既存のショートカット キーを表示する
Visual Studio アドインは、Visual Studio 2013 では使用されなくなりました。 アドインを VSPackage 拡張機能にアップグレードしてください。 アップグレードの詳細については、「FAQ: アドインを VSPackage 拡張に変換する」を参照してください。
Bindings プロパティを使用すると、指定したコマンドに関連付けられたショートカット キーを表示または変更できます。 このプロパティを読み取ると、そのコマンドに対する現在のショートカット キーがオブジェクトの配列として取得されます。 各オブジェクトには、ショートカット キーを示す文字列が含まれています。
Bindings プロパティに値を設定すると、指定したコマンドに 1 つ以上の新しいショートカット キーが割り当てられます。 詳細については、「方法 : コマンドを単一のショートカット キーに割り当てる」および「方法: 1 つのコマンドに複数のショートカット キーを割り当てる」を参照してください。
注意
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。ここに記載されている手順は、全般的な開発設定が適用されているものとして記述されています。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio での開発設定のカスタマイズ」を参照してください。
既存のショートカット キーの表示
アドインを作成します。
Visual Studio アドイン ウィザードの使い方の詳細については、「方法 : アドインを作成する」を参照してください。
System.Windows.Forms への参照を追加し、この名前空間を Connect クラスの using (または Imports) ステートメントに追加します。
次の関数をコードの Connect クラスに貼り付けます。
アドインを実行するには、[ツール] メニューの [アドイン マネージャー] をクリックし、作成したアドインを選択して、[OK] をクリックします。
メッセージ ボックスに、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);
}