Files
howtopython.org/source/editor.rst
T
kennethreitz cb47e776b3 lines
Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
2018-01-19 08:00:20 -05:00

103 lines
3.4 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 <https://www.sublimetext.com/3>`_, which costs money but is free to use, or `Microsoft VS Code <https://code.visualstudio.com>`_.
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)
Nicetohaves:
- 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 commandline ``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 <http://pep8.org/#maximum-line-length>`_, 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
//////