mirror of
https://github.com/kforney/pentest-distro-builder.git
synced 2024-11-29 03:31:59 -07:00
122 lines
6.8 KiB
Markdown
122 lines
6.8 KiB
Markdown
|
# 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.4), including features such as linting, debugging, IntelliSense, code navigation, code formatting, refactoring, unit tests, 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.
|
||
|
|
||
|
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: Create Terminal``` | Create a VS Code terminal with the selected Python interpreter (environment) activated.
|
||
|
```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.
|
||
|
|
||
|
To see all available Python commands, open the Command Palette and type ```Python```.
|
||
|
|
||
|
## 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`
|
||
|
* `pt-br`
|
||
|
* `ru`
|
||
|
* `zh-cn`
|
||
|
* `zh-tw`
|
||
|
|
||
|
## Questions, issues, feature requests, and contributions
|
||
|
|
||
|
* If you have a question about how to accomplish something with the extension, please [ask on Stack Overflow](https://stackoverflow.com/questions/tagged/visual-studio-code+python)
|
||
|
* If you come across a problem with the extension, please [file an issue](https://github.com/microsoft/vscode-python)
|
||
|
* Contributions are always welcome! Please see our [contributing guide](https://github.com/Microsoft/vscode-python/blob/master/CONTRIBUTING.md) for more details
|
||
|
* Any and all feedback is appreciated and welcome!
|
||
|
- If someone has already [file an issue](https://github.com/Microsoft/vscode-python) that encompasses your feedback, please leave a 👍/👎 reaction on the issue
|
||
|
- 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)
|
||
|
* 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
|
||
|
* Refactoring
|
||
|
+ Rename refactorings
|
||
|
+ Extract variable refactorings
|
||
|
+ Extract method refactorings
|
||
|
+ Sort imports
|
||
|
|
||
|
![General Features](https://raw.githubusercontent.com/microsoft/vscode-python/master/images/general.gif)
|
||
|
|
||
|
![Debugging](https://raw.githubusercontent.com/microsoft/vscode-python/master/images/debugDemo.gif)
|
||
|
|
||
|
![Unit Tests](https://raw.githubusercontent.com/microsoft/vscode-python/master/images/unittest.gif)
|
||
|
|
||
|
|
||
|
## Data and telemetry
|
||
|
|
||
|
The Microsoft Python Extension for Visual Studio Code collects usage
|
||
|
data and sends it to Microsoft to help improve our products and
|
||
|
services. Read our
|
||
|
[privacy statement](https://privacy.microsoft.com/privacystatement) to
|
||
|
learn more. This extension respects the `telemetry.enableTelemetry`
|
||
|
setting which you can learn more about at
|
||
|
https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting.
|