I'm writing an extension to Visual Studio using the Visual Studio Package project type. I'd like to add a command to the context menu when right clicking on files and folders in the solution explorer. I've added the command to the menu successfully but I can't seem to figure out how to retrieve what file or folder has been clicked on. How do i access that information?

有帮助吗?

解决方案

You can get current selection from the Solution Explorer and cast it to ProjectItem:

EnvDTE.UIHierarchy solutionExplorer = dte.ToolWindows.SolutionExplorer;
object[] items = solutionExplorer.SelectedItems as object[];
EnvDTE.UIHierarchyItem item = items[0] as EnvDTE.UIHierarchyItem;
EnvDTE.ProjectItem projectItem = item.Object as EnvDTE.ProjectItem;
string path = projectItem.Properties.Item("FullPath").Value.ToString();
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top