Roslyn - 如何可靠地为一个类格式化空格

时间:2015-09-11 09:02:50

标签: c# roslyn

我需要格式化一个类,以确保它易于人类阅读。我有语法树,根CompilationUnitSyntax和ClassDeclarationSyntax。我按如下方式格式化空格。

root = root.ReplaceNode(classSyntax, classSyntax.NormalizeWhitespace(elasticTrivia: true));
syntaxTree = syntaxTree.WithRootAndOptions(root, syntaxTree.Options);

在:

#region MyRegion
public class MyClass
{

    // Info about MyClass

}
#endregion

后:

#region MyRegion
public class MyClass
{
// Info about MyClass    
}#endregion

为什么班级的大括号会撞到#endregion?

如果我在' After'之后再次运行NormalizeWhitespace文本,#endregion被移回到自己的行上。然后再调用NormalizeWhitespace再次将其重新启动。发生了什么事?

1 个答案:

答案 0 :(得分:1)

这听起来像一个bug,可能与https://github.com/dotnet/roslyn/issues/1066有关。