VS Code中Pylance/Ruff诊断结果无法在问题面板持久显示
解决VS Code中Pylance/Ruff诊断结果切换文件后消失的问题
调整诊断范围核心设置
- 打开VS Code设置(快捷键
Ctrl+,/Cmd+,),搜索python.analysis.diagnosticMode,将值改为workspace。这个设置控制Pylance的诊断扫描范围,设为workspace后会覆盖整个项目目录,而非仅当前打开的文件。 - 针对Ruff,搜索
ruff.lint.run,设置为onType或onSave;同时确认ruff.lint.enable为true,并检查ruff.lint.include是否包含**/*.py这类覆盖所有Python文件的匹配规则。
修正问题面板显示范围
- 打开问题面板,点击右上角的漏斗筛选图标,确保文件范围选择的是「工作区」,而非「当前文件」或「已打开文件」。
- 同时检查筛选器是否勾选了所有诊断类型(错误、警告、信息等),避免因类型筛选导致部分结果被隐藏。
强制触发全工作区诊断
- Pylance:打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),执行Python: Analyze Workspace命令,强制扫描整个项目的所有Python文件并生成完整诊断结果。 - Ruff:同样打开命令面板,执行
Ruff: Lint Workspace命令,触发全项目范围的linting检查。
确认工作区信任状态
- 如果VS Code左下角显示「工作区未被信任」,部分扩展的全项目功能会被限制。点击该提示,将当前工作区添加到信任列表,确保Pylance和Ruff能正常访问项目内所有文件。
重置相关配置(终极尝试)
- 若以上方法均无效,打开设置页面右上角的「打开设置(JSON)」图标,删除所有与
python.analysis.、ruff.lint.相关的配置项,重启VS Code后重新配置必要选项。
内容的提问来源于stack exchange,提问作者Malakof
相关产品推荐
相关产品推荐

