WebStorm 2025.2 Help

定位重复项

WebStorm 会借助 重复代码片段 检查帮助您在特定文件集内查找重复代码块。 当您通过编写或粘贴代码创建重复项时,WebStorm 会立即将其高亮显示,并提供快速修复建议。

即时检测重复代码

该检查开箱即用,且具有 多个可配置设置 ,可用于调整其行为。

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

按名称运行 Locate Duplicates 检查

配置检查

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

  2. 确保在 配置文件 列表中选择了所需的 检查配置文件

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

    点击检查后,其设置会显示在右侧。

    Duplicated Code Fragment 检查设置
    • 严重性 :从列表中选择一个 严重级别 ,或 创建一个新级别

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

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

      为最小化误报,请将分析范围限制为仅在同一模块或文件内检测重复项。

    • 跳过比此更简单的重复项 :以单位为单位配置与所选文件集中其他代码进行比较的代码片段大小。

      默认值在准确性与发现重复项数量之间做了平衡。 提高该值以获得更准确的结果。 降低该值以查找更多重复项。

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

    • 选择此检查将应用的语言。

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

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

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

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

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

    搜索重复项时忽略名称和值
    function multiply(a, b) { return (a * b); } function multiplication(c, d) { return (c * d); }
  3. 应用更改并关闭对话框。

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

抑制检查

抑制检查后,代码分析引擎不会在特定代码片段(类、方法、字段或语句)中高亮显示该检查发现的问题。

  1. 将光标放置在要抑制检查的代码元素处,然后按 Alt+Enter

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

    抑制检查

有关更多信息,请参见 抑制检查

禁用检查

禁用检查意味着将其关闭。 即代码分析引擎将停止在项目文件中搜索该检查旨在检测的问题。

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

  2. 点击 箭头,此箭头位于 导航到上一个重复项 操作旁,随后选择 禁用检查

    禁用检查

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

有关更多信息,请参见 禁用检查

手动定位重复项

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

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

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

    为每种语言选择选项以定义分析偏好。 例如,您可以选择要求完全匹配的代码片段才视为重复,或设置一个阈值,低于该值的代码结构不视为重复(例如,避免报告源代码中的每个 if 结构)。

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

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

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

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

    • 使用 在 JavaScript 中提取方法在 Typescript 中提取方法 重构操作,消除源代码中的重复内容。这些重复的代码块会被自动发现并高亮显示。

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