java - 如何使用 netbeans 插件/api 修复导入

标签 java netbeans netbeans-platform netbeans-plugins

我正在开发 NetBeans 扩展/插件。现在我想以编程方式修复导入。我使用了机器人类并模拟键 ctrl + shift + i 这是修复导入的快捷方式。它可以工作,但存在一些问题。例如,需要聚焦编辑器面板,然后我必须将其设置为字体并等待。有时我必须窃取焦点。并且由于它是一个扩展,如果我这样做,它可以在内部访问羽毛模拟我真的不需要扩展。那么如何在内部修复从 NetBeans 扩展导入 Java 类的问题呢?

我读了 faq网站和development javadoc但我找不到任何与修复导入选项相关的内容。

最佳答案

在我真正开始工作之前我已经没有时间了,但希望这会有所帮助。

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

如果您有正确的引用资料,其中有许多方法看起来很有希望。

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

像这样:

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,我能够修复插件代码的导入。如果有人想知道如何使用 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);
   }

关于java - 如何使用 netbeans 插件/api 修复导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32610973/

相关文章:

java - ListView 显示目录中的文件时出错

java - 如何在不使用 MySql 软件的情况下在 Netbeans 中使用 MySQL 数据库

maven - 生成的安装程序创建指向错误可执行文件的快捷方式

java - 为什么 assertEquals 中的可选断言消息移到了 Junit 5 中的最后一个位置?

java - 无法解密android应用程序中的字符串

jakarta-ee - 立即重新部署 Java EE 应用程序

c - Netbeans C 程序返回值 2

java - NetBeans Visual Library 编写的 GUI 编辑器的最佳选择是什么? IconWidget/ComponentWidget

java - 如何为我的 NetBeans 模块 Maven 设置集群

java - Maven + FindBugs - 高优先级警告失败