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

本文关键字:换行符 缩进 代码 格式化 ToCode 表达式 有没有 | 更新日期: 2023-09-27 17:56:48

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

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

结果代码为:

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

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

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

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

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