gpt4 book ai didi

c# - 以编程方式使用缩进格式化 C# 代码

转载 作者:行者123 更新时间:2023-11-30 19:38:10 24 4
gpt4 key购买 nike

我正在制作一个包含 RichTextBox 的 C# 应用程序,用户可以在其中放入一些 C# 代码并像 Visual Studio 那样通过缩进对其进行格式化。

private void btnEdit_Click(object sender, EventArgs e)
{
//rchCode.Text= formattedCode; // Which I haven't got anywhere so far
}

我查找了相同的问题和 this answer建议使用名为 NArrange 的东西,但我不想使用其他工具、加载项等。

还有 this one提供 CodeDOM 方式,我还没有弄清楚如何使用它(如果它无论如何都有帮助)

我想通过编写一些实际代码来做到这一点。我该怎么做?

最佳答案

要正确缩进代码,您需要 Microsoft.CodeAnalysis.CSharp nuget 包和 .NET Framework 4.6+。示例代码:

using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;

...

public string ArrangeUsingRoslyn(string csCode) {
var tree = CSharpSyntaxTree.ParseText(csCode);
var root = tree.GetRoot().NormalizeWhitespace();
var ret = root.ToFullString();
return ret;
}

一行:

csCode = CSharpSyntaxTree.ParseText(csCode).GetRoot().NormalizeWhitespace().ToFullString();

您也可以使用 NArrange对 cs 文件中的方法进行排序、组织使用、创建区域等。

关于c# - 以编程方式使用缩进格式化 C# 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34759476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com