在早期版本 (Roslyn CTP) 中,我使用以下代码来格式化我生成的代码并且它运行良好:
SyntaxNode.Format(FormattingOptions.GetDefaultOptions()).GetFormattedRoot()
在新的 Roslyn 版本中它不再这样做,那么在新版本(SDK 预览版)中上述代码的等价物是什么?
最佳答案
您可以像这样使用 Microsoft.CodeAnalysis.Formatting.Formatter
格式化 SyntaxNodes
(如果您有工作区):
using Microsoft.CodeAnalysis.Formatting;
var formattedResult = Formatter.Format(syntaxNode, workspace);
编辑:正如 Jeroen 在评论中所写,如果您没有工作区并且不需要特定于工作区的格式设置,您可以创建一个:
var workspace = MSBuildWorkspace.Create();
关于c# - Roslyn SDK 预览中的代码格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23625835/