我正在寻找一种转换多行代码的方法,例如:
for i=1:10
foo();
end
到此:
for i=1:10, foo(); end
在MATLAB编辑器中有一种简单的方法吗?优先可逆?
我想我几天前不小心碰到了一个键盘快捷键,看到了魔法发生了,但我无法找到我按下的键:)
感谢您的帮助!
P.S。我不确定这个问题是否属于超级用户,但我相信我可以在这里找到一个快速的答案,它将与编程有关,所以双赢!
答案 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 )。这会对代码进行一些智能缩进,但同样不完全是您在此处描述的内容。