3

ソリューション エクスプローラーでソリューション/プロジェクトを右クリックすると、指定したツールを実行するコンテキスト メニューに新しい項目が表示されるように、VS2012 の .SLN/.CSPROJ ファイルに何かできますか?

[ツール] メニューにカスタム エントリを追加できることは知っていますが、この場合、ツールはその特定のソリューションに固有のものです。

4

1 に答える 1

0

Solution以下のように、アドインからコンテキスト メニューにボタンを追加できます。

Microsoft.VisualStudio.CommandBars.CommandBar menuBarCommandBar = ((Microsoft.VisualStudio.CommandBars.CommandBars)_applicationObject.CommandBars)["Solution"];

try
{
    //Add a command to the Commands collection:
    Command command = commands.AddNamedCommand2(_addInInstance, "MyAddinMenuBar", "MyAddinMenuBar", "Executes the command for MyAddinMenuBar", true, 59, ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported + (int)vsCommandStatus.vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStylePictAndText, vsCommandControlType.vsCommandControlTypeButton);

    //Add a control for the command to the solution context menu:
    if (command != null)
    {
        command.AddControl(menuBarCommandBar, 1);
    }
}
catch (System.ArgumentException)
{
    //  safely ignore the exception.
}

さまざまなソリューションのツールの仕様は、アドインによって内部的に処理される必要があります。ソリューションのフル パス ( から_applicationObject.Solution.FullName) と、含まれているプロジェクトのプロパティ ( から) を抽出でき_applicationObject.Solution.Projectsます。

を使用している場合は、コマンドとメニュー項目を追加するファイルをVSPackage定義する必要があります。vsct

于 2013-12-25T13:32:19.133 に答える