代码声明是指最小的独立代码元素。是否有接口以结构化形式在EnvDTE.CodeFunction主体内部获取代码语句。
有一些方法可以将EnvDTE.CodeFunction的主体检索为纯文本,并且如果我想处理方法调用等。我应该使用Regex,我认为这不是一般的解决方案。例如,这两个语句是相同的:
var value = @“ the”“是qoutation标记”;
var value =“ The \” is qoutation mark“;
但是用正则表达式解析它们有点困难,我认为EnvDTE应该存在更直接的方法!
最佳答案
文件代码模型(EnvDTE.FileCodeModel)不支持在方法内部获取语句。对于VS 2015及更高版本,您可以使用.NET编译器平台(以前称为“ Roslyn”),该平台是暴露于Visual Studio扩展的C#/ VB.NET解析器,编译器等。参见:.NET Compiler Platform
关于c# - 使用EnvDte获取特定代码元素中的所有代码语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31473588/