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

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

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

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

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


