如何使用 netbeans 插件修复导入 /api
how fix imports using a netbeans plugin /api
我正在开发 NetBeans extension/plugin。现在我想以编程方式修复导入。我使用机器人 class 并模拟键 ctrl + shift + i 这是快捷方式fix imports
。它有效,但有一些 problems.for 示例需要聚焦编辑器面板,然后我必须将它带到字体并等待。有时我必须窃取焦点。并且由于它是一个扩展,如果我这样做,它可以在内部访问羽毛一种模拟我真的不需要扩展。那么我如何在内部修复从 Java class 的 NetBeans 扩展导入?
我都阅读了 faq site and development javadoc 但我找不到任何与修复导入选项相关的内容。
我 运行 在我真正让它工作之前就没时间了,但希望这会有所帮助。
我想你想要的class是org.netbeans.modules.java.editor.imports.JavaFixAllImports
如果您有正确的参考资料,其中有许多方法看起来很有前途。
为了使用它,您需要您的模块依赖于 Java Editor
模块,该模块不会公开导出其任何包。因此,要使用它,您需要单击“添加模块”对话框中的 Show NON-API Modules
复选框,然后您需要编辑模块依赖项和 select Implementation Version
单选按钮并确保复选框Include Packages in Classpath
已设置。
像这样:
您可以在这里浏览源代码:
除了开头的一个许可和作者评论之外,java文档评论似乎没有太多影响。
更新
感谢 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);
}
我正在开发 NetBeans extension/plugin。现在我想以编程方式修复导入。我使用机器人 class 并模拟键 ctrl + shift + i 这是快捷方式fix imports
。它有效,但有一些 problems.for 示例需要聚焦编辑器面板,然后我必须将它带到字体并等待。有时我必须窃取焦点。并且由于它是一个扩展,如果我这样做,它可以在内部访问羽毛一种模拟我真的不需要扩展。那么我如何在内部修复从 Java class 的 NetBeans 扩展导入?
我都阅读了 faq site and development javadoc 但我找不到任何与修复导入选项相关的内容。
我 运行 在我真正让它工作之前就没时间了,但希望这会有所帮助。
我想你想要的class是org.netbeans.modules.java.editor.imports.JavaFixAllImports
如果您有正确的参考资料,其中有许多方法看起来很有前途。
为了使用它,您需要您的模块依赖于 Java Editor
模块,该模块不会公开导出其任何包。因此,要使用它,您需要单击“添加模块”对话框中的 Show NON-API Modules
复选框,然后您需要编辑模块依赖项和 select Implementation Version
单选按钮并确保复选框Include Packages in Classpath
已设置。
像这样:
您可以在这里浏览源代码:
除了开头的一个许可和作者评论之外,java文档评论似乎没有太多影响。
更新
感谢 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);
}