JetBrains Rider 2025.2 Help

使用 EditorConfig

JetBrains Rider 支持 代码格式样式代码语法样式C# 命名样式以及在 EditorConfig 格式中定义的 代码检查严重性级别

什么是 EditorConfig,JetBrains Rider 如何扩展它?

EditorConfig 是一种配置文件约定,用于在团队成员之间以及他们可能使用的不同 IDE 之间定义和维护一致的代码样式。 这些样式保存在名为 .editorconfig 的类似 INI 的文件中,其中部分名称是文件掩码,部分中的属性定义了与这些掩码匹配的文件的代码样式。

根据 EditorConfig 约定,JetBrains Rider 将应用定义在当前文件目录及其所有父目录中的 .editorconfig 文件中的代码样式,直到到达根文件路径或找到带有 root=true 的 EditorConfig 文件。 在 .editorconfig 文件中指定的文件掩码,例如 *Test.cs ,也会被考虑在内。

JetBrains Rider 理解 标准 EditorConfig 属性 、最常用的 .NET 编码约定的 EditorConfig 属性 ,并提供一组 自定义 EditorConfig 属性 ,这些属性允许对格式、语法和代码检查规则进行更细粒度的配置——实际上,您可以在 JetBrains Rider 的 设置 对话框中配置的每个代码样式偏好都有其自己的 EditorConfig 属性。 这意味着您可以在 EditorConfig 文件中维护 代码样式和检查规则的完整配置。 以下是 JetBrains Rider 支持的 EditorConfig 属性示例:

root = true [*] # Most of the standard properties are supported indent_size=2 max_line_length=100 # Most frequently used .NET-coding-convention properties are supported csharp_space_between_parentheses=expressions, type_casts, control_flow_statements csharp_style_var_for_built_in_types=true # dotnet_diagnostic rules are supported dotnet_diagnostic.CS1058.severity = hint # JetBrains Rider custom properties for code formatting styles resharper_csharp_brace_style=next_line resharper_csharp_blank_lines_around_invocable=2 # JetBrains Rider custom properties for code syntax styles csharp_default_private_modifier=explicit braces_for_ifelse=not_required # JetBrains Rider custom properties for code inspections resharper_possible_null_reference_exception_highlighting=error resharper_replace_with_string_is_null_or_empty_highlighting=none

解决方案中的 EditorConfig

默认情况下,JetBrains Rider 会考虑 EditorConfig 属性,并且它们将覆盖在 JetBrains Rider 设置 中定义的偏好。 如果您希望 JetBrains Rider 忽略代码格式和代码语法的 EditorConfig 样式,请清除 JetBrains Rider 设置 页面上的相应复选框 编辑器 | 代码样式 | C++ | 常规

要从 EditorConfig 配置代码检查和命名样式,您必须在 JetBrains Rider 设置 页面上的 编辑器 | 检查设置 选择 从 editorconfig、项目设置和规则集中读取设置 复选框。

当启用 EditorConfig 支持并且存在影响当前文件的 .editorconfig 文件时,JetBrains Rider 将帮助您了解应用了哪些 EditorConfig 样式以及这些设置的来源:

  • 在 JetBrains Rider 的代码样式和格式选项页面上,如果页面上的至少一个偏好被当前文件的 EditorConfig 样式覆盖,您将看到一个黄色警告,每个被覆盖的偏好也会用黄色突出显示。 例如:

    被 EditorConfig 样式覆盖的代码格式选项
  • 代码样式配置对话框 中,您可以查看和研究所有影响当前文件的 .editorconfig 文件:

    JetBrains Rider。 代码样式配置对话框

将代码样式设置导出到 EditorConfig

