IntelliJ Rust plugin behaving like vim/rust.vim

  1. I have a working setup with IntelliIJ + Vim Plugin + Rust Plugin

  2. I have a working setup with Neovim + Rust.vim + RLS

  3. I also have a setup where Neovim is run as an "external tool" for IntelliJ where it can be used to open individual files. [Least favorite of all three setups].

What I have noticed so far:

  1. IntelliJ is insanely LAGGY compared to Neovim. In Neovim, things may not always be in sync (errors that disappear after .5-1 seconds), but the editor is always responsive. It does not matter what is going on in the background. Editor responds to key strokes instantly.

IntelliJ is insanely LAGGY in this regard. Often times, I'll be in the middle of editing some expression, and the IDE will just do some background processing and ignore my keystrokes for a few seconds.

  1. IntelliJ has better refactoring + browsing support + i.e. is the better for everything in the (IDE - Editor) subset.

Question:

Is there some way to configure IntelliJ + VIM Plugin + Rust Plugin to behave a bit like neovim? In particular what I want is:

  • make as much background processing as async as possible. I don't care if things are slightly out of date. I want my editor to be responsive, and I do not want background processing to freeze up the editor

  • I want RustFmt to auto run on every save and reindent my code

  • I want to keep everything else as is.

Anyone else run into this situation?