Running PyCharm as a Diff or Merge Command Line Tool
In this topic:
- Overview
- Enabling invocation of PyCharm operations from the command line
- Comparing files using PyCharm as a command line tool
- Merging files using PyCharm as a command line tool
Overview
Besides using PyCharm as an Integrated Development Environment, you can use it as a command line tool for comparing and merging files.
PyCharm executable is platform-dependent:
- Windows:
PyCharm XX\bin\pycharm.exe
orPyCharm XX\bin\pycharm.bat
- UNIX:
PyCharm XX/bin/pycharm.sh
- macOS:
/Applications/PyCharm XX.app/Contents/MacOS/pycharm
To add the launcher to your path, add its containing directory
/Applications/PyCharm.app/Contents/MacOS
.
However, for macOS and UNIX, one should create a wrapper script, since this helps avoid some drawbacks related to the usage of PyCharm launcher.
Enabling invocation of PyCharm operations from the command line
For macOS and UNIX platforms, we recommend creating the wrapper script, or the command line launcher to integrate PyCharm with your shell. Then, you need to ensure that the created launcher script is within the search path of your shell.
On Windows, we recommend to add the path to PyCharm to the environment variable Path
. Everything is done outside of PyCharm, with the PyCharm executable.
Note that if you have specified location of the PyCharm executable as a Path
environment variable, the command will work no matter which directory you are currently in.
To enable invoking PyCharm operations from the command line, follow these steps
- On macOS or UNIX:
- Make sure PyCharm is running.
- On the main menu, choose . The dialog box Create Launcher Script opens, with the suggested path and name of the launcher script. You can accept default, or specify your own path.
Make notice of it, as you'll need it later.
- Outside of PyCharm, add the path and name of the launcher script to your path.
- On Windows:
Comparing files using PyCharm as a command line tool
To compare two files using PyCharm as a diff command line tool
- Enable invoking PyCharm operations from the command line.
- Type the following command at the command line prompt: where
<PyCharm launcher(Windows) or wrapper script (MacOS or UNIX)> diff <path to file1> <path to file2>
file1
is your local copy,file2
is the repository version.
For example:
pycharm diff README.md.bak README.md
Merging files using PyCharm as a command line tool
Most often you need to merge three versions of the same file: your local version, the version in the repository or in the upstream, and the base revision, which is the origin for the two diverged versions.
To merge files using PyCharm as a command line tool
- Enable invoking PyCharm operations from the command line.
- Type the following command at the command line prompt: where
<PyCharm launcher(Windows) or wrapper script (MacOS or UNIX)> merge <path to file1> <path to file2> <path to file3> <path to output>
file1
is your local copy,file2
is the repository version,file3
is the base revision forfile1
andfile2
, andoutput
is the file to save the merge results in (optional).
Passing three arguments to merge tool
It is possible to pass just three arguments to the merge tool:
<path to file1> <path to file2> <path to output>
.
In this case, the contents of the output will be taken as the base revision:
<PyCharm launcher> merge <path to file1> <path to file2> <path to output> <path to output>
See the example in this blog to learn how to use PyCharm diff and merge tool with Git.