nvim-jdtls

Extensions for the built-in LSP support in Neovim for eclipse.jdt.ls

GPL-3.0 License

Stars
1.1K

Bot releases are visible (Hide)

nvim-jdtls - 0.2.0 Latest Release

Published by mfussenegger almost 2 years ago

What's Changed

  • Removed a custom progress report capability because eclipse.jdt.ls now
    implements the standard progress report mechanism. Note that in versions before
    1.18.0 of eclipse.jdt.ls the progress report implementation caused issues. If
    you're on an earlier version of eclipse.jdt.ls you may want to stick to
    nvim-jdtls 0.1

  • Adjusted the log path used in :JdtShowLogs to account for a change in
    Neovim 0.8

  • Improved the handling of multiple LSP clients, both non-jdtls clients like
    null-ls, but also of multiple jdtls clients if many projects are open in the
    same Neovim instance.

  • Added a :JdtHotcodeReplace command that allows to trigger code replacement
    while debugging manually.

  • If a user provides config.capabilities in the start_or_attach call, the
    capabilities are now extended with the default client capabilities ((from
    lsp.protocol.make_client_capabilities()) so users can provide only the
    additions instead of having to provide all of them.

  • Added a super_implementation function which allows to jump to the super
    implementation of a method under the cursor.

  • :JdtCompile now only shows errors from jdtls instead of showing all
    diagnostic errors.

  • Fixed an issue that prevented the "Extract to local variable (replace all
    occurrences)" code action from working and added a extract_variable_all
    function to make it possible to bind the action to a keymap.

  • Changed some error messages to provide hints on how to resolve the errors.

  • Buffers for JDK or third party libraries (jdt:// URLs) have now
    buftype=nofile set to avoid issues with Neovim features like swap files.

New Contributors

nvim-jdtls - 0.1.0

Published by mfussenegger over 2 years ago

First tagged release

Since https://github.com/mfussenegger/nvim-jdtls/issues/3 got closed the following features were added:

  • Added a update_projects_config function that causes eclipse.jdt.ls to process changes made to gradle or maven configurations
  • Added a build_projects function that allows to force a rebuild of one or more projects
  • If you visually select one or more properties before triggering the "generate constructor" code action, these fields will now be pre-selected for inclusion as constructor arguments. See https://github.com/mfussenegger/nvim-jdtls/pull/289 for a demo
  • It is now possible to de-select items in the item-selection prompt.

All these features require eclipse.jdt.ls 1.13.0 which was released yesterday. (The last new feature also works with older versions)
One thing to highlight is that eclipse.jdt.ls 1.13.0 requires Java 17 instead of 11.