2015-09-16 27 views
1

我正在开发NetBeans插件/插件。现在我想以编程方式修复导入。我用机器人类和模拟键ctrl + 转变 + 这是fix imports的快捷方式。它的工作,但也有一些问题。例如需要重点编辑面板,然后我必须把它带到字体和等待。有时我必须窃取焦点。因为它是一个扩展它可以内部访问羽毛,如果我做那种模拟我真的不需要扩展。那么,如何从NetBeans扩展的Java类中内部修复导入问题?如何修复使用netbeans插件/ api导入

我同时阅读faq网站和development javadoc但我找不到任何与修复导入选项相关的事情。

+1

我不是扩展/插件开发者,但“*它的工作原理,但有问题*。”听起来含糊不清。也许值得更详细地描述你的问题。 – Pshemo

+0

好吧,我会....... –

回答

1

我真的没有把时间用完,但希望这会有所帮助。

我认为类你想要的是org.netbeans.modules.java.editor.imports.JavaFixAllImports

有许多在那里,看上去很有希望,如果你有正确的引用的方法。

为了使用它,您需要您的模块依赖于不公开导出其任何包的Java Editor模块。因此,要使用它,您需要点击添加模块对话框中的Show NON-API Modules复选框,然后您需要编辑模块依赖关系并选择Implementation Version单选按钮,并确保设置了Include Packages in Classpath的复选框。

像这样:

Screenshot showing how to edit module dependancies

您可以在这里浏览来源:

http://hg.netbeans.org/main/file/842027a30807/java.editor/src/org/netbeans/modules/java/editor/imports/JavaFixAllImports.java

它看起来并不像它在比另一个javadoc注释的方式多许可证和作者评论。


更新

感谢WillShackleford我能够从插件代码fiximports。如果有人想知道如何使用netbean插件修复import(for java)。 这里是代码。 你应该导入org.netbeans.modules.java.editor.imports.JavaFixAllImports

public void importFix() { 
     JavaFixAllImports fiximports = JavaFixAllImports.getDefault(); 
     jtc = EditorRegistry.lastFocusedComponent(); 
     FileObject fo = FileUtil.toFileObject(new File("path of the .java file")); 
     fiximports.fixAllImports(fo, jtc); 
    } 
+0

非常感谢你,我从来没有想过我能够完成我的插件。但现在我可以再次感谢你。 –

+0

和一个问题,我们可以在javadoc上看到这个类http://bits.netbeans.org/dev/javadoc/?我找不到节点/ java –

+0

再次感谢你,你有什么想法,为什么我不能导入该类?我将java编辑器添加到依赖关系中。但是当我编写导入语句时,netbeans要求我一次又一次搜索依赖关系。请参见http://i.imgur.com/5jOnstx.png和http://i.imgur.com /8KJt98Q.png –

相关问题