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

Формат IntelliJ getter/setter

Как вы можете заставить IntelliJ генерировать getter/seters в одной строке следующим образом:

public String getAbc() { return abc; }

Вместо

public String getAbc() {
   return abc;
}

??

4b9b3361

Ответ 1

Нет шаблонов ни для геттеров, ни для equals/hashcode. Они жестко закодированы в IDEA.

Источник

Вы можете видеть, что в этом IntelliJ Wishlist

Ответ 2

Я использую IntelliJ IDEA 14.1.0, и вы можете настроить это поведение.

Просто используйте параметр "Создать..." или используйте ярлык Alt + Insert и выберите "Getter and Setter".

В открывшемся окне "Выбрать поля" у вас есть опция "Getter Template" вверху. Используйте кнопку "..." рядом с выпадающим меню, чтобы изменить шаблон.

Выберите "IntelliJ Default" и нажмите кнопку "Копировать", чтобы создать новый "AlwayStartWithGet", который вы можете редактировать.

Просто удалите следующий раздел:

#if ($field.boolean)
  #if ($StringUtil.startsWithIgnoreCase($name, 'is'))
    #set($name = $StringUtil.decapitalize($name))
  #else
    is##
#end
#else
  get##
#end

И замените его простым

get##

Вам следует оставить:

public ##
#if($field.modifierStatic)
  static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
get##
${name}() {
  return $field.name;
}

Теперь вы можете использовать настраиваемый шаблон при генерации кода, выбрав его в раскрывающемся меню шаблона getter.

Ответ 3

Вы не указали, какую версию IDEA вы используете, поэтому я предполагаю последние 8 или 9.

Проверьте настройки кода в разделе "Выравнивание и привязки". Вы должны найти там опцию "Простые методы в одной строке".

Ответ 4

Я не знаю, почему вы хотите сделать это, предположительно для сохранения визуального пространства. Если это так, просто используйте функцию IntelliJ, чтобы сбрасывать тривиальные геттеры/сеттеры и забывать о том, как это сделать. Складную функцию можно найти в

Настройки → Параметры IDE → Редактор → Складывание кода → Отображение сводной схемы кода → Простые атрибуты свойств

Ответ 5

Для Idea 2016.

Шаблон Getter

Объедините последние 3 строки в одну строку:

${name}() { return $field.name; }

Шаблон сеттера

Добавить двойной хеш (без пробела) в конце самой длинной строки:

[...] ($field.type, $paramName) {##

Объедините последние две строки в одну строку:

$field.name = $paramName; }

Примечание: как прокомментировал @mindas, вам, скорее всего, понадобится визуальная автоматическая фальцовка, которая не получит версии.

Ответ 6

Alex G и laffuste предоставили ответы, которые помогли мне, но даже после того, как вы будете следовать этим инструкциям, IntelliJ все равно может автоматически отформатировать ваш код. Чтобы этого не происходило, перейдите в "Настройки" → "Редактор" → "Стиль кода" → Java (или другой язык). Нажмите на вкладку под названием "Упаковка и брекеты". Под заголовком "Сохранить при переформатировании" установите флажок "Простые методы в одну строку".

Для большей краткости вы можете устранить пустые строки между методами получения и установки. Для этого нажмите на вкладку "Пустые строки". В разделе "Минимальные пустые строки" найдите текстовое поле рядом с "Методом обхода". Введите 0 в текстовом поле.