JetBrains Rider 2025.2 Help

本地化检查和快速修复

JetBrains Rider 提供了多种代码检查,帮助您通过检测可本地化字符串、资源问题等,在资源文件和代码文件中的资源使用中本地化您的应用程序。 这些检查会在打开的文档中 设计时 检测本地化问题,并允许您在 特定范围 内找到本地化问题,直至整个解决方案。

在设计时,检测到的问题会被 高亮显示 以引起您的注意。 为了解决高亮显示的问题,JetBrains Rider 提供了多种资源特定的 快速修复

“元素可本地化”检查

此检查会检测硬编码的字符串字面量,并建议 将它们移动到资源文件。 如果相同的字符串已经在资源中定义,JetBrains Rider 将建议用现有的资源条目替换字面量。

由于并非每个字符串都需要移动到资源并进行本地化,JetBrains Rider 提供了多种方法来配置此检查。 当'元素可本地化'检查 启用时,它会按照下方的流程图工作。 算法中的每一步都在图表下方进行了说明。

JetBrains Rider:'元素可本地化'检查的工作原理
  1. 可本地化 项目属性定义了如何处理项目中的字符串。 要更改此属性,请右键单击解决方案资源管理器中的项目,选择 属性 | 检查 ,然后选择 可本地化 > [默认 | 是 | 否]

  2. 如果当前项目或其引用的任何其他项目包含至少一个资源文件( .resx ),JetBrains Rider 将默认将该项目视为可本地化。

  3. 可以通过将特定函数和属性标记为 LocalizableAttribute 来进一步配置,这使您可以明确 [Localizable(true)] 启用或 [Localizable(false)] 禁用对所消耗字符串的本地化检查。

    请注意,可以通过 外部注解 将符号标记为具有此属性。 例如,外部注解用于将 Console.WriteLine 标记为 [Localizable(true)]

  4. 可本地化检查器 项目属性 定义如何处理未被任何标记为 LocalizableAttribute 的成员使用的字符串文本 — 乐观 算法将忽略此类字符串, 悲观将其标记为可本地化

    要更改此项目属性,请右键单击解决方案资源管理器中的项目,选择 属性 | 检查 ,然后选择 可本地化检查器 > [乐观 | 悲观]

禁用当前项目的本地化检查的最简单方法是,在编辑器中按 Alt+Enter 突出显示的字符串,并在 操作列表中使用相应的命令:

JetBrains Rider:为项目禁用本地化检查

此命令将当前项目中的 可本地化 属性设置为

本地化问题的快速修复

如果本地化检查检测到的代码问题有可用的 快速修复 ,JetBrains Rider 会在光标左侧显示相应的 操作指示器。 您可以按 Alt+Enter 或单击指示器图标以查看可用操作列表。要应用所需的操作,请单击它或在列表中选择它并按 输入

以下是一些本地化检查的快速修复:

移至资源

此快速修复调用 移动到资源重构 ,将可本地化的字符串移动到资源文件。 当字符串用波浪下划线高亮显示时可用。

JetBrains Rider:将字符串字面量移动到资源的快速修复

使用资源条目代替字面量

如果 JetBrains Rider 检测到某些字符串字面量已在资源中定义,它会建议用相应的资源使用替换该字符串:

JetBrains Rider:用现有资源条目替换字符串字面量的快速修复

应用此快速修复后,字符串将被资源使用替换。

声明资源条目

如果有多个文化按文化层次结构组织,并且某个资源条目在特定文化资源文件中声明但未在默认文化中声明,JetBrains Rider 会高亮显示资源声明并建议相应的快速修复:

JetBrains Rider:资源值未在基础文化中声明

应用快速修复后,资源声明将插入到默认文化中,您可以在其中用新值替换其值。

覆盖资源条目

如果在文化层次结构中组织了多个文化,并且存在一个资源条目,该条目在默认文化中声明但未在一个或多个其他文化中重写,JetBrains Rider 会突出显示资源名称并建议相应的快速修复:

JetBrains Rider:资源值未在特定文化中重写

应用快速修复后,资源声明将插入到特定文化的资源文件中,您可以在其中指定正确的值。

移除资源条目

JetBrains Rider 在以下情况下建议此快速修复:

  • 资源条目在中性文化和特定文化中具有相同的值;

  • 存在两个或多个具有相同资源名称的声明;

  • 有多个文化按文化层次结构组织,并且某个资源条目在特定文化中声明,但未在默认文化中声明。

JetBrains Rider:移除资源条目的快速修复

应用快速修复后,资源声明将从当前资源文件中移除。

移除冗余的资源条目类型

为资源条目指定字符串类型是多余的,因为它是默认的资源条目类型。 JetBrains Rider 将建议移除冗余属性:

JetBrains Rider:移除冗余资源条目类型的快速修复

安全删除

如果有多个文化按文化层次结构组织,并且某个资源条目在默认文化中声明但未在特定文化资源文件中覆盖,JetBrains Rider 会高亮显示资源名称并建议此快速修复:

JetBrains Rider:移除没有特定文化覆盖的资源条目的快速修复

应用此快速修复后,请按照 安全删除资源重构 的步骤操作。

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