【问题标题】:Is there way to format code with line-breaks and indentation produced by ExpressionToCode有没有办法用 ExpressionToCode 产生的换行和缩进格式化代码
【发布时间】:2015-09-03 17:34:40
【问题描述】:

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

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

结果代码为:

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

【问题讨论】:

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


    【解决方案1】:

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

    使用 Roslyn 处理代码格式化实际上很容易 - 您只需从 SyntaxRewriter 继承您自己的类。请参阅http://www.christophdebaene.com/blog/2011/10/26/roslyn-formatting-code/ 了解更多信息。

    代码格式化的问题其实挺复杂的,需要好好思考一下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2012-01-17
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-17
      相关资源
      最近更新 更多