有什麼辦法可以告訴NetBeans在保存文件時執行特定操作嗎?例如在保存源文件的同時刪除未使用的導入?NetBeans 6.9中的OnSave操作
回答
這是一個有趣的問題......因爲我相信你必須編寫一個自定義的NetBeans插件來完成你想要的功能(這個功能並不是開箱即可使用的)我一直在尋找一個探索NetBeans插件開發的藉口。
然而,花了幾個小時閱讀教程並通過javadocs爬行之後......很明顯,這個主題是一個相當大的咀嚼咀嚼,可能比你想要的方式更多的參與。
我認爲最好的建議是忘記在刪除未使用的進口節省時間,而是在構建時執行此步驟。 NetBeans提供與Ant和/或Maven的良好集成(出於構建目的,它基本上只是一個圍繞這些工具的GUI包裝),並且有許多Ant任務可以完成您想要的任務。請參閱:
http://ant.apache.org/external.html
(尋找「CleanImports」和「Importscrubber」任務)
如果你的NetBeans項目(S)是基於Maven的,那麼你可以隨時在這些Ant任務,有一個插件使用AntRun plugin for Maven。
如果您不習慣在NetBeans中處理Ant或Maven 直接,那麼只需切換到「文件」選項卡並查看項目的根目錄。如果它是一個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方法中的默認保存操作。 如果您選擇通過自己創建一個新的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
選項。希望這會幫助你。
- 1. Netbeans 6.9 UNDO操作
- 2. 使用Netbeans 6.9製作JPanel副本6.9
- 3. NetBeans 6.9 Beta LineWrap
- 4. netbeans 6.9 UML支持?
- 5. 的NetBeans 6.9耙錯誤11.04
- 6. netbeans的SOA插件6.9
- 7. NetBeans 6.9 Python中的TODO註釋Python
- 8. Netbeans 6.9和nbgit插件
- 9. Netbeans 6.9 + XSL自動完成
- 10. java apache poi導入netbeans 6.9
- 11. Netbeans 6.9啓動錯誤javax.xml.transform.TransformerException:java.lang.NullPointerException
- 12. 在NetBeans 6.9中找不到主類
- 13. Glassfish服務器在NetBeans 6.9啓動失敗6.9
- 14. Netbeans 6.9的Javascript調試器插件
- 15. Netbeans 6.9屏幕上的垂直線
- 16. NetBeans 6.9.x的度量標準
- 17. 在Netbeans 6.9中調試Rails突然停止工作
- 18. 將Netbeans項目從6.9導入到7.1
- 19. 使用netbeans 6.9和Lotus Domino R8 java
- 20. 從NetBeans 6.9升級到6.9.1在mac上
- 21. 問題加入Android平臺於NetBeans 6.9
- 22. 如何讓Webpshere使用NetBeans 6.9
- 23. Netbeans 6.9 for PHP。錯誤突出顯示
- 24. NetBeans IDE 6.9中的Jquery代碼完成在Windows 7中不起作用
- 25. C++無法使用Ubuntu和Netbeans 6.9打開原始套接字6.9
- 26. JTree在Netbeans中的拖放操作
- 27. NetBeans移動中的特權操作
- 28. Netbeans 6.9中的J2ME開發需要哪些插件?
- 29. 只顯示php而不是netbeans 6.9中的其他語言?
- 30. OnSave如何在Castle ActiveRecord中工作?
可以擴展此(爲什麼它不是很好的樣式)或提供一些參考(有關NetBeans不支持此特性)?現在,你的答案看起來更像是一個評論。 – jadarnel27 2012-08-08 14:56:13