代码语法样式:命名空间导入
在每个源代码文件中,您应该拥有正确的命名空间导入集(示意图 C# 中的指令)。 如果缺少导入,您的代码将无法编译;如果存在未使用的导入,随着时间的推移,它们可能会使代码维护变得困难。 此外,还有不同的命名空间导入方法,例如,您可以添加 示意图 指令或使用完全限定的类型名称,您可以将 示意图 指令放在文件顶部或命名空间内部,等等。
JetBrains Rider 提供了许多功能,帮助您根据偏好控制并自动更新命名空间导入的各个方面。
配置命名空间导入偏好
您的命名空间导入偏好通过 基于层的设置 机制保存。 此外,该机制允许您为不同的解决方案维护不同的偏好,并将这些偏好保存在 VCS 中,自动与团队成员共享。
按 Ctrl+Alt+S 或从菜单中选择 (Windows 和 Linux)或 (macOS),然后在左侧选择 。
使用 引用限定和 'using' 指令 组中的偏好微调命名空间导入样式:
首选完全限定引用——如果您更喜欢对导入的类型使用完全限定名称而不是命名空间导入指令,请选中此复选框。
将 'using' 指令添加到最深的作用域——如果选中此复选框,命名空间导入指令将添加到使用导入类型的命名空间内;否则,导入指令将添加到文件顶部。
对 'using' 指令排序时先放置 'System.*' 和 'Windows.*' 命名空间——如果选中此复选框,类似于
using System.Linq;的 'using' 指令将在排序时放置在其他 'using' 指令之上。 否则,这些指令将与其他指令按字母顺序排序。首选在嵌套作用域内使用完全限定名称——如果选中此复选框,嵌套类型和命名空间中导入类型的完全限定名称将被优先使用。
允许使用别名指令——选中此复选框允许在命名空间导入指令中使用别名,而不是完全限定的命名空间名称。
允许使用 'global::' 前缀——如果选中此复选框,
全局::前缀不会被移除,如global::System.String中所示。 有关更多信息,请参阅 :: 运算符 - 命名空间别名运算符。
在 设置 对话框中点击 保存 以应用修改,并让 JetBrains Rider 选择保存位置,或者通过从 保存 选择器中选择特定设置层来保存修改。 如需了解更多信息,请参见 基于层的设置。
导入缺失的命名空间
JetBrains Rider 帮助您检测缺少命名空间导入的符号,并自动添加适当的导入。 未解析的符号会立即在编辑器中被 高亮显示 ,并建议相应的修复:

如果文件中有多个未解析的符号,修复将为所有符号添加导入。 导入是根据配置的 命名空间导入偏好 添加的。 更多信息请参阅 导入缺失的命名空间。
移除多余的命名空间导入并优化现有导入
如果您移除了命名空间符号的使用,任何导入的命名空间在代码中都会变得多余。 没有 JetBrains Rider,您需要滚动到每个文件的顶部,找到未使用的命名空间导入指令并将其移除。 JetBrains Rider 通过允许您自动从文件、项目或解决方案中移除未使用的命名空间导入指令,使生活变得更加轻松。 除了移除多余的命名空间导入,JetBrains Rider 还可以根据您的 命名空间导入偏好 以多种方式优化它们。
所有多余的命名空间导入都会在编辑器中被 高亮显示 ,并建议相应的 快速修复 ,包括 范围内修复:

通过应用建议的修复,您可以在所需范围内立即移除多余的命名空间。
另一种批量移除多余命名空间导入的选项是 代码清理。 您可以 运行代码清理 ,使用 内置:完全清理配置文件,或者创建并运行 仅针对您的特定任务的自定义配置文件 ,如下所述。
与快速修复不同,代码清理不仅移除未使用的导入,还根据您的偏好优化现有导入。 例如,使用代码清理,您可以通过添加相应的命名空间导入,将完全限定的类型名称替换为简单的类型名称。
使用代码清理优化命名空间导入
按下 Ctrl+Alt+S 或从菜单中选择 (Windows 和 Linux)或 (macOS)。
转到代码清理配置文件设置页面: 。
按照 创建新的自定义清理配置文件 部分中描述的步骤创建一个新配置文件。 在新配置文件的 选定的配置文件设置 中:
请选择 优化 'using' 指令。
可选地,为了将未使用的
示意图指令包含在一个区域中,选择 在区域内包含 'using' 指令 并在 区域名称 字段中指定区域名称。
在 设置 对话框中点击 保存 以应用修改,并让 JetBrains Rider 选择保存位置,或者通过从 保存 选择器中选择特定设置层来保存修改。 如需了解更多信息,请参见 基于层的设置。
选择您希望优化命名空间导入的范围:
将光标放置在文件中的任意位置以优化该文件的命名空间导入。
在 解决方案资源管理器 中选择一个或多个项目,以优化这些节点及其子项下文件的命名空间导入。
按 Ctrl+R, C 或从主菜单中选择 。
在打开的 重新格式化并清理代码 对话框中,选择新创建的配置文件,并根据需要选择另一个范围。 在打开的 重新格式化并清理代码 对话框中,选择新创建的配置文件,并在需要时选择其他作用域。
点击 确定。 JetBrains Rider 将优化选定范围内的命名空间导入。
如果您希望在不打开 重新格式化并清理代码 对话框选择配置文件的情况下优化命名空间导入,可以将创建的配置文件绑定到 静默清理 ,并通过按 Ctrl+R, G 运行它。 您还可以创建一个 自定义清理配置文件 ,将优化命名空间导入与其他代码样式任务结合起来。
要将命名空间导入偏好与所有其他 格式化 和 语法样式 规则一起应用于选定的代码块,请 Alt+Enter 并选择 。
您可以优化最近修改并准备提交到 Git 的代码中的命名空间导入。 JetBrains Rider 将在提交之前运行选定的 清理配置文件。
在提交到 Git 之前优化命名空间导入
按 Ctrl+K 或从主菜单中选择 。
在 提交 工具窗口中,点击
,并在 提交检查 区域中,选择 优化 import 复选框。
点击 提交 或 提交并推送。 JetBrains Rider 将移除提交阶段文件中的多余命名空间导入,然后提交更改。
您可以在每次保存文件更改时优化命名空间导入,以确保您的编辑始终符合代码样式。 请注意,这仅在您通过 Ctrl+S 或 Ctrl+S 显式保存更改时发生,不会因 自动保存 而触发。 然而,所有自动保存的文件都会被放入“重新格式化和清理”队列,并将在下次显式保存时处理。
在保存更改时自动优化命名空间导入
按下 Ctrl+Alt+S 打开设置,然后选择 。
选择 重新格式化并清理代码 ,选择是否将其应用于整个文件或仅应用于更改的行。
下次您完成编辑并保存文件或所有文件时,JetBrains Rider 将使用选定的配置文件清理受影响的文件。