LSP-pylsp
为Python语言服务器提供的便利软件包
详情
安装
- 总数 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 |
说明
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
来说更现代、更快且得到积极支持的替代方案。虽然它在验证代码和类型检查方面可能是一个更好的解决方案,但它不支持像flake8
、pyflakes
、pydocstyle
、yapf
或black
这样的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 解释器(可执行文件)的路径。例如
// Settings in here override those in "LSP-pylsp/LSP-pylsp.sublime-settings"
{
"python_binary": "/opt/homebrew/bin/python3",
}
虚拟环境
如果您的项目需要在虚拟环境中运行和验证,请使用 pylsp.plugins.jedi.environment
设置指向该环境。例如,如果您的虚拟环境位于项目目录中的 .venv/myproject
内,那么从命令栏运行 项目:编辑项目
,并添加如下设置:
{
// "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"
。启用时,请确保禁用autopep8
和yapf
。)
排序导入语句
要排序导入语句,可以启用 isort
。相关的设置是 "pylsp.plugins.pyls_isort.enabled"
。排序操作通过鼠标在视图内右键点击的上下文菜单中的“LSP:格式化文档”选项来完成。
Sublime Text 插件开发
默认情况下,pylsp 的环境已调整,以确保 PYTHONPATH
包含 sublime.py
和 sublime_plugin.py
所在的目录,以及 $DATA/Packages 目录。这可以为这些文件启用准确的代码补全。