![](/img/trans.png)
[英]In a VS 2015 extension, how can I get the selected object in the Solution Explorer?
[英]How to get the details of the selected item in solution explorer using vs package
我正在尝试创建一个VS包,其中已在上下文菜单中添加了一个菜单命令,因此当您在解决方案资源管理器中右键单击某个项目时,它就会出现。 现在单击命令,我想显示一个弹出窗口,其中包含该项目的详细信息,您右键单击并调用了该命令。
现在如何获得有关所选商品的信息? 我可以使用任何服务来获取有关该物品的任何详细信息吗?
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;
}
上面的函数将返回所选项目(文件)的完整路径。 基本上从DTE2实例中获取soultion资源管理器,您将从中获得有关解决方案资源管理器的所有信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.