4 ms·
All these "simple" text editors like to show how easy it is to use "multiple cursors" to edit several spots at once but... Even though sometimes it's needed it'
by TacticalCoder 5y ago
All these "simple" text editors like to show how easy it is to use "multiple cursors" to edit several spots at once but... Even though sometimes it's needed it's really usually a terribly bad way to "refactor". Real refactoring is done across multiple files / config files and that's one area where a real IDE excels. And this comes from an Emacs fan (and I do sometimes use "multiple cursors" in Emacs).
I really don't think it's somehow a "selling point" of a text editor to show that you can edit multiple cursor: what you typically want is real refactoring and multiple cursors simply aren't that at all.
- craigds 5y ago"real refactoring" isn't generally available to those of us using dynamic languages like Python (or at least I've never seen it done well) so multiple cursors is about the best we can get unfortunately.
- true_religion 5y agoIt’s kind of weird that dynamic languages are known as being bad at refactoring, when Smalltak was doing advanced full system refactoring in the 1980s. In the case of Python, I think the problem must be more syntactic and lacking an introspectable compile step than an issue with it being a dynamic language.
- qorrect 5y agoWhat now? I use PyCharm to refactor all the time, extract vars, methods, change signature, move to a different file , rename ... Intellij and their products are amazing.
- thefz 5y ago> All these "simple" text editors like to show how easy it is to use "multiple cursors" to edit several spots at once IDEs aside, I use this feature a lot to reformat badly indented SQL, to work on multiple "columns" in CSVs at once, to unroll loops... The possibilites are numerous.
- morsch 5y agoI use a powerful IDE (Intellij) in a static language (Scala). And I do use the refactoring support all the time. But I use the multiple cursors feature just as often. Sometimes you want to change more than just a variable name. Sometimes you want to replace just a part of a variable name that's identical over several different variable names. Etc etc.