ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

python-black

thep0y ST4

Sublime Text 的 Black 格式化工具

标签 格式化器

详细信息

  • 1.2.10
  • github.com
  • github.com
  • 11个月前
  • 2小时前
  • 3年前

安装

  • 总计 14K
  • Win 6K
  • Mac 4K
  • Linux 4K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日 6月22日
Windows 1 2 1 5 4 7 5 2 4 1 3 2 5 5 3 4 5 3 4 5 4 8 6 1 3 7 10 8 8 2 1 4 3 7 7 9 3 3 1 3 2 6 5 3 0 3
Mac 2 3 4 1 1 4 3 4 8 3 1 6 5 1 4 3 3 1 3 5 3 2 0 1 1 4 9 5 4 6 2 0 7 2 7 7 3 0 3 1 2 2 4 1 2 2
Linux 3 4 2 6 4 3 5 1 4 1 3 4 4 6 5 2 0 1 2 6 5 1 1 4 2 4 6 5 3 2 0 0 5 6 5 1 5 3 1 3 2 4 3 6 0 2

README

源代码
raw.githubusercontent.com

python-black

black

Black 格式化器用于 Sublime Text.

建议与 LSP-pyright 一起使用。

安装

不需要安装 black。但是,如果您选择安装,它不会影响此包。

您可以使用 Package Control 安装 python-black

  1. 打开您的命令面板,并输入 Package Control: Install Package
  2. 找到此项目 python-black 并按 Enter

本地安装

此包已上传到 packagecontrol.io,因此您无需选择本地安装。

git clone https://github.com/thep0y/python-black.git

python-black 文件夹复制或移动到 Sublime Text 4Packages 目录。

用法

1 键绑定

您可以根据示例创建自定义键绑定首选项 - 包设置 - Python Black - 键绑定,例如

{
  "keys": ["ctrl+super+l"],
  "command": "black",
  "args": {
    "use_selection": true
  }
}

可选的 use_selection 布尔值(默认为 true)控制是否格式化选定的区域或整个文件。

:warning:注意:不要 重复 其他包的键绑定。

2 设置

设置中有一些可修改的属性

{
   // Whether to automatically format the entire document when saving.
   // There are three modes:
   //    - "on"
   //    - "off"
   //    - "smart": Automatic formatting is only enabled if there is a `black` section in the project's `pyproject.toml`
   "format_on_save": "on",
   // Black [OPTIONS]
   // The priority of loading options for Black is:
   // Sublime project settings > Configuration file > Sublime package user settings > Sublime package default settings
   "options": {
      // Python versions that should be supported by Black's output.
      "target_version": [],
      // How many characters per line to allow.
      "line_length": 88,
      // Format all input files like typing stubs regardless of file extension (useful when piping source on standard input).
      "is_pyi": false,
      // Skip the first line of the source code.
      "skip_source_first_line": false,
      // Don't normalize string quotes or prefixes.
      "skip_string_normalization": false,
      // Don't use trailing commas as a reason to split lines.
      "skip_magic_trailing_comma": false
   }
}

format_on_save 也可以通过 首选项 > 包设置 > Python Black > 保存时格式化 切换。

也可以在 sublime-project 中配置 Black 选项

{
  "settings": {
    // ...
    "python-black": {
      "options": {
        "line_length": 127,
        "skip_string_normalization": true
      }
    }
  }
}

3 创建 Black 配置文件

您可以快速为当前项目生成一个 Black 配置文件。

命令 描述
python-black: 创建 Black 配置文件 在项目的根目录中创建一个包含基本选项的 pyproject.toml 文件。如果已存在,则打开配置文件。

:警告:如果您不想为每个项目生成一个 pyproject.toml,则需要为 Black 创建一个 全局配置文件

请参阅 Black 文档

如果您想禁用在未使用 black 代码风格的项目中的 format_on_save,需要将该配置添加到 *.sublime-project

{
    ...
    "settings": {
        ...
        "python-black": {
            "format_on_save": "off"
        }
    }
}

开发

如果您想修复错误或添加功能,可以查看日志

  • 彩色日志:在 [SublimeText]/Log 目录中的 python-black.log 文件中。

  • 无色日志:在 Sublime Text 控制台中。

您还可以按如下方式添加您认为应该记录日志的位置

from .log import child_logger

logger = child_logger(__name__)


# ...
logger.debug("...")
logger.info("...")
logger.warning("...")
logger.error("...")
# ...

欢迎讨论和创建 PR。

待办事项

  • [ ] 格式化当前项目中的所有 Python 文件