Изменить ограничение 88 символов для черного плагина в PyCharm - PullRequest
0 голосов
/ 10 декабря 2018

Я использую черный внутри PyCharm для форматирования моего кода Python.

Я использую плагин Black-Pycharm, к сожалению, выбирая код и применяя к нему черный цвет (Code > Reformat Code (BLACK)) обрезает все мои строки до 88 символов (ограничение по умолчанию для черных).

Я хочу изменить это ограничение, чтобы сократить строки длиной до 80 символов.Я пробовал два разных способа:

  1. Изменение пути черного exe в «Настройках черного плагина» с ~/.local/bin/black на ~/.local/bin/black -l80, но применение Black с PyCharm выдает эту ошибку: BlackPycharm: Cannot run program "/home/BCT/.local/bin/black -l80": error=2, File or folder not found

  2. Использование черного в качестве «внешнего инструмента» в Pycharm (как описано здесь ) и указание длины строки в тексте аргументовкоробка.Это успешно применяет черный к моему файлу с желаемым пределом символов, но:

    • Он автоматически сохраняет / заменяет мой файл новым отформатированным файлом, я не могу отменить изменение .
    • Я не могу применить черный только к части кода .

Знаете ли вы способы использования черного с:

  • Возможность указать желаемую длину строки
  • Возможность переформатировать только часть кода

одновременно?

РЕДАКТИРОВАТЬ: Очевидно, что PyCharm не может использовать черный только для части кода ...

Ответы [ 2 ]

0 голосов
/ 19 июля 2019

У меня также была такая же проблема с настройкой длины линии для черного «внешнего инструмента».

1 - перейдите по этой ссылке, чтобы установить и установить черный как внешний инструмент: https://black.readthedocs.io/en/stable/editor_integration.html#pycharm-intellij-idea

2- в разделе «PyCharm / IntelliJ IDEA» в разделе «Аргументы»:

замените «$ FilePath $» на «$ FilePath $» -l 120

Примечание: '-l 120 'должно быть вне кавычек, и заменить 120 на любую длину строки.

Cheers!

Maher.

0 голосов
/ 04 июля 2019

Я использую черный как внешний инструмент в PyCharm, но я могу указать длину строки, добавив pyproject.toml ( PEP / больше информации ) в мой коренькаталог проекта.Мне не нужно ничего передавать в качестве аргумента.Может быть, он сможет решить ваши проблемы.Это выглядит следующим образом:

# 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
)/
'''
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...