PyCharm 2025.2 Help

分析重复项

PyCharm 帮助您在特定范围内查找重复的代码块。 此范围可以是单个文件、项目、模块或自定义范围。 分析结果直接显示在编辑器中或 重复项工具窗口的专用选项卡中。

实时检测重复项

PyCharm 支持实时发现重复项。 分析是通过 重复代码片段 检查完成的,您可以在 通用 节点下的 编辑器|检查 设置页面  Ctrl+Alt+S 中找到。

如果您遇到现有的重复项,或者通过编写或粘贴代码意外创建了重复项,PyCharm 会报告问题并建议快速修复,帮助您导航到检测到的重复项,或在 重复项 工具窗口中查看所有重复项。

实时检测重复项

    配置重复项分析

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

    2. 在打开的 重复项 页面上,选择应应用重复项分析的文件类型。 此外,选择 变量或标识符名称/函数或字段名称/常量值 复选框,以定义是否应将使用不同名称的两个相同实体视为重复项。

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

      def demo(a, b, c): return_type_of_sqrt = math.sqrt(b ** 2 - 4 * a * c) root1 = (-b + return_type_of_sqrt) / (2 * a) root2 = (-b - return_type_of_sqrt) / (2 * a) print(root1, root2) def sqrt_func(n, m, k): return_type_of_sqrt = math.sqrt(m ** 2 - 4 * n * k) result1 = (-m + return_type_of_sqrt) / (2 * n) result2 = (-m - return_type_of_sqrt) / (2 * n) print(result1, result2)
    3. 按下 Ctrl+Alt+S 打开设置,然后选择 编辑器|检查

    4. 通用 节点下选择 重复代码片段 检查。

    5. 在检查选项中,选择是否仅在同一文件内查看重复项,或在整个项目中查看重复项。 在必要文件类型的 不要显示简单的重复项 字段中,设置要检测的重复语言结构的大小。 在 Python 上下文中,默认情况下小于 45 单位的结构会被忽略。 更改单位数量以启用对较小代码片段的重复检测。 单位的值可以按以下方式计算: units = 2*<number of statements> + <number of expressions>

      重复代码片段检查设置

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

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

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

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

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

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

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

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

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

      • 通过对检测到的重复代码块应用 提取方法重构 来从源代码中消除重复项,这些代码块会被自动找到并高亮显示。

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