方法 : コマンドを単一のショートカット キーに割り当てる
Visual Studio アドインは、Visual Studio 2013 では使用されなくなりました。 アドインを VSPackage 拡張機能にアップグレードしてください。 アップグレードの詳細については、「FAQ: アドインを VSPackage 拡張に変換する」を参照してください。
Bindings プロパティを使用すると、ショートカット キーの割り当てを表示する以外に、Visual Studio コマンドのショートカット キーを設定または変更することもできます。 ショートカット キーを変更すると、以前のショートカット キーが置き換えられます (以前のショートカット キーは失われます)。 また、新しいショートカット キーが別のコマンドで使用されている場合は、このショートカット キーが以前のコマンドから削除され、新しいコマンドに再度割り当てられます。
ただし、新しいショートカット キーを以前のショートカット キーと置き換えるのではなく、別のショートカット キーになるようにキー割り当てを保持する方法があります。 この方法については、「方法: 既存のショートカット キーを保持する」で説明します。
注意
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。ここに記載されている手順は、全般的な開発設定が適用されているものとして記述されています。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio での開発設定のカスタマイズ」を参照してください。
手順
コマンドを単一のショートカット キーに割り当てるには
Visual Studio アドイン ウィザードを使用して、新しいアドインを作成します。 プロジェクトに名前を付け、[OK] をクリックしてウィザードを開始します。
Visual Studio アドイン ウィザードの使用方法の詳細については、「方法 : アドインを作成する」を参照してください。
[プログラミング言語の選択] ページで、[Visual C# を使用してアドインを作成] を選択して、後で示す Visual C# の例を実行するか、[Visual Basic を使用してアドインを作成] を選択して、Visual Basic の例を実行します。
後に示す関数の例を、Visual Studio アドイン ウィザードで生成されたコードの Connect クラス内に貼り付けます。
「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」で説明されている OnConnection メソッド。
アドインをビルドして実行します。
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);
}
}
参照
処理手順
方法: 1 つのコマンドに複数のショートカット キーを割り当てる