从 EnvDTE 检索选定的文件夹路径

问题描述 投票:0回答:1

我有一个 Visual Studio 扩展项目,我在文件夹节点

OleMenuCommand
上实现了自定义
'IDM_VS_CTXT_FOLDERNODE'
(右键单击项目内的文件夹时显示命令)。我想从
EnvDTE80.DTE2
对象获取选定的文件夹路径。我能够获取文件夹名称,但无法获取文件夹路径。这是示例代码。

SelectedItems selectedItems = this.DTE.SelectedItems;

foreach(SelectedItem selectedItem in selectedItems)
{
    string strName = selectedItem.Name; // returns the folder name
    // strName = "Folder Name"
    
    foreach(SelectedItem dteSelectedItem in project.DTE.SelectedItems)
    {
        string strSelName = dteSelectedItem.Name;
        // strSelName = "Folder Name"
    }
}

无法从

SelectedItem
对象获取文件夹路径。在这里帮助我获取所选的文件夹路径..

visual-studio-extensions vsix envdte
1个回答
0
投票

如果您想从SelectedItem中获取文件夹路径,请尝试以下操作:

 SelectedItems selectedItems = this.DTE.SelectedItems;

foreach(SelectedItem selectedItem in selectedItems)
{
    string strName = selectedItem.Name; // returns the folder name
    // strName = "Folder Name"
    
    foreach(SelectedItem dteSelectedItem in project.DTE.SelectedItems)
    {
        string strSelName = dteSelectedItem.Name;
        // strSelName = "Folder Name"
        ProjectItem prjItem = dteSelectedItem.Object as ProjectItem;
        string filePath = prjItem.Properties.Item("FullPath").Value.ToString();
    }
}

希望能帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.