Как исключить файлы из «форматирования при сохранении» в VSCode?

109

В настоящее время в настройках VSCode вы можете настроить формат при сохранении следующим образом:

"editor.formatOnSave": true

Я хочу исключить некоторые расширения файлов, например только формат JavaScript, но не файлы HTML.

Габриэль Анзалдо
источник
На Mac используйте Ctrl + K Shift + SВ Linux используйтеCtrl + K S
Йуст ван дер Лаан,

Ответы:

190

Вы можете использовать настройки для конкретного языка, чтобы включить его только для определенного языка, например JavaScript:

"[javascript]": {
    "editor.formatOnSave": true
}

Чтобы отключить его для определенного языка, вы можете переключить глобальное значение по умолчанию на trueи объединить его с конкретным языком false:

"editor.formatOnSave": true
"[javascript]": {
    "editor.formatOnSave": false
}

Обратите внимание, что языковые настройки основаны на идентификаторах языка, а не непосредственно на расширениях файлов. Есть открытый запрос функции, чтобы также разрешить настройки для конкретных расширений файлов .

В случаях, когда идентификатор языка недостаточно конкретен, "files.associations"его можно использовать для переназначения файлов с определенным расширением и / или в определенном каталоге на другой идентификатор, но это также повлияет на выделение синтаксиса, завершение кода и т. Д. Например, это сработает для отключения форматирования файлов JavaScript в outкаталогах, но они будут обрабатываться как открытый текст:

"[javascript]": {
    "editor.formatOnSave": true
},
"files.associations": {
    "**/out/**/*.js": "plaintext"
}
Гама11
источник
очень хороший ответ. однако можно ли применить формат при сохранении в конкретном модуле или папке python ?? ... обходной путь Я открыл этот модуль в его собственных окнах vscode.
kerbrose
Один из недостатков настройки, скажем, *.inфайлов в виде открытого текста (в "files.associations": { "*.in": "plaintext" }том, что он отключает выделение кода. Есть ли способ отключить форматирование для *.inфайлов, но указать, чтобы он выделялся как определенный язык?
Коул Джонсон,
40

Если вы столкнулись с этим вопросом, как и я, потому что вы были перенаправлены из-за этого вопроса, VSCode: отключить форматирование определенного файла (или расширения), в котором говорится, что это дубликат (я так не чувствую, потому что я хотел его для конкретный файл), и вы ищете "одноразовое" решение:

VS Code имеет ярлык «сейчас» (я не знаю с каких пор) для сохранения файла без форматирования, указанного в команде. workbench.action.files.saveWithoutFormattingПривязка клавиш по умолчанию должна быть

CTRL + K CTRL + SHIFT + S 

(просто удерживайте нажатой клавишу CTRL и нажмите K + SHIFT + S).

В OS X привязка клавиш по умолчанию

CMD + k затем нажмите s

Александр Фишер
источник
2
Не знал об этом. Спасибо! Итак, я могу включить «FormatOnSave», но если я все еще хочу сохранить файл без его форматирования, я удерживаю Ctrl и нажимаю K + Shift + S. Просто попробовал. Потрясающие!
abhijit
2
на linux в январе 2020 года, Ctrl + kа потом простоs
Райанрейн
0

На Mac и Linux используйте Ctrl + K S

В Windows используйте Ctrl + K Ctrl + Shift + S

Чтобы проверить сочетания клавиш VS Code: Ctrl + K, Ctrl + S(да, почти так же, как указано выше) и выполните поиск по запросу «сохранить без форматирования»

Йост ван дер Лаан
источник