Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recommend using BlackConnect in IntelliJ IDEs #3150

Merged
merged 10 commits into from Jul 11, 2022
1 change: 1 addition & 0 deletions CHANGES.md
Expand Up @@ -29,6 +29,7 @@

- Reword the stability policy to say that we may, in rare cases, make changes that
affect code that was not previously formatted by _Black_ (#3155)
- Recommend using BlackConnect in IntelliJ IDEs (#3150)

### Integrations

Expand Down
66 changes: 18 additions & 48 deletions docs/integrations/editors.md
Expand Up @@ -10,71 +10,41 @@ Options include the following:

## PyCharm/IntelliJ IDEA

1. Install `black`.
1. Install _Black_ with the `d` extra.

```console
$ pip install black
$ pip install 'black[d]'
```

1. Locate your `black` installation folder.
1. Install
[BlackConnect IntelliJ IDEs plugin](https://plugins.jetbrains.com/plugin/14321-blackconnect).

On macOS / Linux / BSD:

```console
$ which black
/usr/local/bin/black # possible location
```

On Windows:

```console
$ where black
%LocalAppData%\Programs\Python\Python36-32\Scripts\black.exe # possible location
```

Note that if you are using a virtual environment detected by PyCharm, this is an
unneeded step. In this case the path to `black` is `$PyInterpreterDirectory$/black`.

1. Open External tools in PyCharm/IntelliJ IDEA
1. Open plugin configuration in PyCharm/IntelliJ IDEA

On macOS:

`PyCharm -> Preferences -> Tools -> External Tools`
`PyCharm -> Preferences -> Tools -> BlackConnect`

On Windows / Linux / BSD:

`File -> Settings -> Tools -> External Tools`

1. Click the + icon to add a new external tool with the following values:
`File -> Settings -> Tools -> BlackConnect`

- Name: Black
- Description: Black is the uncompromising Python code formatter.
- Program: \<install_location_from_step_2>
- Arguments: `"$FilePath$"`
1. In `Local Instance (shared between projects)` section:

1. Format the currently opened file by selecting `Tools -> External Tools -> black`.
1. Check `Start local blackd instance when plugin loads`.
1. Press the `Detect` button near `Path` input. The plugin should detect the `blackd`
executable.

- Alternatively, you can set a keyboard shortcut by navigating to
`Preferences or Settings -> Keymap -> External Tools -> External Tools - Black`.
1. In `Trigger Settings` section check `Trigger on code reformat` to enable code
reformatting with _Black_.

1. Optionally, run _Black_ on every file save:
1. Format the currently opened file by selecting `Code -> Reformat Code` or using a
shortcut.

1. Make sure you have the
[File Watchers](https://plugins.jetbrains.com/plugin/7177-file-watchers) plugin
installed.
1. Go to `Preferences or Settings -> Tools -> File Watchers` and click `+` to add a
new watcher:
- Name: Black
- File type: Python
- Scope: Project Files
- Program: \<install_location_from_step_2>
- Arguments: `$FilePath$`
- Output paths to refresh: `$FilePath$`
- Working directory: `$ProjectFileDir$`
1. Optionally, to run _Black_ on every file save:

- In Advanced Options
- Uncheck "Auto-save edited files to trigger the watcher"
- Uncheck "Trigger the watcher on external changes"
- In `Trigger Settings` section of plugin configuration check `Trigger when saving
changed files`.

## Wing IDE

Expand Down