CodeBuddy 与 Pylance 冲突源于二者争夺 Python 文件的语言服务控制权,导致补全延迟、跳转失效等问题;需禁用 ms-python.python、设 python.languageServer 为 none、显式关闭 Pylance 并确保 CodeBuddy 独占 LSP。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

CodeBuddy 和 Pylance 冲突的核心,是两者都试图接管 Python 文件的语言服务(LSP)——一个负责 AI 补全与语义理解,另一个负责静态类型分析与智能提示。它们不共享状态、不协商控制权,结果就是补全延迟、跳转失效、悬浮提示错乱,甚至编辑器卡死。
第一步:确认冲突是否存在
别急着改配置,先快速验证是不是它俩在打架:
- 终端执行:
code --disable-extensions,用纯净 VS Code 打开一个 .py 文件 - 如果这时 Ctrl+Space 能立刻弹出基础补全、Go to Definition 正常跳转、保存不卡顿 → 问题 100% 出在插件层
- 再打开开发者工具(Ctrl+Shift+I),切到 Console 标签页,留意是否反复出现:
“Conflict detected for language 'python'” 或 “Extension host terminated unexpectedly”
第二步:明确角色分工,禁用冗余服务
Pylance 是微软官方 Python 扩展(ms-python.python)内置的默认语言服务器,而 CodeBuddy 是独立 LSP 客户端。二者不能共存于同一文件类型上。必须做减法:
- 在插件面板(Ctrl+Shift+X)中,搜索并禁用 ms-python.python(旧版 Python 扩展)——它已标记为 legacy,且自带 Pylance;保留单独安装的 ms-python.pylance(如果你需要它)或直接禁用它
- 在设置中搜索 “python.languageserver”,设为 “none” 或 “jedi”(若你倾向轻量方案)
- 在 settings.json 中显式关闭 Pylance 启动:
"pylance.enabled": false,"python.languageServer": "none"
第三步:让 CodeBuddy 成为唯一语言服务提供者
确保 CodeBuddy 的 LSP 进程能独占 .py 文件解析权:
- 检查 CodeBuddy 插件是否启用,并确认其状态栏图标显示“已登录”
- 在 settings.json 中添加语言绑定规则:
"files.associations": { "*.py": "python" },"editor.defaultFormatter": "tencent.codebuddy" - 关闭其它可能劫持 .py 文件的格式化器,例如:
"black-formatter.formatOnSave": false,"prettier.formatOnSave": false(尤其当项目里有 .prettierrc 时)
第四步:重启 + 清理残留
VS Code 不会自动卸载旧进程,需手动清理:
- 完全退出 VS Code(包括后台进程)
- 删除残留缓存目录(macOS/Linux):
rm -rf ~/.vscode/extensions/ms-python.*
Windows 可删:%USERPROFILE%\.vscode\extensions\ms-python.* - 重新打开 VS Code,只启用 CodeBuddy,观察补全是否恢复响应
- 如仍异常,可临时在项目根目录加
.codebuddyignore文件,排除干扰路径
本质不是功能互斥,而是控制权争夺。让 CodeBuddy 全权接管 Python 语言服务,Pylance 就不该再启动——关得干净,才能跑得稳。


















