1

在 C# (Visual Studio) 中的给定解决方案上,我需要检测遵循某个模板的类并提取该模板以供以后生成代码。

换句话说,我需要比较 2 个类(文件)并从中提取一个通用模板。该模板将用于以后的代码生成,此时程序员将不得不编写更少的代码。

有没有人可以给我一个关于如何做到这一点的想法?

还有一个问题,是否有可能获得由 Visual Studio 制作的句法/语义树?

肿瘤坏死因子

4

2 回答 2

0

对于第一个问题,我认为您应该研究 diff 算法以找到 2 个文本文件的公共部分,例如此处

对于第二个问题,我建议看看Roslyn

于 2013-02-14T14:42:56.520 回答
0

最后我用户

  • NRefactory用于编译代码,我获得了 AST。
  • 使用自定义标签重写代码(eq: for --> loop_start)
  • 展平树获得一个长标签数组(eq:class_start,method_start,...end,end)
    这是2个文件
  • 我使用“贪婪字符串平铺算法”比较了 2 个数组
  • 从这里我已经有了模板文件。
于 2013-08-06T14:25:03.310 回答