PhpStorm 2026.2 Help

Duplicates tool window

The Duplicates tool window displays the results of the search for duplicates.

Panes of the Duplicates tool window

The window consists of the following panes:

  • The left pane displays the tree view of the duplicate fragments of source code. Each node shows the following information:

    • The number of duplicated code fragments found in scope.

    • The 'cost' of the duplicate (which is an arbitrary unit calculated using an additive algorithm on the base of the code block size; generally, the larger is the code fragment, the higher is its cost).

    • The containing class where the duplicates are located.

  • The right pane shows the differences between the duplicated fragments of source code, selected in the left pane.

Left toolbar

Item

Shortcut

Description

Rerun

Rerun

Click this button to rerun the duplicates analysis in the active tab.

Close

Close Active Tab

Ctrl+Shift+F4

Click this button to close the active tab.

Navigate with Single Click

Navigate with Single Click

If the button is pressed, selecting an entry in the left pane opens the respective file in the editor.

Upper toolbar

Item

Tooltip/Image/Shortcut

Description

Previous Next

F7/Shift+F7

Move to the next/previous difference

Edit

Jump to Source

F4

Click this button to open the file in the active pane in the editor. The caret will be placed in the same position as in the Duplicates tool window.

the Settings button

Settings

Some of these commands are also available from the context menu of the Diff Viewer gutter.

Align Changes in Side-by-Side Diff: vertically aligns the corresponding lines by padding differences with empty space.

Synchronize Scrolling: scroll both diff panes simultaneously.

Show Diff in Editor Tab: displays the Diff viewer as an editor tab instead of a separate window.

Show Diff in Separate Window: displays the Diff viewer as a separate window instead of an editor tab.

Ignore Differences: define how the Diff Viewer should treat whitespaces.

  • None: white spaces are important, and all the differences are highlighted. This option is selected by default.

  • Trim whitespaces: trim whitespaces if they appear in the end and at the beginning of a line (("\t", " ")).

    • If two lines differ in trailing whitespaces only, these lines are considered equal.

    • If two lines are different, trailing whitespaces are not highlighted in the By word mode.

  • Ignore whitespaces: white spaces are not important, regardless of their location in the source code.

  • Ignore whitespaces and empty lines: ignores whitespaces and empty lines. The following entities are ignored:

    • all whitespaces (as in the 'Ignore whitespaces' option)

    • all added or removed lines consisting of whitespaces only

    • all changes that consist of splitting or joining lines without changes to non-whitespace parts.

      For example, differences between a b c and a \n b c are not highlighted in this mode.

  • Ignore imports and formatting: changes within import statements and whitespaces are ignored (whitespaces within String literals are respected though).

Highlighting Differences: select the way differences granularity is highlighted.

  • Words: modified words are highlighted

  • Lines: modified lines are highlighted

  • Split changes: if this option is selected, big changes are split into smaller changes.

    For example, A \n B and A X \n B X are treated as two changes instead of one.

  • Characters: modified symbols are highlighted

  • None: if this option is selected, the differences are not highlighted at all.

    Use the None option when you work with the files that were significantly modified. In such cases, highlighting might introduce additional difficulties during a review.

Context menu commands

Item

Keyboard Shortcut

Description

Jump to Source

F4

Open in the editor the file that contains the selected duplicate, and place the caret at the beginning of the duplicate. The fragment of code is highlighted.

Show Source

Ctrl+Enter

Open in the editor the file that contains the selected duplicate, and highlight the fragment of code.

Send to left/Send to right

Use these commands, or the arrow icons Show as left diff version and Show as right diff version to place the selected duplicate to the left or right pane of the Diff Viewer.

13 July 2026