RubyMine 2025.2 Help

语言注入

语言注入使您可以处理嵌入在代码中的其他语言代码片段。 当您将一种语言(如 HTML、CSS、XML、RegExp 等)注入字符串字面量时,即使它不是您的项目的主要语言,您也可以获得针对注入代码的全面编码支持。

默认情况下,IDE 会临时注入一种语言。 这意味着如果您删除嵌入的元素,注入也会丢失。

添加语言注入

添加持久性语言注入

使用语言注入注释(annotation)添加持久性的已注入语言代码片段。

  • 在目标字符串文本前添加一个空行,并输入以下注释:

    // language=<language_ID>
    SQL 注入注释

    对于注释,请使用您想要插入的语言的语法。 语言 ID 通常很直观,例如,SQL、RegExp、XML、HTML。

    您还可以在设置中了解 language ID。 按 Ctrl+Alt+S 打开设置,然后选择 Editor | language Injections。 双击某语言的注入规则;语言 ID 已指定在 ID 字段。

  • (可选)在注释中包含前缀或后缀。

    // language=<language_ID> prefix=<prefix> suffix=<suffix>

    如果符合以下条件,则必须包含:

    • 字符串是非完整/部分的 SQL 语句

    • 字符串未直接用于我们支持的调用中(例如 select /where)

    使用包含前缀的注释进行语言注入

添加临时语言注入

  1. 将文本光标置于您要注入语言的字符串字面量、标签或属性中,然后按 Alt+Enter (或使用意图动作图标 意图操作图标)。

  2. 选择 注入语言或引用 并选择您想要注入的语言。

    在 Ruby 脚本中注入 SQL 查询

使用 heredoc 字符串进行语言注入

在 Ruby 上下文中,您可以在 heredoc 字符串中注入语言。

  1. 开始输入 heredoc 字符串,并将标记设置为您想要注入的语言 ID。 语言 ID 通常很直观,例如,SQL、RegExp、XML、HTML。

    在 heredoc 中注入
  2. (可选)如需指定前缀或后缀,请使用如下代码块中所示的语言注入注释:

    def feed # language=sql prefix="select " following_ids = <<~SQL.squish followed_id from relationships WHERE follower_id = :user_id SQL

编辑已注入的语言代码片段

RubyMine 允许您在专用编辑器中编辑已注入语言代码片段。

打开片段编辑器

  1. 将文本光标放在注入代码片段内,然后按 Alt+Enter (或使用意图操作图标 意图操作图标)。

  2. 请选择 编辑 <language ID> 片段

    RubyMine 将会打开一个专门的编辑区来编辑注入的语言代码。 此编辑器提供全面的编码辅助,包括代码自动完成、检查、意图和代码风格操作。

    在专用编辑器中编辑注入的 SQL 查询

取消注入

取消持久性语言注入

如需取消语言注入,请删除用于引入该注入的注释(annotation)。

    取消临时语言注入

    1. 将文本光标置于代码片段处并按 Alt+Enter (或使用意图操作图标 意向操作按钮)。

    2. 请选择 取消注入语言或引用

    取消语言注入

    禁用意图操作灯泡图标

    执行以下操作以隐藏编辑器中的意图操作图标 意图操作图标

    1. Ctrl+Alt+S 打开设置,然后选择 编辑器|常规|外观

    2. 清除 显示意图灯泡 复选框。

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

    配置自动注入规则

    在 RubyMine 中,有一组预定义规则,根据这些规则,IDE 会在您的代码中的某些位置自动注入语言。

    您可以在 Editor | Language Injections 设置页面&#xa0; Ctrl+Alt+S 上配置语言注入规则。

    语言注入设置

    所有预定义的注入规则均为 内置 范围配置。 换句话说,它们是全局的(因此在所有 RubyMine 项目中都可用)。 您可以为 IDE 或仅为一个项目配置自定义规则。 要更改自定义注入范围,请使用 “移动到 Project / IDE 范围”按钮

    要通过 VCS 共享自定义规则,请使用工具栏上的相应选项将其移动到 Project 范围。 通过这样做,您将在 .idea 目录中创建一个名为 IntelliLang.xml 的新文件,其中包含您可以置于版本控制下的自定义规则。

    如果您不使用 VCS,您可以通过将规则导出到 XML 文件(点击工具栏上的 导出 )然后将其导入到另一个项目来分享您的规则。

    要配置自定义注入规则,请点击 "添加"按钮 以添加新规则,或复制预定义规则并更改其设置。

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