Я знаю, что для Visual Studio есть более точный рефакторинг, но есть ли действительно хороший инструмент рефакторинга для Eclipse, который лучше, чем небольшое количество встроенных рефакторов?
Желательно что-нибудь бесплатное.
(Обновлять)
Хотите сделать такие вещи, как взять все строковые литералы в файле и сделать их константами. Решите множество ошибок PMD автоматическим способом.





Джекпот - это язык рефакторинга, встроенный в javac. Это был проект Джеймса Гослингса, который стал сердцем модуля рефакторинга Netbeans. По сути, это язык сопоставления с образцом, сопоставление по AST.
С его помощью вы можете писать свои собственные выкройки.
Редактировать: изменена ссылка на более активную (пост-Oracle) ссылку. Я понятия не имею, является ли это все еще жизнеспособным автономным проектом, хотя Netbeans теперь является полностью открытым исходным кодом.
Эта ссылка мертва. Я могу найти только несколько старых статей и страницу в вики NetBeans. Кто-нибудь знает, что случилось с проектом?
Некоторые плагины, такие как Checkstyle, подключаются к среде быстрого исправления и позволяют сразу вносить массовые исправления. Но то, что вы ищете, должно подключаться к существующей структуре рефакторинга, а не заменять ее.
Это не совсем ответ на ваш вопрос, но я не могу правильно отформатировать его в комментарий.
Вот хороший способ извлечь строки в константу в eclipse. (Я не знал о выбранной струне пару недель назад)
У нас есть такая строчка:
System.out.println("This Line Contains a constant The 42 Constant that is stuck inside");
Сначала отметьте желаемую константу курсором мыши и ctrl-1 + «выбрать выбранную строку», результат будет:
System.out.println("This Line Contains a constant " + "The 42 Constant" +" that is stuck inside");
Теперь вы можете поместить курсор мыши на выбранную константу и нажать Alt + Shift + T, а затем (извлечь константу), которая будет генерировать константы THE_42_CONSTANT как частную статическую конечную строку
private static final String THE_42_CONSTANT = "The 42 Constant";
...
...
System.out.println("This Line Contains a constant " + THE_42_CONSTANT+ " that is stuck inside");
Надеюсь, это то, что вы действительно ищете, конечно, вы можете настроить горячие клавиши для действий aboe в eclipse.
Я знаю, что вы предпочли бы бесплатный плагин для Eclipse, но если вам нравится ReSharper и вам нужно работать с Java, попробуйте InteliJ IDEA http://www.jetbrains.com/idea/index.html. Это было оригинальным источником вдохновения для ReSharper, а также разработкой JetBrains. Я считаю, что он имеет почти те же возможности рефакторинга, что и RS, а также поддерживает ту же схему клавиатуры (если вы решили использовать схему inteliJ в VS). Если вы все же попробуете, дайте нам, ребята, C# знать, как он сравнивается с вашим опытом RS. .
Вы говорите о затмении с Java?