使用 EnvDte 获取特定代码元素中的所有代码语句

Get all code statements in specific code element with EnvDte

代码语句是指最小的独立代码元素。是否有一个接口可以以结构化形式获取 EnvDTE.CodeFunction 体内的代码语句。

有一些方法可以将 EnvDTE.CodeFunction 的正文检索为纯文本,如果我想处理方法调用等。我应该使用我认为不是通用解决方案的正则表达式。例如,这两个语句是相同的:

var value = @"the "" 是引号"; var value = "the \" 是引号";

但是用正则表达式解析它们有点困难,我认为 EnvDTE 应该有更直接的方法!

文件代码模型 (EnvDTE.FileCodeModel) 不支持在方法中获取语句。对于 VS 2015 及更高版本,您可以使用 .NET 编译器平台(以前称为 "Roslyn"),它是 C#/VB.NET 解析器、编译器等,暴露于 Visual Studio 的扩展。参见:.NET Compiler Platform