有什么办法可以告诉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