[英]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的,那么您可以使用Maven的AntRun插件隨時插入其中一個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.