Text Editors ============ Writing Python code typically involves what it known as a Text Editor. Our recommendation for a text editor is either `Sublime Text 3 `_, which costs money but is free to use, or `Microsoft VS Code `_. The functional difference between these two editors is small — they both accomplish the same things, effectively. Which one you chose is a matter of personal taste. There are other editors, like *vim*, *Atom*, or *emacs*, which you may chose to use instead. Whatever works best for you is best. ---------------- I personally use an vastly prefer *Sublime Text 3* to all other options available. It's easily my favorite editor. If it didn't exist though, I'd be using *VS Code*. Python Requirements for a Text Editor ------------------------------------- There are a few soft "requirements" for a text editors - Support for "soft tabs" - Support for visible whitespace (this is crucial when working with Python files) Nice–to–haves: - Support for "rulers", which show a horizontal line at line 79, as PEP8 recommends. - Built-in linter for showing sytax errors as you type. - Built-in support for Flake8, which enforces PEP8 standards as you type. Sublime Text 3 -------------- Sublime Text doesn't support all of these things by itself, but it comes with a great system called *Package Control*, which allows for easy installation/management of third-party plugins. Sublime Text 3 Plugin Recommendations +++++++++++++++++++++++++++++++++++++ - Package Control - Anaconda - Autocompleter? - Flake8? - GitSavvy Sublime Text 3 Tricks +++++++++++++++++++++ ``subl`` Launcher ///////////////// Rulers ////// Microsoft VS Code ----------------- Microsoft VS Code guides you through setting up the Python package, built by Microsoft themselves, the first time you run it. Microsoft VS Code Extensions Recommendations +++++++++++++++++++++++++++++++++++++ - Python extension for Visual Studio Code by Microsoft Linting, Debugging (multi-threaded, remote), Intellisense, code formatting, refactoring, unit tests, snippets, Data Science (with Jupyter), PySpark and more. - vscode-flake8 - MagicPython Syntax highlighter for cutting edge Python. Additionally Helpful Plugins ```````````````````````````` - Jupyter Data Science with Jupyter on Visual Studio Code. - Django Template Django template language support for Visual Studio Code. - Django Snippets Common Django snippets for everyday use. Microsoft VS Code Tricks +++++++++++++++++++++ Select a version of Python using Ctrl+Shift+P: "Python: Select Interpreter" ``Microsoft VS Code`` Launcher ///////////////// Rulers //////