获取项目表格"项目" CommandBar按钮

时间:2014-07-07 13:38:12

标签: c# .net add-in visual-studio-addins

我正在为VS 2012开发一个插件。我在Project命令栏中添加了一个按钮和命令。

现在,点击Project后,我在右键菜单中有了按钮。

我现在要做的就是列出点击该按钮的项目中的所有*.cs个文件,并有权编辑它们。

我需要“Exec”功能中的信息“捕捉”我的命令。

怎么做?

我的代码:

_CommandBars cmdBars = (_CommandBars)_applicationObject.CommandBars;

CommandBar vsBarProject = cmdBars["Project"];

CommandBarPopup pluginProjectFolderPopup = (CommandBarPopup)vsBarProject.Controls.Add(MsoControlType.msoControlPopup, System.Reflection.Missing.Value, System.Reflection.Missing.Value, 1, true);

pluginProjectFolderPopup.Caption = "Plugin";

try
{
    Command command = commands.AddNamedCommand2(_addInInstance, "TestRightClickProject", "Plugin test", "Testing right click command on code window", true, 59, ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported + (int)vsCommandStatus.vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStyleText, vsCommandControlType.vsCommandControlTypeButton);
    if ((commands != null) && (pluginProjectFolderPopup != null))
    {
        command.AddControl(pluginProjectFolderPopup.CommandBar, 1);
    }
}
catch (System.ArgumentException)
{
}

更新: 我没有选择。我必须使用插件

1 个答案:

答案 0 :(得分:1)

看看这个问题的答案:

Visual Studio 2010 Plug-in - Adding a context-menu to the Solution Explorer

确定所选项目后(参见

_applicationObject.SelectedItems.Item(1).Project

您可以使用ProjectKinds.vsProjectKindSolutionFolder获取项目文件夹(请参阅 How to get folders under projects?

然后遍历所需的文件夹和子文件夹。