在visual studio扩展中,如何提取具有焦点的方法的主体?

时间:2015-04-22 07:54:26

标签: visual-studio visual-studio-extensions

我希望能够提取具有焦点的方法的主体。

所以我会点击方法中的任意位置,然后右键单击 - >菜单操作,我可以将聚焦方法的主体作为字符串或字符串(行)列表。

1 个答案:

答案 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")来获取该信息