更改 PyCharm 中 Black 插件的 88 个字符限制

Be *_*Too 9 formatting pycharm

我在 PyCharm 中使用 Black 来格式化我的 Python 代码。

我正在使用 Black-Pycharm 插件,不幸的是,选择代码并在其上应用 Black ( Code > Reformat Code (BLACK))将所有行剪切为 88 个字符(Black 的默认限制)。

我想更改此限制以将行剪切为 80 个字符。我尝试了两种不同的方法:

  1. 将“黑色插件设置”中的黑色 exe 路径从~/.local/bin/black更改为~/.local/bin/black -l80,但使用 PyCharm 应用黑色会输出此错误BlackPycharm: Cannot run program "/home/BCT/.local/bin/black -l80": error=2, File or folder not found

  2. 使用黑色作为Pycharm一个“外部工具”(如所描述的在这里),并指定在参数文本框中的线路长度。这成功地将 Black 应用到我的文件中,并具有所需的字符限制,但是:

    • 它会自动用新的格式化文件保存/替换我的文件,我无法撤消更改。
    • 不能只在部分代码上应用 Black

你知道如何使用黑色:

  • 指定所需行长的能力
  • 仅重新格式化一部分代码的能力

同时 ?

编辑:显然 PyCharm 不能仅将 Black 用于部分代码...

小智 11

我在调整黑色“外部工具”的线长时也遇到了同样的问题。

1-按照此链接安装并将黑色设置为外部工具:https : //black.readthedocs.io/en/stable/editor_integration.html#pycharm-intellij-idea

2- 在“PyCharm/IntelliJ IDEA”部分的“参数”中:

将“$FilePath$”替换为“$FilePath$” -l 120

注意:'-l 120' 应该在引号之外,并用您需要的任何行长替换 120。

干杯!

马赫。


小智 7

我在 PyCharm 中使用 Black 作为外部工具,但我可以通过将pyproject.toml( The PEP / more info ) 文件添加到我的项目根目录来指定行长。我不必传递任何东西作为参数。也许它可以解决你的问题。它看起来如下:

# NOTE: you have to use single-quoted strings in TOML for regular expressions.
# It's the equivalent of r-strings in Python.  Multiline strings are treated as
# verbose regular expressions by Black.  Use [ ] to denote a significant space
# character.

[tool.black]
line-length = 79
target-version = ['py37', 'py38']
include = '\.pyi?$'
exclude = '''
/(
    \.eggs
  | \.git
  | \.hg
  | \.mypy_cache
  | \.tox
  | \.venv
  | _build
  | buck-out
  | build
  | dist

  # The following are specific to Black, you probably don't want those.
  | blib2to3
  | tests/data
  | profiling
)/
'''
Run Code Online (Sandbox Code Playgroud)