VS Code打开.ipynb只显示JSON源码,是因未启用Python扩展或未正确关联含ipykernel的解释器;需运行Python: Select Interpreter选择有效环境,并确保右上角出现内核选择器。

VS Code 打开 .ipynb 文件只显示 JSON 源码
这不是文件损坏,而是 VS Code 没识别成 Notebook 视图——根本原因是 Python 扩展未启用或内核未正确关联。
检查点:
- 确认已安装 ms-python.python(不是单独的 “Jupyter” 扩展,它已整合进 Python 扩展)
- 按 Ctrl+Shift+P 运行 Python: Select Interpreter,选一个含 ipykernel 的环境(终端执行 python -m pip list | grep ipykernel 可验证)
- 若已选解释器但右上角无 “Select Kernel” 按钮,尝试关闭再重开 .ipynb 文件,或重启 VS Code 窗口(不是重载)
- 禁用所有非官方 Notebook 相关扩展(如旧版 Jupyter 插件),避免冲突
首次运行单元格卡在 “Connecting to kernel…”
这是最常被误判为“卡死”的场景,实际是 VS Code 在后台静默安装 ipykernel 或启动内核服务,尤其在新虚拟环境或 conda 环境中。
应对方式:
- 等待 30–60 秒,不要反复点击运行按钮
- 打开输出面板(Ctrl+Shift+U),切换到 Jupyter 日志,看是否有 ModuleNotFoundError: No module named 'ipykernel'
- 若确认缺失,**在对应环境终端中手动执行**:python -m pip install ipykernel,再重启 VS Code 窗口
- 避免用 conda install jupyter 后不装 ipykernel:conda 安装 jupyter 不自动包含内核注册,仍需显式运行 python -m ipykernel install --user
Shift+Enter 没反应或输出不显示
表面是快捷键失效,深层原因通常是当前单元格处于“命令模式”而非“编辑模式”,或者内核已断连但 UI 未提示。
排查步骤:
- 点击单元格内部,确认光标闪烁(编辑模式);若光标不闪,按 Enter 进入编辑模式
- 查看右上角内核名称是否灰显或显示 “Disconnected”;若是,点击它并重新选择内核
- 运行一个极简单元格:print("test"),观察是否输出;若仍无输出,检查内核日志里有无 Kernel died 或 Failed to start the kernel
- 不要依赖“自动保存”:VS Code Notebook 默认不自动保存单元格执行状态,导出前务必手动 Ctrl+S 保存 .ipynb 文件,否则下次打开会丢失输出
图表不显示(Matplotlib/Seaborn)或变量面板为空
这不是代码问题,而是内核通信或渲染配置未就绪。VS Code Notebook 默认启用内联绘图,但某些库或环境需显式设置。
常见解法:
- 在首个代码单元加:%matplotlib inline(Matplotlib)或 %config InlineBackend.figure_format = 'retina'(高清适配)
- Seaborn 图表需确保调用了 plt.show(),否则可能被缓存不渲染
- 变量面板不更新?说明内核未完成执行或变量作用域异常;尝试在单元格末尾加 df(DataFrame 名)或 type(df) 强制触发变量检查
- 复杂嵌套对象(如 PyTorch model.state_dict())不会完整展开,变量面板只显示顶层结构;此时必须用 print() 或 display() 查看
内核是否真正活跃、单元格是否处于可执行状态、输出是否被缓存而非丢弃——这些细节不报错、不弹窗,却直接决定你能否推进分析。别急着写逻辑,先盯住右上角内核状态和底部日志输出。


















