Skip to content

yilei/vscode-black-formatter

 
 

Repository files navigation

Formatter extension for Visual Studio Code using black

A Visual Studio Code extension with support for the black formatter. The extension ships with black=23.10.1.

Note:

  • This extension is supported for all actively supported versions of the python language (i.e., python >= 3.8).
  • The bundled black is only used if there is no installed version of black found in the selected python environment.
  • Minimum supported version of black is 22.3.0.
  • This extension is experimental. The plan is that it will eventually replace the black formatting functionality of the Python extension.

Usage

Once installed in Visual Studio Code, "Black Formatter" will be available as a formatter for python files. Please select "Black Formatter" (extension id:ms-python.black-formatter) as the default formatter. You can do this either by using the context menu (right click on a open python file in the editor) and select "Format Document With...", or you can add the following to your settings:

  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter"
  }

and change the following, if set:

  "python.formatting.provider": "none"

Format on save

You can enable format on save for python by having the following values in your settings:

  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true
  }

Disabling formatting with black

If you want to disable Black formatter, you can disable this extension per workspace in Visual Studio Code.

Settings

Settings Default Description
black-formatter.args [] Custom arguments passed to black. E.g "black-formatter.args": ["--config", "<file>"]
black-formatter.cwd ${workspaceFolder} Sets the current working directory used to format Python files with Black. By default, it uses the root directory of the workspace ${workspaceFolder}. You can set it to ${fileDirname} to use the parent folder of the file being formatted as the working directory for Black.
black-formatter.path [] Setting to provide custom black executable. This will slow down formatting, since we will have to run black executable every time or file save or open. Example 1: ["~/global_env/black"] Example 2: ["conda", "run", "-n", "lint_env", "python", "-m", "black"]
black-formatter.interpreter [] Path to a python interpreter to use to run the linter server. When set to [], the interpreter for the workspace is obtained from ms-python.python extension. If set to some path, that path takes precedence, and the Python extension is not queried for the interpreter
black-formatter.importStrategy useBundled Setting to choose where to load black from. useBundled picks black bundled with the extension. fromEnvironment uses black available in the environment.
black-formatter.showNotification off Setting to control when a notification is shown.

Commands

Command Description
Black Formatter: Restart Force re-start the format server.

Logging

Use Developer: Set Log Level... command from the Command Palette, and select Black Formatter from the extensions list to set the Log Level for the extension. For detailed LSP traces, add "black-formatter.trace.server": "verbose" to your User settings.json file.

Releases

No releases published

Packages

No packages published

Languages

  • Python 92.5%
  • TypeScript 7.2%
  • JavaScript 0.3%