Отключить автоматическое форматирование для файлов json в Visual Studio Code


90

Я несколько раз проверил свои предпочтения и убедился, что для всех параметров, связанных с форматированием при сохранении, установлено значение false. И все же каждый раз, когда я сохраняю файл .json, я вижу, что мой файл форматируется.


1
Вы установили какие-нибудь расширения?
сент,

@seairth - у меня установлен prettify-json. Я попытался отключить его, но это не сработало.

2
Попробуйте полностью удалить расширение, перезапустить VSCode и посмотреть, исчезнет ли поведение.
seairth


1
Я не уверен, что предложить здесь. Я не могу воспроизвести это на своей копии (v1.2.1). Просматривая исходный код VSCode, стандартная установка должна форматировать JSON только при выполнении явного «формата кода» (например, Shift + Alt + F в Windows). Фактически зарегистрированная команда - "editor.action.format", так что, возможно, у вас есть другое расширение, которое выполняет эту команду при сохранении. Один из способов проверить это может заключаться в том, чтобы попробовать другой установленный язык и посмотреть, работает ли он так же.
seair

Ответы:


147

Хорошо, проверьте, установили ли вы это расширение: «JS-CSS-HTML formatter».

Теперь, если у вас есть, нажмите CTRL+ SHIFT+ P, введите «Formatter», и вы должны увидеть параметр, который говорит Formatter Config.

После выбора этого параметра открывается файл с именем formatter.json, и все, что вам нужно сделать, это изменить свойство (с именем onSave) с истинного на ложное.

Перезагрузите код и вуаля !! Перестал автоматическое форматирование. (ура!!!!)


1
Большое спасибо! Спасли нервы! Это должно быть большим стимулом, так как в Интернете есть много сообщений с одним и тем же вопросом, а vscode не имеет указателя в настройках на formatter.json.
Christof Kälin

48

В Visual Studio Code, чтобы остановить автоформатирование только для файлов json, добавьте в settings.jsonфайл следующее , открыв Параметры пользователя - Настройки.

{   
    "[json]": {
        "editor.formatOnSave": false   
    }
}

Должно быть, да. В 1.42.1 это не повлияло. Мне пришлось явно установить это значение true для всех других форматов, где я хотел автоформат, кроме [json] :( Как только editor.formatOnSave был истинным для всех (не внутри блока [...]), я не мог отключить его для формата json
Сатрия,

21

Я использую приведенную ниже версию VS Code

Version: 1.28.2 (user setup)
Commit: 7f3ce96ff4729c91352ae6def877e59c561f4850
Date: 2018-10-17T00:23:51.859Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

И выключил, выполнив следующие действия:

  1. CTRL+SHIFT+P
  2. Тип Settings
  3. Выбрать Preferences: Open User Settings

Теперь следуйте этим инструкциям по изображению:

Нажмите Edit в settings.json Изменить отображаемые значения пользовательских настроек

  1. Выберите Сохранить все
  2. Перезапустить VS Code

2
Если это решение не помогает, попробуйте отключить vscode-JS-CSS-HTML-formatter, в моем случае это помогло. Источник: github.com/Microsoft/vscode/issues/16055
Степан Захаров,

1
Альтернативный текст на ваших изображениях лучше, чем ничего, но инструкции в изображениях не очень доступны. Пожалуйста, рассмотрите возможность включения текстовых инструкций в ваши ответы в будущем.
TylerH 03 авг.2020,

это должен быть принятый ответ
llamaro25



5

Стоит отметить

Мне нравится форматирование json, которое включено по умолчанию, но я хотел отключить его только при редактировании определенных файлов (т.е. я не хотел, чтобы некоторые массивные файлы json расширялись после форматирования).

Для этого я внес изменения и сохранил без форматирования .

Вы можете перейти к сочетаниям клавиш vs code и посмотреть, что Save without formattingустановлено на. В моем случае (пользователь Mac) за ним CMD+Kпоследовало S.


2

В дополнение к ответам здесь есть другие настройки, "editor.formatOnSave"которые могут иметь аналогичный эффект, которые вы также можете отключить - например, я включил следующее в своих пользовательских настройках (settings.json):

"editor.codeActionsOnSave": {
  "source.organizeImports": true
},

Эта обстановка вызывала у меня головную боль. Спасибо, что поделился!
Kenneth Lynne

1

мой формат был установлен на CMD k + s по умолчанию для VS Code для сохранения без форматирования. ты можешь попробовать это

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.