编辑器集成¶
Emacs¶
选项包括以下内容
PyCharm/IntelliJ IDEA¶
您可以通过多种方式在 PyCharm 中使用 Black
使用内置 Black 集成(PyCharm 2023.2 及更高版本)。此选项最简单易于设置。
使用 BlackConnect 插件作为本地服务器。此选项格式最快。它启动了 Black 的 HTTP 服务器,以避免在后续格式化中出现启动成本。
作为外部工具。
作为文件监视器。
内置 Black 集成¶
安装
black
。$ pip install black
转到
Preferences or Settings -> Tools -> Black
并根据您的喜好配置 Black。
作为本地服务器¶
使用
d
额外选项安装 Black。$ pip install 'black[d]'
在 PyCharm/IntelliJ IDEA 中打开插件配置
在 macOS 上
PyCharm -> Preferences -> Tools -> BlackConnect
在 Windows / Linux / BSD 上
File -> Settings -> Tools -> BlackConnect
在
Local Instance (shared between projects)
部分选中
Start local blackd instance when plugin loads
。按下
Detect
按钮,该按钮位于Path
输入框附近。插件应该会检测到blackd
可执行文件。
在
Trigger Settings
部分,选中Trigger on code reformat
以启用使用 Black 进行代码格式化。通过选择
Code -> Reformat Code
或使用快捷键来格式化当前打开的文件。可选地,在每次保存文件时运行 Black
在插件配置的
Trigger Settings
部分,选中Trigger when saving changed files
。
作为外部工具¶
安装
black
。$ pip install black
找到您的
black
安装文件夹。在 macOS / Linux / BSD 上
$ which black /usr/local/bin/black # possible location
在 Windows 上
$ where black %LocalAppData%\Programs\Python\Python36-32\Scripts\black.exe # possible location
请注意,如果您使用的是 PyCharm 检测到的虚拟环境,则无需执行此步骤。在这种情况下,
black
的路径为$PyInterpreterDirectory$/black
。在 PyCharm/IntelliJ IDEA 中打开外部工具
在 macOS 上
PyCharm -> Preferences -> Tools -> External Tools
在 Windows / Linux / BSD 上
File -> Settings -> Tools -> External Tools
单击 + 图标以添加一个新的外部工具,并使用以下值
名称:Black
描述:Black 是 uncompromising Python 代码格式化程序。
程序:<install_location_from_step_2>
参数:
"$FilePath$"
通过选择
Tools -> External Tools -> black
来格式化当前打开的文件。或者,您可以通过导航到
Preferences or Settings -> Keymap -> External Tools -> External Tools - Black
来设置键盘快捷键。
作为文件监视器¶
安装
black
。$ pip install black
找到您的
black
安装文件夹。在 macOS / Linux / BSD 上
$ which black /usr/local/bin/black # possible location
在 Windows 上
$ where black %LocalAppData%\Programs\Python\Python36-32\Scripts\black.exe # possible location
请注意,如果您使用的是 PyCharm 检测到的虚拟环境,则无需执行此步骤。在这种情况下,
black
的路径为$PyInterpreterDirectory$/black
。确保您已安装 File Watchers 插件。
转到
Preferences or Settings -> Tools -> File Watchers
并单击+
以添加新的监视器名称:Black
文件类型:Python
范围:项目文件
程序:<install_location_from_step_2>
参数:
$FilePath$
要刷新的输出路径:
$FilePath$
工作目录:
$ProjectFileDir$
在高级选项中
取消选中“自动保存已编辑的文件以触发监视器”
取消选中“在外部更改时触发监视器”
Wing IDE¶
Wing IDE 通过 Preference Settings(用于系统范围的设置)和 Project Properties(用于每个项目的设置或工作区特定的设置)支持 black
,如 Wing 文档中关于 自动格式化 的说明。详细步骤如下:
先决条件¶
Wing IDE 版本 8.0+
安装
black
。$ pip install black
确保它从命令行运行,例如:
$ black --help
首选项设置¶
如果您希望 Wing IDE 始终为每个项目使用 black
进行重新格式化,请按照以下步骤操作:
在菜单栏中导航到
Edit -> Preferences -> Editor -> Reformatting
。将 Auto-Reformat 从
disable
(默认)设置为Line after edit
或Whole files before save
。将 Reformatter 从
PEP8
(默认)设置为Black
。
项目属性¶
如果您只想为特定项目重新格式化,而不干预 Wing IDE 全局设置,请按照以下步骤操作:
在菜单栏中导航到
Project -> Project Properties -> Options
。将 Auto-Reformat 从
Use Preferences setting
(默认)设置为Line after edit
或Whole files before save
。将 Reformatter 从
Use Preferences setting
(默认)设置为Black
。
Vim¶
官方插件¶
命令和快捷键
:Black
用于格式化整个文件(不支持范围);您可以选择使用与命令行中相同的参数传递
target_version=<version>
。
:BlackUpgrade
用于升级虚拟环境中的 Black;:BlackVersion
用于获取当前使用的 Black 版本。
配置
g:black_fast
(默认值为0
)g:black_linelength
(默认值为88
)g:black_skip_string_normalization
(默认值为0
)g:black_skip_magic_trailing_comma
(默认值为0
)g:black_virtualenv
(默认值为~/.vim/black
或~/.local/share/nvim/black
)g:black_use_virtualenv
(默认值为1
)g:black_target_version
(默认值为""
)g:black_quiet
(默认值为0
)g:black_preview
(默认值为0
)
安装¶
此插件 **需要使用 Python 3.8+ 支持构建的 Vim 7.0+**。它需要 Python 3.8 才能在 Vim 进程中运行 Black,这比调用外部命令快得多。
vim-plug
¶
使用 vim-plug 安装
Black 的 stable
分支跟踪官方版本的更新,可以用来简单地跟踪最新的稳定版本。
Plug 'psf/black', { 'branch': 'stable' }
另一个更明确且提供更多控制的选项是使用 vim-plug
的 tag
选项配合 shell 通配符。这将解析为与给定模式匹配的最新标签。
以下匹配所有稳定版本(有关 Black 使用的版本方案文档,请参阅 发布流程 部分)
Plug 'psf/black', { 'tag': '*.*.*' }
以下演示了固定到特定年份的稳定样式(本例为 2022 年)
Plug 'psf/black', { 'tag': '22.*.*' }
Vundle¶
或使用 Vundle
Plugin 'psf/black'
并在终端中执行以下命令
$ cd ~/.vim/bundle/black
$ git checkout origin/stable -b stable
Arch Linux¶
在 Arch Linux 上,该插件与 python-black
软件包一起提供,因此在安装后,您无需任何额外设置即可在 Vim 中使用它。
Vim 8 原生插件管理¶
或者您可以从 plugin/black.vim 和 autoload/black.vim 复制插件文件。
mkdir -p ~/.vim/pack/python/start/black/plugin
mkdir -p ~/.vim/pack/python/start/black/autoload
curl https://raw.githubusercontent.com/psf/black/stable/plugin/black.vim -o ~/.vim/pack/python/start/black/plugin/black.vim
curl https://raw.githubusercontent.com/psf/black/stable/autoload/black.vim -o ~/.vim/pack/python/start/black/autoload/black.vim
如果您需要更改才能与 Vim 8 的内置 packadd
、Pathogen 等一起使用,请告诉我。
使用¶
首次运行时,该插件将使用正确的 Python 版本创建自己的虚拟环境,并自动安装 Black。您可以在稍后通过调用 :BlackUpgrade
并重启 Vim 来升级它。
如果您需要执行任何特殊操作来使您的虚拟环境正常工作并安装 Black(例如,您想运行主分支上的版本),请手动创建虚拟环境并将 g:black_virtualenv
指向它。该插件将使用它。
如果您希望使用 Black 的系统安装而不是虚拟环境,请将以下内容添加到您的 vimrc
let g:black_use_virtualenv = 0
请注意,:BlackUpgrade
命令仅在使用虚拟环境时可用且有用,因此,当未使用虚拟环境时,:BlackUpgrade
将被禁用。如果您需要升级 Black 的系统安装,请使用您的系统包管理器或 pip——无论您最初使用什么工具安装 Black。
要在保存时运行 Black,请将以下几行添加到 .vimrc
或 init.vim
augroup black_on_save
autocmd!
autocmd BufWritePre *.py Black
augroup end
要在按键(例如以下的 F9)时运行 Black,请添加以下内容
nnoremap <F9> :Black<CR>
使用 ALE¶
安装
ale
安装
black
将以下内容添加到您的 vimrc
let g:ale_fixers = {} let g:ale_fixers.python = ['black']
Gedit¶
gedit 是 GNOME 的默认文本编辑器,适用于类 Unix 操作系统。以以下方式打开 gedit
$ gedit <file_name>
Go to edit > preferences > plugins
搜索
external tools
并激活它。在
Tools menu -> Manage external tools
使用
+
按钮添加一个新工具。将以下内容复制到代码窗口。
#!/bin/bash
Name=$GEDIT_CURRENT_DOCUMENT_NAME
black $Name
如果您需要,请设置键盘快捷键,例如
ctrl-B
保存:
Nothing
输入:
Nothing
输出:如果您需要,请使用
Display in bottom pane
。如果您需要,请更改工具的名称。
使用您的键盘快捷键或 Tools -> External Tools
来使用您的新工具。当您关闭并重新打开文件时,Black 将完成其工作。
Visual Studio Code¶
或者,可以使用预发布的 Black Formatter 扩展,它为 Black 运行一个 语言服务器协议 服务器。使用此扩展,格式化将响应更快,**但 Black 的最低支持版本为 22.3.0**。
SublimeText¶
对于 SublimeText 3,请使用 sublack 插件。对于更高版本,建议使用以下文档中记录的 LSP。
Python LSP 服务器¶
如果您的编辑器支持 语言服务器协议(Atom、Sublime Text、Visual Studio Code 等),您可以将 Python LSP 服务器 与 python-lsp-black 插件一起使用。
Atom/Nuclide¶
Gradle(构建工具)¶
使用 Spotless 插件。
Kakoune¶
将以下钩子添加到您的 kakrc,然后使用 :format
运行 Black。
hook global WinSetOption filetype=python %{
set-option window formatcmd 'black -q -'
}