3 ms·
Clearly there are many areas where vim is not the best tool for the job. Would you mind sharing a couple of examples of the context and the IDE features that ma
by lancebeet 6y ago
Clearly there are many areas where vim is not the best tool for the job. Would you mind sharing a couple of examples of the context and the IDE features that made long-time vim users make the switch?
- dmitriid 6y agoThis was about three years ago, and the codebase was a huge Symfony project, in PHP. - IDEA understands bindings to Symfony's sprawling YAML configuration files. So jumping between PHP code using a config value and the YAML file defining the value is one shortcut/click away. And more, and more: https://www.jetbrains.com/help/phpstorm/symfony-support.html https://www.jetbrains.com/help/phpstorm/symfony-support.html - Refactoring: even a small thing like renaming a variable, a method, a config value. Changes propagated through all affected files (with preview of changes). It's impressive even for dynamic languages like PHP: https://www.jetbrains.com/help/phpstorm/refactoring-source-code.html https://www.jetbrains.com/help/phpstorm/refactoring-source-c... For languages like Java? Oooh, boy, see submenues on the left https://www.jetbrains.com/help/idea/refactoring-source-code.html https://www.jetbrains.com/help/idea/refactoring-source-code.... - Symbol search. You know a function name, you can't remember the file? Symbol search for the function name. It's fuzzy, too. https://www.jetbrains.com/help/idea/searching-everywhere.html https://www.jetbrains.com/help/idea/searching-everywhere.htm... I think searching was the primary thing that drove people to try IDEA. And I've seen it again and again with emacs and vi users: they spend significantly more time searching for code than I do. Because most of the time the best you have grep/ag/ripgrep which just search through files as and leaves figuring out context to the user. - Usages. Shortcut/Cmd+Click on anything, see where that anything is used/invoked. Without searching. https://www.jetbrains.com/help/idea/find-highlight-usages.html https://www.jetbrains.com/help/idea/find-highlight-usages.ht... That was another big thing that fascinated people. Very useful in large legacy projects. This is off the top of my head for that particular job. But in general, there are significantly more things like identifying errors and suggesting fixes, large-scale refactorings, understading the plethora of test frameworks and letting you run the tests however you like, debugger integrations, stepping through automatically disassembled code for Java and .net during debugging etc. etc.
- lancebeet 6y agoThank you for taking the time. Regardless of what tools we choose ourselves I think it's very valuable to know what features are available and appreciated elsewhere. IDEA certainly has some impressive features.
- dmitriid 6y agoNo problem. IDEs quite deservedly have the reputation of bloated monstrosities, so people might be put off by them. Hoewver, these monstrosities often have a plethora of tools that you might not even know can exist unless you use one of those monstrosities :)