Haven't used Atom but I'm quite familiar with Squeak (and Pharo, a Squeak offshoot). These Smalltalk environments are - as the Brits like to say - singular. When you're in the Squeak enviroment, you're in a place where everything functions under a single paradigm, Smalltalk objects written in Smalltalk. The Squeak environment itself is written in Smalltalk and all the source is present - part of the Smalltalk image in which you're working. Version control, which is built into the environment, versions language constructs, methods, class definitions (e.g., instance variables) and not OS constructs: files. When an error occurs during execution, the debugger pops up where you can modify the code (anywhere in the call stack) and resume execution.
The first time I experienced this environment, I too was blown away ... and for good reason - NOTHING else compares to it.