Java 修复程序如何使用netbeans插件/api导入

Java 修复程序如何使用netbeans插件/api导入,java,netbeans,netbeans-platform,netbeans-plugins,Java,Netbeans,Netbeans Platform,Netbeans Plugins,我正在开发一个NetBeans扩展/插件。现在我想以编程方式修复导入。我使用robot类并模拟ctrl+shift+I键,这是修复导入的快捷方式。它可以工作,但也有一些问题。例如,需要焦点编辑器面板,然后我必须将其置于字体并等待。有时我必须窃取焦点。由于它是一个扩展,它可以在内部访问羽毛,如果我进行这种模拟,我真的不需要扩展。那么,如何在内部修复从NetBeans extension for Java类导入的问题呢 我读了这两个网站,但我找不到任何与修复导入选项相关的东西 在我真正开始工作之前,

我正在开发一个NetBeans扩展/插件。现在我想以编程方式修复导入。我使用robot类并模拟ctrl+shift+I键,这是修复导入的快捷方式。它可以工作,但也有一些问题。例如,需要焦点编辑器面板,然后我必须将其置于字体并等待。有时我必须窃取焦点。由于它是一个扩展,它可以在内部访问羽毛,如果我进行这种模拟,我真的不需要扩展。那么,如何在内部修复从NetBeans extension 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);
   }
如果您有正确的参考资料,其中有许多方法看起来很有希望

为了使用它,您需要您的模块依赖于
Java编辑器
模块,该模块不公开导出其任何包。因此,要使用它,您需要在添加模块对话框中单击
显示非API模块
复选框,然后您需要编辑模块依赖项并选择
实现版本
单选按钮,并确保设置了
在类路径中包含包
的复选框

像这样:

您可以在此处浏览源代码:

除了开始时的一个许可证和作者注释之外,它看起来没有太多的javadoc注释


更新

多亏了WillShackleford,我才能够修复插件代码的导入。如果有人想知道如何使用netbean插件修复导入(针对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);
   }

我不是扩展/插件开发人员,但“它可以工作,但有问题。”听起来很模糊。也许更详细地描述你的问题是值得的。非常感谢你。我从没想过我能完成我的插件。但是现在我可以了。再次感谢你。还有一个问题,我们能在javadoc上看到这个类吗??我找不到node/java,再次感谢你,你知道我为什么不能导入那个类吗?我向依赖项添加了java编辑器。但是,当我编写导入语句时,netbeans会要求我一次又一次地搜索依赖项。请参见此图,如果添加了模块,但没有实现版本,或者未设置“包含在类路径中”复选框,则会导致该模块仍然找不到导入。检查实现时,该选项起作用.非常感谢你