如何使用vs package获取解决方案资源管理器中所选项的详细信息

nir*_*ruj 6 c# visual-studio-2010 vspackage vs-extensibility

我正在尝试创建一个VS包,我已经在右键单击解决方案资源管理器中的项目时为上下文菜单添加了一个菜单命令.现在单击命令我想显示一个弹出窗口,其中包含您右键单击的项目的详细信息,然后选择我的命令.我怎么能完成它?我可以用什么服务来获取所选项目的详细信息?

gra*_*cha 15

private static EnvDTE80.DTE2 GetDTE2()
    {
        return GetGlobalService(typeof(DTE)) as EnvDTE80.DTE2;
    }
private string GetSourceFilePath()
    {
        EnvDTE80.DTE2 _applicationObject = GetDTE2();
        UIHierarchy uih = _applicationObject.ToolWindows.SolutionExplorer;
        Array selectedItems = (Array)uih.SelectedItems;
        if (null != selectedItems)
        {
            foreach (UIHierarchyItem selItem in selectedItems)
            {
                ProjectItem prjItem = selItem.Object as ProjectItem;
                string filePath = prjItem.Properties.Item("FullPath").Value.ToString();
                //System.Windows.Forms.MessageBox.Show(selItem.Name + filePath);
                return filePath;
            }
        }
        return string.Empty;
    }
Run Code Online (Sandbox Code Playgroud)

上面的函数将返回所选项(文件)的完整路径.基本上从DTE2实例获得灵魂探索器,您将从中获得有关解决方案资源管理器的所有信息.