使用Roslyn生成格式良好的语法

我正在使用Roslyn来修改C#文件的语法。 使用CSharpSyntaxRewriter,很容易在语法树中查找和替换节点。 但是,生成的代码非常难看,在所有情况下都不会解析,因为我创建的语法节点(使用SyntaxFactory)甚至缺少最少量的空白琐事。 Roslyn是否提供了一些基本的格式化function来避免这种情况,还是我必须手动添加琐事到我创建的每个节点?

是的,可以使用Microsoft.CodeAnalysis.Formatting.Formatter

var formattedResult = Formatter.Format(syntaxNode, workspace);