What features of cursor were the most compelling to you? I know their autocomplete experience is elite but wondering if there are other features which you use often!
- looking at git commits - making use of recently accesses files - keyword search
If I set these constraints and allow for maybe around 2 LLM round trips we can get pretty far in terms of performance.
Overall it's so unfortunate that Jetbrains doesn't have a Cursor-level AI plugin* because Jetbrains IDEs by themselves are so much more powerful than base level VS Code it actually erases some small portion of the gains from AI...
(* people will link many Jetbrains AI plugins, but none are polished enough)
I also agree with the non-AI parts of JetBrains stuff being much better than the non-AI parts of Cursor. Jetbrain's refactoring tools is still very unmatched.
That said, I think the AI part is compelling enough to warrant the switch. There are code rewrite tasks that JetBrains would struggle with, that LLMs can do fairly easily.
I do wonder what api level access do we get over there as well. For sidecar to run, we need LSP + a web/panel for the ux part (deeper editor layer like undo and redo stack access will also be cool but not totally necessary)
It does the multi-file editing with asking to add files etc, but as a CLI/local web app tool.
The AI integrations are a huge productivity boost. There is a substantial difference in the quality of the AI suggestions between using Claude on the side, and having Claude be deeply integrated in the codebase.
I think I accepted about 60-70% of the suggestions Cursor provided.
Some highlights of Cursor:
- Wrote about 80% of a Vite plugin for consolidating articles in my blog (built on remix.run)
- Wrote a Github Action for automated deployments. Using Cursor to write automation scripts is a tangible productivity boost.
- Made meaningful alterations to a libpg_query fork that allowed it to be cross-compiled to iOS. I have very little experience with C compilation, it would have taken me a substantially long time to figure this out.
There are some downsides to using Cursor though:
- Cursor can get too eager with its suggestions, and I'm not seeing any easy way to temporarily or conditionally turn them off. This was especially bad when I was writing blog posts.
- Cursor does really well with Bash and Typescript, but does not work very well with Kotlin or Swift.
- This is a personal thing, but I'm still not used to some of the shortcuts that Cursor uses (Cursor is built on top of VSCode).