Differences viewer for files
This dialog is displayed when you compare two files or two versions of a file (local changes or changes between local files and their revisions in a remote repository). You can compare files of any types, including binaries and .jar files. To open the dialog, select two files to compare or a file to compare its versions and press Ctrl+D.
The differences viewer provides a powerful editor that enables code completion, live templates, etc.
Diff & Merge viewer
|Item||Tooltip and Shortcut||Description|
|/||Previous Difference / Next Difference Shift+F7 F7|
Use these buttons to jump to the next/previous difference.
When the last/first difference is reached, GoLand suggests to click the arrow buttons F7/Shift+F7 once more and compare other files, depending on the Go to the next file after reaching last change option in the Differences Viewer settings.
This behavior is supported only when the Differences Viewer is invoked from the Version Control tool window Alt+9.
|Compare Previous/Next File |
Click these buttons to compare the local copy of the previous/next file with its update from the server.
|Go To Changed File Ctrl+N||Click this button to display all changed files in the current change set (and navigate to them). This button only appears when you are reviewing changes in multiple files (for example, in the Local Changes view .|
| Jump to Source |
|Click this button to open the selected file in the active pane in the editor. The caret will be placed in the same position as in the Differences Viewer.|
Use this list to choose a viewer type. The side-by-side viewer has two panels; the unified viewer has one panel only.
Both types of viewers enable you to
Use this list to define how the differences viewer should treat whitespaces.
Select the way differences granularity is highlighted.
The available options are:
|Collapse unchanged fragments||Click this button to collapse all unchanged fragments in both files. The amount of non-collapsible unchanged lines is configurable in the Diff & Merge settings page.|
|Synchronize scrolling||Click this button to simultaneously scroll both differences panes; if this button is released, each of the panes can be scrolled independently.|
Click this button to invoke the list of available settings. Select or clear these options to show or hide whitespaces, line numbers and indent guides, to use or disable the use of soft wraps, and to set the highlighting level.
These commands are also available from the context menu of the differences viewer gutter.
|Include into commit Alt+I|
This checkbox only appears if you invoke the Differences Viewer from the Commit Changes dialog with multiple changed files (all of which are deselected), and you explore the differences between them and hit the last difference in a file.
Select this checkbox if you want to include the file you've reviewed into the commit.
|Click this button to show the corresponding help page.|
|Ctrl+Tab||Use this keyboard shortcut to switch between the panes of the Differences viewer. The active pane has the cursor.|
Use these chevron buttons to apply differences between panes (in case of the side-by-side viewer) or between lines (in case of the unified viewer).
The chevron buttons can change their behavior:
Click this icon to invoke the list of options allowing you to compare different versions of a file to resolve a conflict.Note that Base refers to the file version that the local and the repository versions originated from (initially displayed in the middle pane), while Middle refers to the resulting version.
|Apply All Non-Conflicting Changes||Click this button to apply all non-conflicting changes. You can also make this behavior automatic, by selecting the checkbox Automatically apply non-conflicting changes in the Diff & Merge page of the Settings/Preferences dialog.|
|Apply Non-Conflicting Changes from the Left/Right Side||Click these buttons to merge non-conflicting changes from the left/right parts of the dialog.|
This option is only available from the context menu of the gutter.
Use this option to explore who introduced which changes to the repository version of the file, and when. The annotations view lets you see detailed information for each line of code, such as the version from which this line originated, the ID of the user who committed this line, and the commit date.
For more details on annotations, refer to VCS annotations
|Ctrl+Shift+D||Use this keyboard shortcut to show the popup menu of the most commonly used diff commands.|
|Ctrl+Tab||Use this keyboard shortcut to switch between the left and the right panes.|
|Ctrl+Shift+Tab||Use this keyboard shortcut to select the position obtained by Ctrl+Tab in the opposite pane.|
|Ctrl+Z/Ctrl+Shift+Z||Use this keyboard shortcut to undo/redo a merge operation. Conflicts will be kept in sync with the text.|
Context menu commands
This context menu is available in the middle of the editor:
|Show Whitespaces||Select this check command to show whitespaces as the dots in the Differences Viewer .|
|Show Line Numbers||Select this check command to show line numbers in the Differences Viewer.|
|Show Indent Guides||Select this check command to have GoLand display vertical lines in the Differences Viewer to indicate positions of indents.|
|Use Soft Wraps||Select this check command to have GoLand wrap the lines of code, when the dialog is resized.|
|Highlighting level||Use this menu item to select the highlighting level in the Differences Viewer. To learn more about the level of highlighting, refer to the description of the Hector icon.|
|Annotate||Select this check command to annotate the changes.|
This context menu is available in both editors:
|Accept/Append||Select these commands to accept or append the lines shown in the Differences Viewer.|
|Compare with Clipboard||Select this command to compare the file in the respective pane of the Differences Viewer with the contents of the Clipboard .|
|Annotate||Select this check command to annotate the changes.|
This context menu is available in the right-hand strip of the Differences Viewer:
|Go to high-priority problems only/Go to next problem||Click one of these radio-buttons to define the way of navigating between the encountered problems.|
|Customize highlighting level||Click to show the slider to change the highlighting level in the Differences Viewer.|
|Show code lens on scrollbar hover||Enables viewing code outside of the visible area of the Differences Viewer when hovering the mouse over the scrollbar.|