Как удалить разрывы строк, которые Visual Studio Code включает при сохранении кода

Как удалить переносы строк, добавленные в форматировании при сохранении кода в VSCode

Например:

Если у меня есть выражение с несколькими проверками:

if True == True or False == True or False == False:

Он форматируется как:

if (True == True
or False == True
or False == False)

Это усложняет читаемость. Как я могу переформатировать его, чтобы он выглядел как первый пример?

Отключите автоматическое переформатирование VSCode. Это не то, что делает Python.

Barmar 21.06.2024 18:44

но если я это сделаю, код будет переформатирован?

WesleyAlmont 21.06.2024 18:46

Нет, в этом вся суть. Я не использую VSCode, поэтому не могу точно сказать, какой параметр изменить. Но должен быть способ отключить подобные вещи.

Barmar 21.06.2024 18:49

Также может быть список определенных параметров форматирования, и вы можете просто отключить этот параметр.

Barmar 21.06.2024 18:50

@Barmar VS Code скрывает эту опцию довольно глубоко, ее может быть сложно найти. Вероятно, вам нужно перейти в раздел, посвященный Python.

Mark Ransom 21.06.2024 18:58

@MarkRansom, OP и др.: в настройках есть флажок «Форматировать при сохранении». Судя по всему, это не зависит от языка. Вы можете найти его, введя это прямо в поле «Настройки поиска», как только откроете «Настройки».

JRiggles 21.06.2024 19:10

Связанный: Как отключить форматирование текста при сохранении в коде Visual Studio? Хотя ответы повсюду; большинство из них, кажется, говорят: «Всегда сохраняйте без форматирования вместо изменения настроек».

wjandrea 21.06.2024 21:09
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
7
88
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Сначала проверьте, какой форматтер VSCode использует для форматирования вашего кода. В большинстве случаев (я пробовал Black and Ruff) вы можете отключить форматирование определенного фрагмента кода, обернув его внутри блока ниже:

# fmt: off
lst = [1, 2, 3,
       4, 5, 6,
       7, 8 ,9]
# fmt: on

Без этого комментария они были бы помещены в одну строку.

Думаю, большинство форматтеров отнесутся с уважением к этому комментарию.

autopep8 также уважает этот комментарий

wjandrea 21.06.2024 20:31
Ответ принят как подходящий

Вы можете использовать ярлык Ctrl+,, чтобы открыть настройки. Введите format on save и отмените выбор опции Editor:Format On Save. Это отключает использование форматирования кода при глобальном сохранении документов. Это сохраняет формат кода, который вы написали.

Другие вопросы по теме