Skip to content

Instantly share code, notes, and snippets.

@kstrauser
Last active March 18, 2023 00:24
Show Gist options
  • Save kstrauser/c0cf3c440c3bffed60cb8e85de7f6649 to your computer and use it in GitHub Desktop.
Save kstrauser/c0cf3c440c3bffed60cb8e85de7f6649 to your computer and use it in GitHub Desktop.
Using the "black" Python formatter in VS Code

This is how to use the Black Python code formatter in VS Code.

Make a Python 3.6 virtualenv for running Black

Black itself requires Python 3.6 to run, but few of our projects are on that version. The VS Code plugin conveniently lets you run black from its own virtualenv.

I had to give a specific version of black this morning. I didn't yesterday. Don't specify the version unless it makes you (and if you do, give the current version, not the one from this doc).

$ cd ~/Envs
$ mkdir black
$ cd black
$ pipenv --python 3.6
$ pipenv install black==18.5b0
$ pipenv run which black
/Users/kirk/.local/share/virtualenvs/black-wkc_P2WA/bin/black

Take note of that last line!

Install the VS Code plugin for Black

https://marketplace.visualstudio.com/items?itemName=joslarson.black-vscode

Configure the plugin

Open your user settings and add:

    "[python]": {
        "editor.rulers": [
            99
        ],
    },
    "black.lineLength": 99,
    "black.path": "/Users/kirk/.local/share/virtualenvs/black-wkc_P2WA/bin/black",
    "python.formatting.provider": "none",

Profit

Now you can use the command palette to run "Format Document" to run Black on the current file. Down the road, we can set "editor.formatOnSave": true to automatically run it every time you save a file.

@fredrike
Copy link

The joslarson.black-vscode plugin is deprecated and black is supported by the native Python package: https://code.visualstudio.com/docs/python/editing#_general-formatting-settings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment