RubyMine 2025.2 Help

检查:重复代码片段

RubyMine 通过 重复的代码片段 检查 帮助您在某些文件中找到重复的代码块。 如果您通过编写或粘贴代码创建了重复项,RubyMine 会立即突出显示并建议快速修复。

检查功能开箱即用,并且具有 若干设置 ,您可以更改这些设置以调整其行为。

要同时查看所选文件集中所有重复项,请 按名称运行检查

实时检测重复项

配置检查

  1. Ctrl+Alt+S 打开设置,然后选择 编辑器|检查

  2. 确保在 配置文件 列表中选择必要的 inspection profile

  3. Inspections 对话框的搜索字段中,输入 duplicated code fragment 以在列表中找到检查。

    一旦您点击检查,其设置将出现在右侧。

    重复代码片段检查设置
    • 严重性 :从列表中选择一个 严重级别创建一个新的

    • 范围 :选择检查将运行的文件作用域(要分析的代码)。

    • 显示重复项来源 :选择要显示重复项的文件集。

      为减少误报,将分析限制为仅检测同一模块或文件内的重复项。

    • 跳过比以下简单的重复内容 :配置代码片段的大小,以单位为选定文件集中的其余代码进行比较。

      默认值是在准确性和找到的重复项数量之间的折中。 增加数值以获得更准确的结果。 降低此值以找到更多重复项。

      单位的确切值可以按如下方式计算: units = 2 * number of statements + number of expressions

    • 选择此检查将要运行的语言。

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

搜索重复项时忽略名称和值

对于每种文件类型,您可以定义仅名称或值不同的相同实体是否应被视为重复。

  1. Ctrl+Alt+S 打开设置,然后选择 编辑器 | 重复项

  2. 选择要应用分析的文件类型,并选中要匿名化的结构旁边的复选框。

    搜索重复项时忽略名称和值

    例如,如果启用了 变量或标识符名称函数或字段名称 ,则以下两个函数将被视为重复项:

    def multiply(a, b) a * b end def multiplicator(c, d) c * d end
  3. 应用更改并关闭对话框。

此对话框还允许您完全排除某种语言的分析和索引。 如果您在此页面禁用一种语言,该语言将在 检测设置中隐藏。

抑制检查

当您抑制检查时,代码分析引擎不会在特定的代码部分(类、方法、字段或语句)中突出显示此检查发现的问题。

  1. 将文本光标放置在要取消检查的代码元素上,然后按 Alt+Enter

  2. 点击 旁边的箭头 显示所有重复项 操作,然后选择所需的抑制操作。

    抑制检查

欲了解更多信息,请参阅 禁止检查

禁用此检查

当您禁用检查时,您就会将其关闭。 这意味着代码分析引擎将停止在项目文件中搜索此检查旨在检测的问题。

  1. 将文本光标放置在您要禁用检查的代码元素处,然后按 Alt+Enter

  2. 点击箭头 旁边的 显示所有重复项 操作并选择 禁用检查

    禁用检查

要重新启用检查,请转到 设置 | 编辑器 | 检查 并选中 重复的代码片段 旁边的复选框。

欲了解更多信息,请参阅 禁用检查

手动查找重复项(已弃用)

  1. 在主菜单中,进入 代码 | 分析代码 | 定位重复项.

  2. 指定代码重复分析作用域 对话框中,选择分析作用域:整个项目、当前文件、未提交的文件(对于版本控制下的项目)或自定义作用域。 您还可以选择在分析中包含测试源。

  3. 代码重复分析设置 对话框中,选择您想要解析的语言。

    您可以为每种语言检查选项以确定分析偏好。 例如,您可以选择请求将完全匹配的代码片段视为重复项,或指定一个下限,低于该下限的代码结构不会被视为重复项(例如,为了避免报告源代码中的每个 if 结构)。

  4. Duplicates 工具窗口中,查看分析结果。

    • 在工具窗口的左侧窗格中查看重复项列表。

    • 在右侧窗格中查看找到的重复项之间的差异。 使用箭头按钮将选定的重复项放置在差异查看器的某个部分中,并比较代码片段。

    • 使用 跳转到源显示来源 上下文菜单命令在编辑器中导航到重复项。

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