【问题标题】:Visual Studio DTE - how to programmatically select multiple projectsVisual Studio DTE - 如何以编程方式选择多个项目
【发布时间】:2018-12-08 13:35:34
【问题描述】:

我正在尝试创建一个小的 Visual Studio 扩展,以执行一些批处理项目加载和卸载。为此,我必须一次选择多个项目,然后调用Project.ReloadProject 或Project.UnloadProject 命令。如果我一个接一个地加载或卸载项目,那太慢了。

这是我的示例:

foreach (UIHierarchyItem item in solution.UIHierarchyItems)
{
    if (!filter.Projects.Contains(item.Name, StringComparer.CurrentCultureIgnoreCase))
        item.Select(vsUISelectionType.vsUISelectionTypeSelect);
}

dte.ExecuteCommand("Project.UnloadProject", "");

问题是,我不知道如何一次选择多个项目。当我手动执行相同任务时,我只需按住 ctrl 按钮并单击项目。

【问题讨论】:

    标签: c# visual-studio envdte


    【解决方案1】:

    要选择多个项目,对于第一个项目调用:

    item.Select(vsUISelectionType.vsUISelectionTypeSelect);
    

    后续项目调用:

       if (!item.IsSelected)
           item.Select(vsUISelectionType.vsUISelectionTypeToggle);
    

    【讨论】:

    • 非常感谢!没有考虑到这一点,因为在文档中说,在您使用切换值选择一个节点后,它是唯一选择的节点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 2019-10-06
    • 1970-01-01
    • 2017-03-24
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多