Есть ли способ сообщить NetBeans о выполнении определенного действия при сохранении файла? например удаление неиспользуемых импортов при сохранении исходного файла?Действия OnSave в NetBeans 6.9
ответ
Это был интересный вопрос ... поскольку я считаю, что вам нужно будет написать настраиваемый плагин NetBeans, чтобы делать то, что вы хотите (функциональность недоступна из коробки) вы искали предлог для изучения разработки плагинов NetBeans.
Однако, потратив пару часов на чтение учебников и проскальзывание через javadocs ... стало ясно, что этот предмет является довольно большим укусом, чтобы пережевывать и, вероятно, гораздо более активным, чем вы хотите.
Я думаю, что лучшее предложение забыть об удалении неиспользуемого импорта в экономии времени, и вместо того, чтобы выполнить этот шаг в наращивания времени. NetBeans предлагает отличную интеграцию с Ant и/или Maven (для целей сборки это всего лишь оболочка GUI вокруг этих инструментов), и есть множество задач Ant, которые могут делать то, что вы хотите. См:
http://ant.apache.org/external.html
(обратите внимание на «CleanImports» и «Importscrubber» задачи)
Если ваш проект (ы) NetBeans являются Maven на основе, то вы всегда можете подключить один из этих муравьев задач там используя AntRun plugin for Maven.
Если вы не имеете дело с Ant или Maven напрямую в NetBeans, то просто перейдите на вкладку «Файлы» и посмотрите на корневой каталог вашего проекта. Если его проект Maven, сценарий сборки будет называться pom.xml
. В противном случае ваш проект, как правило, будет основан на Ant, а скрипт сборки будет называться build.xml
. Документация по этим пунктам выше должна четко разъяснить, как двигаться дальше оттуда.
Я заметил, что эти две задачи Ant не были обновлены в некоторое время, так что если у вас возникли проблемы вы можете проверить очень популярный и уточненный PMD system, который имеет свой собственный documentation for integrating with NetBeans , Тем не менее, проблема заключается в PMD в первую очередь для создания отчетов ... Я не знаю, можно ли его использовать для фактического принятия действий и изменения исходных файлов.
Не совсем ответ на ваш вопрос, но учтите, что NB 7.1 позволяет зафиксировать импорт на весь проект сразу: http://wiki.netbeans.org/NewAndNoteworthyNB71#Organize_Imports_Hint
Это не очень хорошая практика и NetBeans не поддерживает его.
Я воскрешу эту тему.
Ну, этот код проверен с помощью Netbeans 7.4. здесь Я переопределяю действие сохранения по умолчанию в методе actionPerformed. Если вы решите сделать это самостоятельно, создайте новое действие с помощью мастера, а затем вызовите действие сохранения внутри метода actionPerformed.
package yourpackage;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import org.openide.awt.ActionID;
import org.openide.awt.ActionReference;
import org.openide.awt.ActionReferences;
import org.openide.awt.ActionRegistration;
import org.openide.util.NbBundle.Messages;
@ActionID(
category = "File",
id = "BZ.SaveAction"
)
@ActionRegistration(
iconBase = "BZ/Save.png",
displayName = "#CTL_SaveAction"
)
@ActionReferences({
@ActionReference(path = "Menu/File", position = 750),
@ActionReference(path = "Toolbars/File", position = 0),
@ActionReference(path = "Shortcuts", name = "D-S")
})
@Messages("CTL_SaveAction=Save")
public final class SaveAction implements ActionListener {
org.openide.actions.SaveAction sa = org.openide.util.actions.CallbackSystemAction.get(org.openide.actions.SaveAction.class);
@Override
public void actionPerformed(ActionEvent e) {
// custom code
JOptionPane.showMessageDialog(null, "custum message ");
sa.performAction();
}
}
Goto Tools-> Options
выбрать Editor
там выбрать On Save Tab
теперь выбрать Java
из выпадающего меню. Итак, теперь выберите Organize Imports
. Надеюсь, что это поможет вам.
- 1. Netbeans 6.9 Операции UNDO
- 2. netbeans 6.9 Поддержка UML?
- 3. Netbeans 6.9 + XSL автозаполнение
- 4. NetBeans 6.9 Beta LineWrap
- 5. Ubuntu Netbeans 6.9 является уродливым
- 6. Метрики для NetBeans 6.9.x
- 7. Проблемы с плагинами в Netbeans 6.9
- 8. Комментарии TODO в NetBeans 6.9 Python
- 9. Граф зависимости Maven отсутствует в NetBeans 6.9
- 10. Проблема добавления платформы Android в NetBeans 6.9
- 11. Сервер Glassfish начал сбой в netbeans 6.9
- 12. Как построить банку в NetBeans 6.9?
- 13. Отладка PHP с помощью Netbeans 6.9
- 14. проблема настройки zend framework с netbeans 6.9!
- 15. Как удалить NetBeans 6.9 на Windows 7?
- 16. Netbeans 6.9 для PHP. Ошибка выделения
- 17. Плагин отладчика Javascript для Netbeans 6.9
- 18. Поддержка NetBeans 6.9 для HAML и SASS?
- 19. Как заставить Webpshere работать с NetBeans 6.9
- 20. Netbeans 6.9 ошибка запуска javax.xml.transform.TransformerException: java.lang.NullPointerException
- 21. Импорт проекта Netbeans с 6.9 до 7.1
- 22. Netbeans 6.9 использует 50-60% CPU
- 23. Netbeans 6.9 Вертикальная линия на экране
- 24. Как заставить java ServiceLoader работать в приложении модуля NetBeans 6.9
- 25. Не удается найти основной класс в NetBeans 6.9
- 26. Ошибка проверки веб-сервиса RESTful в Netbeans 6.9 с Mysql
- 27. показывает только php, а не другие языки в netbeans 6.9?
- 28. программы консольных тестирования Python со строками Unicode в NetBeans 6.9
- 29. Какие плагины необходимы для разработки J2ME в Netbeans 6.9?
- 30. Как вы получаете полную поддержку кодирования zen в NetBeans 6.9?
Возможно, это может измениться (почему это не хороший стиль) или предоставить некоторые ссылки (специфика о том, что NetBeans не поддерживает это)? Прямо сейчас ваш ответ больше похож на комментарий. – jadarnel27