|
|
|
|
|
by max6zx
539 days ago
|
|
Not sure about others who commented in this post, but all guys I met in real life who refuse to use advanced features of an IDE like autocomplete, refactoring ... are either: 1) have never work in a truly large scale projects (and usually familiar only with weak type languages - which IDE cannot help much so they cannot grow over a certain limit - chicken and egg?). 2) do not know what are the differences between a rename/search features offered by IDE and terminal commands to achieve similar objectives. 3) do not really care about productivity (use find & xargs for searching and does not even bother to write a script? meehh) So when someone says he do not need an IDE because its feature are just distraction, my first question is always about the biggest project that he has worked with, and the second one is how he do rename/navigation/... with his code base. Never find a single guy does not fall out of these 3 groups. Copilot is another thing for me. The reason is its accuracy is not good enough yet. The moment it can produce code align with my intention 100% accuracy, just like how search/refactor/suggestion that IDEs are currently offer, I will include it in my workflow instantly. |
|
I've worked on very large projects including the entire software stack of a robotics platform and a few enterprise apps using bare Emacs with no autocomplete added. Lack of autocomplete and bulk renaming has never been the productivity bottleneck for me[1]. And I can always tell code by those developers who get a little bit lazy -- or rush through things a little -- and let the IDE do the work, it's marked by things like class and method names that are consistently misspelled everywhere because the programmer typed in the name once (wrongly), and then let autocomplete finish it after typing the first few characters every other time -- never noticing the misspelling.
As for not bothering to write a script -- usually to smooth out my workflow I write a bit of Emacs Lisp to wrap a complicated shell command that does one of the more common tasks such as starting up/shutting down containers for my app, running tests, etc. Emacs Lisp is actually a very powerful environment optimized for this sort of work, even if it's wonky by modern Lisp standards. Then these tasks are just a keystroke away whenever I need them. Great for my ADHD, as I don't have to "stop train of thought, remember shell command(s) to do task, switch to shell, type in command(s), examine output, resume train of thought".
There's even an Emacs command built in for the example you gave: M-x find-grep.
[0] There is actual scientific research backing this up. See: https://arxiv.org/abs/2302.06376
[1] Usually the bottleneck is, I get stuck on some bug and feel the need to bro down and fix it entirely myself, rather than getting a coworker's eyes on it. I find I'm better about this now than I used to be.