Has anyone who uses an IDE (e.g., JetBrains, not a code editor) moved to Cursor? I've downloaded it a few times because everyone raves about it, but I've always come back almost immediately because editors can't reliably make changes across projects (among many other things)... What am I missing?
This is the main sticking point for me, I'm not leaving JetBrains anytime soon. GitHub Copilot + Aider handle my needs beautifully and while I wish Aider had deep IDE integration I can work around that (Yes, I know about the "AI!" command thing, it's a cool idea but sucks in practice). Aider in browser mode has pretty much replaced my back and forth to ChatGPT/Claude's web UI to the point that I'm considering going API-only for both of those (currently pay for the $20/mo plan for each).
Jetbrains is still the leader in all of the small details that make navigating and working a code base easy.
Copy and paste workflow is a minor slowdown, but nothing compared to things like smart links in terminal, auto detection of run configurations, etc, etc.
Can you give some examples? I spend the majority of my time reading code nowadays, and I often have like 8 or more Sublime Text windows open (each open on a separate codebase). I cant imagine how much RAM it would take to do that in CLion or Visual Studio.
Sublime Text's text search is the killer feature for me. CTRL+SHIFT+F and I can search a million LOC+ codebase instantly, navigate the results with CTRL+R, do a sub-search of the results with CTRL+F, set bookmarks with CTRL+F2 (and jump to them with F2/SHIFT+F2), pop the results out to a different window for reference, etc. And all that happens with no jank whatsoever.
The LSP plugins make life easier, but even without that Sublime is often able to find where symbols are defined in a project using just the contextual information from the syntax highlighter.
I tried CLion for a while, but couldnt get productive in it. Ofc I'm much more experienced with Sublime, so maybe I just didnt give myself enough time to learn it, but CLion felt sluggish and inefficient. The smart code features are probably more advanced than Sublime's LSP plugins, but I didn't find anything that would make the switch actually an improvement to me.
It’s a lot of small things, so here are some examples:
* Click to find usage is exceptionally good.
* when refactoring, it will also find associated files/classes/models and ask you want to change them as well. It’s also smart enough to avoid refactoring things like database migrations
* Click-run just about anything is amazing. I work in multiple languages in multiple code bases. I get tired of figuring out how to install packages, run things, and even get into debug mode. Most major tooling is supported out of the box.
* Debugging. Lots of data types have smart introspection when debugging. It knows that Pandas tables should be opened in a spreadsheet, JSON should be automatically formatted, and you really just want that one property in a class already formatted as a string.
* Built in profilers and code coverage. This is something that’s always annoying to switch tooling with.
* Great Git integration, though that’s probably par for the course.
* Database integration in some toolsets (like Rails). If you need to look at records in the database, it will jump you directly to the table you need with Excel-style filters
* Local history on just about everything. This has saved my butt so many times. You can delete an entire folder and know you can restore it, even if you delete it from Git.
* Automatic dependency change detection. For example, after a pull, it will identify if new or updated updated dependencies were pulled. 1-click to install.
I have a laptop I bought 10 years ago. It only has 16 gig of RAM [1].
I have had 8+ editors open, mix of visual studio and vs codes. And in VS you often group all your codebases into single solutions. So usually have multiple windows from multiple projects open in each ide.
It only struggles when I leave the debuggers running several days because of a slight (known) memory leak in visual studio. There's probably a fix but reopening the ide takes like 10 seconds. And it remembers all my open files.
All editors are much better, faster at searching, use less memory, etc. than they wwre 10/20 years ago.
Everyone's improved. You seem to be a bit stuck with an old impression.
[1] I have a vastly more powerful machine but I keep procrastinating switching my work setup over to it.
To add to the other great responses if you use search a lot try JetBrains semantic search. It's like searching text but within code based on the parsed structure of the code, so you can find complex usages.
Notice that if you work with large projects it is crucial to give the IDE enough RAM so it doesn't thrash a lot. You can also remove a lot of its default plugins to make it much faster.
I watch people navigate code in VSCode and I want to pull my hair out. Things that I don’t even think about are hard and/or require just falling back to search.
And before “there is a plugin for that”, I’m sure there is. I’m sure you can configure VSCode to be just as powerful as IDEA but the rank and file using it aren’t doing that work to install and configure a bunch of plugins. So, on average, VSCode doesn’t hold a candle to an IDEA.
With Aider I skip a lot of the copy/pasting but I’d still copy/paste to the browser before I left IDEA.
>I watch people navigate code in VSCode and I want to pull my hair out.
For me it's the other way around, when I see someone using an IDE instead of a lean editor I see their struggle. Multiple seconds to open the IDE (sometimes tens of second), multi-hundred millisecond lag when opening a file, noticeable input lag. And when you have to edit a file your IDE doesn't understand, all you have is a bloated notepad.
I know I'm biased and I intentionally wrote this one-sided to counter your post. In practice, it just depends. Right now in my work I primarily edit scripts (up to a few hundred lines of code), do quick edits to various larger projects - sometimes few different projects a day - and read files in dozens of programming language (I only reall program in Python and C/C++, but I have to constantly consult various weird pieces of code). VsCode works great for me.
On the other hand, long time ago when I was working on large C# projects, I can't imagine not using Visual Studio (or Rider nowadays I guess).
> sometimes few different projects a day - and read files in dozens of programming language
+1 this is what brought me back to vscode after experimenting with goland. To me vscode better handles the heterogeneity of my daily work. In my workspace I can keep open: a golang codebase, a massive codebase consisting of yaml config files, a filesystem from a remote ssh connection, a directory of personal markdown notes, and directories of debug logs. In my experience jetbrains excelled at the single use case, but vscode won on its diversity.
I will say that the parent comment had me curious about goland again. But I suspect I really need to spend more time configuring my vscode setup. I spent years using emacs, and would love to have a helm-like navigation experience.
Neovim works fine with massive codebases. Telescope is a bit slow sometimes, but given how long ripgrep takes on the same, I assume it’s simply a limitation of memory bandwidth, and not tooling.
For literally multiple years I tried to convince a colleague of mine to try Rider. They're a diehard CLI and VS Code user. I made a video showing my workflow and how quickly I can navigate around and do refactors. Next day they were saying they couldn't believe it took them this long to use something better.
It's always difficult to notice features you don't know are missing.
I'm a near-exclusive user of VSCode (or Codium, at home) and like to think of myself as moderately advanced. I continually update my configurations and plugins to make my workflow easier and often see my peers stumble on operations that are effortless for me. It's hard to explain to them what they're missing until they watch me code. So now I'm curious about watching some typical Jetbrains workflows.
I switched from JetBrains to Cursor after multiple years, and it's nowhere near as bad as the comments here make it out to be.
For most of the rough edges, I've found workarounds at this point.
I miss some of the refactorings, but half the time the AI does them for me anyways.
Smart links in terminal are supported.
Detection of run configurations is supported.
My main issues atm are:
- Quick search is inferior. You can't search for folders, and symbol search is global, without the option to exclude certain locations (such as build artifacts) from indexing.
- cspell is more annoying than it is useful. I don't want to babysit my spellchecker. Without extensive configuration, there are far too many false positives.
Wow! Thank you for calling out that plugin, I hadn't see it. It is very useful and I love the better integration. I feel like with just a little more QoL stuff this plugin will be amazing. I am getting a weird hang after Aider "completes", the dialog hangs and takes 20-30 sec before the IDE becomes usable again.
Features I'd love:
* Reproduce the web/browser chat UI in the IDE, this is an easy concept to interact with vs a dialog that goes away after each run
* Provide tabs for multiple chats (each chat can have different files/history/etc)
* Allow multiple Aider processes running at the same time
I’m also a JetBrains person and never really “got” VSCode. So cursor was not a fit for me, the VSC kn shortcuts always felt limiting. So I use zed since it can be configured to use JB kb shortcuts. And it’s open source and super fast (rust-based)
I have the same issue, I tried to get into VSCode a few times but each time switched back to JetBrains.
If your main issue is the keybinding though there is a vscode plugin[1] that recreates Intellij IDEA bindings, which I found helped smooth the transition during my tryouts for me.
I can't wait for IntelliJ to get where Cursor appears to be. Being able to combine a great IDE with project-level AI coding will be a huge leap forward.
I'm going to feel personally offended if Jetbrains drops the ball on this.
Seriously, this here right now is the precise moment in time where people will either look back at wondering how such a clear leader managed to sink into insignificance, or not.
I love IntelliJ more than my own kids, but if they don't add "the AI does not just talk about what code to create, it actually creates it, across multiple files and folders", then I'm out.
Just yesterday I made Cursor rewrite the whole ui layer of my app from light-mode-only to light-and-dark-mode-with-switcher in one single sweep, in less than 5 minutes (it would have taken me hours, if not days to do it manually), and this is just not feasible if you have to manually copy-and-paste whatever Jetbrains AI spits out.
My experience mirrors this exactly. I loved WebStorm, but I can't use it anymore because Cursor is just a massive productivity booster for things like what you're describing.
Claude 3.5 + Cursor has fundamentally improved my productivity. It's worth the 20 dollars a month.
I've written thousands of lines of Vitest tests with it, and they have come out near perfect. It would have taken me days to write those tests by hand, but now I can just generate them and review each to make sure it works.
Intellij will have it's lunch eaten if it doesn't pursue the Cursor/Windsurf editing modality.
I keep them both open on the same project, as there are some things IntelliJ does superbly.
I evaluated Jetbrains AI and Copilot with VSCode, but they just didn't impress me. I tried Cursor, and subscribed a couple of days into the trial. The workflow is just right.
I've tried both Copilot and JetBrains AI with IntelliJ and both are awful compared to Cursor. No multiline editing, no composer, worse at writing tests etc.
I've been a PyCharm user for over a decade, but recently decided to experiment with VS Code-like editors again. I subscribed to Windsurf pro tier, and while it's quite lacking as a traditional IDE, its AI capabilities are incredible. I'm now considering not renewing my PyCharm license next year. Until (if ever) I fully adapt to Windsurf, I'm planning to use both tools together - PyCharm for the features I'm most comfortable with (where I also use "CodeGPT.ee" plugin), and Windsurf for its AI strengths.
Actually writing code is a small part of what I do in the IDE. So I'm not keen on jumping ship to a whole new editor and lose all the IDE stuff. But I do think IDEs need to step up. The editors will get the IDE features slowly (or be able to work around some of them, like how an IDE can know your database layout and help you write sql, the AI helpers can make educated guesses as well and get close), so the IDEs don't have a big moat.
Yes, I finally decided not to renew my über-cheap JetBrains subscription in January and shift to VSCode + Copilot with Claude, then tested Cursor and dropped Copilot. Cursor is still a bit frustrating and gets trapped in circular reasoning a lot, but its features are good, like creating files.
I had been using JetBrains (Webstorm and PyCharm before that) for years now and just switched to Cursor a few months ago. I never liked the way AI copilots tacked onto the IDE worked and preferred to just use standalone ChatGPT. Been very happy with the Cursor experience, big improvement in UX from my perspective.
I personally jumped between Rider and Cursor for a while, and finally settled with Rider.
However I think JetBrains should be worrying. I've been using and paying for JetBrains products for many years and Cursor is the only thing making me consider switching from it.
Tried to move from JetBrains to VS Code with new Copilot Edit mode. Moved back to JetBrains and horribly outdated copy paste workflow ... for now. Disruption is imminent though. (And yes JetBrains AI integration got better but the 'insert code at cursor option' is laughable. There is a command to generate code right in the editor too, but not from chat. Also $10 extra. )
PS: One UI feature that I haven't seen anywhere yet is not splitting the screen into code and chat but unifying it.
Also a common approach (e.g. in openai composer) seems to be to modify the file line by line which takes a very long time if the file is long, which (agentic) tools use a diff approach instead?
Jetbrains is getting laughingly bad at normal autocompletion.
Autocompletiok is losing features every day, it seems. Yes, Jetbrains might either be removing features to move them to AI, or breaking features involuntarily in order to move faster to implement AI.
Personally, I'm using Goland for editing, along with Zed for its AI assistant. I just have the same project open in both, and do any AI editing in Zed.
I really like the AI UX in Zed with the chat window on the right being context for inline assist (and being able to easily include tons of files in the context window).
This has been a sticking point for me since my workplace told us all to start using the new copilot licenses they bought. The ideal workflow for me is usually inline question-and-answer but it tends to insist on editing the code, often in ways that do more than I actually wanted.
Unfortunately for me in enterprise it was impossible to convince them to allow us to use cursor since they're not well known like GitHub/Microsoft so they're afraid of what they'd do with our data.
We are allowed Copilot and Chatgpt because of an enterprise contract with each. Luckily copilot has been improving but there definitely was a while where it felt way behind the jumps other products have had in the past year or so.
Can Cursor sign a DPA in addition to an enterprise contract where they actually have to put into concise writing what they are and aren't doing with our data? Microsoft will. Amazon will. But in my experience a lot of smaller players can't or won't. That's a legal blocker.
This is such a common lazy cynical take on HN. “Microsoft is evil, therefore they will destroy their enterprise customer relationships by stealing their enterprise customer data, despite the fact that they explicitly state they will not do that.”
I would understand this mindset when it comes to consumer uses of it, but enterprise is where Microsoft makes its money and it would have to be the dumbest business decision ever to ruin the enterprise cash cow by doing that.
There are areas where Microsoft knows (or at least behaves as though) they have an effective unchallenged monopoly, and off boarding is too costly an endeavour.
and your partner network, and your commit patterns, and your bug list, and your remote IP address while working, and you have to authenticate to them each time you use it (which means that they can turn off your access)
Part of the hangup is that startups are shit at dealing with enterprise privacy contracts, whereas Microsoft probably has a whole department for that.
A product can work however it works, good or bad, but if you can't wrap contractual guarantees around it that are palatable to your enterprise customers, you're not going to get enterprise sales.
The actual killer feature for me is the much superior autocompletion, Cursor always suggests an edit inline once I stopped typing, without having me to type a prompt to ask it to do stuff. And it feels faster than GH Copilot, too.
For us who prefer coding ourselves (instead of telling LLMs to do stuff and review the result) it is much much better.
No, Copilot is just dumb, for example, I have the following code:
func(a, b, 1)
func(b, c, 1)
and, say, for some reason I need to swap the order so the first line looks like func(1, a, b). After doing that, without even moving to the second line, Cursor just suggests changing the second line to func(1, b, c).
You just can't make Copilot do this. Even after you move to the second line, it won't suggest anything. It just suggests a completion starting from where your cursor is, instead of an inline edit around where you are at.
Sometimes you can delete everything after func( on the second line and Copilot will finish it, but sometimes it just can't and decided to autocomplete irrelevant (e.g. func(1, e, f).
In this case there's not much intelligence needed, but for more complicated changes Cursor does just as well.
Exactly. This is how it works in vim/nvim using the copilot.vim plugin. Unless it's refactoring multiple files, I don't see the value. Now that you can choose your own model, I don't see many benefits with Cursor.
I need to try it again. When I tried it I found it was kind of overblown and went back to copilot. I also wasn't sure whether to maintain two IDEs - Cursor for scaffolding new projects, and VScode for daily driving.
Copilot is basically just autocomplete for code with a ChatWindow on the side.
Cursor has that, but also other modalities. It also just has a better UX for the core shared experience. Cursor also has their own models they mix with APIs to big well known models.
For example…
1. Cursor’s chat window generates patches (multi line, multi file, non contiguous) that can be directly applied to the file editor with a click, instead of requiring you to copy/paste the chat results. It lets you apply parts of the patches too.
2. Cursor supports multi-line changes (which show up as auto-complete), where the lines aren’t contiguous. For example, if you rename a field in a class, the AI will propose a rename for the Getter/Setter methods, as well as all the uses of said field/method. It’s like all the familiar refactoring tools available in IDEs, but AI powered so it operates “fuzzy matching”
3. Building off 2, they will use AI to move your cursor around (it’s not intrusive).
4. Cursor supports BYO keys for OpenAI, Gemini, Anthropic, etc. They host their own model which you’d need to pay to access though.
5. They support AI autocomplete and conversation in the command line. Helpful for remembering commands or if you need to change a command to test some change you’d made.
Sticking with Jetbrains (Pycharm) which has good CoPilot integration (has an extension for Claude as well but I haven't gotten it working). Tried Cursor but I didn't find it compelling enough to switch.
If you pay for the "Business" license, then you get some guarantees about privacy + security. It was a fight, but we eventually got the go-ahead from our legal team and are able to use it. It's pretty nice.
Yeah I'm happy to check it out, Cursor isn't perfect, but at least it feels like it was created by people who code for a living versus people tasked to inject a LLM into an IDE.
Why do I say this? Because their cost to deliver their product exceeds their revenue. That tells me the product (as it is today) does not match the market demand.