1) For JS+HTML we use Brackets editor ( http://brackets.io/ ) and some of its extensions (like Beautify for code formatting)
2&3) I guess you need to install Chrome browser, DevTools opens in Chrome and breakpoints work fine for me. Also the Timeline tab and its recording is very useful for debugging performance issues etc.

3) As Ludek noted, while 'Inspect Element' shows Chrome-like UI, it's in MM5 process and somehow debugging doesn't work well there (but it's great for element inspection, etc.). Debugging works great from an external Chrome instance though, which you can also open by Ctrl+Alt+Shift.

Break point in local.js, line 45 works fine
Break point in webrequestdjdd/dialogs/dlgUpdateFromLastFm.js, any line (e.g. 182) does not work

If I first open the dialog and then press Ctrl+Alt+Shift, I can set a break point at line 369 (function chbEmptyFieldsOnlyChanged()) that works.

But what I need is a working break point in function updateResults()
How can I set a break point there, if I set the breakpoint before opening the dialog, it does not work, if I set the break point after opening the dialog it is to late