VS Code笔记本功能依赖Python扩展、正确内核及解释器配置;需安装ms-python.python扩展、选择含ipykernel的解释器、手动选内核,编辑时区分命令/编辑模式,导出前须运行全部单元格。

VS Code 的笔记本功能(Notebook)不是 Jupyter 的简单替代,它依赖内核通信、文件格式和扩展协同工作;不装对扩展或选错内核,.ipynb 文件根本不会以交互式方式打开。
确认已启用并正确配置 Python Notebook 支持
VS Code 自 1.72 起内置 Notebook UI,但 Python 执行能力完全依赖 Python 扩展(由 Microsoft 维护)及其关联的内核。常见现象是:双击 .ipynb 文件只显示 JSON 源码,或单元格顶部无运行按钮。
- 确保已安装最新版
Python扩展(ID:ms-python.python),禁用任何冲突的第三方 Notebook 扩展(如旧版Jupyter扩展) - 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),运行Python: Select Interpreter,选择一个含ipykernel的 Python 环境(可通过终端执行python -m pip list | grep ipykernel验证) - 首次打开
.ipynb时,右上角若弹出 “Select kernel” 提示,务必点选匹配当前解释器的内核(例如Python 3.11.5 ('venv': venv)),否则单元格无法执行
在 .ipynb 中插入和运行代码/Markdown 单元格
VS Code 的 Notebook 编辑体验与 Jupyter Lab 接近,但快捷键和上下文操作略有差异。关键在于区分“编辑模式”和“命令模式”——这点常被忽略,导致按键失效。
- 按
Esc进入命令模式(此时单元格边框为蓝色),再按A(上方插入)、B(下方插入)、M(切为 Markdown)、Y(切为 Code) - 按
Enter进入编辑模式(边框变绿色),此时输入 Markdown 或 Python 代码;运行单元格用Shift+Enter(非Ctrl+Enter) - Markdown 单元格支持标准语法,但不渲染 LaTeX 公式(
$...$)除非你额外启用 MathJax:在设置中搜索notebook.markup.math.enabled并设为true
导出为 PDF 或 HTML 时内容丢失或格式错乱
VS Code 内置导出功能(右键 → Export...)调用的是本地 jupyter nbconvert,而非 VS Code 渲染引擎。这意味着:未执行的单元格输出不会包含在导出结果中,且自定义 CSS/JS 不生效。
- 导出前务必先运行全部单元格(
Ctrl+Shift+P→Notebook: Run All Cells),否则空输出区域会变成空白块 - PDF 导出依赖系统级
texlive或tinytex,Windows 用户常因缺少xelatex报错nbconvert failed: PDF creating failed;推荐改用 HTML 导出(兼容性更好) - 若需保留交互控件(如
ipywidgets),HTML 导出后必须在支持 JS 的浏览器中打开,且需确保目标环境也安装了对应 widget extension(jupyter-widgets)
真正卡住人的往往不是功能不会用,而是内核没连上、解释器选错、或者导出时忘了先运行——这些步骤没有视觉反馈,容易误以为“已经好了”。笔记本状态栏右侧的内核名称、单元格左上角的执行序号([1])、以及输出区域是否出现 Out[1]:,才是判断是否走通的关键信号。










