Форматирование VSCode, когда его не должно быть (красивее, javascript)

Я разрешил почти все конфликты между ESLint и Prettier. Однако недавно я столкнулся с одной, которая меня озадачила.

      const data = await userManager
    .getUsers()
    .orderBy('joinedDate', 'desc')
    .limit(20)
    .get();

Я очень предпочитаю этот формат выше, и мне кажется, что так оно и есть.

Проблема: при сохранении файла он форматируется обратно в:

      const data = await userManager.getUsers().orderBy('joinedDate', 'desc').limit(20).get();

Что меня смущает, так это то, что мой форматировщик при сохранении в vscode для Javascript.

      "editor.defaultFormatter": null,
"[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},

Однако ошибка Linting, которую я получаю, когда все в одной строке ... говорит об ошибке.

Так что это :

  • красивее говоря, что это ошибка.
  • Я "Быстрое исправление" вернулся к многострочному исправлению, используя более красивый
  • Но когда я «сохраняю» документ, он возвращается к одной строке с помощью средства форматирования - красивее?

Что говорит мне, что есть конфликт с чем-то другим, работающим / форматирующим, так это то, что я получаю "вспышку" при сохранении между форматировщиком, фактически вернувшим его правильно ( prettier?), но затем он форматируется второй раз обратно в одну длинную строку.

Но у меня только 1 форматтер?

1 ответ

После некоторого копания и экспериментов, похоже, это комбинация настроек, позволяющая ему правильно работать с prettier и линтер es6.

      // vscode's settings.json
//
    "editor.formatOnSave": false,
    "editor.defaultFormatter": null,
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "editor.codeActionsOnSave": {
        "source.fixAll": true
    },

Однако мне нужно вернуться и посмотреть, как это повлияет на мой golang, python, ruby, c++ и другие языки, которые я использую. Отчитаюсь.

Другие вопросы по тегам