Действия OnSave в NetBeans 6.9 - PullRequest
       2

Действия OnSave в NetBeans 6.9

4 голосов
/ 28 сентября 2010

Есть ли способ сказать NetBeans выполнить определенное действие при сохранении файла? например удалить неиспользуемый импорт при сохранении исходного файла?

Ответы [ 5 ]

0 голосов
/ 08 июня 2016

Перейти Tools-> Options выберите Editor там выберите On Save Tab, теперь выберите Java из выпадающего меню. Итак, теперь выберите Organize Imports вариант. Надеюсь, это поможет вам.

0 голосов
/ 12 ноября 2013

Я воскрешаю эту тему.

Ну, этот код кода протестирован с 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();
    }
}
0 голосов
/ 14 декабря 2011

Не совсем ответ на ваш вопрос, но обратите внимание, что NB 7.1 позволяет вам исправить импорт сразу для всего проекта: http://wiki.netbeans.org/NewAndNoteworthyNB71#Organize_Imports_Hint

0 голосов
/ 08 августа 2012

Это не очень хорошая практика, и NetBeans его не поддерживает.

0 голосов
/ 01 октября 2010

Это был интересный вопрос ... так как я считаю, что вам нужно написать собственный плагин NetBeans, чтобы делать то, что вам нужно (функциональность недоступна "из коробки"), и яискал повод для изучения разработки плагинов NetBeans.

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


Я думаю, что ЛУЧШЕЕ предложение - забыть об удалении неиспользованного импорта в время сохранения и вместо этого выполнить этот шаг в время сборки .NetBeans предлагает отличную интеграцию с Ant и / или Maven (для целей сборки это просто оболочка GUI вокруг этих инструментов), и существует целый ряд задач Ant, которые могут выполнять то, что вы хотите.См .:

http://ant.apache.org/external.html
(ищите задачи «CleanImports» и «Importscrubber»)

Если ваши проекты NetBeans основаны на Maven, то вы всегда можете подключитьв одной из этих задач Ant с помощью плагина AntRun для Maven .

Если вы не привыкли иметь дело с Ant или Maven напрямую в NetBeans, то простоПерейдите на вкладку «Файлы» и посмотрите на корневой каталог вашего проекта.Если это проект Maven, сценарий сборки будет называться pom.xml.В противном случае ваш проект обычно будет основан на Ant, а сценарий сборки будет называться build.xml.В документации по этим пунктам выше должно быть достаточно ясно, как двигаться дальше.


Я заметил, что эти две задачи Ant не обновлялись некоторое время, так что если вы столкнетесь с проблемами, вы можетеВы хотите ознакомиться с очень популярной и современной системой PMD , которая имеет собственную документацию для интеграции с NetBeans .Тем не менее, проблема в том, что PMD в первую очередь для генерации отчетов ... Я не знаю, можно ли его использовать для фактических действий и изменения исходных файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...