我希望能够提取具有焦点的方法的主体。
所以我会点击方法中的任意位置,然后右键单击 - >菜单操作,我可以将聚焦方法的主体作为字符串或字符串(行)列表。
答案 0 :(得分:3)
如果您的扩展程序是包而不是加载项,请首先按照以下说明获取DTE实例:
HOWTO: Get an EnvDTE.DTE instance from a Visual Studio package.
然后获取光标下的EnvDTE.CodeElement:
HOWTO: Get the code element at the cursor from a Visual Studio .NET macro or add-in.
获得表示方法的EnvDTE.CodeElement后,请调用:
EnvDTE.EditPoint e1 = codeElement.GetStartPoint(vsCMPart.vsCMPartBody).CreateEditPoint();
EnvDTE.EditPoint e2 = codeElement.GetEndPoint(vsCMPart.vsCMPartBody).CreateEditPoint();
string text = e1.GetText(e2);
也就是说,在VS 2015及更高版本中,您可以使用.NET Compiler Platform ( "Roslyn")来获取该信息