Python 标识符语义高亮失效(仅基础关键词高亮,悬停/跳转正常)

# Python 标识符语义高亮失效(仅基础关键词高亮,悬停/跳转正常)

环境

  • Qoder 版本:
  • 操作系统:macOS 26.4.1 (Apple Silicon)
  • 项目 Python 版本:3.12.12(venv)
  • 已装扩展:Python (ms-python.python) — 搜索显示 Pylance 已安装,但插件管理里看不到
  • 对照项目:另一个 Python 3.11 项目可正常高亮

现象

  1. `import sys, json` 这种标准库 `sys`、`json` 不高亮(仅 `import` 关键词高亮)
  2. 鼠标悬停 `APIRouter`、`Depends`、`AsyncSession` 等能正常弹出 tooltip
  3. `Ctrl + 点击` 跳转定义可正常工作
  4. 仅有 `def`、`class`、`import`、`return`、字符串、数字、注释等"基础关键词"高亮
  5. 历史问题,**与具体项目代码无关**

Output 面板告警(Python Language Server)

2026-06-10 11:58:36.567 [info] WARNING:pygls.protocol.json_rpc:Cancel notification for unknown message id “18”
2026-06-10 11:58:36.686 [info] WARNING:pygls.protocol.json_rpc:Cancel notification for unknown message id “19”
2026-06-10 12:01:43.444 [info] WARNING:pygls.protocol.json_rpc:Cancel notification for unknown message id “53”
2026-06-10 12:01:43.445 [info] WARNING:pygls.protocol.json_rpc:Cancel notification for unknown message id “55”
2026-06-10 12:07:24.811 [info] WARNING:pygls.protocol.json_rpc:Cancel notification for unknown message id “1”
2026-06-10 12:13:45.152 [info] [Error - 12:13:45] Server process exited with signal SIGTERM.

## 复现步骤

  1. 打开任意 Python 文件(如 `app/routers/game_route/apis/game_api.py`)
  2. 观察标识符高亮情况
  3. 鼠标悬停任一第三方包符号

期望

第三方包符号、类成员、参数等应与 python3.11 项目一致地高亮。

推测

Pylance 进程其实是工作的(hover/definition 正常),但 Qoder 可能未实现
LSP `textDocument/semanticTokens` 协议,导致 Pylance 的语义高亮被丢弃,
仅 TextMate 基础高亮生效。

参考已知问题:microsoft/pylance-release#7959

已尝试

  • [x] 解释器路径正确指向 venv
  • [x] 配置 `.qoder/settings.json` 指定 `python.defaultInterpreterPath` 和 `extraPaths`
  • [x] 重启 Language Server(报 SIGTERM 错误)
  • [x] 检查 `~/Library/Application Support/Qoder` 下无 `extensions` 目录

附件

Qoder版本信息

Version: 1.7.0
VSCode Version: 1.106.3
Commit: 20d7181814dc1d4b692c8bcddc2f27d05f66bf4c
Date: 2026-06-10T13:56:56.604Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 25.4.0