Итак, мы все использовали Красивее в наших проектах JavaScript или, по крайней мере, слышали об этом.
Prettier – это самоуверенный форматировщик кода, который вы можете подключить к своей ИДЕЕ или к крючку предварительной фиксации для автоматического форматирования вашего кода.
Необязательно, потому что он поставляется с правилами форматирования по умолчанию и очень небольшим количеством опций. Хотя сегодня их, кажется, намного больше, чем на моей памяти..
Prettier также может форматировать множество других языков, кроме JavaScript:
- JSX
- Поток
- Машинописный текст
- JSON
- HTML
- Vue
- Угловой
- CSS
- Менее
- SCSS
- Уценка
- Многомерные выражения (кстати, используемые в этом блоге)
И некоторые плагины сообщества доступны для других языков программирования, таких как PHP, PostgreSQL .. и Java !
Красивее-java-плагин
Сообщество разработало плагин для java, который использует node under the hood для форматирования ваших классов java. Плагин доступен на github .
Им действительно легко манипулировать:
npm install -g prettier prettier-plugin-java prettier --write "**/*.java"
Но это не очень удобно. Мы не хотим просить каждого разработчика, который будет работать над кодовой базой, установить плагин и запустить его самостоятельно.
Плагин Maven для плагина prettier-java
К счастью, HubSpot разработал плагин maven. Он также доступен на github .
Плагин поставляется в комплекте с node, prettier и плагином prettier-java, поэтому разработчикам не нужно устанавливать его самостоятельно, и он может быть выполнен внутри цели maven.
В вашем pom.xml конфигурационный файл просто добавьте следующий плагин:
com.hubspot.maven.plugins prettier-maven-plugin 0.7 90 2 false true true validate write
Таким образом, каждый раз, когда выполняется этап проверки, плагин будет выполняться в режиме записи и будет переформатировать все файлы проекта.
Вы также можете запустить плагин в командной строке, если вы занимаетесь подобными вещами: mvn prettier: проверьте
или mvn prettier: писать
Конфигурация
Мы играли только с 4 следующими вариантами конфигурации:
ширина печати
Ширина табуляции
использовать вкладки
Концевая линия
Другие доступные опции, похоже, неприменимы к языку Java.
Мы используем много перечислений с атрибутами в наших проектах, и более красивое форматирование для них ужасно поэтому я предлагаю вам инкапсулировать код, который вы не хотите, чтобы форматировался красивее, с комментариями:
//форматировщик:выкл.
и
//форматировщик:включен
Вот так:
public enum Field implements FieldDb { // @formatter:off ID( "id", Types.BIGINT, true, MODE_SEL_INSERT), ID_COMPTE( "id_compte", Types.BIGINT, true, MODE_SEL_INS_UP), ID_CENTRE( "id_centre", Types.BIGINT, false, MODE_SEL_INS_UP), // @formatter:on ...
Последний шаг
Последним шагом будет выполнение команды mvn prettier:write
на крючке предварительной фиксации git. На данный момент мы не настроили его в наших проектах, поэтому я обновлю сообщение с нашей процедурой.
Оригинал: “https://dev.to/m4nu56/prettier-to-format-your-java-codebase-3f7i”