I'm also not sure whether Gemini CLI is actually better aligned with the context of development environments.
Anyway—slightly off-topic here:
I’m using Gemini CLI in exactly the same way I use VS Code: I type to it. I’ve worked with a lot of agents across different projects—Gemini CLI, Copilot in all its LLM forms, VS Code, Aider, Cursor, Claude in the browser, and so on. Even Copilot Studio and PowerAutomate—which, by the way, is a total dumpster fire.
From simple code completions to complex tasks, using long pre-prompts or one-shot instructions—the difference in interaction and quality between all these tools is minimal. I wouldn’t even call it a meaningful difference. More like a slight hiccup in overall consistency.
What all of these tools still lack, here in year three of the hype: meaningful improvements in coding endurance or quality. None of them truly stand out—at least not yet.
I don't think any will every truly stand out from the others. Seems more like convergence than anything else
For me, a terminal environment means I can use any tool or tech, without it being compatible with the IDE. Editors, utilities, and runtimes can be chosen, and I'm responsible for ensuring they can interop.
IDEs being convenience by integrating all of that, so the choice is up to the user: A convenient self contained environment, vs a more custom self assembled one.
Choose your own adventure.
What I don't have to do is context switch between applications or interfaces
In other comments I relayed the sentiment that I enjoy not having to custom assemble a dev environment and spend way too much time making sure it works again after some plugin updates or neovim changes their APIs and breaks a bunch of my favorite plugins
> works with no dev environment at all
The terminal is a dev environment, my IDE has it built in. Copilot can read both the terminal and the files in my project, it even opens them and shows me the diff as it changes them. No need to switch context between where I normally code and some AI tool. These TUIs feel like the terminal version of the webapp, where I have to go back and forth between interfaces.
If the optimal way to do a particular thing is a grid of rectangular characters with no mouse input, nothing prevents you having one of those in your GUI where it makes sense.
For instance, you can look up the documentation for which keys to press to build your project in your TUI IDE, or you can click the button that says "build" (and hover over the button to see which key to press next time). Why is typing :q<enter> better than clicking the "X" in the top-right corner? Obviously, the former works over ssh, but that's about it.
Slowness is an implementation detail. If MSVC6 can run fast enough on a computer from 1999 (including parsing C++) then we should be able to run things very fast today.
Being some IDE for a terminal doesn't mean you can't have menues and everything must be driven with vi modal keys and commands.
No, I used neovim and spent way too much time trying to turn it into an IDE, even with the prepackaged setups out there
VS Code is sitting below 5% CPU and 1G of memory, not seeing the resource hog you are talking about. LSPs typically use more resources (which is outside and the same for both)
Language server, check, Plugin ecosystem, check, Running tests on demand, check. lua sucks but that's an acceptable compromise as vimscript is worse.
Also terminals support mice. Have done for literally decades.
Ultimately though, it just boils down to personal preference
I had lots of problems with plugins in the ecosystem breaking, becoming incompatible with others, or often falling into unmaintained status. Integrations with external SaaS services are much better too
Also information density (and ease of access) as a peer comment has mentioned
This is a common complaint but I haven't done any setup for months.. And installing a language server because I need to write typescript is just <leader>cm and then lllll on the servers I need.
I like terminal things because they are easy to use in context wherever I need them - whether that's in my shell locally or over SSH, or in the integrated terminal in whatever IDE I happen to be using.
I use vim if I need to make a quick edit to a file or two.
Idk, terminal just seems to mesh nicely into whatever else I'm doing, and lets me use the right tool for the job. Feels good to me.
What I don't get is going back to terminal first approaches and why so many companies are putting these out (except that it is probably (1) easy to build (2) everyone is doing it hype cycle). It was similar when everyone was building ChatGPT functions or whatever before MCP came out. I expect the TUI cycle will fade as quickly as it rose
I don't know for sure or have anything besides anecdotal evidence but I'd wager this is a majority of vscode users.
It's easier to see the diff file by file and really control what the AI does IMO.
On another note VS Code is not an IDE, it's a text editor.
Perhaps your definition of IDE is more restrictive. I see VS Code as my environment where I develop with masses of integrations
Much better to use Neovim than a very clunky slow editor like VS Code or Jetbrains just to edit a text file.
The keyboard is far faster than clicking everywhere with the mouse.
I think the sentiment that VS Code is clunky and slow is outdated. I have seen no noticeable impact since moving over from neovim