如果您打算通过 EditorConfig 共享代码样式设置,您可能希望将 JetBrains Rider 中已配置的样式导出到 .editorconfig 文件。

  1. Ctrl+Alt+S 或从菜单中选择 文件 | 设置 (Windows 和 Linux)或 JetBrains Rider | 首选项 (macOS),然后在左侧选择 编辑器|代码样式

  2. 单击 导出 ,位于 启用 EditorConfig 支持 旁边。 这将打开 导出到 .editorconfig 对话框。

  3. 默认情况下,JetBrains Rider 会将设置写入当前解决方案根目录中的新 .editorconfig 文件。 如果存在一个或多个 .editorconfig 文件,JetBrains Rider 将使用目录层次结构中最近的文件来保存设置。 如果需要,您可以使用对话框顶部的路径选择器更改目标文件。

  4. 部分(文件掩码) 字段中,您可以指定一个通配符模式,用于生成属性的部分。 请注意,如果您选择导出标准 EditorConfig 属性,它们将根据语言约定放置在其他部分中。

  5. 要进行更详细的配置,您可以展开 显示其他选项 并选择以下选项:

    导出具有默认值的设置

    默认情况下,JetBrains Rider 仅保存您更改过的设置的属性。 因此,只有这些设置会生效并覆盖其他设置,当 ReSharper 或 Rider 读取生成的 .editorconfig 时。 所有其他设置将采用 IDE 中指定的值。

    如果您启用此选项,JetBrains Rider 将保存所有设置的当前状态,无论它们是否已更改。 通过这种方式,您将获得一个更严格的 .editorconfig ,当 ReSharper 或 Rider 读取时,它将覆盖所有代码样式和格式设置。

    移除值不明确的现有属性

    某些 EditorConfig 属性可能对应多个 JetBrains Rider 特定属性,从而允许更精确的配置。 因此,可能会出现某个更通用的属性与某些相关的 JetBrains Rider 特定属性一致,但与其他属性矛盾的情况,这使得该通用属性变得不明确。

    由于更详细的属性具有更高的优先级,这种情况并不是问题,因此无需移除具有模糊值的属性。

    唯一可能需要移除具有模糊值的属性的情况是,当项目的 EditorConfig 样式仅供 ReSharper 和 Rider 读取,并且您希望从 .editorconfig 文件中移除冗余内容。

    导出标准 .editorconfig 属性

    定义是否保存 标准 .editorconfig 属性 。这些属性在生成的 EditorConfig 被其他编辑器和 IDE 读取时也会生效。

    导出跨编辑器的特定语言属性

    定义是否保存 .NET 编码约定属性。 这些属性在生成的 EditorConfig 被其他编辑器和 IDE 读取时也会生效。

    导出 JetBrains Rider/ReSharper 特定的代码样式属性

    定义是否保存产品特定的 代码格式样式代码语法样式

    导出 JetBrains Rider/ReSharper 特定的检查严重性

    定义是否保存 JetBrains Rider 可配置代码检查的 严重性级别

  6. 如果指定位置中已存在一个 .editorconfig 文件,则该文件中已有属性的值可能与 JetBrains Rider 即将保存的值之间存在冲突。 这些属性将以红色显示,如果您继续保存,冲突将以新生成的值为准。

  7. 点击 导出。 JetBrains Rider 将在指定位置创建或更新 .editorconfig 文件。

在对格式规则进行 上下文配置 后,您还可以将格式样式保存到 EditorConfig。

使用 EditorConfig 禁用 JetBrains Rider 格式化器

在 C# 中,您可以使用具有 disable_formatter=true 的 EditorConfig 掩码禁用 JetBrains Rider 格式化器。

使用 EditorConfig 替代代码清理配置文件

JetBrains Rider 允许您为 解决方案中的大多数文件使用特定的代码清理配置文件,但为部分文件使用不同的代码清理配置文件。 您还可以完全跳过特定文件的清理操作。

为此,请使用 resharper_substitution_for_cleanup_profile EditorConfig 属性,并采用以下语法:

[reformatIfRunWithFullCleanup.cs] resharper_substitution_for_cleanup_profile.anysuffix=Built-in:Full Cleanup => Built-in: Reformat Code [alwaysReformat.cs] resharper_substitution_for_cleanup_profile=* = > Built-in:Reformat Code [skipIfRunWithFullCleanup.cs] resharper_substitution_for_cleanup_profile=Built-in:Full Cleanup => skip [skipCleanup.cs] resharper_substitution_for_cleanup_profile=* => skip

此语法允许您在使用特定配置文件启动 Code Cleanup 时使用其他配置文件 —— 在这种情况下,请指定该配置文件的名称置于 => 左侧;或在使用任意配置文件启动 Code Cleanup 时使用其他配置文件 —— 在这种情况下,请将 * 写在 => 左侧。 请在 => 右侧指定应使用的配置文件名称,或写入 跳过 ,如果不应对匹配文件应用 Code Cleanup。

标准 EditorConfig 属性

JetBrains Rider 将应用以下标准 EditorConfig 属性:

  • indent_size

  • indent_style

  • tab_width

  • max_line_length

  • insert_final_newline

请注意,在 JetBrains Rider 的 自定义 EditorConfig 属性 中,有些属性会覆盖特定语言的标准属性。 例如,您可以使用 indent_size 属性为所有语言设置默认缩进大小,同时使用 csharp_indent_size 属性为 C# 文件设置不同的缩进大小。

自定义 EditorConfig 属性

JetBrains Rider 提供的自定义 EditorConfig 属性允许配置代码样式和代码检查设置。 代码检查的属性可以在 C# 中的代码检查 中找到。 代码样式和格式设置的属性列在 按语言和类别划分的 EditorConfig 属性 主题的子页面中。

.NET 编码约定的 EditorConfig 属性

自 2025.2 版本起,JetBrains Rider 支持用于 .NET 编码约定的最常用 EditorConfig 属性:

最后修改日期: 2025年 9月 26日