> ## Documentation Index
> Fetch the complete documentation index at: https://docs.diversion.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# JetBrains IDEs

> Use Diversion from IntelliJ IDEA, Rider, PyCharm, and other JetBrains IDEs.

The official Diversion plugin adds Diversion as a version control system in JetBrains IDEs, version 2025.1 and later.

## Prerequisites

* Diversion installed on the same computer, and you are signed in. See [the quickstart](https://docs.diversion.dev/quickstart.md). The plugin uses the `dv` CLI and your Diversion sign-in.
* A Diversion repo cloned to your computer, or clone one from the IDE (see below).

## Install the plugin

1. In the IDE, open **Settings → Plugins → Marketplace**.
2. Search for **Diversion** and click **Install**. Restart the IDE if it asks.

You can also install it from the [JetBrains Marketplace page](https://plugins.jetbrains.com/plugin/21144-diversion).

## Open a repo

* **A repo you already cloned**: open its folder as a project. The plugin finds the repo by its `.diversion` folder.
* **Clone from the IDE**: open **File → Open → Get from Version Control** in Rider, or **File → New → Project from Version Control** in IntelliJ IDEA and most other JetBrains IDEs. In the **Clone Repository** dialog, set **Version control** to **Diversion**, pick a repo from **Repository**, choose a **Directory**, and click **Clone**. If your repo isn't in the list, type its name.

If you are not signed in, the IDE shows **You are not logged in to Diversion**. Sign in with [`dv login`](https://docs.diversion.dev/cmd-ref/login), then reopen the project.

## Work with Diversion in the IDE

Diversion actions are in the **Diversion** menu in the main menu, and in the **Diversion** submenu when you right-click a file or folder:

* **Current Workspace Revision**: the repo, branch, and commit your workspace is on.
* **Commit**: commit your changes.
* **Reset**: discard your changes to the selected files.
* **Branches**: see branches and check one out.
* **Resolve Merge Conflicts**: open merges that have conflicts. It's greyed out until the repo has an open merge. When it does, the IDE also shows **Your repository contains open merges**.
* **Update Workspace**: bring your workspace up to date with the latest commit on your branch.
* **File Actions**: **Workspace Changes**, **Compare with base branch**, **Compare with Branch...**, and **File History**.
* **Browse in Diversion Web App**: open the repo in the web app.

The current branch shows in the main toolbar.

## See who changed each line

To see who last changed each line of a file, right-click the line numbers in the editor and choose **Annotate**. Each line shows its author and date. Hover over an annotation to see the commit. This requires plugin version 1.4.4 or later.

## Commit tool window

When the Diversion plugin is active, the IDE uses the **Commit** dialog instead of the **Commit** tool window. This applies to the whole project, including Git roots in the same project. Your changes are in the **Local Changes** tab of the **Version Control** tool window.

To use the **Commit** tool window instead:

1. Open **Help → Find Action** and type `Registry...`.
2. Find `vcs.force.non.modal.commit` and turn it on.

To go back to the default, turn the same setting off.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.