標籤:

用自定義快捷鍵增強 MATLAB 編輯器功能

MATLAB 中使用「Alt + 數字鍵」可以調用自定義腳本(更詳細的說明可以參見 @芷菡 的文章 MATLAB自定義快捷鍵(Alt + 數字)的方法),那麼可以利用此功能來補充一些自帶編輯器缺少的功能,其中主要問題是如何通過腳本獲取編輯器內容以及對其作出修改,這裡介紹一下,首先是獲取當前的編輯器窗口(如果不可用應當是版本比較老):

>> activeEditor = matlab.desktop.editor.getActiveactiveEditor = Document with properties: Filename: Untitled Opened: 1 Language: MATLAB Text: Selection: [1 1 1 1] SelectedText: Modified: 0 Editable: 1

這裡的屬性名都比較好懂,這裡需要用的 Text 就是當前活動窗口的內容,要想對其進行修改也只要直接對 activeEditor.Text 進行賦值即可

舉個簡單的例子,建立函數 foo.m:

function foo activeEditor = matlab.desktop.editor.getActive; activeEditor.Text = "% " + datestr(now) + newline + activeEditor.Text;end

之後建立一個新的 Shortcut(18a pre 已改名為 Favorite Command),Code 部分填入 foo (只寫函數名,而不是上邊整段代碼),並確保 foo 函數已經保存且在工作路徑

之後就可以用 Alt + 數字鍵來為當前窗口的代碼添加日期信息,效果如下:

另外,如果需要做一些比較複雜的分析和處理,可以借用 mtree 函數生成代碼的 parse tree,具體用法參見文檔或幫助提示 (doc mtree / help mtree)

當然,自定義快捷鍵不只應用編輯器,其本質只是執行一段代碼,合理利用可以提升效率或者做一些好玩的事情,自行發揮吧

補充說明:

如果對 Alt + 數字鍵 這個設置本身不清楚,可以參見以下內容:

芷菡:MATLAB自定義快捷鍵(Alt + 數字)的方法zhuanlan.zhihu.com圖標創建快捷方式以重新運行命令 - MATLAB & Simulink - MathWorks 中國cn.mathworks.com圖標Create Shortcuts to Rerun Commandscn.mathworks.com圖標
推薦閱讀:

【Matlab基礎】04. 自定義函數
學術論文中用什麼軟體可以繪製這樣的圖?
Matlab小練習:按斜線方向依次賦值矩陣
Matlab 2018a 比2017b有哪些改進?
matlab如何很好的處理比較大的數據?

TAG:MATLAB |