GoLand 2025.2 Help

结构化搜索与替换

传统的搜索过程不会考虑源代码的语法与语义。 即使使用正则表达式,GoLand 仍会将您的代码视为普通文本。 结构化搜索与替换SSR )操作可使您按照代码结构搜索特定代码模式或语法结构。

GoLand 会基于由您创建的 搜索模板 和应用的 条件 来查找并替换源代码片段。

有关教程与详细示例,请参阅以下教程:

以下过程列出了执行结构化搜索与替换的一般步骤。

结构化搜索与替换

结构化搜索

  1. 单击 编辑 | 查找 | 结构化搜索(T)…

  2. 文件类型 列表中,选择您想用于搜索的语言。

  3. 搜索模板 字段中,输入搜索模板或选择已有模板。

    请勿选择 SQL | 通用 | 上下文 节点下的模板,这些模板由搜索引擎内部使用,用来消除语言歧义。 已保存的 SQL 模板位于 用户定义 节点下。

  4. 如果修改器面板被隐藏,请点击 切换修饰符面板 按钮 (切换修改器面板按钮)。

  5. 单击每个模板变量并设置搜索修改器。 要设置修改器,请点击 添加修饰符 链接。

    GoLand 会立即在编辑器中高亮显示找到的代码匹配项。

  6. (仅限 SQL)添加 SQL 上下文。

    搜索模板 字段中,将插入点放在模板开头并点击 添加修饰符 链接。 在列表中选择 上下文

  7. (可选)在 作用域 列表中,选择搜索范围:项目、模块、目录或自定义范围。

  8. (可选)在 查找目标 列表中,选择要搜索的模板部分:单独变量或整个模板(完全匹配)。

  9. 单击 查找

    运行结构化搜索

结构化替换

  1. 在主菜单中,转到 编辑 | 查找 | 结构化替换

  2. 搜索模板 字段中,输入搜索模板或选择已有模板。

    请勿选择 SQL | 通用 | 上下文 节点下的模板,这些模板由搜索引擎内部使用,用来消除语言歧义。 已保存的 SQL 模板位于 用户定义 节点下。

  3. 替换模板 字段中,输入搜索模板或选择已有模板。

  4. 如果需要为替换模板中的变量添加修改器,请将插入点放在该变量上,并使用修改器区域进行管理。

  5. 单击 查找。 GoLand 会在 查找 工具窗口中显示结果。

  6. 查找 工具窗口中,您可以进一步操作结果,逐个替换匹配项、全部替换或预览可能的更改。

    结构化替换目标

使用搜索模板的操作

  1. 单击 编辑 | 查找 | 结构化搜索(T)…

  2. 结构化查找 对话框中,使用变量和修改器添加搜索模式。

    变量是一组用美元符号括起来的字符(例如, $tag$)。 当源代码表达式符合用户定义的限制(修改器)时,模板变量即可匹配该表达式。 搜索过程中绑定到模板变量的任何表达式都可以再次用于搜索或替换模板中。

  3. 点击 保存模板(A)… 按钮 保存模板按钮 ,然后选择 在IDE 或项目中保存模板…

    保存结构化搜索模板

共享搜索模板

  1. 结构化查找 对话框(编辑 | 查找 | 结构化搜索(T)… )中, 创建新的搜索模板或使用已有模板

  2. 要导出模板,请单击 将模板导出到剪贴板 按钮(导出模板到剪贴板图标)。 GoLand 会将模板的 XML 表示形式添加到剪贴板(按 Ctrl+Shift+V 查看剪贴板内容)。 您可以通过聊天、电子邮件或论坛将该表示形式分享给其他开发者。

    要导入模板,请从任意位置(电子邮件、聊天或论坛)复制(Ctrl+C )共享的 XML 代码,并在 结构搜索 对话框中,单击 从剪贴板导入模板 按钮(从剪贴板导入模板图标)。 GoLand 会获取 XML 代码表示形式并将其转换为模板,包括变量以及(如有)作用域。

    共享搜索模板
最后修改日期: 2025年 9月 26日