# External Diff Tools

> **TL;DR**
> `File | Settings | Tools | Diff & Merge | External Diff Tools` for Windows and Linux
>
>
>
> `IntelliJ IDEA | Settings | Tools | Diff & Merge | External Diff Tools` for macOS
>
>
>
> `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) ![the Settings icon](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.settings.svg)

Specify external tools for comparing or merging files and folders, and associated settings.

![External Diff Tools dialog in Settings](https://resources.jetbrains.com.cn/help/img/idea/2026.2/settings_external_diff_merge.png)

| Item | Description |
| --- | --- |
| Enable external tools | Select to use an external tool to compare or merge files or folders. |
| Configure external tools |
| ![the Add button](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.add.svg) | Add a new external tool. In the dialog the opens, configure the following options:       * Tool group: select whether you want to use a diff or merge tool.    * Program path: specify the path to the executable file of the tool you want to use. For example: `C:\Program Files\Beyond Compare 4\BCompare.exe` on Windows or `/Applications/Beyond Compare.app/Contents/MacOS/bcomp` on macOS.    * Tool name: enter the name of the external tool that you're configuring.    * Argument pattern: set the diff tool parameters. Specify the necessary parameters in the proper order: * %1: left (local changes) * %2: right (server changes) * %3: base (the current version without the local changes) * (merge tool only) %4: output (merge result)    * (merge tool only) Trust process exit code: select to silently finish the merge if the `exitCode` of the external merge tool is set to `0` (successful). Otherwise, you will be prompted to indicate the success of the resolution after the tool has exited.     ![Configuring external diff tool](https://resources.jetbrains.com.cn/help/img/idea/2026.2/external-diff-merge.png)  |
| ![Remove](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.remove.svg) | Remove the selected external tool. |
| ![the Edit button](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.edit.svg) | Edit the settings of the selected external tool. |
| Configure external diff/merge tools associated with a file type |
| ![the Add button](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.add.svg) | Add a file type and configure the diff and external tool that will be used to process files of this type.  |
| ![Remove](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.remove.svg) | Remove the selected association between a file type and an external diff or merge tool. |

## See also

### Procedures

[Compare files, folders, and text sources](comparing-files-and-folders.html) [Compare file and folder versions (VCS)](comparing-file-versions.html)

### Reference

[External tools settings](settings-tools-external-tools.html) [Diff Viewer for files](differences-viewer.html)

