您可以对VS2012中的.SLN / .CSPROJ文件执行某些操作,以便在解决方案资源管理器中右键单击解决方案/项目时,上下文菜单中会有一个新项目运行您指定的工具?
我知道您可以在“工具”菜单中添加自定义条目,但在这种情况下,这些工具特定于该特定解决方案。
答案 0 :(得分: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
文件以添加命令和菜单项。