什么';这是在内存中格式化SyntaxTree的最佳方法
本文关键字:格式化 SyntaxTree 方法 最佳 内存 什么 | 更新日期: 2023-09-27 18:26:52
现有的Roslyn文档非常单薄,所以我希望有人知道如何做到这一点,或者至少为我指明正确的方向。我尝试了很多方法,包括以下方法来格式化源代码,但都不起作用:
var tree = CSharpSyntaxTree.ParseText(soureCode);
var root = (CSharpSyntaxNode)tree.GetRoot();
return root.ToFullString();
如能在这方面提供任何帮助,我们将不胜感激。。。。
如果您只是想获得SyntaxTree
的漂亮打印版本,可以调用root.NormalizeWhitespace().ToFullString();
。
NormalizeWhitespace()
是一种扩展方法,因此您必须添加:
using Microsoft.CodeAnalysis;
如果您希望格式化内存中的树,那么您可能正在寻找Formatter
类。这个类有一些不同的重载,这取决于您是要格式化整个文档还是只格式化某些跨度。
不幸的是,它需要Document
或Workspace
来格式化空白。如果有一个重载只是将通用格式规则应用于树,那可能会很好。