利用 pylsp 进行 Python 代码质量检查与 LSP 集成。提供代码诊断、补全、悬停提示及风格分析。适用于检查 Python 代码质量、获取补全建议及风格优化。
LSP Python QQ Python语言服务器协议(LSP) QQ1.是一项面向实际任务的技能,主要用于QQ Python 3.x.pylsp: pip安装python-lsp-server QQ. pip安装python-lsp-server[all] - 2017年统计用区划代码和城乡划分代码:Python-lsp-server.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
使用 Python Language Server Protocol (LSP) 进行代码质量检查和智能分析。
# 单个文件 python3 scripts/lsp-service.py check <文件路径> # 批量检查 (推荐) python3 scripts/check_python.py <文件或目录> # 批量检查并自动修复 python3 scripts/check_python.py --auto-fix <文件或目录>
示例:
python3 scripts/lsp-service.py check my_script.py python3 scripts/check_python.py src/ python3 scripts/check_python.py --auto-fix src/
python3 scripts/lsp-service.py complete <文件> <行号> <字符位置>
python3 scripts/lsp-service.py info <文件> <行号> <字符位置>
pip install python-lsp-serverpip install python-lsp-server[all] - 完整插件集pip install pylsp-mypy - 类型检查pip install pylsp-black - black 格式化检查 Python 文件中的错误和警告:
输出示例:
⚠️ 第 3 行 [pyflakes]: 'os' imported but unused ⚠️ 第 6 行 [pycodestyle]: E302 expected 2 blank lines, found 1 ✅ 没有发现问题
获取指定位置的代码补全建议:
python3 scripts/lsp-service.py complete script.py 5 10
输出:
补全建议: • json (模块) • jsonpatch (模块) • requests (模块)
查看函数签名、文档字符串等信息:
python3 scripts/lsp-service.py info script.py 10 5
查找符号的定义位置:
python3 scripts/lsp-service.py goto script.py 15 10
pip install autoflake autoflake --remove-all-unused-imports --in-place --recursive .
pip install black black .
# 1. 备份 cp -r project/ project.backup # 2. 清理导入 autoflake --remove-all-unused-imports --in-place --recursive project/ # 3. 格式化 black project/ # 4. 验证 python3 scripts/lsp-service.py check project/main.py
| 级别 | 代码 | 含义 |
|---|---|---|
| ❌ | 1 | Error (错误) |
| ⚠️ | 2 | Warning (警告) |
| ℹ️ | 3 | Information (信息) |
| 💡 | 4 | Hint (提示) |
| 代码 | 含义 | 修复方法 |
|---|---|---|
| E402 | 导入不在文件顶部 | 移动导入到文件开头 |
| E501 | 行太长 (>79 字符) | 拆分长行或使用括号 |
| W293 | 空行包含空白字符 | 删除行尾空格 |
| E302 | 缺少空行 | 函数/类定义前加 2 个空行 |
| E712 | 布尔比较风格 | if x is True → if x |
exec: python3 /path/to/lsp-python/scripts/lsp-service.py check
# 检查所有 Python 文件
find . -name "*.py" -exec python3 scripts/lsp-service.py check {} ;
# 仅显示有问题的文件
for f in $(find . -name "*.py"); do
result=$(python3 scripts/lsp-service.py check "$f" 2>&1)
if ! echo "$result" | grep -q "✅ 没有发现问题"; then
echo "=== $f ==="
echo "$result"
fi
done
references/lsp-protocol.mdreferences/pylsp-config.mdreferences/pep8-guide.md# 检查安装 which pylsp pylsp --version # 重新安装 pip install --upgrade python-lsp-server
增加脚本中的 LSP_TIMEOUT 值 (默认 10 秒)。
确保文件使用 UTF-8 编码,脚本已设置 ensure_ascii=False。