В конце прошлого года я, наконец, сумел пройтись по открытым баг репортам в github. В течении месяца были закрыты 22 репорта, которые включают исправленные баги, а так же несколько новых возможностей.

Новый функционал

Оповещение об ошибках при парсинге java файла #367

Раньше, при попытке вставить недостающие импорты, либо при попытке удалить лишние, в файле с синтаксическими ошибками, операция молча завершалась. Теперь, благодаря библиотеке javaparser мы получаем список синтаксических ошибок, по причине которых, файл не получилось распарсить. Список ошибок возвращается вместе c положением каждой обнаруженной ошибки и пополняет location list.

Таким образом, есть возможность проверять файл на наличие синтаксических ошибок, вызовом команды, на вставку или удаление импортов. Такая проверка кода работает быстрее чем Syntastic, но является менее функциональной, не отображает семантические ошибки.

Демонстрация location list

«Deprecated» #341

К методам помеченным аннотацией «Deprecated», добавляется аналогичная метка в popup окне дополнения.

Демонстрация Deprecated

Поддержка Ant #391

У меня несколько старых проектов, на которых удалось протестировать поддержку build.xml файлов.

Вообще, вытащить список используемых библиотек из build.xml файлов оказалось достаточно непросто. Сложность заключается в том, что classpath в каждом проекте собирается своим собственным способом. Так что, мне пришлось дополнять build.xml файлы собственной целью, которая проверяет project.classpath путь и javac.classpath параметры в ant проекте и возвращает их содержимое.

Скорее всего этот метод не будет работать со всеми проектами. Поэтому, если кому-то приходится поддерживать старый java-проект и он не поддерживается текущей версией javacomplete, присылайте свои build.xml файлы, а ещё лучше PR.

Поддержка Java 11 #406

В поставке JDK11 пропали jar файлы со встроенными классами. Вместо этого поставляется список встроенных классов в файле classlist. Чтение этого файла и было добавлено в последнюю версию. На этом, пока, и заканчивается вся поддержка Java 11.

Багфиксы

  • исправлена задержка в коммуникации между python мостом и Javavi сервером, что должно привести к улучшению производительности при запросах к серверу #412;
  • статичные методы не отображаются когда автозавершение инициируется внутри этого же класса #414;
  • улучшена работа с дженериками #384;
  • исправлена проблема с автокомпиляцией на некоторых платформах, спасибо BriceGagnageRenault #383;
  • была решена надоедливая проблема с прыгающим экраном #383;
  • при создании класса в несохранённом файле открывается сплит окно #388;
  • добавлены во внимание внутренние классы при поиске недостающих импортов #366;
  • исправлено поведение методов указанных без модификаторов #362;
  • java проекты без систем сборки отказывались собирать информацию по используемым, явно указанным, библиотекам #410.

Версия 2.4.0 доступна и рекомендуема для использования.