> I don’t think I’ve ever seen the build and code repo tooling ever work on any professional codebase I’ve worked on, save one.
Yeah I agree though in my experience it is because professional teams are usually infected by at least a few "everyone just uses Vim and a terminal right?" people who then go about turning the build system into some horrible script based system that IDEs can't work with.
Grepping and entire code base just to find where some class is defined is certainly doable (I do it often), but it’s not as nice as just right clicking “Go to definition”. Especially in very large codebase with multiple git submodules.
No one serious would assert that inspecting complex data structure, managing breakpoints, stepping through code, or debugging remotely via text mode gdb like it’s 1986, is as easy or efficient as simply using a GUI in 2022, or even 1992.
My experience is that they always get in way. Either they slow down the whole thing down, or it randomly freezes. Or the code-completion window decides to popup and it again slows things down.
For search, grep or ag will do. As for refactoring, personally I've never had the need for a tooling for that.
>Use whatever headless buildscripts you fancy (make?!) to build your project.
These are just fancy text editors at this point. IDE is like visual studio, or xcode. Sure some of those fancy editors still share the same problems, especially all the java ones (eclipse, android studio, jetbrains ...)
I don't even bother with code-completion. Not having it makes me actually dig the source code of other components, and is usually helpful deciding if I even want to use the said 3rd party component. Programming is more about thinking than looking up fast what functions to call anyhow.
If you wanted code-completion, you'd better use LSP anyways, and you'll get all that fancy compiler diagnostics and whatever in your editor.
I agree. I’m only using “word” completion from open buffers and include lists to save keystrokes. Makes you read, think and choose instead of blindly walking through dots in hope that some combination works. But I also had a good experience with ctags (in 10k+ projects), for quicker navigation.
Use whatever headless buildscripts you fancy (make?!) to build your project.
Problem solved.