c# - Roslyn SDK 预览中的代码格式化

标签 c# roslyn

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

相关文章:

c# - 想要直观地表示原始信息

c# - 当对象的标识符为空时,GetHashCode 应该返回什么?

c# - 将完整的 TreeView 设置为剪贴板

c# - 使用 Roslyn 获取项目中引用类型的列表

c# - 如何在 Windows 中运行 Visual Studio C# 交互式脚本?

c# - MSBuildWorkspace.Create 似乎无法正常工作

visual-studio-2015 - Roslyn 中的重大更改列表

c# - 将 datagridview 从一种形式传递到另一种形式 C#

C# 二进制文字

.net - 如何使用MSBuildWorkspace获取引用的nuget包?