using DotNet 格式对代码进行编程格式化
[[academy-video-youtube({"vid": "lGvP9SZ98vM", "start_time": "0", "title": "Format Code Programmatically with .NET Format", "creator": "Gerald Versluis", "length": "9m 34s"})]]
在本文中,我们将详细介绍如何使用 .NET 格式工具以编程方式格式化您的 C# .NET 代码。 本指南基于 Gerald Versluis 的视频教程"自动格式化您的 C# .NET 代码与 .NET 格式工具",他展示了如何有效使用该工具来确保您的代码遵循一致的格式标准。 我将在视频中提供时间戳和 Gerald 所做的详细解释,以帮助您跟上并将这些技术应用到您的项目中。
介绍 .NET 格式
在 (0:36),Gerald 介绍了 .NET 格式作为一个工具,旨在根据 .editorconfig 文件中定义的规则格式化 C# 代码。这个文件对在项目中实施一致的编码风格至关重要。 确保所有代码遵守相同的格式准则,其中包括:
- 缩进样式:是使用制表符还是空格。
- 间距规则:运算符、大括号等周围的间距。
- 代码结构:单行和多行结构的格式。
通过应用这些规则,.NET 格式有助于保持一致的代码库,使其更易于阅读和管理。
了解 .editorconfig 文件
正如杰拉尔德在(0:48)处解释的那样,.editorconfig 文件指定了各种编码风格偏好。 该文件非常灵活,允许您定义各种格式规则,包括
- 缩进首选项:决定缩进时使用制表符还是空格,以及使用多少空格。
- 间距指南:控制运算符、大括号和关键字等代码元素的间距。
- 其他格式规则:定义其他样式规则,以确保代码的一致性。
.editorconfig文件是不同编辑器和集成开发环境中代码格式配置的中心点。
.NET 格式工具概述
Gerald 解释说 .NET 格式是针对 .NET 运行时的全局工具在 (1:13) 处。 作为一个全局工具,这意味着只需安装一次,就可以在系统中的各种 .NET 项目中使用。 这样可以保证代码格式的一致性,而无需为每个项目单独安装或配置。
您可以在 (1:26) 访问 GitHub 上的 .NET 格式存储库。 该资源库提供源代码、文档和有关工具的其他信息,帮助用户了解其功能并随时更新最新版本。
.NET 格式工具的基本用法
在 (2:09),Gerald 演示了使用 .NET 格式的基本命令:
dotnet format <options> <workspace>dotnet format <options> <workspace>什么是工作区?
在 .NET 格式上下文中,术语"工作空间"指的是将被格式化的代码的范围。 这可能包括
- 解决方案文件:包含多个项目的 .sln 文件。
- 项目文件:包含特定代码文件的单个 .csproj 文件。
- 文件夹:包含多个代码文件(包括 .cs 和潜在的 .vb 文件)的目录。
您可以灵活地指定不同类型的工作区,以便在项目的各个层面应用格式。
功能和选项
Gerald 在 (2:27) 强调了 .NET 格式的几个关键功能和选项:
- 自动修正:该工具可根据 .editorconfig 文件中定义的规则自动修正格式问题。这有助于在整个项目中保持一致的代码风格,而无需人工干预。
- 仅检查:如果您希望检查格式问题而不做修改,可以使用该工具仅检查问题。 该功能在持续集成 (CI) 管道中尤其有用。
高级选项和自定义
Gerald 探讨了高级选项和定制。 他提到
- 严重程度:允许您指定应修复的问题的严重性级别。 这有助于解决特定类型的格式问题。
- 包含/排除文件:您可以控制格式化时包含或排除哪些文件。 这对于重点介绍代码库的特定部分非常有用。
- 仅使用退出代码检查:通过使用检查选项,您可以验证是否存在任何格式问题,而无需应用修复。 退出代码将显示是否发现问题。
- JSON 报告:生成 JSON 格式的详细报告,让您深入了解代码的格式化状态。
- Verbosity: 设置 Verbosity 级别,以控制生成的输出量。
- 工具版本:检查 .NET 格式的版本以确保与您的项目兼容并及时了解新功能。
安装 .NET 格式工具
Gerald 首先解释了 .NET 格式工具的安装过程,这是编程方式格式化 C# 代码的关键。 他演示了如何使用以下命令将其设置为全局工具:
dotnet tool install -g dotnet-formatdotnet tool install -g dotnet-format此命令确保 .NET 格式在全局可用,允许从任何命令提示符或终端轻松访问。 Gerald 强调了 .NET Core 运行时的必要性,如果您最近一直在使用 .NET,就应该安装 .NET Core。

为了确认安装是否成功,在(4:00)处,Gerald 运行:
dotnet format /?dotnet format /?此命令显示可用选项和命令的列表,验证 .NET 格式已正确安装并准备好使用。

在(4:11)处,Gerald 指出某些选项(如--dry-run)已被弃用,并建议使用最新的代码格式。
应用代码格式修正
检查格式问题
以 Xamarin Community Toolkit 代码库为例,Gerald 首先检查了格式问题,但没有进行任何修改。 他在运行:
dotnet format . -f --checkdotnet format . -f --check识别需要格式化的文件。 Gerald 在 (5:26) 解释了您如何可以使用 --folder 指定目录的工作空间,或为解决方案文件使用 .NET format sln。 此命令列出了存在格式问题的文件。
错误级别检查
每个执行的进程都有一个表示状态的退出代码。 Gerald 执行了以下命令来检查错误级别:
echo %errorlevel%echo %errorlevel%Gerald 演示,退出代码为 2 表示存在需要解决的格式错误。

应用和验证修复
然后,Gerald 演示了如何通过再次运行命令(但不使用 --check 标志)来应用格式修正:
dotnet format . -fdotnet format . -f这将根据 .editorconfig 文件中定义的规则自动格式化代码文件。Gerald 会使用上述相同命令再次检查退出代码,确保其为 0,表明所有格式化问题都已解决。
为了验证更改,在(8:00)处,他使用 GitHub Desktop 等图形工具查看更新后的文件。 该工具显示了一些改进,如纠正的空白、有条理的 using 语句以及其他格式调整。

将格式化整合到您的工作流程中
Gerald 建议将 .NET 格式工具纳入您的构建 CI 管道。这种做法确保代码格式的一致性并有助于保持高质量的代码标准。 通过自动格式化流程,您可以避免手动格式化任务,并确保所有代码都符合定义的样式规则。
结论
通过跟随 Gerald 的详细演示,您可以轻松将 .NET 格式整合到您的开发过程中,以实现 C# .NET 代码的自动格式化。 无论您是独自工作还是作为团队的一员,该工具都能帮助确保您的代码保持简洁、一致和易读。 一定要查看 Gerald 的视频,以获得动手演示和更多对 .NET 格式工具的见解。 此外,请访问他的YouTube频道,了解更多关于 C# 代码的见解。


