定位重复项
WebStorm 通过 重复的代码片段 检查 帮助您在某些文件中找到重复的代码块。 如果您通过编写或粘贴代码创建了重复项,WebStorm 会立即高亮显示并建议快速修复。
检查功能开箱即用,并且具有 若干设置 ,您可以更改这些设置以调整其行为。
要同时查看所选文件集中所有重复项,请 按名称运行检查。
配置检查
按下 Ctrl+Alt+S 打开设置,然后选择 。
确保在 分析 列表中选择必要的 inspection profile。
在 检查 对话框的搜索字段中,输入
duplicated code fragment以在列表中找到检查。一旦您点击检查,其设置将出现在右侧。

应用更改并关闭对话框。
搜索重复项时忽略名称和值
对于每种文件类型,您可以定义仅名称或值不同的相同实体是否应被视为重复。
按下 Ctrl+Alt+S 打开设置,然后选择 。
选择要应用分析的文件类型,并选中要匿名化的结构旁边的复选框。

例如,如果启用了 变量或标识符名称 和 函数或字段名称 ,则以下两个函数将被视为重复项:
function multiply(a, b) { return (a * b); } function multiplication(c, d) { return (c * d); }应用更改并关闭对话框。
此对话框还允许您完全排除某种语言的分析和索引。 如果您在此页面禁用一种语言,该语言将在 检测设置中隐藏。
抑制检查
当您抑制检查时,代码分析引擎不会在特定的代码部分(类、方法、字段或语句)中高亮显示此检查发现的问题。
将文本光标放置在要取消检查的代码元素上,然后按 Alt+Enter。
点击
旁边的箭头 显示所有重复项 操作,然后选择所需的抑制操作。

有关更多信息,请参见 抑制检查。
禁用此检查
当您禁用检查时,您就会将其关闭。 这意味着代码分析引擎将停止在项目文件中搜索此检查旨在检测的问题。
将文本光标放置在您要禁用检查的代码元素处,然后按 Alt+Enter。
点击箭头
旁边的 导航到上一个重复项 操作并选择 禁用检查。

要重新启用检查,请转到 并选中 重复的代码片段 旁边的复选框。
有关更多信息,请参见 禁用检查。
手动查找重复项(已弃用)
在主菜单中,进入 .
在 指定代码重复分析作用域 对话框中,选择分析 范围 :整个项目、当前文件、未提交的文件(适用于受版本控制的项目)或自定义范围。 您还可以选择在分析中包含测试源。
在 代码重复分析设置 对话框中,选择您想要解析的语言。
您可以为每种语言检查选项以确定分析偏好。 例如,您可以选择请求将完全匹配的代码片段视为重复项,或指定一个下限,低于该下限的代码结构不会被视为重复项(例如,为了避免报告源代码中的每个
if结构)。在 问题工具窗口中,查看分析结果。

在工具窗口的左侧窗格中查看重复项列表。
在右侧窗格中查看找到的重复项之间的差异。 使用箭头按钮将选定的重复项放置在差异查看器的某个部分中,并比较代码片段。
通过使用 跳转到源 或 显示源 上下文菜单命令,在编辑器中导航到重复项。
通过对检测到的重复代码块应用 JavaScript 中的提取方法 或 Typescript 中的提取方法 重构,从源代码中消除重复项。
指定代码重复分析范围
条目 | 描述 |
|---|---|
整个项目 | 检查整个项目。 |
文件<名称> | 检查当前在 项目 工具窗口中选择或在编辑器中打开的文件。 |
未提交的文件 | 该作用域仅适用于版本控制下的项目。 仅检查尚未提交到版本控制系统的文件。 |
自定义范围 | 检查自定义文件范围。 从列表中选择一个预定义范围,或点击 |
检查注入代码 | 检查嵌入在您的代码中的 其它语言的代码片段。 |
代码重复分析设置
使用此对话框定义搜索的敏感度,并设置限制,以帮助您避免报告每个类似的代码构造。 您的偏好已在特定语言环境中指定。
条目 | 描述 |
|---|---|
ActionScript ECMAScript 6 Flow JS JavaScript TypeScript TypeScript JSX | 将元素匿名化是指定义仅在名称或值上不同的同一实体是否应视为重复项。 选择需要匿名化的元素:
配置重复项参数:
|
CSS |
|
XHTML XML HTML |
|