|
Most comments here either praise IDEA-variants as "outstanding", or blame it for being "slow and complicated", both of which feel odd to me (especially the first one). I strongly prefer JetBrains products over anything else, so if it's possible to use PyCharm, I will use PyCharm instead of Vim/VSCode. Yet I cannot imagine calling it outstanding. Maybe, that's just my bad character overall, but I just am surprised why is it that all IDEs/code editors suck so much. About 5 years ago, when LSP appeared (introduced by VSCode IIRC), many people predicted that soon they will far surpass IDEA's (and the likes) autocompletion, etc. And honestly, I believed them. Why wouldn't it? It seems like a simple task, once you have generic LSP functionality, the rest should be "just details", like finding/making good data source for particular language/lib/etc. And all that JetBrains IDEs do, feels to me like a pretty simple stuff. Like all these refactoring options (pretty much the main reason why I prefer their IDEs over simpler editors, it feels like a natural extension of Vim keybindings: why should I do anything as simple as extracting a method manually?), it seems like a thing that should be easily scriptable once you have powerful code-editing API, so I feel annoyed by the fact they are pretty much "hard-coded" into IDE and I cannot easily add a couple of my own simple refactorings. BTW, they didn't really change over the last 5 years or so. Some bugs get fixed, static code analysis gets smarter and more specialized for a current version of some language, but nothing that would feel like real progress. It's hundreds of tiny distinct things, and it seems like that would progress much faster, if all these things were open-source plugins. As people predicted, when LSP came about. Yet apparently it doesn't, because as imperfect PyCharm is, VSCode cannot do even as much. So, basically, what distinguishes IDEA from anything else seem like super simple things, and it seems weird that for it it must compromise to use that clunky, configurable via UI (instead of neat JSON/TOML/whatever), memory-hungry IDE. And it still puzzles me. Of course, if it seems so simple, it's fair to ask why I didn't make my own yet. Well, yes, I didn't even look into it. But I just cannot understand, what's the hard problem that community struggles to solve, why all opensource or semi-opensource editors didn't leave clunky "traditioinal IDEs" far behind yet with regard to these core function, even though it seems those traditional IDEs haven't evolved for years? |
While this isn't as powerful as the full plugin API, there is Edit > Find > Replace Structurally which can be used to write some pretty complex code alterations, and you can save/load templates to reuse them later.
IMO Jetbrains IDEs are the best IDEs. That doesn't make them amazing or great or outstanding. They have their bugs, their resource leaks, and sometimes just plain weird design decisions, but they're ahead of the competition by a long shot for many programming languages. Other IDEs can match what Jetbrains has to offer, but you have to install and configure every feature yourself, while the Jetbrains stuff mostly comes with batteries included.