VSCode 中无法使用 MATLAB 内核,因 MathWorks 从未发布官方 MATLAB Kernel,社区版已停更,R2023a 起 configureJupyter 命令被弃用并移除,第三方内核在新版中普遍连接失败;推荐改用 MATLAB Live Script(.mlx)配合 VSCode 预览,或通过终端调用 MATLAB CLI 实现交互式执行。

VSCode 里用不了 MATLAB 内核,不是你配错了,是根本没这个东西。 MathWorks 官方从没发布过叫 “MATLAB Kernel” 的 Jupyter 内核;社区版 matlab-kernel 已于 2022 年归档停更,R2023a 起 MATLAB 自带的 configureJupyter 命令也已移除。你现在看到的“MATLAB (local)”内核选项,基本都来自第三方扩展(比如 matlab-notebook 或旧版 matlab-jupyter),它们在 R2022b 及之后版本大概率无法连接、报错 Connection refused 或直接静默失败。
为什么 configureJupyter 不再可用
MathWorks 在 R2023a 文档中明确标注:configureJupyter 已被弃用;R2023b 及以后版本彻底删除该命令。这意味着:
- 执行
matlab -batch "configureJupyter"会提示Undefined function or variable 'configureJupyter' - 即使你手动把旧版内核目录复制到
jupyter kernelspec list显示的位置,MATLAB 启动时也会因协议不兼容卡死在Starting MATLAB... -
jupyter kernelspec install注册的内核,在 VSCode 的.ipynb文件中选中后,Shift+Enter 运行第一行就断连
替代方案:用 MATLAB Live Script + VSCode 预览(推荐)
Live Script(.mlx)才是 MathWorks 当前主推的交互式文档格式,它原生支持代码、文本、公式、图像混合排版,且可导出为 HTML/PDF/Word。VSCode 通过官方 MATLAB 扩展(MathWorks 发布)能直接预览 .mlx 文件——虽然不能编辑代码块,但能实时查看输出和图表。
- 在 MATLAB 桌面中新建
.mlx,写好代码和说明,保存 - 在 VSCode 中打开同一项目文件夹,双击该
.mlx文件 → 右下角出现 “Preview” 按钮 - 点击后自动唤起内置 Web 视图,显示渲染后的文档(含运行结果)
- 修改需回到 MATLAB 桌面编辑,保存后 VSCode 预览页按
F5刷新即可
真要交互式执行?走 CLI + Terminal 路线
如果你非要分段执行、看中间变量、改完立刻跑,最稳的方式是放弃 Notebook,直接用 VSCode 集成终端调 MATLAB CLI:
- 确保
matlab命令已加入系统 PATH(终端输matlab -version有响应) - 在 VSCode 终端中运行:
matlab -nodisplay -r "addpath(genpath('.')); run('myscript.m'); pause;" - 想交互调试?启动一个长期会话:
matlab -nodisplay -r "matlab.engine.shareEngine('vscode_dev'); pause;",然后在脚本里用matlab.engine.connectMatlab('vscode_dev')连入(注意:这要求你的脚本本身是 Python 写的,MATLAB 引擎作为服务端) - 别碰
Code Runner对.ipynb的支持——它底层还是走jupyter run,同样撞上内核失效墙
真正容易被忽略的点是:VSCode 里的“内核”概念和 MATLAB 的执行模型天然不匹配。MATLAB 不是解释型语言,没有轻量级 runtime;它的“内核”本质是完整进程实例。强行塞进 Jupyter 协议栈,等于让一辆越野车去跑地铁轨道——不是不能动,是每一步都在报警。老项目若还依赖 Notebook 流程,建议降级到 R2022a 使用存档版内核;新项目请直接转向 .mlx + MATLAB 桌面编辑 + VSCode 预览组合,这是目前唯一全链路可控的交互路径。











