Sublime Text 3编译系统:保持控制台运行

5
我在Sublime Text 3中建立了一个构建系统来运行Matlab文件。这非常好用:
{ "cmd": ["/usr/local/MATLAB/R2013b/bin/matlab", "-nosplash", "-nodesktop", "-nojvm", "-r \"run('$file');\""] }
问题是我想在 $file 执行后保持Matlab在Sublime控制台中运行。这可能吗?
先谢谢您。

Matlab应该保持打开状态,文件会调用quit或类似的命令吗? - Daniel
很抱歉,我对你的问题没有答案。最近我才开始使用Sublime Text和MATLAB,听起来你对这个组合比我更有经验。你介意在评论中简要分享一下你的经历吗?例如,你是否定制了语法检查器或扩展了MATLAB语言的Tab补全功能?你是否将Sublime Text与MATLAB集成,还是仅替换了MATLAB编辑器?非常感谢你的建议。 - Sam Roberts
@Sam Roberts 我喜欢Sublime的酷功能,比如转置文本和GoTo anything。这使得它对我来说比Matlab编辑器更优越。关于自动完成,这里有一个片段集合可用 https://github.com/AGS-Knight/matlab-snipp。构建系统也使用Octave非常快速,这可能对您也很有趣:{ "cmd": ["octave", "--silent", "$file"] } - Eli Duenisch
2个回答

6

好的,我终于找到了一个解决方案,可以在外部xterm终端中运行构建系统。如果使用这个解决方案,Sublime会打开一个xterm窗口并在其中执行构建系统。这个窗口会保持打开状态,因此例如Matlab绘图窗口在代码执行后不会关闭。我将不带外部终端和带有外部终端的构建系统合并为一个构建系统:

{
    "cmd": ["/usr/local/MATLAB/R2013b/bin/matlab", "-nosplash", "-nodesktop", "-r \"run('$file');quit;\""],
"selector": "source.m",

"variants": [
    { 
        "name": "xterm",
        "cmd": ["xterm", "-e", "/usr/local/MATLAB/R2013b/bin/matlab", "-nosplash", "-nodesktop", "-r \"run('$file');\""]
    }
]
}

然后分配了一个用户键绑定,以便轻松访问xterm变体:

[
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"variant": "xterm"} }
]

这个 xterm 解决方案也适用于您想要在代码执行完成后防止关闭任何其他解释器的情况。

0

另一种方法是同时打开Sublime和Matlab,然后使用AutoHotKey(Windows)或Autokey(Linux)设置一个脚本,将文件名或要评估的代码复制并粘贴到Matlab的命令窗口中。

这种方法的好处是:

  1. 您可以将MatLab作为IDE的所有有用功能保留下来
  2. 您可以评估代码片段(F9功能)以及整个文件

请参阅LinuxWindows的详细说明。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接