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 ///////////////// Once installed, the command–line ``subl`` launcher will allow you to easily open up projects from your terminal (e.g. ``$ subl .``). In addition, it also will inform plugins like Anaconda of which Python interpreter to use, based on the currently activated virtual environment. Rulers ////// According to `PEP8 `_, all lines of Python should typically be set to a maximum length of 79 charecters (72 if documentation). Let's configure Sublime Text to display these rulers. Go into *Preferences ➞ Settings*, and add the following JSON:: "rulers": [ 72, 79, ], Now, you'll see nice horizontal lines at 72 and 79 charecters, informing you of how long your lines are! 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 //////