在代码中调用VS2012解决方案资源管理器命令

时间:2012-10-02 00:31:28

标签: visual-studio visual-studio-2012 visual-studio-extensions

我正在尝试进行扩展,我需要从代码中调用两个命令...

  • SolutionExplorer.SyncWithActiveDocument
  • “解决方案资源管理器”中的“全部折叠”命令。

无论如何我都找不到这些功能。

有谁知道怎么做?

1 个答案:

答案 0 :(得分:4)

您是否尝试通过DTE执行命令?

dte.Windows.Item(EnvDTE.Constants.vsWindowKindSolutionExplorer).Activate(); 

// Sync with Active Document
dte.ExecuteCommand("SolutionExplorer.SyncWithActiveDocument");

// Collapse All
int cmdidSolutionExplorerCollapseAll = 29;
Guid guidCMDSETID_StandardCommandSet11 = new Guid("D63DB1F0-404E-4B21-9648-CA8D99245EC3");
dte.Commands.Raise(guidCMDSETID_StandardCommandSet11.ToString("B"), cmdidSolutionExplorerCollapseAll, null, null);

如果您需要识别任何其他命令的ID,您可以打开VSIP日志记录: http://blogs.msdn.com/b/dr._ex/archive/2007/04/17/using-enablevsiplogging-to-identify-menus-and-commands-with-vs-2005-sp1.aspx