有没有办法告诉NetBeans在保存文件时执行特定操作?例如保存源文件时删除未使用的导入?
答案 0 :(得分:0)
这是一个有趣的问题......因为我相信你必须编写一个自定义的NetBeans插件来做你想要的(功能不是开箱即用的),而且我已经一直在寻找探索NetBeans插件开发的借口。
然而,在花了几个小时阅读教程并浏览javadocs之后......很明显,这个主题很容易咀嚼,而且可能比你想要的更多。
我认为最好的建议是忘记在保存时间删除未使用的导入,而是在构建时执行此步骤。 NetBeans提供了与Ant和/或Maven的完美集成(出于构建目的,它基本上只是围绕这些工具的GUI包装器),并且有许多Ant任务可以完成您想要的任务。参见:
http://ant.apache.org/external.html
(寻找“CleanImports”和“Importscrubber”任务)
如果您的NetBeans项目是基于Maven的,那么您始终可以使用AntRun plugin for Maven插入其中一个Ant任务。
如果您不习惯在NetBeans中直接处理Ant或Maven ,那么只需切换到“文件”选项卡并查看项目的根目录。如果是Maven项目,则构建脚本将命名为pom.xml
。否则,您的项目通常将基于Ant,构建脚本将命名为build.xml
。上述这些项目的文档应该清楚地说明如何向前推进。
我注意到这两个Ant任务暂时没有更新,所以如果您遇到问题,可能需要查看非常受欢迎且最新的PMD system,它有自己的documentation for integrating with NetBeans {3}}。但是,问题在于PMD主要用于生成报告......我不知道它是否可以用来实际采取行动和更改源文件。
答案 1 :(得分:0)
不完全是您的问题的答案,但请注意NB 7.1允许您立即修复整个项目的导入:http://wiki.netbeans.org/NewAndNoteworthyNB71#Organize_Imports_Hint
答案 2 :(得分:0)
这不是一个好习惯,NetBeans不支持它。
答案 3 :(得分:0)
我复活了这个话题。
这段代码使用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();
}
}
答案 4 :(得分:0)
转到Tools-> Options
选择Editor
,然后选择On Save Tab
,现在从下拉菜单中选择Java
。所以,现在选择Organize Imports
选项。希望这会对你有所帮助。