%LocalAppData%\Programs\Python\Python36-32\Scripts\black.exe # possible location
```
-3. Open External tools in PyCharm with `File -> Settings -> Tools -> External Tools`.
+3. Open External tools in PyCharm
+
+ On macOS:
+
+```PyCharm -> Preferences -> Tools -> External Tools```
+
+ On Windows / Linux / BSD:
+
+```File -> Settings -> Tools -> External Tools```
4. Click the + icon to add a new external tool with the following values:
- Name: Black
- Description: Black is the uncompromising Python code formatter.
- Program: <install_location_from_step_2>
- - Arguments: `$FilePath$`
+ - Arguments: `"$FilePath$"`
5. Format the currently opened file by selecting `Tools -> External Tools -> black`.
- - Alternatively, you can set a keyboard shortcut by navigating to `Preferences -> Keymap -> External Tools -> External Tools - Black`.
+ - Alternatively, you can set a keyboard shortcut by navigating to `Preferences or Settings -> Keymap -> External Tools -> External Tools - Black`.
6. Optionally, run Black on every file save:
1. Make sure you have the [File Watcher](https://plugins.jetbrains.com/plugin/7177-file-watchers) plugin installed.
- 2. Go to `Preferences -> Tools -> File Watchers` and click `+` to add a new watcher:
+ 2. 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: `$FilePathRelativeToProjectRoot$`
+ - Output paths to refresh: `$FilePath$`
- Working directory: `$ProjectFileDir$`
- Uncheck "Auto-save edited files to trigger the watcher"
### 19.3b0
-* removed `--py36` (use `--target-version=py36` instead) (#724)
+* new option `--target-version` to control which Python versions
+ *Black*-formatted code should target (#618)
-* long `del` statements are now split into multiple lines (#698)
+* removed `--py36` (use `--target-version=py36` instead) (#724)
* *Black* no longer normalizes numeric literals to include `_` separators (#696)
-* new option `--target-version` to control which Python versions
- *Black*-formatted code should target (#618)
+* long `del` statements are now split into multiple lines (#698)
+
+* type comments are no longer mangled in function signatures
* improved performance of formatting deeply nested data structures (#509)
+* *Black* now properly formats multiple files in parallel on
+ Windows (#632)
+
+* `blackd` now supports CORS (#622)
+
### 18.9b0
* numeric literals are now formatted by *Black* (#452, #461, #464, #469):
* [Peter Bengtsson](mailto:mail@peterbe.com)
* [Stavros Korokithakis](mailto:hi@stavros.io)
* [Sunil Kapil](mailto:snlkapil@gmail.com)
+* [Utsav Shah](mailto:ukshah2@illinois.edu)
* [Vishwas B Sharma](mailto:sharma.vishwas88@gmail.com)
* [Chuck Wooters](mailto:chuck.wooters@microsoft.com)