Как удалить переносы строк, добавленные в форматировании при сохранении кода в VSCode
Например:
Если у меня есть выражение с несколькими проверками:
if True == True or False == True or False == False:
Он форматируется как:
if (True == True
or False == True
or False == False)
Это усложняет читаемость. Как я могу переформатировать его, чтобы он выглядел как первый пример?
но если я это сделаю, код будет переформатирован?
Нет, в этом вся суть. Я не использую VSCode, поэтому не могу точно сказать, какой параметр изменить. Но должен быть способ отключить подобные вещи.
Также может быть список определенных параметров форматирования, и вы можете просто отключить этот параметр.
@Barmar VS Code скрывает эту опцию довольно глубоко, ее может быть сложно найти. Вероятно, вам нужно перейти в раздел, посвященный Python.
@MarkRansom, OP и др.: в настройках есть флажок «Форматировать при сохранении». Судя по всему, это не зависит от языка. Вы можете найти его, введя это прямо в поле «Настройки поиска», как только откроете «Настройки».
Связанный: Как отключить форматирование текста при сохранении в коде Visual Studio? Хотя ответы повсюду; большинство из них, кажется, говорят: «Всегда сохраняйте без форматирования вместо изменения настроек».
Сначала проверьте, какой форматтер VSCode использует для форматирования вашего кода. В большинстве случаев (я пробовал Black and Ruff) вы можете отключить форматирование определенного фрагмента кода, обернув его внутри блока ниже:
# fmt: off
lst = [1, 2, 3,
4, 5, 6,
7, 8 ,9]
# fmt: on
Без этого комментария они были бы помещены в одну строку.
Думаю, большинство форматтеров отнесутся с уважением к этому комментарию.
autopep8 также уважает этот комментарий
Вы можете использовать ярлык Ctrl+,
, чтобы открыть настройки. Введите format on save
и отмените выбор опции Editor:Format On Save
. Это отключает использование форматирования кода при глобальном сохранении документов. Это сохраняет формат кода, который вы написали.
Отключите автоматическое переформатирование VSCode. Это не то, что делает Python.