как исправить импорт с помощью плагина netbeans /api

Я разрабатываю расширение/плагин NetBeans. Теперь я хочу исправить импорт программно. Я использовал класс робота и имитировал клавиши ctrl + shift + i, что является ярлыком для fix imports. Это работает, но есть некоторые проблемы. Например, мне нужно сфокусировать панель редактора, затем я должен перевести ее в шрифт и подождать. Иногда мне нужно украсть фокус. моделирование мне действительно не нужно расширение. Итак, как я могу внутренне исправить импорт из расширения NetBeans для класса Java?

Я прочитал как сайт faq, так и development javadoc, но я не смог найти ничего, связанного с исправлением параметра импорта.


person Madhawa Priyashantha    schedule 16.09.2015    source источник
comment
Я не разработчик расширений/плагинов, но работает, но есть проблемы. звучит расплывчато. Возможно, стоит более подробно описать вашу проблему.   -  person Pshemo    schedule 16.09.2015


Ответы (1)


У меня не хватило времени, прежде чем я на самом деле заставил это работать, но, надеюсь, это поможет.

Я думаю, вам нужен класс 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 я смог исправить импорт из кода плагина. если кому-то интересно, как исправить импорт (для java) с помощью плагина netbean. вот код. вы должны импортировать 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);
   }
person WillShackleford    schedule 17.09.2015
comment
Большое спасибо. Я никогда не думал, что смогу завершить свой аддон. но теперь я могу. Спасибо еще раз. - person Madhawa Priyashantha; 17.09.2015
comment
и один вопрос, можем ли мы увидеть этот класс в javadoc bits.netbeans.org/dev/javadoc ?? я не могу найти там node/java - person Madhawa Priyashantha; 17.09.2015
comment
еще раз спасибо, у вас есть идеи, почему я не могу импортировать этот класс? я добавил редактор java к зависимостям, но когда я пишу оператор импорта, netbeans снова и снова просит меня искать зависимости. см. это изображение i.imgur.com/5jOnstx.png и этот i.imgur.com/8KJt98Q .png - person Madhawa Priyashantha; 17.09.2015
comment
Добавление модуля, но отсутствие версии реализации или отсутствие установленного флажка включения в путь к классам приведет к тому, что он по-прежнему не сможет найти импорт. - person WillShackleford; 17.09.2015
comment
это сработало при проверке реализации. Большое спасибо - person Madhawa Priyashantha; 17.09.2015