A Python 2.7 and 3.4+ implementation of the Language Server Protocol making use of Jedi, pycodestyle, Pyflakes and YAPF.
Installing these plugins will add extra functionality to the language server:
- Mypy type checking (requires Python 3) - https://github.com/tomv564/pyls-mypy
Auto Completion:
Code Linting with pycodestyle and pyflakes:
Signature Help:
Go to definition:
Hover:
Find References:
Document Symbols:
Document Formatting:
pip install python-language-server
To run the test suite:
pip install .[test] && tox
The Python language server can be developed against a local instance of Visual Studio Code.
- Install VSCode for Mac
- From within VSCode View -> Command Palette, then type shell and run
install 'code' command in PATH
# Setup a virtual env
virtualenv env
. env/bin/activate
# Install pyls
pip install .
# Install the vscode-client extension
cd vscode-client
npm install .
# Run VSCode which is configured to use pyls
# See the bottom of vscode-client/src/extension.ts for info
npm run vscode -- $PWD/../
Then to debug, click View -> Output and in the dropdown will be pyls. To refresh VSCode, press Cmd + r
This project is made available under the MIT License.