代码语法样式:文件范围命名空间
从 C# 10 开始,您可以在包含单个命名空间的文件中使用 文件范围命名空间声明。
如果您更倾向于使用文件范围或块范围命名空间声明中的一种,JetBrains Rider 允许您 配置您的偏好设置 ,并在整个代码库中保持偏好设置的一致性。
JetBrains Rider 帮助您在现有代码中强制执行文件范围命名空间的偏好设置,并在使用 代码补全和 代码生成功能生成新代码时考虑您的偏好设置,应用 代码模板并执行 重构。
强制执行文件范围命名空间的偏好设置
JetBrains Rider 可以帮助您检查文件中的单个命名空间是否符合您的 偏好设置 ,如果不符合,它会 高亮显示这些声明,并建议相应的 快速修复或 范围内修复。 默认情况下,JetBrains Rider 的偏好设置表明文件作用域命名空间是首选。

但是,您可以以不同的方式配置您的 偏好设置 ,以便 JetBrains Rider 建议将现有的文件范围命名空间转换为块范围:

另一种以批量模式强制执行文件范围命名空间偏好设置的选项是 代码清理。 您可以 运行代码清理 ,并选择使用内置配置文件 完全清理 或 重新格式化并应用语法风格 ,也可以按下文所述创建并运行 自定义配置文件 ,仅针对您的特定任务。
使用自定义代码清理配置文件应用文件范围命名空间的偏好设置
按下 Ctrl+Alt+S 或从菜单中选择 (Windows 和 Linux)或 (macOS)。
转到代码清理配置文件设置页面: 。
按照 创建新的自定义清理配置文件 部分中描述的步骤创建一个新配置文件。 在右侧的配置文件首选项中,展开 节点并选中 排列命名空间(文件作用域与块作用域 复选框。
在 设置 对话框中点击 保存 以应用修改,并让 JetBrains Rider 选择保存位置,或者通过从 保存 选择器中选择特定设置层来保存修改。 要了解详情,请参阅 基于层的设置。
选择您希望强制执行偏好的范围:
将光标放置在文件中的任意位置,以对文件强制执行您的偏好设置。
在 解决方案资源管理器 中选择一个或多个项目,以对这些节点及其子项下的文件强制执行您的偏好设置。
按 Ctrl+R, C 或从主菜单中选择 。
在打开的 重新格式化并清理代码 对话框中,选择新创建的配置文件,并根据需要选择另一个范围。 。
单击 确定。 JetBrains Rider 将在选定范围内强制执行您的偏好设置。
如果您希望在不打开 重新格式化并清理代码 对话框选择配置文件的情况下强制执行文件范围命名空间的偏好设置,可以将创建的配置文件绑定到 静默清理 ,并通过按下 Ctrl+R, G 运行它。 您还可以创建一个 自定义清理配置文件 ,将应用偏好设置与其他代码样式任务结合起来。
要将文件范围命名空间的偏好设置与所有其他 格式化和 语法样式规则一起应用于选定的代码块, Alt+Enter 并选择 。
您可以在最近修改并准备提交到 Git 的代码中强制执行文件范围命名空间的偏好设置。 JetBrains Rider 将在提交之前运行选定的 清理配置文件。
在提交到 Git 之前清理代码
按 Ctrl+K 或从主菜单中选择 。
在 提交 工具窗口中,点击
,并在 提交检查 区域中,选择 清理方式... 复选框。
点击 选择配置文件 并选择您的自定义 Code Cleanup 配置文件。
点击 提交 或 提交并推送。 JetBrains Rider 将在提交暂存的文件中运行代码清理,然后提交更改。
您可以在每次保存文件更改时强制执行文件范围命名空间的偏好,以确保您的编辑始终符合代码样式。 请注意,这仅在您通过 Ctrl+S 或 Ctrl+S 显式保存更改时发生,不会因 自动保存 而触发。 然而,所有自动保存的文件都会被放入“重新格式化和清理”队列,并将在下次显式保存时处理。
在保存更改时自动强制执行文件范围命名空间的偏好设置
按下 Ctrl+Alt+S 打开设置,然后选择 。
选择 重新格式化并清理代码 ,选择您的自定义 Code Cleanup 配置文件,并决定是将其应用于整个文件还是仅应用于更改的行。
下次您完成编辑并保存文件或所有文件时,JetBrains Rider 将使用选定的配置文件清理受影响的文件。
配置文件范围命名空间的偏好设置
您的命名空间声明样式偏好是通过 基于层的设置 机制保存的。 此外,该机制允许您为不同的解决方案维护不同的偏好,并将这些偏好保存在 VCS 中,自动与团队成员共享。
在设置中配置命名空间声明样式
您还可以直接在编辑器中更改命名空间声明的偏好,其中会突出显示相应的问题:
从编辑器更改命名空间声明样式的偏好设置
您可以通过 EditorConfig 配置语法风格设置。 这些设置可以存储在解决方案层次结构不同级别的 .editorconfig 文件中。 这些文件通常放在 VCS 下,以便定义的设置在项目团队中共享。
JetBrains Rider 允许您使用 EditorConfig 定义其语法风格偏好设置中可用的任何选项,这些选项可在 JetBrains Rider 的 设置 对话框中找到。 您可以在 EditorConfig 参考中找到支持的 EditorConfig 属性的名称和描述。
需要注意的是,在 .editorconfig 文件中定义的任何语法风格属性都将在此 .editorconfig 文件适用的范围内覆盖 JetBrains Rider 设置中定义的同名属性。
使用 EditorConfig 配置命名空间声明样式的偏好设置。
打开所需的 .editorconfig 文件。
将所需的 命名空间声明样式属性添加到文件中。 例如:
namespace_body = file_scoped
