/// <summary> /// /// </summary> /// <returns></returns> public System.Collections.Generic.List <string> GetMethodNames() { System.Collections.Generic.List <string> M = new List <string>(); EnvDTE80.FileCodeModel2 FileCodeModel = this.Application.ActiveDocument.ProjectItem.FileCodeModel as EnvDTE80.FileCodeModel2; EnvDTE.CodeElements elements = FileCodeModel.CodeElements; foreach (EnvDTE.CodeElement element in elements) { if (element.Kind == EnvDTE.vsCMElement.vsCMElementNamespace) { foreach (EnvDTE.CodeElement element2 in element.Children) { if (element2.Kind == EnvDTE.vsCMElement.vsCMElementClass) { EnvDTE80.CodeClass2 CurrentClass = element2 as EnvDTE80.CodeClass2; foreach (EnvDTE.CodeElement element3 in element2.Children) { if (element3.Kind == EnvDTE.vsCMElement.vsCMElementFunction) { EnvDTE80.CodeFunction2 CurrentFunction = element3 as EnvDTE80.CodeFunction2; M.Add(CurrentFunction.Name); } } } } } } return(M); }
/// <summary> /// /// </summary> /// <returns></returns> public string GetCurrentMethodName() { try{ EnvDTE.TextSelection SelectedText = this.Application.ActiveDocument.Selection as EnvDTE.TextSelection; EnvDTE.TextPoint tp = SelectedText.TopPoint as EnvDTE.TextPoint; EnvDTE.CodeElement c = this.Application.ActiveDocument.ProjectItem.FileCodeModel.CodeElementFromPoint(tp, EnvDTE.vsCMElement.vsCMElementFunction); EnvDTE80.CodeFunction2 CurrentFunction = c as EnvDTE80.CodeFunction2; return(c.Name); } catch { return(""); } }