2012-02-01 22 views
1

Visual Studio拡張機能/パッケージ内のグローバルホットキーを動的に追加する方法はありますか?Visual Studio拡張機能の動的ホットキー

実行時に使用できるホットキーがわからないため、パッケージの* .vsctファイルでホットキーを宣言できません。ホットキーを動的に追加/削除できるプラグインシステムがあります。

メッセージフィルタを追加することは、.NETでメッセージループが実行されている場合にのみ機能します。これはVSでは当てはまりません。

ご協力いただきありがとうございます。

答えて

4

ホットキーを追加する最もよい方法は、キーバインディングなしでコマンドを定義することです。本質的には、コマンドMyExtension.MyOperationが利用可能であるが、キーにバインドされていないことを確認してください。

実行時に、拡張コマンドのDTE.Commandオブジェクトを取得できます。これはDTEオブジェクトのCommandsプロパティから利用できます。そこから、Bindingプロパティを設定することによって、特定のコマンドがバインドされているキーを変更できます。あなたは oをCTRL +への結合を変更したい場合、私はキーバインディングのための構文は、実際にかなりよくMSDNに記載されてい

command.Binding = "Global::ctrl+o"; 

次の操作を行います。例えば

+0

おかげジャレド、問題は私もプラグインがそれらを提供するので、利用できるようになりますどのコマンドを知らないということです。私の最後の手段は、プラグインが自分自身を登録できる固定数のダミーコマンドを定義することです。しかし、これは私には全く怒っているようです。 –

関連する問題