簡體   English   中英

如何使用netbeans插件/ api修復導入

[英]how fix imports using a netbeans plugin /api

我正在開發NetBeans擴展/插件。 現在,我想以編程方式修復導入。 我使用了機器人類並模擬了ctrl + shift + i鍵,這是fix imports快捷方式。 它有效,但存在一些問題。例如需要聚焦編輯器面板,然后我必須將其帶入字體並等待。有時我必須竊取聚焦。並且由於它是擴展名,如果我執行這種操作可以在內部訪問羽毛模擬我真的不需要擴展。 那么,如何在內部修復從NetBeans擴展的Java類導入?

我同時閱讀了常見問題站點和開發javadoc,但找不到與修復導入選項有關的任何內容。

在我實際使用此功能之前,我已經用光了時間,但希望這會有所幫助。

我認為您想要的類是org.netbeans.modules.java.editor.imports.JavaFixAllImports

如果您有正確的參考文獻,那里的許多方法看起來很有希望。

為了使用它,您需要您的模塊依賴於Java Editor模塊,該模塊不會公開導出其任何軟件包。 因此,要使用它,您需要單擊“添加模塊”對話框中的“ Show NON-API Modules復選框,然后您需要編輯模塊依賴性並選擇“ Implementation Version單選按鈕,並確保選中了“將Include Packages in Classpath ”復選框。

像這樣:

屏幕截圖顯示了如何編輯模塊相關性

您可以在此處瀏覽源代碼:

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);
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM