繁体   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