Вимкніть автоматичне форматування файлів json у Visual Studio Code


84

Я перевірив свої переваги кілька разів і переконався, що всі параметри, пов'язані з форматуванням при збереженні, мають значення false. І все ж кожного разу, коли я зберігаю файл .json, я бачу, як мій файл відформатовується.


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

@seairth - у мене був встановлений prettify-json. Я спробував його відключити, але це не спрацювало.

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

Це вже пробував. :( Ось мої налаштування: dropbox.com/s/oxqryk2ab35nno3/default-settings.json?dl=0 dropbox.com/s/p0wywuknhc89yo8/user-settings.json?dl=0

1
Я не впевнений, що звідси запропонувати. Я не можу відтворити його на своїй копії (v1.2.1). Переглядаючи джерело VSCode, інсталяція біржі повинна форматувати JSON лише при виконанні явного "формату коду" (наприклад, Shift + Alt + F у Windows). Фактичною зареєстрованою командою є "editor.action.format", тому, можливо, у вас є інше розширення, яке виконує цю команду при збереженні. Одним із способів перевірити це може бути спробувати іншу встановлену мову та перевірити, чи діє вона однаково.
seairth

Відповіді:


138

Добре, перевірте, чи не встановлено це розширення: "Формат для форматування JS-CSS-HTML".

Тепер, якщо у вас є, натисніть CTRL+ SHIFT+ P, введіть "Formatter", і ви побачите опцію з написом Formatter Config.

Після вибору цієї опції відкривається файл з назвою formatter.json, і все, що вам потрібно зробити, - це відредагувати властивість (з іменем onSave) від true до false.

Перезапустіть проти коду та voilà !! Автоматичне форматування припинено. (так !!!!)


Дуже дякую! Врятував мої нерви! Це повинно бути набагато ширшим, оскільки в Інтернеті є багато публікацій, що задають одне і те ж питання, і vscode не має вказівника в налаштуваннях на formatter.json.
Крістоф Калін

44

У Visual Studio Code, щоб зупинити автоматичне форматування лише для ваших файлів json, додайте у settings.jsonфайл наступне , відкривши Налаштування користувача - Налаштування.

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

Має бути, так. У 1.42.1 це не мало ефекту. Мені довелося встановити для цього значення true для всіх інших форматів, де я хотів автоформат, за винятком [json] :( Як тільки editor.formatOnSave був істинним для всіх (не всередині блоку [...]), я не міг його відключити для формату json.
Сатрія,

19

Я використовую наведену нижче версію 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

Тепер дотримуйтесь цих вказівок зображення:

Клацніть Редагувати в settings.json Змінити показані значення налаштувань користувача

  1. Виберіть Зберегти все
  2. Перезапустіть код VS

2
Якщо це рішення не допомагає, спробуйте вимкнути vscode-JS-CSS-HTML-formatter, це допомогло в моєму випадку. Джерело: github.com/Microsoft/vscode/issues/16055
Степан Захаров

Альтернативний текст на ваших зображеннях кращий, ніж нічого, але інструкції на зображеннях не дуже доступні. Будь ласка, подумайте про те, щоб надалі вводити текстові інструкції до своїх відповідей.
TylerH


4

Варто зазначити

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

Для цього я зробив свою зміну та зберіг без форматування .

Ви можете зайти в комбінації клавіш проти коду та подивитися, що Save without formattingвстановлено. У моєму випадку (користувач mac) за ним CMD+Kслідував S.


3

У VS Code за замовчуванням Збереження без форматування виконується

КРОК 1: натисніть CTRL+, Kпотім
КРОК 2: натисніть CTRL+ Shift+S


2

Окрім відповідей тут, є інші налаштування, крім тих, "editor.formatOnSave"що можуть мати подібний ефект, які ви також можете відключити - наприклад, я включив у своїх налаштуваннях користувача (settings.json):

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

Це було обстановкою, яка боліла у мене головний біль. Дякую, що поділились!
Кеннет Лінн,

1

для мого формату було встановлено CMD k + s за замовчуванням для збереження VS Code без форматування. ви можете спробувати це

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.