4

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

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

我无论如何都找不到调用这些函数。

有谁知道如何做到这一点?

4

1 回答 1

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

于 2012-10-02T06:30:40.837 回答