I use ctags+vim every day with rather large C++ codebases (but then again I'm a dinosaur).
Is that correct? Do you use if for functionality beyond the 'jump to definition/jump back to previous context'?
I really should get with the times and try LSP like others suggested.