有没有办法使用ExpressionToCode生成的换行符和缩进来格式化代码

时间:2015-06-18 07:39:13

标签: c# .net code-generation code-formatting

有没有办法格式化ExpressionToCode生成的代码?特别要添加换行符和缩进,如下所示:

var code = ExpressionToCode.ToCode(() => new A(new B(), new C()));

,结果代码为:

() => 
    new A(
        new B(),
        new C())

1 个答案:

答案 0 :(得分:0)

不是真的。您可以使用Roslyn SyntaxTree(使用ToSyntaxTree代替ToCode)并使用它以您想要的任何方式格式化输出。

使用Roslyn处理代码格式化实际上相当容易 - 您只需从SyntaxRewriter继承自己的类。有关详细信息,请参阅http://www.christophdebaene.com/blog/2011/10/26/roslyn-formatting-code/

代码格式化的问题实际上非常复杂,需要相当多的思考。