Oh man, where do I begin?
- workspaces. This allows updating live code (JS, CSS, and languages that compile to them) without refreshing. Also allows editing and saving source files in place from DevTools, including CSS changes in the element inspector. It effectively turns DevTools into its own IDE. You can open, edit, and save any file from the workspace, regardless of whether it’s been requested/loaded by the web app.
- breakpoints on much more than just a particular line of JS. Set JS breakpoints on particular DOM and page events (including pre-navigation), XHR/fetch requests with a matching URL, and other exotic things. Find out where in the code a particular action is originating.
- hover info during debugging: lots of extended info available, like which JS file this function is defined in, or direct access to variables in the lexical scope(s) of a function
- stack traces that span async invocation boundaries, even fetch/XHR call to response
I’m sure there are others, but those are the big ones for me.