Первый шаг — установить Prettier в ваш проект. Вы можете сделать это с помощью npm или пряжи:
npm install --save-dev --save-exact prettier
or
yarn add --dev --exact prettier
Это устанавливает Prettier как зависимость разработки в вашем проекте и гарантирует, что у вас установлена определенная версия Prettier, которая не изменится неожиданно.
Шаг 2: Создайте глобальный файл конфигурации Prettier
Далее вам нужно создать глобальный файл конфигурации для Prettier. Этот файл сообщает Prettier, как форматировать ваш код, и позволяет настроить параметры форматирования в соответствии с вашими предпочтениями.
Создайте файл с именем .prettierrc
в корне вашего проекта и добавьте следующее содержимое:
{ "trailingComma": "es5", "tabWidth": 2, "semi": true, "singleQuote": true }
Эта конфигурация указывает, что Prettier должен использовать запятую после последнего элемента в массиве или объекте (используя параметр «es5»), использовать 2 пробела для отступа, добавлять точку с запятой в конце операторов и использовать одинарные кавычки для строк.
Вы можете настроить эти параметры в соответствии со стилем кодирования и соглашениями вашего проекта. Полный список опций и их значений смотрите в Документации Prettier.
Шаг 3: Создайте локальный файл конфигурации Prettier
При работе над проектом с существующей .prettierrc
конфигурацией вы можете обнаружить, что форматирование трудно читать и с ним работать, или оно не соответствует вашим личным предпочтениям. Например, ширина строки может быть установлена равной 80, что может быть мало для некоторых размеров экрана и вызывать дискомфорт при чтении кода. Чтобы решить эту проблему, вы можете создать локальный файл конфигурации, который позволит вам переопределить глобальную конфигурацию Prettier и настроить параметры форматирования в соответствии с вашими предпочтениями.
Чтобы создать локальный файл конфигурации, создайте файл с именем .prettierrc.local.json
в корне вашего проекта и укажите нужные параметры форматирования. Например, вы можете установить ширину вкладки равной 4 пробелам вместо 2 пробелов, указанных в глобальной конфигурации. Это гарантирует, что ваш код будет отформатирован в соответствии с вашими предпочтениями, не влияя на форматирование других файлов в проекте.
{ "tabWidth": 4, "printWidth": 120 }
Эта конфигурация указывает, что Prettier должен использовать 4 пробела для отступа вместо 2 пробелов, указанных в глобальной конфигурации, и изменить ширину строки на 120 вместо 80 символов по умолчанию.
Кроме того, чтобы гарантировать, что ваши изменения в коде не вызовут ненужных изменений форматирования при фиксации кода, мы будем использовать хук перед фиксацией. Этот хук запускает Prettier для файлов, которые должны быть зафиксированы, и гарантирует, что они отформатированы в соответствии с файлом .prettierrc
configuration. Таким образом, ваш код форматируется в соответствии с вашими предпочтениями, сохраняя при этом соответствие общим стандартам форматирования проекта.
Шаг 4. Настройте VS Code для использования локального файла конфигурации
Чтобы использовать локальный файл конфигурации в VS Code, вам нужно добавить параметр prettier.configPath
в настройки VS Code. Это говорит расширению Prettier использовать локальный файл конфигурации вместо глобального файла конфигурации.
Для этого откройте настройки VS Code (Файл › Настройки › Настройки или с помощью сочетания клавиш Ctrl+,) и добавьте в настройки следующую строку:
{ "prettier.configPath": "./.prettierrc.local.json" }
Эта конфигурация указывает путь к локальному файлу конфигурации.
Шаг 5: Установите расширение Prettier в VS Code
Чтобы использовать Prettier в VS Code, вы также должны установить расширение Prettier. Расширение обеспечивает интеграцию с Prettier и позволяет легко запускать Prettier в вашем коде прямо из редактора.
Чтобы установить расширение Prettier, откройте представление «Расширения» в VS Code (Вид › Расширения или с помощью сочетания клавиш Ctrl+Shift+X), найдите «Prettier — Code formatter» и нажмите кнопку «Установить».
Шаг 6: Создайте хук перед фиксацией
Теперь, когда Prettier установлен и настроен, вы можете создать хук перед фиксацией, который будет автоматически запускать Prettier в вашем коде перед каждой фиксацией и обеспечивать правильное форматирование всего кода.
Создайте в своем проекте файл с именем .git/hooks/pre-commit
(без расширения файла) и добавьте следующее содержимое:
#!/bin/bash # Get the list of files added or modified in this commit files=$(git diff --cached --name-only --diff-filter=ACM | grep "\.js$") # If there are no JavaScript files, exit without doing anything if [ -z "$files" ]; then exit 0 fi # Run Prettier on the changed files using the shared configuration file echo "Running Prettier on the following files:" echo "$files" for file in $files; do npx --no-install prettier --config .prettierrc --write "$file" git add "$file" done
Этот скрипт делает следующее:
- Он использует Git, чтобы определить, какие файлы были изменены и подготовлены для фиксации, и фильтрует список, чтобы включить только файлы JavaScript и JSX.
- Он запускает Prettier на промежуточных файлах, используя как глобальный файл конфигурации, так и локальный файл конфигурации, и записывает исправленное форматирование обратно в файлы.
- Он использует Git для добавления измененных файлов обратно в индекс, чтобы исправленное форматирование было включено в фиксацию.
- Он выводит на консоль сообщение о том, что Prettier отформатировал код.
- Этот сценарий обеспечивает автоматическое форматирование всех промежуточных файлов JavaScript и JSX с помощью Prettier перед каждой фиксацией с использованием как глобальных, так и локальных файлов конфигурации.
Обязательно сделайте исполняемый хук pre-commit, выполнив следующую команду в терминале bash:
chmod +x .git/hooks/pre-commit
Шаг 7: протестируйте хук Pre-Commit
Чтобы протестировать хук перед фиксацией, вы можете создать тестовую фиксацию, которая вводит некоторые ошибки форматирования в ваш код, и посмотреть, обнаружит ли хук и исправит ли их до того, как фиксация будет сделана.
Вот пример рабочего процесса для тестирования хука предварительной фиксации:
1. Создайте новый файл с именем test.js
в каталоге вашего проекта и добавьте в него намеренно неправильное форматирование. Например:
const test=()=>{console.log('test');}
2. Подготовьте файл для фиксации, используя git add test.js
.
3. Попытайтесь зафиксировать изменения с помощью git commit -m “Test commit”
.
4. Если хук предварительной фиксации работает правильно, он должен обнаружить ошибки форматирования в test.js
и исправить их автоматически. Вывод в вашем терминале должен выглядеть примерно так:
Running Prettier on the following files: test.js [warn] test.js Code formatted with 1 warning
Сообщение [warn]
указывает, что Prettier обнаружила ошибку форматирования в файле, а сообщение Code formatted with 1 warning
указывает, что Prettier исправил ошибку форматирования.
Заключение
Выполняя шаги, описанные в этом руководстве, вы можете убедиться, что весь ваш код отформатирован последовательно, без необходимости тратить время на ручное форматирование каждого файла. Это сэкономит ваше время и снизит риск появления в коде ошибок, связанных с форматированием.
Если вам нравится автоматизировать задачи в рабочем процессе разработки, вас также может заинтересовать другой мой пост Автоматизация создания компонентов React.
Я надеюсь, что это руководство было полезным. Если у вас есть какие-либо вопросы или отзывы, пожалуйста, дайте нам знать в комментариях!