簡體   English   中英

如何將MATLAB代碼段轉換為單行?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM