3

この質問をご覧ください。

最初の質問は解決され、拡張機能にメソッドがあります。ユーザーが拡張機能をインストールするときに、キーボードショートカットもインストールし、押されたときにメソッドを実行する必要があります。

どうすればよいですか?

4

1 に答える 1

4

.vsctファイルにショートカットを追加できます。このファイルは、新しい拡張機能を生成し、メニューコマンドがあると言うと、ウィザードで自動的に作成されます。手動で追加するには:

  • MyCommands.vsctを作成します
  • ファイルのプロパティをVSCTCompileに設定します
  • プロジェクトをアンロードし、右クリックしてプロジェクトを編集します。
<VSCTCompile Include="MyCommands.vsct">
    <ResourceName>Menus.ctmenu</ResourceName>
    <SubType>Designer</SubType>
</VSCTCompile>
  • プロジェクトにメニューとショートカットがあることを宣言します。
[ProvideMenuResource("Menus.ctmenu",1)]
public sealed class MyPackage : Package
  • キーバインディングセクションを追加します。
<KeyBindings>
   <KeyBinding guid="yourCmdSet" id="cmdAwesome"
    editor="guidVSStd97"
    key1="VK_F7" mod1="Control Alt"
    key2="VK_F1">
   </KeyBinding>
</KeyBindings>
  • Package.Initialize:
// Add our command handlers for menu/shortcut (commands must exist in the .vsct file)
OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
if (null != mcs)
{
    //// Create the command for the menu item.
    var menuCommandID = new CommandID(GuidList.yourCmdSet,(int)PkgCmdIDList.cmdAwesome);
    var menuItem = new MenuCommand((sender, evt) =>
    {
        // Do stuff
    }
}

その他のリソース:

于 2012-05-23T16:12:23.203 に答える