如何将MATLAB代码段转换为单行?

时间:2015-04-09 22:17:34

标签: matlab ide code-formatting

我正在寻找一种转换多行代码的方法,例如:

for i=1:10
    foo();
end

到此:

for i=1:10, foo(); end

在MATLAB编辑器中有一种简单的方法吗?优先可逆?

我想我几天前不小心碰到了一个键盘快捷键,看到了魔法发生了,但我无法找到我按下的键:)

感谢您的帮助!

P.S。我不确定这个问题是否属于超级用户,但我相信我可以在这里找到一个快速的答案,它将与编程有关,所以双赢!

2 个答案:

答案 0 :(得分:0)

如果你用这种方式写它会起作用:

for i=1:10, foo();, end

(注意foo()之后的逗号;)

但是你可能做的只是点击了+或 - 就在for之前,崩溃的扩展"对于"代码序列。

如果你进入"视图"选项卡,还有用于展开折叠的按钮,可用于执行相同操作。

答案 1 :(得分:0)

我很确定你没有办法在MATLAB中完成这项工作,至少在MATLAB编辑器中不能使用键盘快捷键。我不想说你想象它,但我认为你正在想象它。

我猜你可能做的最接近的事情是折叠当前的代码部分,使用 Ctrl - 折叠当前部分或 Ctrl - + 折叠当前文件中的所有部分。这可能看起来有点像你看到的那样,主循环块消失,由for i = 1:10和一个带有三个点的矩形代替 - 当你将鼠标悬停在矩形上时,循环体将显示为工具提示。

如果结果确实如此,则可以使用 Ctrl - Shift - (对于当前部分)或 Ctrl - Shift - + (适用于所有部分)。顺便说一句,这些快捷方式是默认设置,可以在首选项中自定义,要工作,您需要在首选项中打开代码折叠。

但是,正如你在另一篇评论中提到的那样,代码折叠并没有改变代码本身,只是它的外观;所以这并没有真正捕捉到你所描述的内容。

我能想象的唯一其他键盘快捷键是Smart Indent( Ctrl - I )。这会对代码进行一些智能缩进,但同样不完全是您在此处描述的内容。