Как изменить подпись набора меток, которую генерирует Eclipse?

В моем текущем проекте есть соглашение о кодировании, с которым переменные экземпляра никогда не упоминаются. префикс и эти параметры никогда не должны скрывать переменные экземпляра.

Это приводит к сеттерам, которые выглядят так:

public void setFoo(final Foo aFoo)
{
  foo = aFoo;
}

К сожалению, eclipse не будет генерировать это для меня по умолчанию. Я нашел в стиле кода, я могу приблизиться к нему, добавив в список префикса параметров, однако я только хочу, чтобы он применялся к методам набора, и я хотел бы добавить туда и последний тег.

Есть ли способ достичь этого, используя шаблоны? Другая конфигурация?

Ответы

Ответ 1

Я думаю, что в настоящее время единственным способом применения префиксов параметров для методов setter является только создание нового шаблона для методов setter, но этот шаблон не будет использоваться генератором доступа. Вы можете увидеть список существующих шаблонов в Окно Настройки Java Редактор Шаблоны, см. этот question для некоторых советов по созданию шаблона.

Вы можете изменить настройки Eclipse, чтобы указать префиксы (и суффиксы) для всех типов переменных либо на рабочей области, либо на уровне проекта, это применимо ко всем методам, хотя и не только сеттерам. Вы можете использовать функцию "Очистить", чтобы убедиться, что ваши параметры являются окончательными.

Чтобы успокоить свое соглашение о коде, вы можете указать, что все переменные экземпляра префикса вместо этого, таким образом ваши параметры не будут переопределять переменные экземпляра, вы можете не захотеть этого делать.


Переменные префиксы

Чтобы изменить настройки рабочего пространства, перейдите в Окно Настройки Java Стиль кода, а затем отредактируйте список, чтобы использовать предпочтительные префиксы/суффиксы.

Чтобы изменить настройки проекта, откройте свойства проекта (Alt + Enter), затем выберите Стиль Java-кода, выберите Включить специальные настройки проекта, затем отредактируйте настройки как для рабочей области.

Чтобы включить конкретный префикс только для методов setter, вам нужно будет изучить внутренние шаблоны кода, чтобы идентифицировать и модифицировать setter


Конечные параметры

Чтобы все параметры метода были окончательными, вы можете изменить процессор очистки Java, чтобы добавить параметры final. В Окно Настройки Java Стиль кода Очистка, вы можете скопировать или отредактировать активный профиль. На вкладке Стиль кода выберите Использовать модификатор "final", где это возможно, в разделе Объявления переменных, затем убедитесь, что Параметр > . Очистка будет применяться при запуске Источник Очистка

Чтобы автоматически добавлять окончательные параметры для каждого сохранения, вы можете изменить действия сохранения в Окно → ** Настройки Java Редактор Сохранить действия, убедитесь, что выбрано Выбрано выбранное действие при сохранении (это также форматирует ваш код и организует импорт, если хотите), выберите Дополнительные действия и Настроить, затем в Стиль кода, примените то же, что указано выше

Ответ 2

Очень просто...

  • В вашем проекте под корневой папкой проекта создайте папку с именем .settings (возможно, она уже существует).
  • В этой папке создайте текстовый файл с именем org.eclipse.jdt.core.prefs
  • В этом файле укажите следующую строку:

org.eclipse.jdt.core.codeComplete.argumentPrefixes=a

Это, ваше дело. Он должен просто работать. Я не мог найти подходящую документацию для этого, но вот некоторые другие параметры, которые вы могли бы установить:

org.eclipse.jdt.core.codeComplete.argumentPrefixes= org.eclipse.jdt.core.codeComplete.argumentSuffixes= org.eclipse.jdt.core.codeComplete.fieldPrefixes= org.eclipse.jdt.core.codeComplete.fieldSuffixes= org.eclipse.jdt.core.codeComplete.localPrefixes= org.eclipse.jdt.core.codeComplete.localSuffixes= org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=

Ответ 3

Вы можете использовать Fast Code Eclipse Plugin, чтобы сделать это довольно легко.

Ответ 4

Eclipse → Настройки → Java → Стиль кода → Шаблоны кода → Код