3

インストール中に、Visual Studio パッケージにキーボード ショートカットを 1 回だけ追加したいと考えています。基本的に、パッケージコードからそれを行う方法を知っています。たとえば、次のようになります。

var dte = GetGlobalService(typeof(DTE)) as DTE2;
if (dte != null)
{                
    dte.Commands.Item("Tools.Something").Bindings = "Global::Ctrl+T, Ctrl+S";
}

問題は、このコードを 1 回だけ呼び出したいことです (VS の再起動後に初めてパッケージが使用されるたびに実行されるため、パッケージ クラス コンストラクターでこのコードを実行したくありません)。

どうやってするの ?

4

3 に答える 3

2

まず、拡張機能を公に配布する予定がある場合は、一部のユーザーの既存のバインディングに干渉する可能性が非常に高いため、おそらくバインディングを削除する必要があります。

2 つ目は、コマンドとバインディングをオートメーション インターフェイス経由ではなく、 Visual Studio コマンド テーブルの一部として提供することです。コマンドは[ProvideMenuResourceAttribute]、パッケージのインストール時に実行するコードを必要としない属性を使用して登録されます。

于 2013-03-18T14:10:53.433 に答える
0
  • パッケージの init() 関数で毎回レジストリ キーを確認する
  • キーが存在しない場合は、レジストリ キーを作成し、コードを実行します
  • キーが見つかった場合は、コードを実行しないでください

例: 1. 目的の場所で「Test」キーを確認します 2. 「Test」キーが存在しない場合は、レジストリにそのキーを作成し、コードを実行します 3. 「Test」キーが見つかった場合は、コードを実行しないでください

于 2013-03-18T13:04:37.763 に答える