Roslyn SDK预览中的代码格式

在早期版本(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(); 

自CTP以来,Roslyn发生了很大的变化。

文档现在在这里: https : //roslyn.codeplex.com/

点击https://roslyn.codeplex.com/documentation链接,点击“示例和演练”,然后打开演示解决方案“FormatSolution – 一个控制台应用程序,它可以格式化解决方案中的所有C#和VB源文件。”

不幸的是,我不认为可以快速进行格式化工作,因为您必须将代码添加到新的解决方案中。