VSCode 无法直接读取 .mat 文件,因其仅为编辑器,不解析 MAT 二进制格式;需通过 mathworks.matlab 插件连接 MATLAB 引擎,执行 load 命令并借助终端或调试变量侧栏查看内容。

VSCode 本身不能直接读取 .mat 文件
VSCode 是编辑器,不是 MATLAB 运行时环境,它不解析 .mat 文件二进制结构。你看到的 .mat 文件在 VSCode 里只是乱码或十六进制内容,无法像在 MATLAB 中那样用 load 查看变量名、类型或数值。想“读取”,本质是调用 MATLAB 引擎执行加载逻辑,再把结果呈现出来。
正确方式:用 MATLAB 引擎运行 load 命令并查看工作区
前提是已安装 MathWorks 官方插件 mathworks.matlab,且 matlab.defaultInterpreterPath 配置正确(指向 matlab.exe 或 matlab 可执行文件)。成功连接后,左下角状态栏会显示 MATLAB:Connected。
- 打开包含
.mat文件的目录(确保路径不含中文或空格) - 在集成终端(
Ctrl+`)中执行:matlab -nodisplay -r "load('data.mat'); whos; exit;"—— 这会列出所有加载的变量名、大小和类型 - 若需查看具体变量内容,改用:
matlab -nodisplay -r "data = load('data.mat'); disp(data.a); exit;"(假设变量名为a) - 更直观的方式:运行一个
.m脚本,在 VSCode 的“运行和调试”视图中打开“变量”侧栏,加载后即可实时查看data结构体字段或数组值(要求 MATLAB ≥ R2023a)
常见错误:Undefined function or variable 'load'
这不是 MATLAB 报错,而是 VSCode 没连上 MATLAB 引擎导致的假象。检查以下三点:
-
matlab.defaultInterpreterPath是否填的是可执行文件绝对路径(如C:\Program Files\MATLAB\R2025b\bin\matlab.exe),而不是安装根目录 - 是否卸载了所有非
mathworks.matlab发布者的插件(尤其MATLAB Unofficial、matlab-formatter)——它们会劫持语言服务,让load等函数不被识别 - 终端中单独运行
matlab -version是否返回版本号?如果报 command not found,说明 MATLAB 未加入系统 PATH,或路径配置与实际不一致
想在 C/C++ 项目里读 .mat 文件?别在 VSCode 里硬解
VSCode 不提供 MAT 文件解析库。你需要用 MATLAB C API,但前提是项目已链接 libmat.lib、libmx.lib 等,并配置好头文件路径(如 $MATLABROOT/extern/include)。这属于跨语言编译范畴,和 VSCode 编辑无关。强行在 VSCode 中打开 .mat 并期望语法支持或预览,只会看到二进制垃圾数据——这点容易被忽略,尤其当用户误以为“有 MATLAB 插件就能读数据文件”。











