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

Cha*_*ion 5 c# code-formatting roslyn

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

pg0*_*0xC 6

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

var formattedResult = Formatter.Format(syntaxNode, workspace);
Run Code Online (Sandbox Code Playgroud)