文章目录
- [在 Ubuntu 的 VSCode 中配置 MATLAB](#在 Ubuntu 的 VSCode 中配置 MATLAB)
-
- 安装扩展
- [配置 MATLAB 路径](#配置 MATLAB 路径)
- [常见问题:设置后仍然显示 Not Connected](#常见问题:设置后仍然显示 Not Connected)
-
- [1. 路径写错了](#1. 路径写错了)
- [2. 用户设置覆盖了工作区设置](#2. 用户设置覆盖了工作区设置)
- [3. 设置键的大小写](#3. 设置键的大小写)
- [4. MATLAB 版本太旧](#4. MATLAB 版本太旧)
- 配置成功后
- 推荐的完整工作区配置
- 总结
在 Ubuntu 的 VSCode 中配置 MATLAB
装好 MATLAB 之后,你可能不想每次都打开那个笨重的 MATLAB 桌面------写个脚本、跑个函数,在 VSCode 里就能搞定。
MathWorks 官方提供了一个 VSCode 扩展:mathworks.language-matlab。装上之后,语法高亮、代码补全、运行调试、代码导航都有了。不过配置过程中有几个坑,这篇文章把它们讲清楚。
安装扩展
打开 VSCode,按 Ctrl+Shift+X 进入扩展市场,搜索 MATLAB,找到 MathWorks 官方出的那个(发布者是 MathWorks),点安装。
或者用命令行:
bash
code --install-extension mathworks.language-matlab
配置 MATLAB 路径
扩展需要知道你的 MATLAB 装在哪里。如果你的 MATLAB 在系统 PATH 里,扩展能自动找到。但大多数情况下,MATLAB 不在 PATH 中,需要手动设置。
第一步,拿到你的 MATLAB 安装路径。 在 MATLAB 命令窗口里运行:
matlab
matlabroot
输出类似:
ans =
'/home/你的用户名/MATLAB/R2021b'
这个路径就是你 MATLAB 的安装根目录。记下来。
第二步,在 VSCode 里填写路径。 按 Ctrl+, 打开设置,搜索 MATLAB installPath,把上面的路径填进去。
也可以直接编辑配置文件。VSCode 的设置分两层:
- 用户设置 (全局生效):
~/.config/Code/User/settings.json - 工作区设置 (仅当前项目):
.vscode/settings.json
推荐写在工作区设置里,这样每个项目可以指向不同版本的 MATLAB:
json
{
"MATLAB.installPath": "/home/你的用户名/MATLAB/R2021b"
}
常见问题:设置后仍然显示 Not Connected
配好路径,打开 .m 文件,左下角却显示 MATLAB: Not Connected------这是最常见的问题。
排查顺序如下:
1. 路径写错了
MATLAB.installPath 必须指向 MATLAB 的安装根目录 ,不是 bin/ 目录,也不是 bin/matlab 可执行文件。
✓ /home/你的用户名/MATLAB/R2021b
✗ /home/你的用户名/MATLAB/R2021b/bin
✗ /home/你的用户名/MATLAB/R2021b/bin/matlab
用 matlabroot 命令返回的路径就是根目录,照着抄就行。
2. 用户设置覆盖了工作区设置
这是最容易被忽略的。
VSCode 的设置有优先级:用户设置 > 工作区设置 。如果你在用户设置里填过一个旧的 MATLAB.installPath,工作区里怎么改都不会生效。
打开用户设置文件 ~/.config/Code/User/settings.json,搜索 MATLAB,看看有没有残留的旧路径。比如你可能看到:
json
"MATLAB.installPath": "/usr/local/MATLAB/R2017a"
这个路径根本不存在(也许是你装的另一个扩展、或者很久以前配的)。它会静默地覆盖工作区设置,导致扩展连不上 MATLAB。
改成正确的路径,或者直接删掉这行------让它从工作区设置里读。
3. 设置键的大小写
注意设置键是 MATLAB.installPath,M 是大写的。
市面上还有一些社区维护的 MATLAB 扩展,用的是小写的 matlab.installPath。两个键对应不同的扩展,不要搞混。如果你装过多个 MATLAB 相关的扩展,用户设置里可能同时存在两个键,检查一下都需要改。
4. MATLAB 版本太旧
这个扩展要求 MATLAB R2021b 或更新版本。R2021a 及更早的版本不支持。
如果你装的是 R2017a 这样的老版本,扩展永远连不上------不是配置问题,是版本不兼容。
配置成功后
打开任意 .m 文件,扩展会自动在后台启动 MATLAB。等几秒钟(第一次会慢一些),左下角显示 MATLAB: Connected 就说明配好了。
这时候你可以:
- 运行脚本 :点击文件右上角的运行按钮,或按
Ctrl+Enter在 MATLAB 终端中执行当前行 - 代码补全:输入函数名的前几个字母,自动提示
- 代码分析:实时检查语法和潜在问题
- 调试:在行号左侧点击设断点,按 F5 启动调试
如果连接失败,按 Ctrl+Shift+U 打开输出面板,下拉选 MATLAB,里面会有详细的错误日志。
推荐的完整工作区配置
除了 MATLAB.installPath,还有几个设置值得配一下:
json
{
"MATLAB.installPath": "/home/你的用户名/MATLAB/R2021b",
"MATLAB.matlabConnectionTiming": "onDemand",
"MATLAB.showFeatureNotAvailableError": true,
"MATLAB.telemetry": false
}
| 设置 | 说明 |
|---|---|
matlabConnectionTiming |
onStart(默认)打开 .m 文件就启动 MATLAB;onDemand 只在需要时启动;never 永不启动。如果 MATLAB 启动慢,改成 onDemand 能让 VSCode 启动更快 |
showFeatureNotAvailableError |
设为 true,连不上时会弹错误提示,方便排查 |
telemetry |
关闭后不再向 MathWorks 发送使用数据 |
总结
在 VSCode 里配置 MATLAB,核心就一件事:把 MATLAB.installPath 设对。
但容易栽跟头的地方在于:用户设置和工作区设置会冲突,旧路径会静默覆盖新路径,大小写不同的设置键对应不同的扩展。把这几个地方检查一遍,MATLAB: Connected 就出来了。