private static string GetSelectedCanonicalNameFromTeamExplorer(IVsTeamExplorer teamExplorer)
        {
            IntPtr hierarchyPtr;
            uint selectedItemId;
            IVsMultiItemSelect dummy;
            teamExplorer.TeamExplorerWindow.GetCurrentSelection(out hierarchyPtr, out selectedItemId, out dummy);
            var hierarchy = (IVsHierarchy)Marshal.GetObjectForIUnknown(hierarchyPtr);
            Marshal.Release(hierarchyPtr);

            string canonicalName;
            hierarchy.GetCanonicalName(selectedItemId, out canonicalName);

            return canonicalName;
        }
        /// <summary>Implements the constructor for the Add-in object. Place your initialization code within this method.</summary>
        public TeamExplorerIntergator(EnvDTE.IVsExtensibility extensibility, IVsTeamExplorer te)
        {
            IvsTeamExpl = te;

            // get IDE Globals object and DTE from that
            EnvDTE80.DTE2 dte2 = extensibility.GetGlobalsObject(null).DTE as EnvDTE80.DTE2;
            _applicationobject = dte2;

            Debug.Assert(dte2 != null, "No DTE2");

            TeamFoundationServerExt tfsExt = (TeamFoundationServerExt)dte2.Application.GetObject("Microsoft.VisualStudio.TeamFoundation.TeamFoundationServerExt");

            this.srcCtrlExplorer = (VersionControlExt)dte2.Application.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt");

            DoConnect(tfsExt);
        }
        private static string GetSelectedCanonicalNameFromTeamExplorer(IVsTeamExplorer teamExplorer)
        {
            IntPtr             hierarchyPtr;
            uint               selectedItemId;
            IVsMultiItemSelect dummy;

            teamExplorer.TeamExplorerWindow.GetCurrentSelection(out hierarchyPtr, out selectedItemId, out dummy);
            var hierarchy = (IVsHierarchy)Marshal.GetObjectForIUnknown(hierarchyPtr);

            Marshal.Release(hierarchyPtr);

            string canonicalName;

            hierarchy.GetCanonicalName(selectedItemId, out canonicalName);

            return(canonicalName);
        }