Better debugging information for Atom packages and themes


#1

Hi,

I was wondering if anyone has developed a package for Atom, or is anyone working on a package for Atom, that provides more detailed and helpful debugging information for packages and themes than the Chromium developer’s console that comes with Atom (i.e., the one you open by pressing Ctrl+Shift+I) from its Electron backbone. I ask because I think if there were one available to me I wouldn’t have felt the need to ask this previous question and I suspect that such a package would probably help others as well and reduce the number of questions on discuss.atom.io.

Thanks for your time,
Brenton


#2

Have you seen DevTron built by the Electron team? Other than that, do you have suggestions for what tools would have helped you find the answer faster? (And DevTron is open source too :grinning:)


#3

Sorry for the late reply, I hadn’t heard of DevTron but I’m afraid for me it doesn’t seem all that helpful. I tried installing it, and I think there’s a version mis-match (as it works with Electron and it’s currently designed for the 1.2.x series of Electron and Atom 1.8.0 is still built on the 0.36.x series of Electron). This leaves me with a blank DevTron tab.

The debugging I’d like, is to be able to see what my regexes match in real time as I’m typing them (I suppose it’s not a debugging function per-se, but still helpful), to get a more detailed error message than that the Chrome developer tools/error tracing provide. Like I’d like the error trace to tell me the line where the error occurs, the exact row and column of the code where the error is, and preferably a little info on what makes the code problematic. Granted I might be raising the bar a little too high with this request. But still, I love Atom, but I’m not much of a programmer, my CoffeeScript/JavaScript/Less knowledge only really comes from attempting to write Atom packages/themes, beyond that I’ve had very little exposure to them, and any little help that Atom can provide me when I’m write packages would be welcome.

I think Atom’s biggest strength is its beginner-friendliness and hackability and I think any improvement to either (or both) would be just great.


#4

In the latest dev builds of Atom (and possibly in v1.9-beta … I don’t remember), we include a compatible version of DevTron. All you have to do is open the Developer Tools console and type require('devtron').install() and :boom:

The error traces I’ve seen include this.

And this.

That’s generally what the exception message is for. It is true that software developers are legendary for writing the crappiest error messages known to man, I’ll admit.

CHRIS SELLS In my own programming, I dearly love error messages that say what I did wrong and how to fix it. All too often, all I get is the former, when all I really care about is the latter.

Cwalina, Krzysztof; Abrams, Brad (2008-10-22). Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition) (Microsoft Windows Development Series) (Kindle Locations 946-947). Pearson Education. Kindle Edition.

This is a universal problem that nobody really has a great answer to beyond “be more disciplined when writing code”. And any plan that is dependent on humans making fewer mistakes is generally doomed :grinning:

I agree completely. And we’ll be adding what we can as we can.