我正在开发 NetBeans 扩展/插件。现在我想以编程方式修复导入。我使用了机器人类并模拟键 ctrl + shift + i 这是修复导入
的快捷方式。它可以工作,但存在一些问题。例如,需要聚焦编辑器面板,然后我必须将其设置为字体并等待。有时我必须窃取焦点。并且由于它是一个扩展,如果我这样做,它可以在内部访问羽毛模拟我真的不需要扩展。那么如何在内部修复从 NetBeans 扩展导入 Java 类的问题呢?
我读了 faq网站和development javadoc但我找不到任何与修复导入选项相关的内容。
最佳答案
在我真正开始工作之前我已经没有时间了,但希望这会有所帮助。
我认为你想要的类是org.netbeans.modules.java.editor.imports.JavaFixAllImports
如果您有正确的引用资料,其中有许多方法看起来很有希望。
为了使用它,您的模块需要依赖于 Java Editor
模块,该模块不会公开导出其任何包。因此,要使用它,您需要单击“添加模块”对话框中的“显示非 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);
}
关于java - 如何使用 netbeans 插件/api 修复导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32610973/