NeoVim as Java IDE checklist

NeoVim as Java IDE checklist

This article is a checklist to show what capabilities NeoVim as Java IDE has. I don't have a formulated list in my mind. I use IntelliJ on daily basis and I consider its features as basic and default things. They aren't.

The point of this list is seeing if NeoVim as Java IDE is ready for to be used in corporate environment or not.

On the other hand, if I decide to start a project to provide better tooling for NeoVim java then this article is a good start to identify requirements.

The configurations I am going to try out are based on LunarVim.

This article is continuously updated.

The reference is always IntelliJ.

Code formatting

  • annotation placement for fields is configurable

  • annotation placement for classes/types are configurable

  • import order

    • lexical order

    • raw order

  • import grouping

    • JDK packages

    • Own packages

    • static imports

  • spaces between import group

Code formatting check

File management

  • add a new class/interface/record

    • package name added

    • class/interface/record/enum name added

Test execution



  • when type is added its import automatically added



Build systems support


  • adding package

    • showing the available versions of the given package

    • intellisense for the package name

    • intellisense for the package id

  • pom.xml reload

    • checks if the configuration is correct

    • when configuration changes (for example a new sources directory has been added) the configuration has to be reloaded and LSP has to pick up the java source files from the new added directory.


  • package configuration

    • intellisense to the package specifics