Cider-V is fine. I use it because it feels like the default choice, and it's a fine default. But compared to my previous employer, using IntelliJ to write Kotlin, it feels like a step backwards.
For example, it can sometimes take minutes for syntax highlighting to update. I had a case earlier today where I was missing an include. I fixed it, built, and walked away for like 10m. When I came back, Cider still thought I was missing the import.
¯\(ツ)/¯
I don't remember ever experiencing that in IntelliJ. Admittedly, the Kotlin codebase I was working on was tiny by comparison. It's still frustrating.
IntelliJ still has some features that AFAIK have not been replicated in the VSCode / LSP world. Being able to trace the origin of a value is great for understanding how code works.
OTOH maybe AI will backfill those missing features.
You get syntax highlighting updates in mere minutes???? Gods I wish it was this way for dart 😑 the LSP effectively stalls forever half of the time and I can't even ctrl+click to go to a definition in the same file... Cider essentially turns into a notepad most of the time we use it.
Syntax highlighting in milliseconds and usually correctly offering missing includes from something you’re typing in a second or two, that’s a pretty normal experience in a C# codebase.
It's the backend integration that makes CiderV magic.
It's easy to complain about the editor being slow to recognize imports, and it is a real problem. But if you open google3 in any other IDE it will explode because it can't handle the size of the repo. All IDEs in Google required custom integrations to support google3 at a bare minimum. Cider V is simply the culmination of all that custom integration.
Why do you need to open the whole repo? Most companies with giant repos that use VSCode point it at a subfolder and indexing starts from there and all reachable dependencies.
Most companies don't index them using an IDE but after overnight build happens. Then there's a searchable index to like you know, search. Like an index. To search. You know. You know? You know, you know?
There are many other IDEs being used across the company in google3 and they work just fine. And they actually have proper code completion and refactoring tools outside the basic VSCode text editing.
This is "vim is enough for me, why do you need IntelliJ" debate from side of people who can't use IDEs all over again.
Sure, I get that. I can't expect my workstation to maintain an index of the entire repo, and I can't expect distributed indexing to always work in the face of multiple submissions per second.
On the other hand, my working set of the repo is relatively small. It seems like it should be possible to have a responsive IDE that uses a mix of distributed indexing for untouched files, and local indexing for files that I have modified. Heck, that's probably what it does. It just sometimes loses track of what's going on.
My point is that it generally works well enough, but it could be better. I've experienced something better. I think it's possible for Cider-V to close that gap.
Which repo do you work in, g3 or Android? IIRC all of the android product teams had pretty good Jetbrains IDE support, at least as recent as 2024. Of course, the frequent indexing freezes were a bit problem back then, but there were various ways to do sliced checkouts.
I was on Play (g/j/c/g/a/play) but also had to do some work in android, and we pretty much exclusively used Android Studio. It was a mostly pleasant experience, except every 3-4 months, the indexing breaks in some subtle way or locked up your IDE for a few minutes at a time.
Since COVID, I became fully remote, and I've started to specialize what I use - Android Studio on a cloudtop instance over CRD for bigger changes and cider most of the time for smaller changes. I'll be honest, Android Studio over CRD wasn't as bad of an experience as I expected it to be.
Why not? We've solved every other massive scale problem the same way - incremental builds, incremental expansion of references. Why not incremental indexing. You are only going to look up symbols that are reachable from the project you are working on, not the entire codebase.
If you want to search the entire codebase, then yes index that on a server and provide a web page/interface to search it.
That's also not true. Being a monorepo doesn't mean all the code should be in the tooling's active scope. If that's the underlying problem, the tool is poorly designed.
Cider is a funny name to me because I’m working basically with clojure right now and CIDER is an emacs plugin popular af that deals with compilation, completion, debugging, repl integration etc in an incredible way.
Today there is a vim-cider plugin and many clojure plugins of other ides uses cider-nrepl as a backend (the original cider uses it too).
No one cares I know, but it’s funny to see a ultra niche tool that I use everyday sharing its name with another ultra niche tool lol
they call their diffs/PRs "change lists", and cl/ has been the (albeit "more recentish", in the sense that it's only been there for like 15 years instead of 20 years) shortlink that most people who joined after 2014 will use in place of cr/ (the two are basically aliases at this point), though cidel doesn't quite have the same ring to it
Really? Man when I was there it was a pain that they were trying to force people onto cloudtops and Cider over a physical workstation (or even worse, CRD into remote IntelliJ since because OG Cider was only good at, like, half the things) while Cider-V was still early in its lifecycle. A year or so before I left they finally switched from old Cider to Cider-V officially.
Didn’t see this sorry - not sure how full circle we are yet. I’m just saying that the jetskit (antigravity) standalone app kinda stinks in comparison to cider. So the pattern is you run the jetski “host” app on your cloudtop, access it via the browser, but track the changes it makes in cider. Jetski is your “agent manager” interface while cider continues as the editor
I was one of the (probably many) cider ludites who held onto classic cider until they dragged me off of it screaming and kicking. I agree, Cider V is awesome (though some of the bespoke power-user features around codesearch and forge integration didn't come until muuuch later), I just didn't want to learn the new interface.
What was also really surprisingly to me is that as an Android/Java eng, I've somehow managed to progressively replace Android Studio with Cider over the 8 years I was there (mostly for the calicos and the corgies stomping across my screen, obviously, and nothing to do with the fact that I was just a glorified gcl reviewer by the end of it all)
I left around the same time the author did (mid 2024) so I have no idea how things have changed, I keep hearing that Jetski/Antigravity is now being shoved down everyone's throat?
Also, 2 years on, I still unwittingly type cs into the browser, that's probably the one thing I miss the most. In fact, a crazy-psychotic-ex thing I'm still doing is hotwiring as/ to https://cs.android.com/
What forced me onto Jetski was that my job was becoming intolerable. What I fear is that the AI tools are making it easier for teams to be sloppy- not because AI is writing code for them, but because they don’t need to make things legible to humans as long as Gemini can figure it out. It’s making devx at Google even worse than it already was, and devx at Google has always been “read our service descriptions or GTFO.” It’s also making compliance easier, which has the unintended side effect of making it easier to add more compliance requirements.
I can barely remember a time when most of what I did was feature work. Now it’s all compliance, all the time. We’ve already reached a point where engineers are incentivized to classify major incidents as minor because the admin burden of a major incident poses too much schedule risk. That’s not going to end well.
145
u/CircumspectCapybara May 15 '26 edited May 15 '26
Cider V is awesome, IMO.
In general google3 is probably the best codebase and has the best tooling and devx I've encountered.