How to get the details of the selected item in solution explorer using vs package
Asked Answered
C

1

8

I am trying to create a VS package in which, I have added a menu command to the context menu, so it appears when you right click an item in the solution explorer. Now on clicking the command, I want to show a pop up with the details of the item, on which you right clicked and invoked the command.

Now how would I get information about the selected item? Is there any service I can use in order to get any details about the item?

Catfall answered 2/11, 2012 at 12:4 Comment(1)
Do you want to show properties of the client object?Learned
C
21
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;
    }

Above function will return the selected item(file) full path. basically get the soultion explorer from DTE2 instance and you will get all info about solution explorer from that.

Cleruchy answered 14/3, 2013 at 10:34 Comment(4)
Where to add these methods and from where we are going to invoke them.Gesundheit
@Gesundheit it is like registering the callback for the event. You need link this function to the given menu item.Cleruchy
This doesn't work for projects based on C++ template. Can you suggest an alternative?Marucci
Sorry, @Bandara. I just noticed your question and I am no longer having windows and visual studio environment to try out your problem.Cleruchy

© 2022 - 2024 — McMap. All rights reserved.