Как настроить поведение быстрого исправления "назначить параметр новому полю" в eclipse?
Я люблю быстрые исправления Затмения. Я часто использую "параметр параметра для нового поля", но я бы очень хотел настроить его так, чтобы он не включал ключевое слово final. (GWT RPC не сериализует конечные поля, и сейчас я делаю много GWT RPC.)
Мне не удалось найти параметр, который управляет этим исправлением. Есть ли параметр, который мне не хватает, или мне нужно углубиться в документацию по разработке плагинов и сделать свое собственное, не финальное поле?
Я использую Eclipse 3.4
ОБНОВЛЕНИЕ - помечает ответ о точке расширения разрешения маркера как принятый, так как похоже, что в конфигурации нет опции baked in.
5 ответов
Не очень простой способ - расширить точку расширения org.eclipse.ui.ide.markerResolution.
<extension point="org.eclipse.ui.ide.markerResolution">
<markerResolutionGenerator
markerType="org.eclipse.core.resources.problemmarker"
class="org.eclipse.escript.quickfix.QuickFixer"/>
</extension>
Более подробная информация доступна в Eclipse Wiki
Используйте Eclipse Save Actions для редактора Java.
Зайдите в Окно -> Настройки -> Java -> Редактор -> Отметка "Сохранить действия". "Выполните выбранные действия при сохранении". Отметьте "Дополнительные действия". Добавьте следующее действие "Добавить окончательный модификатор в личные поля".
Смотрите прикрепленный снимок экрана.
ОК, это хоккей, но:
Quickfix делает его окончательным, только если вы работаете с параметром конструктора; из параметра простой функции, это делает его нефиналом. Таким образом, вы можете либо сделать конструктор неконструктором (изменить имя и дать ему тип возвращаемого значения), либо передать все параметры новой функции и запустить функцию быстрого исправления для функции. Затем вернитесь обратно в конструктор или встроите функцию.
Как я уже сказал, хоккей, но по крайней мере это легко.
Недавно переключившись на Eclipse 3.4, я столкнулся с "последней" проблемой члена.
В Eclipse 3.4 есть новое поведение, которое меняет закрытый член на final (даже если вы ввели его без этого ключевого слова), если он не может быть изменен (например, не задан сеттер...)
Вы, вероятно, можете отключить его...
Вы также можете посмотреть плагин "Быстрое исправление для бедняков" ( http://www.jave.de/eclipse/poormansquickfix/index.html). Я использовал это некоторое время назад, и это может позволить вам настроить. Я не могу гарантировать, что это все еще работает... извините.