Skip to content

Commit

Permalink
Recommend using BlackConnect in IntelliJ IDEs (psf#3150)
Browse files Browse the repository at this point in the history
* Recommend using BlackConnect in IntelliJ IDEs

* IntelliJ IDEs integration docs: improve formatting

* Add changelog for recommending BlackConnect

* IntelliJ IDEs integration docs: improve formatting

* Apply suggestions from code review

Co-authored-by: Richard Si <63936253+ichard26@users.noreply.github.com>

* Fix indentation

* Apply italic to Black name

Consequently with other places in the document

* Move CHANGELOG entry to Unreleased section

* IntelliJ IDEs integration docs: bring back a point with formatting a file

* IntelliJ IDEs integration docs: fix extra whitespace and linebreak

Co-authored-by: Richard Si <63936253+ichard26@users.noreply.github.com>
  • Loading branch information
2 people authored and cibinmathew committed Aug 13, 2022
1 parent e8c18e3 commit dce2997
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 48 deletions.
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

0 comments on commit dce2997

Please sign in to comment.