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

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

"editor.formatOnSave": true

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

Ответ 1

Вы можете использовать языковые настройки, чтобы включить его только для определенного языка, например, 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"
}

Ответ 2

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

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

CTRL + K CTRL + SHIFT + S 

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