Roslyn 代码格式化:使用 C# API 美化你的代码
Roslyn 是一个 .NET Compiler Platform,它提供了一系列的 API 来操作和分析 .NET 代码。其中包括代码格式化的 API。
以下是使用 Roslyn 格式化代码的步骤:
-
安装 Microsoft.CodeAnalysis.CSharp 包。可以通过 NuGet 包管理器或 .NET CLI 安装。
-
创建一个 C# 语法树。可以通过语法分析器创建。
var syntaxTree = CSharpSyntaxTree.ParseText(code);
- 获取语法树的根节点。
var root = syntaxTree.GetRoot();
- 格式化语法树。
var formattedRoot = Formatter.Format(root, new AdhocWorkspace());
- 获取格式化后的代码。
var formattedCode = formattedRoot.ToFullString();
完整的代码示例:
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.Formatting;
public static class CodeFormatter
{
public static string Format(string code)
{
var syntaxTree = CSharpSyntaxTree.ParseText(code);
var root = syntaxTree.GetRoot();
var formattedRoot = Formatter.Format(root, new AdhocWorkspace());
return formattedRoot.ToFullString();
}
}
使用示例:
string code = 'using System;class Program{static void Main(){Console.WriteLine('Hello, World!');}}';
string formattedCode = CodeFormatter.Format(code);
Console.WriteLine(formattedCode);
输出:
using System;
class Program
{
static void Main()
{
Console.WriteLine('Hello, World!');
}
}
原文地址: https://www.cveoy.top/t/topic/lXpe 著作权归作者所有。请勿转载和采集!