跳转到主要内容

Python LSP服务器的Black插件

项目描述

python-lsp-black

PyPI Code style: black Python

BlackPython LSP服务器 的插件。

安装

在同一 virtualenv 中与 python-lsp-server 一起

pip install python-lsp-black

用法

此插件将禁用已安装的 yapf 和 autopep8 插件。

  • python-lsp-black 可以格式化整个文件或仅格式化选定的文本。
  • 只有当代码在语法上是有效的Python时,才会对其进行格式化。
  • 文本选择被视为单独的Python文件。不幸的是,这意味着您不能格式化缩进的代码块。
  • 如果您的项目有一个,python-lsp-black 将使用您的项目的 pyproject.toml
  • python-lsp-black 仅官方支持 black 的最新稳定版本。尽管努力保持向后兼容性,但旧版 black 将不会进行积极测试。
  • 插件可以缓存适用于每个 Python 文件的 black 配置,这提高了插件性能。当启用配置缓存时,black 配置的任何更改都需要重启 LSP 服务器。可以使用 cache_config 选项禁用配置缓存,请参阅下文的 配置

配置

插件遵循 python-lsp-server 的配置。以下为有效的配置键

  • pylsp.plugins.black.enabled:一个布尔值,用于启用/禁用插件。
  • pylsp.plugins.black.cache_config:一个布尔值,用于启用 black 配置缓存(见 用法)。默认为 false
  • pylsp.plugins.black.line_length:一个整数,对应于 black 的 max-line-length 设置。默认为 88(与 black 的默认值相同)。这也可以通过 black 的配置文件设置,对于多用户项目,应首选配置文件。
  • pylsp.plugins.black.preview:一个布尔值,用于启用或禁用 black 的 --preview 设置。默认为 false
  • pylsp.plugins.black.skip_string_normalization:一个布尔值,用于启用或禁用 black 的 --skip-string-normalization 设置。默认为 false
  • pylsp.plugins.black.skip_magic_trailing_comma:一个布尔值,用于启用或禁用 black 的 skip-magic-trailing-comma 设置。默认为 false

开发

要为开发安装项目,您需要指定 dev 可选依赖项

python -m venv .venv
. .venv/bin/activate
pip install -e .[dev]

此项目使用 pre-commit 钩子来控制代码质量,安装它们以便在创建 git 提交时自动运行,从而避免在创建拉取请求时看到错误

pre-commit install

要运行测试

make test

要运行代码检查工具

make lint  # just a shortcut to pre-commit run -a
make <linter_name>  # black, flake8, isort, mypy

要升级 pre-commit 钩子的版本

pre-commit autoupdate
# check and git commit changes to .pre-commit-config.yaml

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面