Here's a demo of some of the functionality that Atom has for Python development, by a long-time Atom and vi(m) user and Python newbie. This demo mostly uses Atom's core editor functionality (with some packages), not the full-blown Atom IDE which requires Python language server.
Atom was built by GitHub using the Electron framework which also powers VS Code and some other apps you may have heard of/used.
Atom ships with a few core packages (including git and GitHub integration) and there are thousands of contributed ones in the Atom package repository. Atom configuration (for the core editor and for packages) can be done from the settings screen or directly using .cson
(CoffeeScript Object Notation) files.
Assuming stock Atom is already installed and XKCD codebase already checked out.
Commands are run from the main or contextual menus, from the command palette (cmd+shift+p
or ctrl+shift+p
), or from other UI elements.
language-python is a default package. We may also want the following:
- atom-python-test -- requires
py.test
- autocomplete-python
- git-blame
- linter-python -- requires
pylama
- python-tools -- useful for refactoring
- script-runner -- run scripts in python and various other scripting languages, output to Atom console
- New window
- Add project folder
✓
✓
[python-tools] Show Usages.
[python-tools] Goto Definition.
The git-blame
package will show blame in the left column. Authors can be distinguished by colour of margin. Clicking in the blame column will open the commit in GitHub, Bitbucket, GitLab, or a custom remote, if available.
Find/Replace in Project.
[script-runner] Run.
[atom-python-test]
- Run test under cursor
- Run all tests on page
- Run project tests