如何在VSCode中运行MATLAB(.m)文件?

iyzzxitl  于 2022-11-15  发布在  Matlab
关注(0)|答案(5)|浏览(1088)

我不知道如何在VSCode中运行matlab(.m)代码。
我已经安装了MATLAB Extension for VSCode并添加了mlint文件的路径,如扩展中所述。

"matlab.mlintpath"

VSCode将该文件标识为MATLAB文件。但是,代码不会运行。
如何在VSCode中运行MatLab代码?

kse8i1jr

kse8i1jr1#

有一种方法,this VSCode extension建议您可以使用它在VSCode中运行MATLAB代码,而不必打开MatLab图形用户界面。但是,它不会使以下内容无效;您需要有一个可以正常工作的、经过许可的matlab安装,它将在后台调用。如果没有经过许可的有效安装,您就不能运行MATLAB代码。
因为matlab是专有的,所以只有两种方法可以运行matlab代码:从matlab IDE运行代码(当然要有有效的许可证),或者使用MATLAB compiler将其编译成可执行文件。
您也许能够像您一样,通过导入它的mlint功能,让其他IDE具有语法突出显示和输入提示,比如MATLAB自己的IDE,但这不会执行代码。
因此,您不能直接在VSCode中执行MATLAB代码,您只能从VSCode内部秘密调用MATLAB引擎。
一种可能的解决方法是使用MATLAB Coder将您的MATLAB代码导出到C/C++。然后,您可以从VSCode中运行C/C++代码。

zdwk9cvp

zdwk9cvp2#

TL;DR:

我为Linux上的VS代码编写了MatLab终端扩展。它可以运行matlab文件并生成matlab终端。您可以找到回购here

VS代码的问题

我最近想在vscode中使用matlab终端。这一点甚至还有延期。但在使用该扩展时,我遇到了一些缺陷。此外,存储库似乎不再处于活动状态,所有者不会对问题和类似问题做出React。
因此,我决定编写我自己的第一个扩展MatTer for VS Code,并将其发布到VS市场。它还处于早期开发阶段,但它已经可以生成matlab终端并运行matlab文件。
回购托管在Github上,请参见此处:https://github.com/mauzigoe/matter-for-vscode
要通过vscode安装,只需在Extension中搜索matter-for-vscode即可。
欢迎批评者和反馈,尤其是。因为我还是个新手。

ukqbszuj

ukqbszuj3#

@Liam的长篇大论是必要的,因为在没有有效的MATLAB许可证+安装的情况下进行扩展是行不通的。
...因为在某些情况下,仅开发m-file:)就需要至少一个运行的matlab安装。)
我想您是对的,归根结底就是选择是将“外来”代码嵌入到m文件中,还是从外来IDE内部调用MATLAB引擎。他们确实有一个免费的RTE,但您仍然需要某种形式的MatLab IDE来编写,外加MatLab编译器工具箱来为RTE构建项目。
解决方法是使用操作系统工具从循环中完全删除MatLab和其他专有工具。这就是为什么如果你要被迫支付5000美元购买一个专有工具,它必须以其他方式证明是合理的,而不是“它可以完成工作”。
VS代码扩展与任何其他扩展都有相同的问题:如果您查看存储库,发现安装和运行扩展需要什么?您可能再也不会安装扩展了。这和轻率地从互联网上下载并安装任何代码一样明智:它并不比源代码更好。我会等你弄清楚如何在VS代码中调用getOpen()等,而不从某个随机来源下载一些随机扩展,特别是过去两年没有更新的扩展。或者至少使用VS2019社区:
https://www.mathworks.com/matlabcentral/answers/100603-how-can-i-compile-a-matlab-engine-application-using-microsoft-visual-studio-9-0-or-10-0

jgovgodb

jgovgodb4#

你可以使用“MatLab交互终端”扩展,链接如下。要使用它,您需要按照说明安装一个“MatLab Engine API for Python”,您就可以开始使用了(并且您需要一个可以工作的MatLab)。
安装扩展后,您可以在命令窗口中打开MatLab终端(通过按Ctrl+Shift+P并输入“打开MatLab终端”),您可以获得与在真实的MatLab IDE中相同的MatLab终端,现在您可以在Vscode中运行.m代码。

eh57zj3b

eh57zj3b5#

您可以使用Code Runner扩展并将该行放入您的settings.json

"code-runner.executorMapByFileExtension": {
    ".m": "cd $dir && matlab -batch \"$fileNameWithoutExt\""
}

您可能还想安装MatLab扩展。

相关问题