IRONSOFTWAREHOME

using DotNet 格式对代码进行编程格式化

Format Code Programmatically with .NET Format

Gerald Versluis

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>
SHELL

什么是工作区?

在 .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-format
SHELL

此命令确保 .NET 格式在全局可用,允许从任何命令提示符或终端轻松访问。 Gerald 强调了 .NET Core 运行时的必要性,如果您最近一直在使用 .NET,就应该安装 .NET Core。

安装截图

为了确认安装是否成功,在(4:00)处,Gerald 运行:

dotnet format /?
SHELL

此命令显示可用选项和命令的列表,验证 .NET 格式已正确安装并准备好使用。

命令选项截图

在(4:11)处,Gerald 指出某些选项(如--dry-run)已被弃用,并建议使用最新的代码格式。

应用代码格式修正

检查格式问题

以 Xamarin Community Toolkit 代码库为例,Gerald 首先检查了格式问题,但没有进行任何修改。 他在运行:

dotnet format . -f --check
SHELL

识别需要格式化的文件。 Gerald 在 (5:26) 解释了您如何可以使用 --folder 指定目录的工作空间,或为解决方案文件使用 .NET format sln。 此命令列出了存在格式问题的文件。

错误级别检查

每个执行的进程都有一个表示状态的退出代码。 Gerald 执行了以下命令来检查错误级别:

echo %errorlevel%
SHELL

Gerald 演示,退出代码为 2 表示存在需要解决的格式错误。

错误级别截图

应用和验证修复

然后,Gerald 演示了如何通过再次运行命令(但不使用 --check 标志)来应用格式修正:

dotnet format . -f
SHELL

这将根据 .editorconfig 文件中定义的规则自动格式化代码文件。Gerald 会使用上述相同命令再次检查退出代码,确保其为 0,表明所有格式化问题都已解决。

为了验证更改,在(8:00)处,他使用 GitHub Desktop 等图形工具查看更新后的文件。 该工具显示了一些改进,如纠正的空白、有条理的 using 语句以及其他格式调整。

GitHub Desktop截图

将格式化整合到您的工作流程中

Gerald 建议将 .NET 格式工具纳入您的构建 CI 管道。这种做法确保代码格式的一致性并有助于保持高质量的代码标准。 通过自动格式化流程,您可以避免手动格式化任务,并确保所有代码都符合定义的样式规则。

结论

通过跟随 Gerald 的详细演示,您可以轻松将 .NET 格式整合到您的开发过程中,以实现 C# .NET 代码的自动格式化。 无论您是独自工作还是作为团队的一员,该工具都能帮助确保您的代码保持简洁、一致和易读。 一定要查看 Gerald 的视频,以获得动手演示和更多对 .NET 格式工具的见解。 此外,请访问他的YouTube频道,了解更多关于 C# 代码的见解。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户