[英]How to convert MATLAB code segment to single line?
我正在尋找一種轉換多行代碼的方法,例如:
for i=1:10
foo();
end
對此:
for i=1:10, foo(); end
在MATLAB編輯器中是否有簡單的方法可以做到這一點? 最好是可逆的?
我想幾天前我不小心按下了鍵盤快捷鍵,看到了魔術發生的情況,但是我找不到我按下的鍵:)
謝謝你的幫助 !
PS:我不確定這個問題是否屬於超級用戶,但是我相信我可以在這里找到一個快速的答案,這與編程有關,所以雙贏!
如果您以這種方式編寫它,它將起作用:
for i=1:10, foo();, end
(注意foo()之后的逗號;)
但是您可能所做的只是在for之前打了+或-,這折疊了for代碼序列。
如果您進入“視圖”選項卡,則還可以使用按鈕來展開折疊以進行相同的操作。
我很確定您沒有辦法在MATLAB中完成此操作,至少沒有在MATLAB Editor中使用鍵盤快捷鍵。 我不想說你在想像,但我想你在想像。
我猜您可能已經完成的最接近的操作是使用Ctrl-折疊當前代碼段。 折疊當前部分,或按Ctrl- +折疊當前文件中的所有部分。 這看起來有點像您看到的那樣,主循環塊消失了,取而代之的for i = 1:10
和一個帶有三個點的矩形-當您將鼠標懸停在矩形上時,循環主體將顯示為工具提示。
如果確實是您所做的,則可以通過Ctrl - Shift-來逆轉。 (對於當前部分)或Ctrl - Shift - + (對於所有部分)。 順便說一句,這些快捷方式是默認設置,可以在“首選項”中自定義,要正常工作,您需要在“首選項”中啟用“代碼折疊”。
但是,正如您在另一條評論中提到的那樣,代碼折疊並不會更改代碼本身,而只是更改外觀。 因此,這並不能真正捕捉您所描述的內容。
我能想到的唯一其他鍵盤快捷鍵是Smart Indent( Ctrl - I )。 這樣可以對代碼進行一些精巧的縮進,但又不能完全符合您在此處描述的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.