Плагин Prettier в VS Code настраивается через установку расширения из маркетплейса, создание файла конфигурации .prettierrc или prettier.config.js в корне проекта с указанием жестких правил форматирования, и установку Prettier как форматера по умолчанию в настройках редактора. После этого код будет автоматически переформатироваться при сохранении файла.
Зачем это нужно
- Prettier автоматически форматирует код по единым правилам, избавляя разработчиков от ручного соблюдения стиля кодирования
- Жесткие правила форматирования обеспечивают консистентность кода во всем проекте и команде разработчиков
- Единый стиль кода упрощает код-ревью, так как рецензенты сосредотачиваются на логике, а не на форматировании
- Prettier интегрируется с системой контроля версий Git для автоматического форматирования перед коммитом
- Жесткие правила предотвращают появление конфликтов слияния, вызванных различиями в форматировании кода
- Prettier поддерживает множество языков программирования: JavaScript, TypeScript, JSX, CSS, HTML, JSON, Markdown, YAML и другие
- Автоматическое форматирование экономит время разработчиков, которое в противном случае было бы потрачено на ручное оформление
- Prettier помогает новым членам команды быстро адаптироваться к стилю кодирования проекта
- Жесткие правила форматирования улучшают читаемость кода и снижают когнитивную нагрузку при чтении
- Prettier интегрируется с линтерами, такими как ESLint, для обнаружения логических ошибок наряду с форматированием
- Плагин в VS Code позволяет форматировать код прямо в редакторе без необходимости использования командной строки
- Жесткие правила Prettier уменьшают дебаты о стиле кодирования в команде, так как все подчиняются одному набору правил
- Prettier поддерживает форматирование на лету при сохранении файла, что предотвращает коммит неправильно отформатированного кода
- Правила Prettier можно настроить для соответствия предпочтениям компании или проекта
- Prettier помогает поддерживать чистоту и профессионализм кодовой базы на протяжении всего жизненного цикла проекта
Пошаговая инструкция
- Откройте VS Code на вашем компьютере
- Нажмите комбинацию клавиш
Ctrl+Shift+Xдля открытия панели расширений VS Code - В поле поиска расширений введите
Prettierдля поиска официального плагина - Найдите расширение с названием
Prettier - Code formatter, разработанное Prettier - Проверьте, что расширение имеет большое количество скачиваний и хорошие отзывы
- Нажмите на расширение
Prettier - Code formatterдля открытия страницы с описанием - Нажмите кнопку
Installдля установки расширения в VS Code - Дождитесь завершения установки, которое обычно занимает несколько секунд
- После установки нажмите кнопку
Reloadили перезагрузите VS Code, нажавCtrl+Shift+Pи выбравReload Window - Откройте терминал в VS Code, нажав
Ctrl+`или выбравView → Terminal - В терминале перейдите в корневую папку вашего проекта, используя команду
cd путь/к/проекту - Установите Prettier как зависимость проекта, введя команду
npm install --save-dev prettier - Дождитесь завершения установки Prettier через npm, которое может занять несколько минут в зависимости от скорости интернета
- После установки создайте файл конфигурации Prettier в корне проекта с помощью команды
touch .prettierrcна macOS/Linux илиecho . > .prettierrcна Windows - Откройте файл
.prettierrcв VS Code двойным кликом на его имя в файловом дереве проекта - Вставьте в файл
.prettierrcследующую базовую конфигурацию в формате JSON:{ "semi": true, "trailingComma": "es5", "singleQuote": true, "printWidth": 100, "tabWidth": 2, "useTabs": false } - Объясните каждый параметр конфигурации:
semi— добавлять ли точку с запятой в конце строк,trailingComma— добавлять ли запятые в конце массивов и объектов - Параметр
singleQuoteустанавливает использование одиночных кавычек вместо двойных,printWidth— максимальная длина строки в символах - Параметры
tabWidthиuseTabsконтролируют количество пробелов для отступа и использование табуляции - Сохраните файл
.prettierrc, нажавCtrl+S - Откройте параметры VS Code, нажав
Ctrl+,для доступа к меню настроек - В поле поиска введите
default formatterдля поиска настройки форматера по умолчанию - Найдите опцию
Editor: Default Formatterи выберите из выпадающего меню значениеPrettier - Code formatter - Закройте поиск и найдите опцию
Format On Saveв настройках для включения автоматического форматирования при сохранении файла - Переключите опцию
Format On Saveв положениеOnили установите флажок для включения - Дополнительно найдите опцию
Prettier: Require Configи переключите её в положениеOnдля обязательного использования файла конфигурации - Закройте параметры VS Code, нажав
Escapeили кликнув на кнопку закрытия - Откройте любой файл JavaScript или TypeScript из вашего проекта двойным кликом на его имя
- Внесите небольшие изменения в код, например удалите пробелы или измените форматирование
- Сохраните файл, нажав
Ctrl+Sдля запуска автоматического форматирования Prettier - Убедитесь, что код был переформатирован в соответствии с правилами, указанными в
.prettierrc - Для более жестких правил форматирования отредактируйте файл
.prettierrcи измените параметры - Например, установите
printWidthна значение80для более строгого контроля длины строк - Установите
trailingCommaна значениеallдля добавления запятых после всех элементов в массивах и объектах - Для использования альтернативного формата конфигурации создайте файл
prettier.config.jsвместо.prettierrc - В файле
prettier.config.jsэкспортируйте объект конфигурации, используя синтаксис:module.exports = { semi: true, singleQuote: true, printWidth: 100 }; - Удалите файл
.prettierrc, если вы используетеprettier.config.js, чтобы избежать конфликтов - Для интеграции Prettier с ESLint создайте файл
.eslintrc.jsonв корне проекта - В файле
.eslintrc.jsonдобавьте правило"extends": "prettier"для отключения правил ESLint, которые конфликтуют с Prettier - Установите дополнительный пакет
eslint-config-prettierчерез npm с командойnpm install --save-dev eslint-config-prettier - Для проверки конфигурации Prettier откройте палитру команд, нажав
Ctrl+Shift+P - В палитре команд введите
Prettier: Checkдля проверки всех файлов проекта на соответствие правилам форматирования - Для автоматического форматирования всех файлов в проекте введите в палитре команд
Prettier: Format Document - Выберите опцию
Format Documentдля форматирования текущего файла по правилам Prettier - Для форматирования всех файлов в проекте используйте команду в терминале
npx prettier --write . - Команда
npx prettier --write .переформатирует все файлы в проекте и его подпапках - Для проверки файлов без их изменения используйте команду
npx prettier --check . - Добавьте скрипты форматирования в файл
package.jsonдля удобства - В разделе
scriptsдобавьте строки:"format": "prettier --write ."и"check": "prettier --check ." - Теперь вы можете запускать форматирование, используя команду
npm run formatв терминале - Для интеграции с Git создайте файл
.prettierignoreдля исключения файлов из форматирования - В файл
.prettierignoreдобавьте пути к файлам и папкам, которые должны быть исключены, напримерnode_modules,dist,build - Сохраните файл
.prettierignoreи Prettier не будет форматировать файлы в указанных директориях - Для командной работы убедитесь, что файл
.prettierrcдобавлен в систему контроля версий Git - Все члены команды должны установить то же расширение Prettier в VS Code для единого форматирования
- Выполните коммит файла
.prettierrcв репозиторий Git с помощью командgit add .prettierrcиgit commit -m "Add Prettier config" - После настройки Prettier все файлы будут автоматически форматироваться при сохранении согласно установленным жестким правилам
Часто задаваемые вопросы
Можно ли отключить Prettier для отдельных файлов или участков кода? Да, вы можете добавить комментарий /* prettier-ignore */ перед кодом, который не должен форматироваться, или создать файл .prettierignore для исключения целых папок и файлов из форматирования.
Как решить конфликт между правилами Prettier и ESLint в одном проекте? Установите пакет eslint-config-prettier и добавьте "extends": "prettier" в конфигурацию ESLint, это отключит правила ESLint, которые конфликтуют с Prettier.
Почему Prettier не форматирует файл при сохранении, хотя расширение установлено? Убедитесь, что в параметрах VS Code опция Format On Save включена, что Prettier установлен как форматер по умолчанию, и что файл имеет поддерживаемое расширение, например .js, .ts или .jsx.