通过代码语句,我的意思是最小的独立代码元素。是否有一个接口可以在结构化形式的EnvDTE.CodeFunction体内获取代码语句。
有些方法可以将EnvDTE.CodeFunction的主体检索为纯文本,如果我想处理方法调用等,我应该使用Regex,我认为这不是一般解决方案。例如,这两个陈述都是相同的:
var value = @“the”“是qoutation mark”; var value =“the”是qoutation mark“;
但用正则表达式解析它们有点困难,我认为EnvDTE应该存在一种更直接的方式!
答案 0 :(得分:1)
文件代码模型(EnvDTE.FileCodeModel)不支持在方法中获取语句。对于VS 2015及更高版本,您可以使用.NET编译器平台(以前称为#34; Roslyn"),它是暴露给Visual Studio扩展的C#/ VB.NET解析器,编译器等。请参阅:.NET Compiler Platform