在Matlab代码中是否有执行当前行的快捷方式?

时间:2016-03-10 12:51:44

标签: matlab debugging keyboard-shortcuts

在Matlab中选择一行/多行代码时,可以按F9执行它们。

是否有执行当前代码行的快捷方式?这样,您就可以使用arrow down键在每行下行,并使用此shortcut执行相应的行。

2 个答案:

答案 0 :(得分:2)

如果您不想手动选择该行并运行它,则可以在脚本的起点和您的调试行处放置一个断点。通过运行调试器,您可以逐步浏览要运行的行。如果代码在函数内部,则在终止调试器时不会保留工作区变量,但是如果它是脚本文件,则仍然可以访问它们。

答案 1 :(得分:1)

虽然这是一个较老的问题,但我没有找到唯一让我感到特别满意的答案。

这至少适用于 MatLab R2020b 和 R2021a(不确定其他)。

在主页选项卡上选择收藏夹,然后选择新建收藏夹,然后可以输入来自此答案 (https://stackoverflow.com/a/36149189/9096420) 的以下代码的清理版本代码:部分

currentEditor = matlab.desktop.editor.getActive; 
originalSelection = currentEditor.Selection; assert(originalSelection(1)==originalSelection(3)); 
currentEditor.Selection = [originalSelection(1) 1 originalSelection(1) Inf]; disp(currentEditor.SelectedText); 
eval(currentEditor.SelectedText); 
currentEditor.Selection = originalSelection + [1 0 1 0];

之后选择添加到快速访问工具栏,您可以使用 Alt+1 一次运行一行(实际上是 Alt 然后1 不久之后,而不是同时)

注意:此代码的最后一行会将光标移至编辑器中的一行。如果您希望它保留在该行上,只需删除最后一部分即可。


这确实失败的一个地方是当您运行 clear all 时,因为该行在之前(上面的倒数第二行)被评估,您向下一行(上面的最后一行) .所以 clear all 仍然有效,但光标不会下降,你会得到一个错误:Unrecognized function or variable 'originalSelection'.