Подтвердить что ты не робот

Можно ли изменить шаблон генерации кода IntelliJ для equals() и hashCode()

Можно ли изменить шаблон генерации кода для equals() и hashCode()?

Я бы хотел, чтобы сгенерированный код использовал класс Java 7 Objects для методов тезисов.

4b9b3361

Ответ 1

Начиная с release 14.1 в Ultimate Edition можно настроить шаблон генерации кода equals()/hashCode() без использования какого-либо стороннего плагина.

Нажмите "Alt + Insert" (Generate...), выберите "equals() и hashCode()", и вы сможете выбрать один из предопределенных шаблонов или собственный шаблон.

"Generate equals() and hashCode()" dialog

Edit "equals() and hashCode()" Velocity templates

Ответ 3

Обновление: с версии 14.1 это поддерживается.

По-видимому, этой функции не существует.

Есть запрос на это, хотя смотрите: http://youtrack.jetbrains.com/issue/IDEA-56007

Ответ 4

Да возможно, но с небольшим взломом. Найдите файл idea.jar в папке приложения. Загляните внутрь и найдите файлы вроде:

  • apacheEqualsBuilder3.vm
  • apacheHashCodeBuilder3.vm

и другие .vm файлы.

Эти файлы шаблонов повторно используют некоторые макросы из equalsHelper.vm.

Измените эти файлы внутри JAR внимательно, так как вам нравится перезагрузить приложение и проверить результат в Idea под

generate- > equals() и hashCode() → Шаблон (... три точки справа) → просмотр только для чтения с правой стороны.

Я думаю, что установка обновления Idea может перезаписать этот JAR вашим изменения пользовательских шаблонов.

Это работает! Проверено в Идеи 15. Наслаждайтесь.: -)