PhpStorm helps you find repetitive blocks of code in a certain range, which can be a single file, a project, a module, or a custom scope. Results of analysis display in the dedicated tab of the Duplicates tool window.
To search for duplicates
- On the main menu, choose Code | Locate Duplicates .
- In the Specify Code Duplication Analysis Scope dialog, specify the analysis scope (whole project, current file, uncommitted files (for the projects under version control), or some custom scope). In addition, you can include test sources into the analysis too. Click OK.
- In the Code Duplication Analysis Settings dialog, do the following:
- Select languages to perform analysis in.
- For each language, check the options to define your preferences for the analysis.
For example, you can opt to request identical match for code fragments to be considered duplicates, or specify a certain limit below which the code constructs are not considered duplicates (to avoid reporting about each
ifconstruct in the source code).
- In the Duplicates tool window, explore search results.
- View the list of duplicates in the left pane of the tool window.
- View differences between the found duplicates in the right pane. Use the arrow buttons to place the selected duplicate in one of the sections of the differences viewer and compare fragments of the code.
- Navigate to the duplicates in the editor, using Jump to Source or Show Source commands of the duplicates context menu.
- Eliminate duplicates from the source code by applying the Extract method refactoring to the detected repetitive blocks of code that are found and highlighted automatically.