簡體   English   中英

NetBeans 6.9中的OnSave操作

[英]OnSave actions in NetBeans 6.9

有沒有辦法告訴NetBeans在保存文件時執行特定操作? 例如,在保存源文件時刪除未使用的導入?

這不是一個好的做法,NetBeans不支持它。

我復活了這個話題。

那么這段代碼是用Netbeans 7.4測試的。 在這里,我將覆蓋actionPerformed方法中的默認保存操作。 如果您選擇自己創建一個使用向導創建一個新Action,然后在actionPerformed方法中調用save操作。

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();
    }
}

轉到Tools-> Options選擇Editor ,然后選擇On Save Tab現在從下拉菜單中選擇Java 因此,現在選擇“ Organize Imports選項。 希望這會幫助你。

這是一個有趣的問題......因為我相信你必須編寫一個自定義的NetBeans插件來做你想要的(功能不是開箱即用的),而且我一直在尋找探索NetBeans插件開發的借口。

然而,花了幾個小時閱讀教程並爬過javadocs ......很明顯,這個主題是一個很大的咀嚼,可能比你想要的更多涉及。


我認為最好的建議是忘記在保存時刪除未使用的導入,而是在構建時執行此步驟。 NetBeans提供了與Ant和/或Maven的完美集成(出於構建目的,它基本上只是圍繞這些工具的GUI包裝器),並且有許多Ant任務可以完成您想要的任務。 看到:

http://ant.apache.org/external.html
(尋找“CleanImports”和“Importscrubber”任務)

如果您的NetBeans項目是基於Maven的,那么您可以使用MavenAntRun插件隨時插入其中一個Ant任務。

如果您不習慣直接在NetBeans中處理Ant或Maven,那么只需切換到“Files”選項卡並查看項目的根目錄。 如果是Maven項目,則構建腳本將命名為pom.xml 否則,您的項目通常將基於Ant,構建腳本將命名為build.xml 上述這些項目的文檔應該清楚地說明如何從那里向前推進。


我注意到這兩個Ant任務暫時沒有更新,因此如果遇到問題,您可能需要查看非常流行和最新的PMD系統 ,該系統有自己的與NetBeans集成文檔 但是,問題是PMD主要用於生成報告......我不知道它是否可以用來實際采取行動和更改源文件。

不完全是您的問題的答案,但請注意NB 7.1允許您立即修復整個項目的導入: http//wiki.netbeans.org/NewAndNoteworthyNB71#Organize_Imports_Hint

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM