配置Sublime作为MATLAB的编辑器

最近使用 MATLAB 时发现它自带的编辑器不太好用,特别是在不同平台切换时会出现编码错误。
例如 MATLAB R2014a,在 Ubuntu 平台采用 UTF-8 编码,但在 Windows 平台采用的却是 GBK 编码。这样在不同平台切换时就会产生乱码。虽然 MATLAB 自带的编辑器也能在一定程度上解决这个问题,但没有 Sublime 方便。
因此,我打算使用 Sublime 来作为 MATLAB 的编辑器。经过网上搜索和自我摸索,最终实现了 Sublime 编辑加 MATLAB 命令行(terminal)运行的开发环境搭建。

前期准备

  • MATLAB R2014a (Windows或Linux平台,这里以Win10和Ubuntu 16.04为例)。有关安装过程这里不再赘述。
  • Sublime Text 3

配置过程

1. 新建 Build System

在 Sublime 中选择 Tools -> Build System -> New Build System,系统会创建一个 JSON 文件,根据不同系统输入以下内容:

Win10
{
    "cmd": ["E:/Softwares/MATLAB/R2014a/bin/matlab.exe", "-nodesktop", "-nosplash", "-r", "\"run('$file')\""],
    "selector": "source.m",
    "working_dir": "${project_path:${folder}}"
}
Ubuntu 16.04
{
    "cmd": ["gnome-terminal -x bash -c \"matlab -nosplash -nodesktop -r ${file_base_name}; exec bash\""],
    "selector":"source.m",
    "shell":"true",
    "working_dir": "$file_path"
}

要注意 cmd 中对应的安装路径,这里给的路径是我的电脑中的配置。其中,matlab -nosplash -nodesktop -r ${file_base_name} 表示启动 MATLAB,并运行某个 .m 文件。-nosplash 表示不加载启动界面;-nodesktop 表示不加载 GUI 界面;-r 表示运行 MATLAB 命令行(MATLAB_command);file_base_name 表示文件名,但不包含文件扩展名,如 .m 等。

【注】 这一步中有关 Ubuntu 的配置和网上一些教程有所区别,网上教程大多是没有 gnome-terminal 命令的。我这里希望以命令行方式启动 MATLAB。我在实践中发现,Sublime 的 Build Results 没有交互功能,只能显示运行结果。在 Win10 中 Build 时能自动打开 MATLAB 命令行程序进行交互,但在 Ubuntu 中却没有打开命令行,所以在前面添加了启动终端(terminal)的相关命令,用于进行交互。

2. 保存新建的 Build System

命名并保存这个 JSON 文件到默认目录(这个 JSON 文件的名字将成为新的 Build System 的名字,出现在 Build 菜单中)

3. 通过 Sublime 启动 MATLAB_command 进行编译

设置完成。此时随便编辑一个 .m 文件,在 Build System下选择刚新建的配置,点击 Tools -> Build 或者使用快捷键 Ctrl+B,这时Sublime就会打开 MATLAB_command 并编译当前文件。
值得注意的是,每次 Build 都会产生一个新的命令行界面,相当于每次都重新启动了一次 MATLAB_command,很耗费时间。所以建议在 MATLAB_command 启动后,每次修改了程序,先在 Sublime 中保存,然后在已有的控制台窗口输入脚本名进行编译。

参考资料

1. 利用Sublime Text 2 来运行matlab
2. Show C build results in Linux terminal with Sublime Text 3

你可能感兴趣的:(配置Sublime作为MATLAB的编辑器)