ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

LSP-pylsp

sublimelsp ST3 热门

为Python语言服务器提供的便利软件包

详情

  • 2.19.1
    2.18.1
  • github.​com
  • github.​com
  • 1个月前
  • 2分钟前
  • 3年前

安装

  • 总数 17K
  • Win 8K
  • Mac 4K
  • Linux 5K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日 6月22日
Windows 5 16 7 4 7 4 9 7 7 5 9 9 4 6 10 8 5 7 5 2 1 2 8 4 11 7 3 7 10 9 3 5 3 4 6 9 3 4 4 10 21 8 7 7 7 10
Mac 3 5 2 2 9 1 1 2 1 2 2 3 2 4 3 6 1 1 1 0 6 4 3 0 0 6 5 3 4 5 4 1 5 1 4 6 1 0 1 4 3 3 3 3 1 4
Linux 3 8 6 13 2 5 6 4 1 3 1 12 5 9 10 5 1 3 7 3 6 7 5 6 6 9 6 7 5 4 5 2 5 2 9 5 2 1 8 6 2 6 10 6 4 4

说明

源代码
raw.​githubusercontent.​com

LSP-pylsp

这是一个辅助软件包,可自动为您安装和更新Python LSP Server (pylsp)。

要使用此软件包,您必须拥有:

  • Windows上的可执行python或Linux/macOS上的python3
  • LSP软件包
  • 对于Ubuntu和Debian用户,您还需要使用apt安装python3-venv
  • 推荐您还安装LSP-json软件包,这将为此软件包的设置提供自动完成和验证。

适用选择器

此语言服务器在具有source.python基础作用域的视图中运行。

安装位置

服务器安装在$CACHE/Package Storage/LSP-pylsp目录中,其中$CACHE是Sublime Text的基本数据路径。例如,Linux系统上的$CACHE~/.cache/sublime-text。如果您想强制重新安装服务器,您可以删除整个$CACHE/Package Storage/LSP-pylsp目录或重新安装软件包。安装通过pip的虚拟环境完成。因此,您必须至少安装python可执行文件,并且它必须存在于您的$PATH中。

像任何辅助软件包一样,安装将在您打开适合此语言服务器视图时开始。在这种情况下,这意味着当您打开具有source.python基础作用域的视图时,安装开始。

与LSP-pyright并行运行

LSP-pyright是相对于LSP-pylsp来说更现代、更快且得到积极支持的替代方案。虽然它在验证代码和类型检查方面可能是一个更好的解决方案,但它不支持像flake8pyflakespydocstyleyapfblack这样的linters或代码格式化器。该解决方案是在LSP-pylsp中禁用代码检查功能的同时运行它们。要实现这一点,请从命令面板中打开首选项:LSP-pylsp设置,并添加以下用户设置

{
    "disabled_capabilities": {
        "completionProvider": true,
        "definitionProvider": true,
        "documentHighlightProvider": true,
        "documentSymbolProvider": true,
        "hoverProvider": true,
        "referencesProvider": true,
        "renameProvider": true,
        "signatureHelpProvider": true,
    },
    "settings": {
        "pylsp.plugins.jedi_completion.enabled": false,
        "pylsp.plugins.jedi_definition.enabled": false,
        "pylsp.plugins.jedi_hover.enabled": false,
        "pylsp.plugins.jedi_references.enabled": false,
        "pylsp.plugins.jedi_signature_help.enabled": false,
        "pylsp.plugins.jedi_symbols.enabled": false,
    },
}

配置

通过访问 首选项 > 扩展命令 > LSP > 服务器 > LSP-pylsp 配置 Python LSP 服务器。

Python 可执行文件

使用系统默认的 Python 解释器(默认 Windows 上为 python,其他平台为 python3)创建的虚拟环境中将安装底层的 pylsp 服务器。如果您需要开发需要比默认安装的 Python 新版本才能运行的代码,可以通过更改 python_binary 设置来覆盖 Python 解释器(可执行文件)的路径。例如

错误:“jsonc” 语言不支持
// Settings in here override those in "LSP-pylsp/LSP-pylsp.sublime-settings"
{
    "python_binary": "/opt/homebrew/bin/python3",
}

虚拟环境

如果您的项目需要在虚拟环境中运行和验证,请使用 pylsp.plugins.jedi.environment 设置指向该环境。例如,如果您的虚拟环境位于项目目录中的 .venv/myproject 内,那么从命令栏运行 项目:编辑项目,并添加如下设置:

错误:“jsonc” 语言不支持
{
    // "folders": [
    //     ...
    // ]
    "settings":
    {
        "LSP":
        {
            "LSP-pylsp":
            {
                "settings":
                {
                    "pylsp.plugins.jedi.environment": "./.venv/myproject"
                }
            }
        }
    }
}

您也可以在 LSP-pylsp 的全局设置中设置,但更有可能的是您希望每个项目重写此设置。

代码补全

此语言服务器通过 JEDI 提供代码补全功能。

签名帮助

此语言服务器通过 JEDI 提供签名帮助。

转到定义

此语言服务器通过 JEDI 提供转到定义功能。

查找引用

此语言服务器通过 JEDI 提供查找引用功能。

重命名

此语言服务器通过 JEDI 提供重命名单词/符号功能。

代码检查器

默认的代码检查器是 pycodestyle。可能的代码检查器有

  • pycodestyle(《设置》中的 "pylsp.plugins.pycodestyle.enabled"
  • pydocstyle(《设置》中的 "pylsp.plugins.pydocstyle.enabled"
  • flake8(《设置》中的 "pylsp.plugins.flake8.enabled")使用 flake8 之前,您还必须将 "pylsp.configurationSources" 修改为 ["flake8"],而不是默认的 ["pycodestyle"]
  • pyflakes(《设置》中的 "pylsp.plugins.pyflakes.enabled"
  • pylint(《设置》中的 "pylsp.plugins.pylint.enabled"
  • pylsp_mypy(《设置》中的 "pylsp.plugins.pylsp_mypy.enabled"
  • ruff(《设置》中的 "pylsp.plugins.ruff.enabled"

更改代码检查器后,必须重新启动 Sublime Text。

格式化器

默认的格式化器是 autopep8。可能的格式化器有

  • yapf(《设置》中的 "pylsp.plugins.yapf.enabled"
  • autopep8(《设置》中的 "pylsp.plugins.autopep8.enabled"
  • black(《设置》中的 "pylsp.plugins.pylsp_black.enabled"。启用时,请确保禁用 autopep8yapf。)

排序导入语句

要排序导入语句,可以启用 isort。相关的设置是 "pylsp.plugins.pyls_isort.enabled"。排序操作通过鼠标在视图内右键点击的上下文菜单中的“LSP:格式化文档”选项来完成。

Sublime Text 插件开发

默认情况下,pylsp 的环境已调整,以确保 PYTHONPATH 包含 sublime.pysublime_plugin.py 所在的目录,以及 $DATA/Packages 目录。这可以为这些文件启用准确的代码补全。