python-lsp-server:Python 语言的 LSP 实现
python-lsp-server是一个基于LSP协议的Python语言服务器,支持代码补全、定义跳转、错误检查等功能。它需要Python 3.9+,核心功能依赖Jedi,可通过pip或conda安装。采用模块化设计,基础安装仅含核心功能,可选依赖扩展了代码格式化、静态检查等能力,支持通过插件进一步扩展。配置文件灵活,支持多编辑器集成和WebSocket通信,适用于多种Python开发场景。
python-lsp-server:Python 语言的 LSP 实现
python-lsp-server 是一个基于 Language Server Protocol 构建的 Python 语言服务器,目前获得 2,558 个 Star。


这个项目为 Python 开发者提供语言服务。它要求 Python 3.9 及以上版本,核心功能依托 Jedi 库实现,覆盖代码补全、定义跳转、悬停提示、引用查找、签名帮助和符号浏览。
安装通过 pip 执行:
pip install python-lsp-server
安装后系统中新增 pylsp 命令。Anaconda 用户可用 conda 安装:
conda install -c conda-forge python-lsp-server
主流 Linux 发行版在软件源中收录了该工具。Debian 系执行 apt-get install python3-pylsp,Fedora 执行 dnf install python3-lsp-server,Arch 执行 pacman -S python-lsp-server。
该项目的架构是模块化的。基础安装仅含核心能力,其他功能通过可选依赖接入。已集成的可选 provider 包括:
Rope 用于代码补全和重命名
Pyflakes 检测各类错误
McCabe 检查圈复杂度
pycodestyle 检查代码风格
pydocstyle 检查文档字符串风格(默认关闭)
autopep8 和 YAPF 用于代码格式化
flake8 用于错误检查(默认关闭)
pylint 用于代码检查(默认关闭)
需要全部可选功能时,执行:
pip install "python-lsp-server[all]"
第三方插件也在扩展。pylsp-mypy 提供静态类型检查,python-lsp-isort 自动排序导入,python-lsp-black 提供代码格式化,pylsp-rope 扩展重构能力,python-lsp-ruff 提供快速代码检查。
编辑器对接方面,python-lsp-server 支持 Auto Completion、Autoimport、Code Linting、Code actions、Signature Help、Go to definition、Hover、Find References、Document Symbols、Document Formatting、Code folding 和 Multiple workspaces。
配置体系比较灵活。各工具配置可从客户端传入,也可从配置文件读取。pycodestyle 配置在 ~/.config/pycodestyle、setup.cfg、tox.ini 和 pycodestyle.cfg 中查找;flake8 配置在 .flake8、setup.cfg 和 tox.ini 中。配置优先级依次是用户目录配置、客户端传入配置、工作区配置。
该项目还支持 WebSocket 通信,启动命令为:
pylsp --ws --port [port]
需要额外安装 websockets 依赖。
python-lsp-server 采用模块化架构,能适应多种开发场景。
装 websockets 依赖。
python-lsp-server 采用模块化架构,能适应多种开发场景。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)