在早期版本(Roslyn CTP)中,我正在使用以下
代码来格式化我
生成的
代码,并且它工作正常:
SyntaxNode.Format(FormattingOptions.GetDefaultOptions()).GetFormattedRoot()
使用新的Roslyn版本,它不再是这样,所以新版本(SDK Preview)中的上述代码是等同的?
您可以使用这样的Microsoft.CodeAnalysis.Formatting.Formatter格式化语法节点(如果您有一个工作区):
using Microsoft.CodeAnalysis.Formatting;
var formattedResult = Formatter.Format(SyntaxNode,workspace);
编辑:Jeroen在评论中写道,如果没有工作区,并且不需要工作区特定的格式设置,可以创建一个:
var workspace = MSBuildWorkspace.Create();