我想创造一个,我添加了一个菜单命令,你得到的上下文菜单时,你就在Solution Explorer中单击一个项目一个VS包。 现在,在单击命令我要显示一个弹出与在其右键单击该项目的详细信息并选择我的命令。 我怎样才能把它做? 什么样的服务,我可以用它来获得所选项目的细节?
Answer 1:
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探险家,你会得到关于从解决方案资源管理所有信息。
文章来源: How to get the details of the selected item in solution explorer using vs package