How to add white space and/or format code?

前端 未结 2 390
暗喜
暗喜 2020-12-17 16:47

Given that I have created a symbol using SymbolFactory.CreateProperty, how would I add white space. Currently I get accessibility, modifiers, name, type etc. all stringed to

相关标签:
2条回答
  • 2020-12-17 17:37

    Nope, that's what you expect. Generated nodes don't have whitespace, with the intent you'll process it once you're done.

    There are two options:

    1. Call .NormalizeWhitespace() on the nodes. This is an aggressive formatter that is really only useful if you're generating code you don't intend to be consumed by a human -- it makes the output "valid" but blows away any existing formatting.
    2. Call Formatter.Format(), from Microsoft.CodeAnalysis.Formatting. This is the fancy formatter which will attempt to preserve existing whitespace and such, and will only update the nodes that need fixing. This is best if you're updating user code and you don't want to stomp on it.
    0 讨论(0)
  • 2020-12-17 17:49

    I had the same issue, and I found this to work the best:

    node.WithTrailingTrivia(SyntaxFactory.Space)
    

    where node is a SyntaxToken of any kind.

    0 讨论(0)
提交回复
热议问题