Можно ли изменить шаблон генерации кода IntelliJ для equals() и hashCode()
Можно ли изменить шаблон генерации кода для equals()
и hashCode()
?
Я бы хотел, чтобы сгенерированный код использовал класс Java 7 Objects
для методов тезисов.
Ответы
Ответ 1
Начиная с release 14.1 в Ultimate Edition можно настроить шаблон генерации кода equals()/hashCode() без использования какого-либо стороннего плагина.
Нажмите "Alt + Insert" (Generate...), выберите "equals() и hashCode()", и вы сможете выбрать один из предопределенных шаблонов или собственный шаблон.
!["Generate equals() and hashCode()" dialog]()
![Edit "equals() and hashCode()" Velocity templates]()
Ответ 2
ОБНОВЛЕНИЕ: посмотрите ответ от @datentyp. Оставшаяся моя для тех, кто застрял на старых версиях
Для этого есть плагины.
Посмотрите на это:
http://plugins.jetbrains.com/plugin/6875?pr=idea
http://plugins.jetbrains.com/plugin/7244?pr=idea
Они являются open source, поэтому вы можете изменить их, если вам нужно.
Ответ 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. Наслаждайтесь.: -)