Расширение Prettier vscode, игнорирующее файлы конфигурации

Я не могу получить более красивое расширение для использования моих файлов конфигурации. Он продолжает использовать глобальные настройки (как определено в настройке пути конфигурации в vscode). Я сделал пример проекта:

https://github.com/Supperhero1/prettierTest

Я установил для tabWidth значение 1 в файле .prettierrc. Когда я запускаю "npx prettier --write." пакет prettier правильно форматирует документ test.ts, чтобы иметь отступ в единицу, но если я сохраню файл (у меня включен формат при сохранении), он будет отформатирован обратно в глобальную настройку (4 пробела). Я удалил все настройки в глобальных настройках, но затем по умолчанию используется вкладка с двумя пробелами. Кажется, что расширение полностью игнорирует файл конфигурации. У коллеги есть расширение, и оно отлично работает с файлами конфигурации.

Я пытаюсь выяснить, что может переопределять настройку, в описании расширения указано, что приоритет определения настроек следующий:

      Prettier configuration file
.editorconfig
Visual Studio Code Settings (Ignored if any other configuration is present)

И в официальных документах приоритет разрешения файла конфигурации:

      A "prettier" key in your package.json file.
A .prettierrc file written in JSON or YAML.
...

Видя, что у меня нет более красивого ключа в моем файле package.json, не должно быть ничего, что могло бы переопределить мой файл .prettierrc. Я попытался перезапустить vscode, но это не помогло. У кого-нибудь еще была эта проблема, я не уверен, где искать, чтобы решить эту проблему ...

10 ответов

Решение

Кажется, что расширение prettier VSCode использует файл конфигурации в настройках VSCode поверх локального, даже если эта конфигурация является пустым файлом json, затем он возвращается к настройкам по умолчанию вместо локальных (из .prettierrc). Когда я удалил путь из параметра Prettier: Config Path в VSCode, он работал, как ожидалось.

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

В VS Code нажмите Ctrl + shift + p чтобы открыть палитру команд, затем выберите

Предпочтения: откройте настройки (JSON) и добавьте строку среди других настроек, которые у вас есть:

        "prettier.configPath": ""

Сохраните файл. Теперь расширение Prettier учитывает ваши локальные файлы конфигурации .prettierrc . В основном Prettier: Config Path Path to the prettier configuration file опция отменяет все другие файлы конфигурации независимо от размещения.

Я столкнулся с этой проблемой, мне потребовалось много времени, чтобы решить ее. И, наконец, я нашел решение своей проблемы, похожее на ваше.

  1. В VS Code нажмите открыть палитру команд (Ctrl + Shift + P)
  2. Найдите и выберите это: Формат документа с...
  3. После выбора этого выберите Prettier - средство форматирования кода , чтобы сделать его средством форматирования по умолчанию.

Мне кажется, что мой VSCode уже был настроен на использование собственного внутреннего парсера, и из-за этого он использовался вместо этого (например, при выполнении форматирования при сохранении

Я нуждался в этом в моем settings.json

      "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
}

Итак, у меня возникла та же проблема с ошибкой: «Обнаружена локальная конфигурация (т.е. .prettierrc или .editorconfig), конфигурация VS Code не будет использоваться»

Решение состоит в том, чтобы отключить эти параметры в vscode красивее:

Prettier: используйте конфигурацию редактора — отметьте ее как отключенную

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

Добавление editor.defaultFormatter в настройки VSCode помогло мне,

      {
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true,
  "editor.formatOnPaste": false,
  "prettier.useEditorConfig": false,
  "prettier.useTabs": false,
  "prettier.configPath": ".prettierrc"
}

Я пробовал так много разных способов, которые рекомендовали другие люди; однако ничего не работало для репозитория. Единственный способ, который сработал со мной, — это удалить программу Prettier из VScode. Мой рабочий репозиторий в настоящее время имеет следующие правила форматирования в «.editorconfig», «.eslintrc.json», «.prettierrc.html.json», «.prettierrc.ts.json», «.prettierrc.scss.json» локально.

Мое решение было тем, что указано в руководстве по расширению.

«prettier.resolveGlobalModules»: правда

И после этого он соблюдает локальную конфигурацию

Мне пришлось установить prettier в качестве форматировщика по умолчанию для определенного языка. По какой-то причине просто установил его по умолчанию с помощью "editor.defaultFormatter": "esbenp.prettier-vscode"не работает. Однако,

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

сработало.

У нас похожая проблема, я решил ее так.

  1. В коде VS нажмите: ctrl + shift + p
  2. Найдите и перейдите в «Предпочтения»: «Открыть настройки» (JSON)
  3. Как только вы окажетесь в settings.json, нажмите ctrl + f и найдите это: prettier.useEditorConfig
  4. Убедитесь, что для его значения установлено значение true, например: «prettier.useEditorConfig»: true
Другие вопросы по тегам