To
@Konrad Hinsen question, I believe all of these environments can dynamically execute code to change their environment (I'm not 100% sure about VS Code, but defintely Vim and Emacs, and I actually wrote a plugin to do this myself in Atom
https://atom.io/packages/run-in-atom). With that said, I don't think any of these environments provide special functionality for reloading a whole extension at once? Although that theoretically should be possible. Personally, I find dynamic load great for experimenting, but not as good for building things because it's too common to end up with something that works in your current application state, but that fails when run you restart your environment. I've found a better approach to be excellent state restoration and a really fast startup time, so you can close and re-load your environment and be right where you left off very quickly. (I'd be very interested in hearing if people have had different experiences with that though!)