vscode matlab插件v1.3.12+支持侧栏查看base工作区变量,显示名称、大小、类及基础值,可内联编辑标量/小向量,但不支持展开或修改struct/cell等复杂结构。

VSCode 1.3.12+ 支持侧栏变量查看,但仅限基础类型
从 v1.3.12 开始,MATLAB 官方 VSCode 插件原生支持在侧边栏显示工作区变量——前提是 MATLAB 版本 ≥ R2023a。它不是靠外部窗口或终端命令拉取,而是插件与 MATLAB 引擎通信后实时同步的。但注意:这个“实时”只反映当前脚本执行完后的快照,不是运行中每行代码都刷新;且仅显示变量名、大小、类、数值(标量/小向量),struct、cell、table 等复杂结构只能看到概要,无法展开编辑。
为什么 workspace 命令不管用,而侧栏却能显示
旧方式在终端输 workspace 是启动独立的 MATLAB Workspace GUI 窗口,和 VSCode 无绑定;新侧栏是插件调用 MATLAB 的 whos 和 evalin('base', 'varname') 接口获取数据,走的是 headless 引擎通道。所以:
- 必须已成功连接 MATLAB 引擎(左下角显示
MATLAB: Connected) - 变量必须存在于
base工作区(即脚本顶层作用域,非函数内部局部变量) - 若脚本用
clear或clear all清空过,侧栏会变空,需重新运行脚本
修改变量值可以直接生效,但有范围限制
在侧栏双击变量值可内联编辑,比如把 a = 5 改成 a = 10,回车后立刻生效——这等价于在 MATLAB 终端执行 a = 10。但以下情况不支持:
- 不能修改
cell里某个元素(如c{1,2}),只能重赋整个c - 不能修改
struct字段(如s.field),只能替换整个s - 不能对
function_handle或java对象做任何编辑 - 修改后若脚本后续逻辑依赖旧值,不会自动重跑,得手动再点一次运行按钮
调试时变量面板比侧栏更可靠
如果你在断点处暂停,Run and Debug 视图里的 Variables 面板比侧栏更准:它能显示函数作用域内的局部变量、嵌套结构字段、甚至部分 cell 内容(取决于 MATLAB 版本)。侧栏只管 base 工作区,而调试器会按调用栈逐层抓取。所以真要查中间状态,别只盯侧栏——F5 启动调试,停在断点,看左边 Variables 面板才是正解。











