You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从EnvDTE80.DTE2获取VS扩展中选中文件夹的路径

获取Visual Studio扩展中选中文件夹的完整路径

你可以通过将SelectedItem.Object转换为ProjectItem对象,来获取选中文件夹的完整路径。以下是实现代码:

SelectedItems selectedItems = this.DTE.SelectedItems;

foreach (SelectedItem selectedItem in selectedItems)
{
    // 将选中项转换为ProjectItem
    if (selectedItem.Object is ProjectItem projectItem)
    {
        // 判断是否为物理文件夹类型
        if (projectItem.Kind == EnvDTE.Constants.vsProjectItemKindPhysicalFolder)
        {
            // 方式1:通过get_FileNames方法获取完整路径
            string fullPath = projectItem.get_FileNames(1);
            
            // 方式2:通过Properties属性直接获取FullPath
            // string fullPath = projectItem.Properties.Item("FullPath").Value.ToString();
            
            // fullPath 会返回类似 "C:\Projects\MySolution\MyProject\TargetFolder" 的完整路径
        }
    }
}

关键说明:

  • SelectedItem.Object:选中项的底层实例,项目内的文件夹本质是ProjectItem类型,转换后可访问其路径相关属性。
  • vsProjectItemKindPhysicalFolder:用于过滤出物理文件夹类型的选中项,避免处理文件、项目等其他类型的选中对象。
  • get_FileNames(1):这是获取项目项路径的通用方法,对文件夹而言,传入参数1即可返回完整路径。
  • Properties.Item("FullPath"):直接访问项目项的FullPath属性,也能得到相同的完整路径结果。

内容的提问来源于stack exchange,提问作者Naveen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 08:33:13