前面有两篇文章我们分别讲了在vscode里面如何配置C语言环境和python环境,那两篇文章总体来说比较复杂,当然这篇也有许多有趣的问题。
附上链接:
vscode安装并配置python环境
vscode的安装并配置c语言环境
这次尝试给文章加个目录,试试效果。
@[TOC]
matlab简介
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
基本要求
- 安装matlab,我们学校官网上有,但仅限校内学生老师使用,在各个平台上也可以找到资源,不再赘述。
- 安装vscode以及必要的插件,可以参考之前的文章
code runner插件
配置python,c,c++等语言,要在vscode上运行时一个特别好用的插件就是code runner,可谓是懒人的福音,它直接满足了40多种计算机语言的运行要求,而不用为每一种语言寻找一个特定的编译器。
Run code snippet or code file for multiple languages: C, C++, Java, JavaScript, PHP, Python, Perl, Perl 6, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, F# (.NET Core), C# Script, C# (.NET Core), VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, Visual Basic .NET, Clojure, Haxe, Objective-C, Rust, Racket, Scheme, AutoHotkey, AutoIt, Kotlin, Dart, Free Pascal, Haskell, Nim, D, Lisp, Kit, V, SCSS, Sass, CUDA, Less, Fortran, and custom command
在寻找配置matlab环境的过程中无意在知乎发现了它的原作者,是一个在微软上海的中国程序员——膜拜大佬!!!
[VSCode插件推荐] Code Runner: 代码一键运行,支持超过40种语言
但是很悲催的的一点是:40多种语言中,没有matlab
与matlab相关的插件
- matlab:对,就叫matlab,支持语法检查,高亮等要求,详情可见于下载页。
- Matlab Interactive Terminal:可在终端执行matlab代码
- matlab-formatter:调整字体,避免乱码
添加路径
- 在设置里面搜索matlab,主要是填写Matlabpath和Mlintpath两个路径,按自己的实际路径填写
小结
此时可以在vscode编写matlab代码,会有语法高亮,错误提示等等功能,但是不支持运行,要运行需要复制代码到matlab再执行。
code runner是否支持更多语言
如果不想复制粘贴代码,其实也有方法,想想能不能让code runner支持新语言——例如matlab,这时候我们在设置里搜索code runner,之后点击一个“在setting.json中编辑”,之后可以看到下图
添加一行代码(我已添加),之后程序会在matlab窗口运行,也就是事实上还是在matlab上运行,但是不用打开matlab软件,会给我们开一个小窗口,当然速度没有直接在matlab上那么快。
"matlab": "cd $dir && matlab -nosplash -nodesktop -r $fileNameWithoutExt"
更多选择
事实上现在的最优选择是另外一个插件matlab code run,直接在vscode终端运行,最优选择,唯一缺点在于发现测试都较少,还在初始阶段,没有广泛测试,据说在Mac 和Linux上都可以使用,Windows不太行。
如何使用
打开命令面板(在“视图”下或使用快捷方式ctr+shift+p),找到“运行Matlab文件”命令。
特性
直接运行VS代码而不需要打开完整的Matlab GUI。非图形输出将显示在内置的VS代码终端。图形将在单独的窗口中打开。调试不可用,而且在可预见的将来可能不会改变,因为当前的实现不允许这样做。
需求
目前,matlab必须添加到您的系统路径。否则,扩展将不知道Matlab安装在您的系统的哪里。
另一个选择
还有一个选择就是上面提到的Matlab Interactive Terminal,但是配置的确过于复杂,目前还没有成功。
Matlab交互终端是Visual Studio代码的扩展,允许用户启动Matlab脚本,并在Visual Studio代码中直接包含一个工作的Matlab REPL。这个扩展使用Python的Matlab引擎,必须正确地设置扩展才能工作。它在Windows、Mac OS和Linux上都能运行。
需求
Python x64 3.6或3.7(添加到PATH中),在这里或通过Anaconda等其他发行版提供
MATLAB R2014b (MATLAB 8.4)或更高
Python的MATLAB引擎API,安装说明可以在这里找到
注意:Python的要求可能因Matlab版本的不同而有所不同。建议使用最新的Matlab版本(R2019b)以及Python 3.6或3.7 (x64)。有关MATLAB-Python兼容性的更多信息可以在MathWorks网站上找到。
特性
该扩展将三个命令添加到Visual Studio代码中,然后可以将它们绑定到键绑定。这些都是:
打开Matlab终端,在VS代码集成终端中打开交互式Matlab终端,类似于Matlab命令行
运行当前Matlab脚本,运行当前打开的Matlab脚本,允许用户通过打开的终端与之交互
在Matlab中运行当前选择,在Matlab终端中运行当前选择的文本。如果没有选择文本,则运行当前行
推荐的VS代码扩展
Matlab(来自Xavier Hahn)为Matlab语言提供了语法着色、代码片段和linting。并设计了Matlab交互终端来实现。
Matlab代码运行(来自Bram Vanbilsen)是Matlab交互终端的一个很好的替代品,没有Python和Matlab引擎API的依赖。它应该在Mac OS和Linux上提供类似的功能。
已知的问题
参见https://github.com/apommel/vscode-matlab-interactive-terminal/issues