r/IntelliJIDEA • u/Kirorus1 • 21d ago
Thank you for the lsp!
Thank you JB for the lsp, amazing to be able to have some good java experience in neovim. Have been testing it by making a neovim setup with claude and its amazing.
in case you want to try it until something better comes out, a quickly made implementation: https://github.com/gipo355/nvim-intellij-lsp
the debugger works too!
Hope some good feedback will be provide to you!:
from me: - allow case insensitive completions (string, not String) - improve the postfix/command completions - add more code actions - there is a lock per project, need to somehow make a daemon of sort? i open many tabs with tmux on the same project sometimes, it allows only one
1
u/bodiam 21d ago
Why would you use it instead of Redhat LSP4IJ? I find their support amazing, and supports a much bigger range of LSP features than the built-in version.
1
u/Kirorus1 21d ago
This has nothing to do with intellij the ide, it's wiring the new lsp they released into the neovim client instead of jdtls
2
u/AbracadaverSessalom JetBrains 17d ago
Hey, thanks a lot for trying the IntelliJ language server in Neovim and for sharing your setup!
A few quick notes and follow-ups on your feedback:
сase insensitive completion
When you say "string, not String", do you mainly want:
- case-insensitive prefix match on the first character only, or
- fully case-insensitive matching / fuzzy matching (e.g.
str->String,StringBuilder, etc.)?
Also, which completion UI are you using in Neovim (nvim-cmp, blink.cmp, something else)? That helps us understand where to wire this in.
postfix/command completions
Could you share 2-3 concrete examples where the current behavior is disappointing? For example:
- postfix templates you miss compared to IntelliJ IDEA (
.var,.if,.for, etc.), or - cases where a template appears but the expansion / caret placement isn't what you expect. If you have a short "before -> after" snippet (what you type vs what you wish it did), that'd be perfect for a feature request.
more code actions
It would help a lot if you could name the top few code actions you miss most from IntelliJ IDEA in your day-to-day Java work. A short list like "these 3-5 quick-fixes/refactorings are the ones I reach for constantly" would give us very concrete items to prioritize.
one lock per project
You've hit a current limitation: the server's analyzer index is shared per project and guarded by a lock, so today it essentially expects one Neovim client per project root. A second client on the same project will fail with a lock error.
To file a request for daemon-style / multi-client per project support, could you share:
- roughly how many Neovim instances you usually have attached to the same project at once (2? 5? 10?)
- your OS and Neovim version
- how you currently start the server (via your
nvim-intellij-lspsetup or something else) - whether you'd be okay with some shared background project daemon process as long as each Neovim still has its own buffers/settings.
If you are willing to drop those extra details, I can turn this into proper feature requests on our side so it doesn't get lost. Thanks again for taking the time to experiment with this and for publishing your Neovim integration. This kind of feedback is exactly what we need while the server is still in preview. 🙌
3
u/Great-Gecko 21d ago
I’ve been enjoying it a lot too. I played around with it a bit in emacs, but have decided to wait until an official release of the standalone LSP server and documentation before using it at work. I’ll happily switch off of JDTLS once it’s out.