IntelliJ IDEA 2025.1 Help

硬编码字符串文本

如果您的源代码包含硬编码字符串文字,您可以启用 Internationalization 代码检测以突出显示它们。 您可以将这些字符串提取到 properties 文件中以进行本地化,或者如果不需要本地化则忽略它们。

启用硬编码字符串文本的高亮显示

  1. 打开 设置 对话框 Ctrl+Alt+S ,展开 编辑器 并点击 检查

  2. 请选择所需的配置文件,然后在 Java 下找到节点 国际化

  3. 请启用 硬编码字符串 检查,以在编辑器中突出显示硬编码字符串字面值。

  4. 应用更改并关闭对话框。

现在,编辑器将突出显示硬编码的字符串文本,如下图所示:

突出显示的硬编码字符串字面量

国际化硬编码字符串对话框

IntelliJ IDEA 提供了一个特殊的意图操作 将硬编码字符串文字进行国际化 ,将字符串文本提取到您的属性文件中。 您可以使用 java.util.ResourceBundle class 或自定义工具类来访问资源束。

条目

描述

属性文件

在此字段中,指定一个现有的 .属性 文件来存储提取的字符串文本。 请手动输入文件路径,或点击 浏览 浏览按钮 打开 选择属性文件 对话框,您可以使用项目树视图或通过名称搜索选择所需位置。

更新资源包中的所有属性文件

选中此复选框以更新目标包中的所有 properties 文件。

属性键

默认情况下,该字段显示建议的键名,基于要提取的字符串值。 保留默认名称或输入所需的名称。

属性值

默认情况下,此字段显示要提取的字符串的值。 保留默认值,或输入所需的值。

资源绑定表达式

默认情况下,该字段会显示源代码中资源包声明的资源包表达式。 如果资源包未在源代码中声明,则该字段不会出现。 要定义所需的表达式,请执行以下操作之一:

编辑国际化模板

点击此链接以打开 编辑文件模板 对话框,您可以在其中更改 I18nized Expression模板,使其指向将用于访问资源 bundle 的自定义实用程序类的方法。 如需更多信息,请参阅 编辑国际化表达式模板

更改的文件模板是影响所有项目的全局设置。 如果您想恢复默认设置,请打开 文件和代码模板 对话框,在 代码 选项卡中找到 I18nized Expression模板,并点击 重置 按钮

预览

此只读字段显示应用 将硬编码字符串字面量国际化 意图操作的结果。

提取硬编码字符串文本

使用 java.util.ResourceBundle 提取字符串文本

  1. 首先,您的项目中必须至少有一个 properties 文件,例如, 我的 .properties

  2. 在您的源代码中,以如下形式指定将用于存储提取文字的资源包:

    private static ResourceBundle <field name> = ResourceBundle.getBundle("<bundle name>");

    例如:

    private static ResourceBundle myBundle = ResourceBundle.getBundle("awesomeBundle");
  3. 点击突出显示的字符串,按 Alt+Enter 并选择 将硬编码字符串文字进行国际化。 在此示例中,我们使用了创建新 Java 项目时包含的可选示例代码 IntelliJ IDEA。

    硬编码字符串文本的意图操作
  4. Internationalize Harcoded String对话框中,指定一个现有的目标属性文件、属性的键和值以及资源包表达式。

    如果 ResourceBundle 字段已在源代码中声明,IntelliJ IDEA会默认建议其名称。 如果您还没有在源代码中声明此字段,则此字段不会出现。 您必须在源代码中包含 ResourceBundle 类型的表达式。

    “国际化硬编码字符串”对话框
  5. 点击 OK。 用硬编码字符串文字的行被替换。

    • 如果资源包已经在源代码中声明:

      System.out.println(myBundle.getString("hello.world"));
    • 如果在对话框中已定义资源包:

      System.out.println(ResourceBundle.getBundle("awesomeBundle").getString("hello.world"));

编辑国际化表达式模板

如果您想使用自定义实用程序类访问资源包,您可以通过设置或 Internationalize Harcoded String 对话框定义 I18nized Expression 模板以指向自定义实用程序类的方法。

  • 打开 设置 对话框 Ctrl+Alt+S ,然后前往 编辑器 | 文件和代码模板 | 代码 | 国际化表达式。 在此您可以编辑此模板。

    编辑已国际化的表达式模板
  • 国际化硬编码字符串对话框中,选择 编辑国际化模板。 在 文件模板 对话框中,将 本地化表达式指向自定义工具类的方法。

    编辑文件模板对话框

忽略硬编码的字符串文本

如果您想忽略硬编码字符串文本,请使用 不需要国际化 注解。

  1. Alt+Enter 显示字符串字面量的意图操作。

  2. 选择操作列表中的 将字段 'out' 注释为 '@NonNls'

  3. 请指定您要存储 annotations.xml 文件的位置。

最后修改日期: 2025年 4月 24日