python-language-server, 一种 python 语言服务器协议的实现

分享于 

4分钟阅读

GitHub

  繁體 雙語
An implementation of the Language Server Protocol for Python
  • 源代码名称:python-language-server
  • 源代码网址:http://www.github.com/palantir/python-language-server
  • python-language-server源代码文档
  • python-language-server源代码下载
  • Git URL:
    git://www.github.com/palantir/python-language-server.git
    Git Clone代码到本地:
    git clone http://www.github.com/palantir/python-language-server
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/palantir/python-language-server
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    python-语言服务器

    https://circleci.com/gh/palantir/python-language-server.svg?style=shieldhttps://ci.appveyor.com/api/projects/status/mdacv6fnif7wonl0?svg=true

    一个 python 2.7和 3.4 + 实现语言服务器协议的实现。

    安装

    基本语言服务器要求绝地提供完成,定义,悬停,引用,签名帮助和符号:

    pip install python-language-server

    如果找到相应的依赖项,将启用下列可选提供程序:

    • 用于完成和重命名的Rope
    • Pyflakes linter用于检测各种错误
    • McCabe linter的复杂性检查
    • 用于样式检查的pycodestyle linter
    • 字符串样式检查的pydocstyle linter
    • 用于代码格式化的autopep8
    • 用于代码格式化( 优于 autopep8 )的YAPF

    可选提供程序可以使用附加语法安装。 要安装 YAPF插件格式,例如:

    pip install 'python-language-server[yapf]'

    所有可选提供程序都可以使用以下方法安装:

    pip install 'python-language-server[all]'

    如果你得到类似于 'install_requires' must be a string or list of strings 然后请在重试之前升级 setuptools。

    pip install -U setuptools

    Party Party

    安装这些插件将为语言服务器增加额外的功能:

    有关如何为 python 语言服务器编写插件的示例,请参阅上面的存储库。 如果你需要协助编写插件,请提交一个问题。

    配置

    配置是从零个或者多个配置源加载的。 当前实现的是:

    • pycodestyle: 在 ~/.config/pycodestyle, setup.cfg, tox.ini 和 pycodestyle.cfg. 中发现
    • flake8: 在 ~/.config/flake8, setup.cfg, tox.ini 和 flake8.cfg 中发现

    默认配置源是 pycodestyle。 将 pyls.configurationSources 设置更改为 ['flake8'],以替代flake8配置。

    整体配置首先从用户配置( 在主目录中) 计算,由语言客户端传递的配置重写,然后由工作区中发现的配置。

    语言服务器功能

    自动完成:

    https://raw.githubusercontent.com/palantir/python-language-server/develop/resources/auto-complete.gif

    带有pycodestyle和pyflakes的代码 Linting:

    https://raw.githubusercontent.com/palantir/python-language-server/develop/resources/linting.gif

    签名帮助:

    https://raw.githubusercontent.com/palantir/python-language-server/develop/resources/signature-help.gif

    转到定义:

    https://raw.githubusercontent.com/palantir/python-language-server/develop/resources/goto-definition.gif

    悬停:

    https://raw.githubusercontent.com/palantir/python-language-server/develop/resources/hover.gif

    查找引用:

    https://raw.githubusercontent.com/palantir/python-language-server/develop/resources/references.gif

    文档符号:

    https://raw.githubusercontent.com/palantir/python-language-server/develop/resources/document-symbols.gif

    文档格式:

    https://raw.githubusercontent.com/palantir/python-language-server/develop/resources/document-format.gif

    插件开发

    要运行测试套件:

    pip install. [test] && tox

    针对代码开发插件

    可以针对 Visual Studio 代码的本地实例开发 python 语言服务器。

    • 安装用于苹果机的 VSCode
    • 从VSCode视图-> 命令选项板中,输入 shell 并运行 install 'code' command in PATH
    # Setup a virtual envvirtualenv env. env/bin/activate# Install pylspip install .# Install the vscode-client extensioncd vscode-client
    yarn install .# Run VSCode which is configured to use pyls# See the bottom of vscode-client/src/extension.ts for infoyarn run vscode -- $PWD/../

    然后调试,单击 View -> 输出,在下拉列表中将显示 pyls。 要刷新 VSCode,请按+ R

    许可证

    这个项目是在MIT许可下提供的。


    Server  IMP  Implementation  LAN  LANG  proto  
    相关文章