开头
前阵子帮一个师弟配 MATLAB 开发环境,他习惯用 VSCode 写代码,不想每次跑个脚本都切回 MATLAB 桌面。折腾了一会儿把环境搭好后,我觉得这套流程值得整理出来。网上关于“VSCode 中使用 MATLAB”的教程不少,但要么是零散记一笔,要么版本太老,照着做容易踩坑。这篇博文我就把完整的安装流程、配置思路、以及我实际踩过的坑一次性讲清楚。
先说清楚这套方案能做什么:用 VSCode 编辑 .m 文件,获得语法高亮、代码补全、断点调试、直接运行脚本和函数,同时在 VSCode 内置终端里调用 MATLAB 引擎。它适合谁?两类人最合适——一类是像我师弟这样,日常主力编辑器就是 VSCode,不想来回切窗口的人;另一类是需要在 CI 或服务器上用命令行批量跑 MATLAB 脚本的工程团队,VSCode 只是个轻量前端,核心是打通 MATLAB 引擎和命令行调用链路。
需要提前说明的是,我这里假设你已经装好了 MATLAB,版本在 R2019b 以上都行,不同版本在路径配置上略有差异,我会在对应步骤里指出。没装 MATLAB 的话,流程里会带上安装部分的关键步骤,但不会展开到刻盘、激活这类细节——那部分比较容易拿到准确资料,真正容易出问题的反而是和 VSCode 的衔接。
1. 整体方案选型:为什么是 VSCode + MATLAB Extension 而不是其他
1.1 核心思路拆解
要让 VSCode 变成“能写 MATLAB 的编辑器”,核心链路由三段组成:编辑器(编辑 .m 文件)→ 接口层(VSCode 扩展负责把代码、指令传给 MATLAB)→ 计算引擎(MATLAB 进程真正执行脚本并返回结果)。
三段里最关键的是接口层。当前最主流的扩展有两个:一个是 MathWorks 官方出的 MATLAB Extension,另一个是社区维护的 Matlab Interactive Terminal。这两个我都在实际环境里跑过,体验差距还是明显的,后面第 2、3 节里我会把官方扩展作为主流程,社区扩展作为备选方案来写。
为什么优先用官方扩展?因为它支持的不只是语法高亮——它能直接拉起 MATLAB 进程、提供代码补全、断点调试,在当前工作目录和 MATLAB 工作空间之间同步。也就是说,你在 VSCode 里写代码时,变量的值、图形窗口、警告信息都能在 MATLAB 里看到;反过来,你在 MATLAB 命令行里执行的内容,VSCode 里的编辑器状态也不会“断线”。这种双向同步是“能真正用起来”的分水岭,很多轻量插件只做到高亮和运行,做不到这一点。
1.2 为什么不建议用其他方案
我认为有必要把替代方案的取舍说清楚,不然你只学了一个方案,遇到问题会不知道换什么。
- 传统做法:直接用 MATLAB 自带的编辑器。这个其实完全够用,尤其 R2020a 之后它的编辑器体验提升明显。唯一的问题是,如果你同时写 Python、C++ 或 JS,就得在多个 IDE 之间切来切去,状态不统一。
- 远程开发场景:用 VSCode Remote-SSH 连到服务器写代码,这时 MATLAB 装在本机、VSCode 装在本地反而麻烦。更合理的做法是把 MATLAB 装在服务器上,VSCode 远程连接后在远程端装扩展。这个我在第 2 节会特别说明。
- 商业集成方案:比如 JetBrains 系可以通过插件调 MATLAB,但一来插件质量一般,二来你要为它额外付 IDE 授权费用,对大多数人不划算。
一句话总结我的选型逻辑:VSCode 免费、轻量、插件生态成熟;官方 MATLAB Extension 保证了与 MATLAB 版本的良好兼容;命令行调用链路又完全可控,适合后续做自动化。三方面加在一起,这套方案是综合成本最低的。
2. 安装前的准备工作与版本核对
2.1 先确认 MATLAB 版本和安装路径
开始装扩展之前,有两件事必须先做:确认 MATLAB 版本,确认可执行文件的完整路径。这两条我踩过人,先说结论再解释。
确认 MATLAB 版本:打开 MATLAB,在命令行窗口输入:
ver系统会列出当前版本号,形如 R2023a、R2021b 之类。官方 MATLAB Extension 对 R2019b 以下版本的支持不完整,语法高亮可能正常,但调试和代码补全大概率不可用。如果你用的是 R2019a 或更老的版本,建议先升级,或试试社区扩展 Matlab Interactive Terminal。
确认 MATLAB 可执行文件路径:不同操作系统的默认安装位置差别很大,我列成表格方便你对照:
| 操作系统 | 默认路径(通常位置) | 备注 |
|---|---|---|
| Windows | C:\Program Files\MATLAB\R2023a\bin\matlab.exe | 如果装在 D 盘,路径前缀会不同 |
| macOS | /Applications/MATLAB_R2023a.app/bin/matlab | 注意 .app 目录内才是真实路径 |
| Linux | /usr/local/MATLAB/R2023a/bin/matlab | 也可能在/opt/MATLAB下 |
在 Windows 上,一个常见问题是“无法将‘matlab’识别为 cmdlet、函数、脚本文件或可运行程序的名称”,通常是 PATH 环境变量没配好。你要把bin目录加进 PATH,或者在 VSCode 的 settings.json 里显式指定绝对路径,这两个办法二选一,我推荐后者——配置只影响 VSCode,不会污染系统环境。
"matlab.matlabPath": "C:\\Program Files\\MATLAB\\R2023a\\bin\\matlab.exe"macOS 和 Linux 上一般路径是固定的,问题不大。但是你在 macOS 上要用bin/matlab这个可执行文件,而不是/Applications/MATLAB_R2023a.app——后者是图形界面启动器路径,命令行调用会失败。
2.2 本机安装 MATLAB 的简化说明(如果还没装)
如果你机器上还没有 MATLAB,安装这一节你需要单独处理。MATLAB 本身是一个体量非常大的商业软件,安装文件通常 20 GB 以上,安装时间较长。以下是简化流程:
- 在 MathWorks 官网注册账号并下载对应平台的安装包(Windows / macOS / Linux)。
- 运行安装程序,登录账号,选择许可证(个人版或校园版),选择产品组件。优化建议:只勾选你需要的工具箱,常见的基础运行不需要全部组件,完整安装会占用非常多磁盘空间。
- 安装完成后,打开一次 MATLAB 确保能正常启动,激活成功后关闭。
- 后续所有操作都基于“已激活可用的 MATLAB”。
这部分的注意事项放在这里:激活过程需要连接 MathWorks 许可证服务器,离线环境下较为麻烦,但这不是本教程重点,按下不表。总之,确保你的 MATLAB 能单独启动,是后面所有操作的前提。
2.3 Linux 服务器/远程开发场景的特殊处理
如果你是用 VSCode Remote-SSH 连到 Linux 服务器,配置逻辑和本地略有不同。这时 MATLAB 必须装在服务器上,扩展也要装在 remote 端。具体操作为:用 Remote-SSH 打开服务器文件夹后,在扩展面板搜索 MATLAB 扩展,选择“在 SSH: 主机名中安装”,而不是本地安装。这样配置的matlab.matlabPath路径指向服务器上的 MATLAB 可执行文件,例如/usr/local/MATLAB/R2023b/bin/matlab。
还有一个容易踩的坑:远程连接时 VSCode 窗口右下角提示“MATLAB not found”,八成是因为路径写错了,或者是服务器上的 MATLAB 只对特定用户授权过。排查办法很简单,在远程终端里执行which matlab,把输出路径填进配置即可。这个“以实际可执行文件路径为准,不要猜默认路径”的原则,无论在本地还是远程都成立。
3. 核心安装步骤:扩展安装与基础配置
3.1 在 VSCode 里安装官方 MATLAB 扩展
打开 VSCode,左侧扩展面板,搜索“MATLAB”,注意认准发布者为 MathWorks 的那个扩展——它的图标上有 MATLAB 徽标,全名是 “MATLAB”。点击安装即可。
安装完成后,VSCode 会自动识别 .m 文件的编辑器模式,语法高亮立刻生效。如果你打开一个 .m 文件,发现代码没有高亮,先检查一下右下角状态栏的语言模式是不是显示“MATLAB”,如果显示“纯文本”,手动切一下。
这里有个细节:扩展安装不等于配置完成。扩展只是给 VSCode 增加了“MATLAB 支持”的能力,但是还没有告诉它你的 MATLAB 在哪里。所以下一步是配置matlab.matlabPath。
3.2 配置 matlab.matlabPath 的两种方式
方式一:通过 VSCode 设置面板(适合不喜欢手写 JSON 的人)
按Ctrl + ,打开设置,在搜索框输入matlab.matlabPath,然后在输入框里填上你的 MATLAB 可执行文件路径。这个设置是用户级配置,对所有项目生效。
方式二:直接改 settings.json(适合想统一配置文件的人)
按Ctrl + Shift + P,输入 “Open Settings (JSON)”,然后添加或修改如下配置:
{ "matlab.matlabPath": "C:\\Program Files\\MATLAB\\R2023a\\bin\\matlab.exe", "matlab.linting": true, "matlab.telemetry": false }我推荐的配置不只是路径,还有matlab.linting和matlab.telemetry两个小项。linter是 MATLAB 扩展自带的代码检查器,它会在你输入代码时实时报告语法问题——这一点对新手特别友好,因为 MATLAB 的语法错误有时候要运行编辑器才会提醒,VSCode 里就能提前拦截。telemetry关掉是为了避免每次启动都往 MathWorks 上报数据,纯属个人隐私偏好。
3.3 安装系统依赖:Windows 上的 .NET 和 macOS 上的 JRE
这一小节是我第一次配置时踩的坑,必须单独拎出来说。
官方 MATLAB 扩展在 Windows 上依赖 .NET 运行时。我在一台刚装好系统的 Windows 机器上直接装扩展,启动后报错说缺 .NET,然后扩展完全不工作。解决办法是去微软官网下载“.NET Desktop Runtime 6.0 或 8.0 x64 版本”安装,装好后重启 VSCode 即可。
macOS 上则是依赖 Java Runtime Environment (JRE)。如果系统没有安装,扩展会提示找不到 Java。有些人会去装最新的 Java 21,但实测下来 Oracle 的 Java 11 或 17 都够用,不一定非要最新版。经验之谈:先装系统提醒的那个版本,别直接装最新,免得出现版本兼容问题。
Linux 上的依赖相对少,通常只需要确认有libjulia之类的基础库,一般情况下不会出问题。多数发行版自带所需的运行库,不用额外处理。
| 操作系统 | 额外依赖 | 说明 |
|---|---|---|
| Windows | .NET Desktop Runtime 6.0+ | 扩展启动必须,缺失时漂红报错 |
| macOS | JRE (Java 11 或 17) | 缺少时无法启动 MATLAB 引擎 |
| Linux | 通常无需额外处理 | 有异常时检查 glibc 版本 |
3.4 配置语言模式与文件关联
大多数情况下,VSCode 会自动把.m文件识别为 MATLAB。但如果你之前装过其他扩展(比如某些 Octave 或 Sage 扩展),它们可能抢占.m的文件关联,导致打开文件时语言模式不是 MATLAB。解决办法有两种:
- 在文件打开时,点击右下角语言模式,手动选择“MATLAB”。
- 在 settings.json 里强制指定文件关联:
"files.associations": { "*.m": "matlab" }我个人建议直接写进配置,一劳永逸。*.m文件全部按 MATLAB 解析,不会受其他扩展干扰。
3.5 验证基础配置是否成功
配置完成后,在 VSCode 里打开一个 .m 文件,任意输入一行代码,比如:
x = magic(3); disp(x);如果扩展安装和连接配置都没问题,VSCode 状态栏底部会显示“MATLAB”字样,还能看到 MATLAB 进程已被启动的提示。此时点击代码行左侧添加断点,按F5开始调试,如果能在左侧“运行和调试”面板看到变量值,说明你的扩展和 MATLAB 之间的通道是通的。
到这个位置,最基础的“编辑 + 语法检查”已经可用了。接下来我要讲怎么用命令行直接跑脚本、怎么调试、以及怎么把 VSCode 当 MATLAB 的前端用得更顺。
4. 实操过程与核心环节实现:从运行脚本到断点调试
4.1 如何用 VSCode 直接运行 MATLAB 脚本
这是大多数人最初的需求:写一段脚本,按个快捷键,就能在 VSCode 里看到输出。实现方式依赖扩展提供的命令。
按Ctrl + Shift + P打开命令面板,输入 “MATLAB: Run File”,回车,扩展会启动一个 MATLAB 进程(首次启动可能稍慢,5~15秒不等),然后在 VSCode 的输出面板里直接显示脚本输出。
这个方式的内部机制是这样的:VSCode 扩展通过 MATLAB Engine API 与 MATLAB 进程通信,脚本在 MATLAB 工作区中执行,工作区的变量在脚本运行后依然保留。也就是说,如果你先运行了a = 1;,再运行b = a + 1;,第二次运行是能拿到a的值的——这和 MATLAB 桌面版的表现完全一致。
我实际用下来,最舒服的运行方式其实不是“Run File”,而是选中部分代码再右击“Run Selection”。比如你在调一个函数,不想每次从头跑整个文件,只选中函数体内那几行,直接用命令面板选 “MATLAB: Run Selection”,效率高很多。这个命令默认没有快捷键,我给它绑定成了Ctrl+Enter:
{ "key": "ctrl+enter", "command": "matlab.runSelection" }在 settings.json 的keybindings段里加这个配置,然后就可以像在 MATLAB 编辑器里一样,选中代码按 Ctrl+Enter 运行。
4.2 设置工作目录:一个非常容易被忽略的问题
MATLAB 的脚本运行有一个特点:它默认的工作目录是 MATLAB 进程启动时所在的目录,而不是你当前打开的 .m 文件所在目录。如果在 VSCode 里直接“Run File”,脚本里如果用了相对路径读写文件,很容易报“File not found”——因为 MATLAB 进程的当前目录和你的文件目录不一致。
解决办法是,在 settings.json 里让扩展跟随当前打开文件自动切换目录。官方扩展支持如下配置项:
"matlab.updatePaths": true默认是true,它会尝试把 MATLAB 当前目录切换到文件所在目录。如果你发现切换不生效,手动在 VSCode 命令面板执行 “MATLAB: Change Working Directory”,选到目标目录即可。
我建议养成习惯:脚本一开头就写上完整路径操作,或用绝对路径读文件,少依赖相对路径。因为即使工作目录配置正确,多个模块互相引用时,相对路径的“相对基准”混乱是早晚的事。更稳的做法是在脚本开头加:
cd(fileparts(mfilename('fullpath')));这行代码的作用是:无论从哪里启动脚本,先把自己的完整路径拿过来,然后把工作目录切到脚本所在目录。一行代码省下大量排查相对路径问题的精力。
4.3 配置 MATLAB 引擎并验证交互
VSCode 里的 MATLAB 扩展有两种工作模式:直接调用 MATLAB 进程,或者通过 MATLAB Engine API 连接已有进程。后一种模式在调试复杂模型时很有用:你可以在 MATLAB 桌面版里跑起来,然后用 VSCode 连接同一个进程,两边状态完全同步。
官方扩展的用户界面里没有直接暴露“连接已有进程”的按钮,但可以通过 VSCode 命令面板执行 “MATLAB: Start MATLAB” 和 “MATLAB: Stop MATLAB” 来控制进程生命周期。默认情况下,扩展会在你第一次运行命令时自动启动一个 MATLAB 进程,并保持存活,直到你显式关闭或关闭 VSCode。
这里有个性能提示:MATLAB 进程的启动非常重,内存占用可能到 1~2 GB,尤其你加载了很多工具箱时更明显。如果你只是写脚本、偶尔运行,可以像我一样在配置里加上:
"matlab.forceLocal": true这个配置会让扩展优先使用本地 MATLAB 而不是远程引擎,减少不必要的网络代理开销。在纯本机环境下,这个选项可以显著降低启动延迟。
4.4 断点调试的完整流程
调试功能是官方扩展的一大优势。与“运行整个脚本”不同,调试是逐行执行、可以看变量变化的过程。
操作步骤:
- 在 .m 文件窗口左侧行号位置单击,添加一个红色断点。
- 按
F5,VSCode 会启动调试会话,自动拉起 MATLAB 并停在断点处。 - 上方会出现调试工具栏,包含继续、单步跳过、单步进入、单步退出、重启、停止等按钮,和主流 IDE 调试一致。
- 在左侧“变量”面板查看当前工作区的所有变量,可以展开结构体、数组、单元格数组。
这段流程里我遇到过的坑是:MATLAB 的调试会话在 VSCode 里偶尔会“断连”——表现是停在断点上,但变量面板是空的,VSCode 状态栏提示“debugging session lost”。这通常发生在 MATLAB 端弹出了某个图形窗口或对话框时,因为这些 UI 组件会打断扩展与引擎之间的同步。解决办法是:在 MATLAB 代码里尽量避免调试时弹input()或uiwait()这类阻塞性函数,或者在 MATLAB 桌面端把这些窗口先关掉再继续。
4.5 内置终端:直接在 VSCode 里执行 MATLAB 命令
除了扩展提供的命令,更“原始”的方式是直接在 VSCode 终端里执行matlab -nodisplay或matlab -batch。这个方式适合快速验证和批处理。
先来一条最基础的:
matlab -batch "disp(1+1)"-batch是 R2019a 之后比较推荐的命令行运行方式,输出结果后自动退出,不会弹出桌面窗口。它适合 CI 脚本、批量测试。
matlab -nodisplay -nosplash -r "run('myScript.m'); exit;"-nodisplay不打开图形界面,-nosplash跳过启动画面,-r执行命令后不退出,需要手动exit;。这两条命令都能在 VSCode 的内置终端里直接执行,前提是 MATLAB 的bin目录已经在 PATH 中。
如果你在终端运行时卡在“MATLAB is starting...”很长时间,检查一下是不是当前进程被图形界面会话占住了。用-batch可以绕开这个问题,这也是为什么我推荐批处理优先用-batch。这里是两者的对照:
| 场景 | 推荐命令 | 说明 |
|---|---|---|
| 快速跑一句命令 | matlab -batch "disp(1)" | 运行完自动退出 |
| 跑一个脚本 | matlab -batch "run('myscript.m')" | 适合 CI |
| 需要保留变量继续交互 | matlab -nodisplay -r "..." | 慢,且要手动退出 |
| 带图形窗口的应用 | 不要在终端里跑 | 直接使用桌面版 |
5. 常见问题与排查技巧实录
5.1 VSCode 提示“MATLAB 可执行文件不存在”
这是扩展安装完成后最可能出现的问题。原因:matlab.matlabPath里填的路径与实际安装位置不一致,或者填了不存在的路径。
排查顺序:
- 复制配置里的路径,在系统终端里直接执行,看能否启动 MATLAB。
- 如果能启动,确认配置里路径的引号、反斜杠是否写全。Windows 下反斜杠要写成
\\。 - 如果路径没问题但 VSCode 依然报错,重启 VSCode 让扩展重新读取配置。
实测中最常见的情况是大家把路径填成了C:\Program Files\MATLAB\R2023a——这是安装目录,不是可执行文件目录。要填到bin\matlab.exe那一层。
5.2 扩展已安装但不高亮、无法运行
排查思路:
- 确认文件后缀是
.m,语言模式是 MATLAB。 - 打开输出面板(Ctrl+Shift+U),切到 MATLAB 对应的输出通道,看有没有报错堆栈。
- 如果输出面板只显示“MATLAB not found”或“Could not connect”,多半是依赖缺失。Windows 装 .NET,macOS 装 JRE,Linux 缺什么补什么。
- 还不行就禁用其他可能导致冲突的扩展(比如 Octave、Julia)再试。
5.3 运行脚本时输出乱码或中文乱码
这主要是因为 MATLAB 脚本文件编码与 VSCode 默认编码不一致。VSCode 默认 UTF-8,而 MATLAB 的老版本在某些 locale 下保存为 GBK(Windows 中文环境)。中文注释或字符串就会出现乱码。
解决办法最直接:在 VSCode 右下角编码处点击,选择“通过编码重新打开”,把文件编码切到 UTF-8;然后将 MATLAB 端的默认编码设置为 UTF-8,在 MATLAB 开机脚本startup.m中加入:
feature('DefaultCharacterSet', 'UTF-8');新版本 MATLAB(R2021b 之后)默认就是 UTF-8,基本不用处理。老版本如果频繁遇到中文乱码,建议升级。
5.4 调试模式下的“断连”问题
前文提过,调试时如果 MATLAB 端弹出图形窗口或对话框,VSCode 的调试会话可能中断。我给的解决方法是尽量避免调试中断时使用阻塞 UI。另一种情况是,你用-batch启动了 MATLAB,然后试图在 VSCode 中调试,此时因为进程的启动模式不匹配,调试会话无法建立。这类问题定位到根因:VSCode 调试功能需要扩展自动管理 MATLAB 进程,而不是手动通过终端启动。
遇到“调试接不上”的情况,最稳妥的操作是:在命令面板执行 “MATLAB: Stop MATLAB” 杀掉所有 MATLAB 进程,然后用 VSCode 扩展重新启动一个新的,再尝试调试。这个“重启大法”在扩展连接异常时能解决 80% 的问题。
5.5 典型问题速查表
| 问题现象 | 可能原因 | 解决动作 |
|---|---|---|
无法识别matlab命令 | PATH 未配置 | 在 settings.json 指定绝对路径,或把 bin 目录加进 PATH |
| 扩展不启动 MATLAB | 缺 .NET/JRE 依赖 | 按系统安装依赖后重启 VSCode |
| 脚本运行但输出为空 | 工作目录不对 | 配置matlab.updatePaths或在脚本内cd(fileparts(mfilename('fullpath'))) |
| 中文注释乱码 | 编码不一致 | 文件转为 UTF-8,MATLAB 端配置 UTF-8 |
| 调试会话断连 | MATLAB 端 UI 弹出 | 避免阻塞函数,或用 “MATLAB: Stop MATLAB” 重启进程 |
| 性能卡顿 | 工具箱加载过多 | 减少启动工具箱,或用-batch模式 |
5.6 关于快捷键和日常使用的额外建议
配置完成后,建议你花几分钟把最常用的几个命令绑定到快捷键上,省得每次敲命令面板。我的个人配置参考:
Ctrl+Enter:运行选中代码(matlab.runSelection)Ctrl+Shift+Enter:运行整个文件(matlab.runFile)F5:启动调试(默认就有)Ctrl+Shift+P里输入 “matlab” 能看到全部命令,建议扫一眼有哪些可用功能
在默认情况下,F9在 VSCode 中绑定的是“运行选中代码”,但那是 Python 扩展里常用的键,在 MATLAB 里不一定生效,你需要按Ctrl+Shift+P找matlab.runSelection,如果没有,就自己加键位绑定。
5.7 个人使用经验:这个方案的局限在哪里
最后说点真实感受。VSCode + MATLAB 的好处在轻量、可配置、与工程代码统一管理。但也有几个局限,提前知道不失望:
第一,大型 MATLAB 项目(比如 Simulink 模型、App Designer 界面),你还是得回到 MATLAB 桌面版。官方扩展对 Simulink 的支持很浅,基本只能当作一个高级编辑器用。
第二,代码补全的智能程度和 MATLAB 桌面版的“实时编辑器”相比仍有差距。桌面版里你输入plot(它会给你提示参数名和用法,VSCode 里则更像是基础的符号补全。这个差距随着扩展版本迭代在缩小,但目前还不能完全替代。
第三,如果你需要频繁使用 MATLAB 的绘图窗口交互(如缩放、旋转 3D 图),VSCode 里可以创建图形窗口,但交互流畅度不如桌面版直接。
所以我的最终建议是:VSCode 适合日常脚本编写、批量处理、代码阅读和版本管理,涉及 GUI 设计、Simulink 建模或者对绘图交互要求高的场景,无缝切回 MATLAB 桌面版。两者配合,效率才是最大化。
结尾
写了这么多,核心的安装流程和配置思路都在上面了。踩过几次坑之后,我的体会是:VSCode 和 MATLAB 这套组合,真正的价值不在于“替代 MATLAB 编辑器”,而在于把你日常的开发流统一到一个地方——代码、注释、版本管理、终端都在同一个窗口里,省掉的窗口切换和上下文切换的时间,积少成多非常可观。
最后再分享一个小技巧:配置完成后,你在 VSCode 里写一个简单的测试脚本test_connect.m,内容就写一行disp('connected'),用Run File跑通一次,这样能最快确认整条链路正常。之后再慢慢加复杂功能,遇到问题也能定位是扩展的问题还是你脚本本身的问题。
如果你在配置过程中遇到其他问题,欢迎在评论区贴出你的系统版本、MATLAB 版本和报错信息,我看到了会尽力回答。搭建环境这件事,大部分坑都是版本组合导致的,有同行一起对一下,能省不少时间。