以编程方式访问Visual Studio Solution Explorer搜索框

时间:2017-12-13 13:30:10

标签: visual-studio visual-studio-extensions envdte solution-explorer visual-studio-automation

我正在开发一个需要在解决方案中选择特定项目的VS扩展。但是,如果用户先前在解决方案资源管理器搜索框中键入了任何文本,则在找到项目项时,调用

.Select(vsUISelectionType.vsUISelectionTypeSelect)

它不起作用。我的想法是在选择项目之前访问搜索框并清除它。不幸的是,我无法找到任何关于如何做到这一点的线索,而不是在文档和教程中,甚至没有检查

dte.ToolWindows.SolutionExplorer

对象。我做错了所以我找不到一个应该更容易做的事情的解决方案吗?

提前感谢您,任何想法/帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

清除搜索框:

IVsSolutionUIHierarchyWindow solutionWindows = (IVsSolutionUIHierarchyWindow)VsShellUtilities.GetUIHierarchyWindow(this.ServiceProvider, VSConstants.StandardToolWindows.SolutionExplorer);    

if (solutionWindows is IVsWindowSearch)
{
    var slw = solutionWindows as IVsWindowSearch;
    slw.ClearSearch();
}