跳至页脚内容
Iron Academy Logo
C# 工具与生产力

10 分钟或更短时间内在 Visual Studio 中使用 Editorconfig

Tim Corey
9 分 28 秒

在不同的项目和开发人员之间保持一致的编码风格往往是一项挑战,尤其是在与使用不同设置、偏好甚至不同编辑器(如 Visual Studio 和 Visual Studio Code)的团队合作时。 在他的视频"EditorConfig in Visual Studio in 10 Minutes or Less"中,Tim Corey 解释了 EditorConfig 文件如何在 .NET 项目中定义和执行特定于项目的编码约定。

本文完全按照 Tim 解释的概念进行阐述,展示了 EditorConfig C# 设置如何帮助保持代码风格、缩进和结构的统一性。 让我们逐步探讨 Tim 的解释。

简介:EditorConfig 为何重要?

Tim 首先介绍了 EditorConfig 项目,并解释说现在每个项目的设置比以往任何时候都更容易实现。 您现在可以对项目进行配置,为所有贡献者保持一致的编码风格,而不必依赖保存在 Visual Studio 或编辑器设置中的个人偏好。

创建项目

为了演示 EditorConfig 文件,Tim 在 Visual Studio 中创建了一个新的 Blazor Server 项目。 他将其命名为 BlazorDemoApp 并使用默认配置。 这个简单的 .NET 项目是设置和应用 EditorConfig 设置的测试平台。

正如 Tim 解释的那样,这个项目不需要复杂的逻辑或功能。 这只是一个方便使用代码样式规则的示例。

了解项目偏好和编码风格

在此,Tim 将讨论为什么项目级配置非常重要。 在 Visual Studio 中,每个用户都可以对以下内容设置首选项:

  • 使用制表符还是空格

  • 缩进大小(如 3 或 4 个空格)

  • 在同一行或新行中放置大括号 {}

  • 命名空间声明的类型(块作用域或文件作用域)

这些首选项通常是按 Visual Studio 中的每个用户而不是每个项目存储的。 Tim 强调指出,在团队中工作时,每个人的本地设置都可能不同。 这可能会导致代码格式不一致、版本控制系统中不必要的差异以及手动调整偏好所浪费的时间。

这就是 EditorConfig 文件格式的作用所在--它定义了一组共享的 EditorConfig 属性,所有开发人员的编辑器都能自动遵守这些属性。

创建和打开 EditorConfig 文件

然后,Tim 演示了如何在解决方案中添加新的 EditorConfig 文件。

他右键单击解决方案并选择添加 → 新编辑器配置。第一次加载文件时,Visual Studio 可能会出现一个小错误,但 Tim 解释说这是一个无伤大雅的怪癖--只需关闭并重新打开文件即可。

这个新文件通常命名为 .editorconfig,Visual Studio 会立即将其识别为配置文件。 值得注意的是,Visual Studio 本身支持该文件,其他文本编辑器(如 Visual Studio Code 甚至 Sublime Text)也通过文本编辑器插件支持该文件。

Tim 澄清说,EditorConfig 并非微软专用工具。 这是一个全行业的标准,有助于不同的编辑人员理解和应用相同的编码惯例,确保在多个环境中格式保持一致。

配置编辑器配置文件设置

打开 EditorConfig 文件后,Tim 解释说,它会从当前 Visual Studio 配置中提取默认设置。 不过,这些内容可以根据需要进行修改。

他浏览了空白部分,展示了如何设置:

  • 使用制表符代替空格

  • 选项卡宽度 = 3

这些是 EditorConfig 属性的示例,定义了代码格式化的行为方式。 保存后,该配置适用于整个解决方案,但不适用于解决方案之外。

Tim 指出,这个 EditorConfig 文件还可以添加到版本控制系统(如 Git)中,确保每个克隆版本库的开发人员都能继承相同的规则。 无论代码由谁编写,这都有助于保持格式的一致性。

使用代码样式和命名空间规则

然后,Tim 深入探讨了代码样式设置,特别是命名空间声明样式。

默认情况下,C# 使用块范围命名空间,命名空间用大括号定义。 Tim 在 Data 文件夹下创建了一个类来演示这种格式。

然后,他更改 EditorConfig 文件设置,使用文件作用域名称空间。 当他添加另一个类时,Visual Studio 会自动应用更新的样式--用分号 (;) 代替大括号显示命名空间。

这演示了 EditorConfig 设置如何影响 Visual Studio 中的默认代码生成模板,并自动与定义的项目约定保持一致。

Tim 还指出,代码清理功能可用于重新格式化现有文件,确保所有代码都符合最新的 EditorConfig 规则。

设置严重性和执行规则

在本节中,Tim 将重点介绍如何使用 EditorConfig 文件中的严重性级别来控制规则的执行。

每条规则都可以有一个值,如 "无"、"建议"、"警告 "或 "错误"。 Tim 将命名空间规则的严重性设置为错误,Visual Studio 会立即在错误列表窗口中标记任何不符合首选格式的文件。

这将确保开发人员遵循定义的样式,并防止当前文件或整个项目出现不必要的偏差。

虽然可能会出现一些不一致或 Visual Studio bug(如错误的建议提示),但 Tim 指出这些问题会随着时间的推移而得到改善。重要的是规则的应用要保持一致,使代码易于阅读和统一。

多个编辑器配置文件和目录范围

Tim 继续解释说,您可以在一个解决方案中使用多个 EditorConfig 文件。

例如:

  • 解决方案级别的根 EditorConfig 文件定义了所有项目的常规设置。

  • 子文件夹(如 /Data)中嵌套的 EditorConfig 文件可以覆盖某些属性(如命名约定、制表符宽度或换行符)。

每个 EditorConfig 项目都是分层管理的,这意味着子目录中的文件将继承父目录中的文件,除非明确重载。

如果要定义配置的根目录,可以在顶层文件中设置 root = true 属性。这样,编辑器就不会再搜索父目录中的更多 EditorConfig 文件。

这种结构使开发人员能够对项目级格式规则进行精细控制,同时还允许在特殊情况下使用不同的格式。

结论:通过 EditorConfig 实现一致性

在最后的发言中,Tim 鼓励开发人员在其 .NET 项目中积极使用 EditorConfig。

他强调,这种方法可以让团队保持一致的格式规则、命名约定和布局风格,而无需强制更改个人编辑器设置。 每个打开的文件都会自动遵循项目的 .editorconfig 文件中设定的样式。

通过将这些 EditorConfig 文件提交到版本控制系统中,团队可以确保每个人(无论其编辑器或环境如何)都遵守相同的代码格式规则。

Tim 在视频的最后强调,EditorConfig 文件格式简单、灵活,并得到广泛支持。 无论您使用的是 Visual Studio、Visual Studio Code 还是其他文本编辑器,它都能很好地帮助保持编码风格的一致性,保持项目的整洁、专业和可读性。

Hero Worlddot related to 10 分钟或更短时间内在 Visual Studio 中使用 Editorconfig
Hero Affiliate related to 10 分钟或更短时间内在 Visual Studio 中使用 Editorconfig

分享您的所爱,赚取更多收入

您为使用 .NET、C#、Java、Python 或 Node.js 的开发人员创建内容吗?将您的专业知识转化为额外收入!

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我