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

在Matlab代码中是否有执行当前行的快捷方式?,matlab,debugging,keyboard-shortcuts,Matlab,Debugging,Keyboard Shortcuts,在Matlab中选择一行/多行代码时,可以按F9执行 是否有执行当前代码行的快捷方式?这将使您能够使用向下箭头键沿每行向下移动,并使用此快捷方式执行相应的行如果您不想手动选择行并运行它,您可以在脚本中要开始的行处放置一个断点并使用debug运行。通过运行调试器,您可以逐步完成要运行的行。如果代码在函数中,则在终止调试器时不会保留工作区变量,但如果它是脚本文件,则仍然可以访问它们。虽然这是一个较老的问题,但我不认为唯一的答案特别令人满意 这至少在MatlabR2020B和R2021a中起作用(不确

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


是否有执行当前代码行的快捷方式?这将使您能够使用
向下箭头
键沿每行向下移动,并使用此
快捷方式执行相应的行
如果您不想手动选择行并运行它,您可以在脚本中要开始的行处放置一个断点并使用debug运行。通过运行调试器,您可以逐步完成要运行的行。如果代码在函数中,则在终止调试器时不会保留工作区变量,但如果它是脚本文件,则仍然可以访问它们。

虽然这是一个较老的问题,但我不认为唯一的答案特别令人满意

这至少在MatlabR2020B和R2021a中起作用(不确定其他的情况)

在“主页”选项卡上,选择“收藏夹”,然后选择“新建收藏夹”,然后在“代码:部分”中输入此答案()中以下代码的清理版本

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

注意:此代码的最后一行将在编辑器中将光标放置一行。如果你想让它保持在那条线上,只需去掉最后一部分



此操作失败的一个地方是当您运行
清除所有
时,因为这一行是在您向下一行(上面最后一行)之前计算的(上面第二行到最后一行)。因此,
清除所有
仍然有效,但光标不会落下,您将得到一个错误:
无法识别的函数或变量“originalSelection”。

这可能有助于Joseph Cheng的解决方案在较新版本的MATLAB(2015/2016)中不起作用。知道如何让它工作吗?将“选择结束行”绑定到F8,然后单击F8->F9将非常快地完成工作,如果光标位于行的开头。两个按钮而不是一个,但光标需要正确放置。shift+end或shift+home还不够吗?
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];