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

87

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

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

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

6 ответов

129
Лучший ответ

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

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

"editor.formatOnSave": true

  • 3
    Есть ли способ исключить некоторые файлы? т.е. я хочу форматировать только файлы .js, а не .html.
  • 0
    @ gabodev77prettier в VS Code имеет варианты для этого (например, prettier.javascriptEnable, prettier.cssEnable ...), но не для HTML.
Показать ещё 2 комментария
30

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

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

    {
      "editor.formatOnSave": true
    }

  • Сохранить файл

Источник

  • 0
    @ClintEastwood, если вы думаете, что это не ошибка, то есть и решения
9

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

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

1

Проблема в машинописи. Если вы увидите эту ветку https://github.com/Microsoft/vscode/issues/17627, вы увидите, что форматирование машинописного текста еще не решено в VSCode.

0

Чтобы отформатировать вручную: Shift + Alt + F

Чтобы отформатировать по типу:

"editor.formatOnType": true
0

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

Путь к файлу: /Users/USER_NAME/Library/Поддержка приложений/Код/Пользователь/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
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню