Как вы форматируете код при сохранении в VS Code

186

Я хотел бы автоматически форматировать код TypeScript с помощью встроенного средства форматирования при сохранении файла в коде Visual Studio.

Мне известны следующие варианты, но ни один из них недостаточно хорош:

  • Форматировать вручную Shift + Alt + F
  • Формат по типу "editor.formatOnType": true
    • Форматирует строку при нажатии клавиши ввода. К сожалению, он оставляет его неформатированным, когда вы щелкаете мышью по другой строке или нажимаете стрелку вверх / вниз.
  • Использовать существующее расширение
    • Я попытался это одно , но это не похоже на работу слишком хорошо.
  • Используйте украсить "beautify.onSave": true
    • Это не работает с TypeScript
  • Написать собственное расширение
    • Это сложно, если вы хотите обрабатывать автосохранения и сборки правильно.
Томас Никодым
источник

Ответы:

280

По состоянию на сентябрь 2016 года (VSCode 1.6) это теперь официально поддерживается .

Добавьте следующее в ваш settings.jsonфайл:

"editor.formatOnSave": true
Томас Никодым
источник
5
Есть ли способ исключить некоторые файлы? т.е. я хочу форматировать только файлы .js, а не .html.
gabrielAnzaldo
@ gabodev77prettier в VS Code имеет опции для этого (например, prettier.javascriptEnable, prettier.cssEnable ...), но не для HTML.
Freewalker
7
Можно ли отформатировать в автосохранении? formatOnSave работает для меня, только когда я вручную нажимаю Cmd + S.
Freewalker
@gabrielAnzaldo Посмотрите этот вопрос, чтобы узнать, как исключить определенные файлы / типы файлов: stackoverflow.com/questions/44831313/…
Gama11
@LukeWilliams В настоящее время это невозможно, для этого есть запрос функции: github.com/microsoft/vscode/issues/45997
Gama11,
65

Чтобы автоматически отформатировать код при сохранении:

  • Нажмите, Ctrl ,чтобы открыть настройки пользователя
  • Введите следующий код в открытый файл настроек

    {
        "editor.formatOnSave": true
    }
  • Сохранить файл

Источник

Zameer
источник
33

Если вы хотите автоматически форматировать при сохранении только с использованием исходного кода Javascript, добавьте его в Users Setting(нажмите Cmd,или Ctrl,):

"[javascript]": { "editor.formatOnSave": true }
Лонг Нгуен
источник
моя версия, я начал искать "formatOnSave" и просто должен был установить флажок в интерфейсе настройки Vs Code
Akin Hwan
26

Больше не нужно добавлять команды. Для тех, кто не знаком с Visual Studio Code и ищет простой способ форматирования кода при сохранении, следуйте приведенным ниже инструкциям.

  1. Откройте настройки, нажав [Cmd+,]на Mac или используя скриншот ниже.

VS Code - открыть команду настройки изображения

  1. Введите « формат » в поле поиска и включите параметр « Формат при сохранении ».

введите описание изображения здесь

Вы сделали. Спасибо.

Баласубрамани М
источник
4

Для пользователя MAC , добавьте эту строку в настройки по умолчанию

Путь к файлу: / Users / USER_NAME / Библиотека / Поддержка приложений / Код / Пользователь / settings.json

"tslint.autoFixOnSave": правда

Пример файла будет:

{
    "window.zoomLevel": 0,
    "workbench.iconTheme": "vscode-icons",
    "typescript.check.tscVersion": false,
    "vsicons.projectDetection.disableDetect": true,
    "typescript.updateImportsOnFileMove.enabled": "always",
    "eslint.autoFixOnSave": true,
    "tslint.autoFixOnSave": true
}
Ричард
источник