An integrated debugger. Writing code without a editor with integrated debugger is madness to me. I think a lot of people who are used to using text editor/command line, don't appreciate how effective its is to debug in something like VS/VSCode. Its also the thing people dont talk about enough when choosing languages: Does the language have rock solid debuger?
Couldn't agree more, a proper debugger is not just a glorified printf.
Where I currently work there are two of us who actually leverage the debugger everyone else is using printf() style debugging.
I can find an issue faster in a codebase I've never seen than devs who've worked on it for years but in another part - the superpower? hit a breakpoint nearby and single step through it at high speed adding stuff to the watch list then repeating it and watching the watchlist mutate.
I really liked working with xdebug in my PHP days.
But in my experience JS debuggers (outside the browser and inside the IDE) were kinda brittle, probably because of all that bundling and compilation going on.
I do think this also has to do with personal preference, too.
Even when I'm working in an IDE that has great debugger support, I tend not to use it. I just prefer to put println's in a bunch of places, then run the code, and look through the log to see what happened.
I just find it easier to see a full log of the execution that I can open in Emacs and search through than to step through.
However, one thing I'd love to have is the ability to effectively capture the entire execution of a program, and be able to display it in log format, but then be able to jump into what the execution context was at the time of a particular log line and inspect things/step through what happened.