Hacker News new | past | comments | ask | show | jobs | submit login

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.

* Type hinting in in-type languages


Are you joking about the 8 editors?

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.


You'll be disappointed when you move over to vastly more powerful machine and performance improvement is neglible


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.


This. 1000x This.

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.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: