Visual Studio Code以其高度可定制、易于使用,并且適用于所有三個(gè)主要操作系統(tǒng)而被廣大開發(fā)者所喜愛。 最近,Mathworks官方發(fā)布了VScode的Matlab擴(kuò)展,這讓很多厭倦了Matlab官方編輯器的用戶有了一個(gè)新的選擇,同時(shí)還可以方便我們能在沒(méi)有安裝Matlab的計(jì)算機(jī)上進(jìn)行代碼的編寫和修改。01 安裝方法 為了方便沒(méi)使用過(guò)VScode的讀者,這里簡(jiǎn)單介紹一下VScode的安裝方法,VScode全稱Visual Studio Code,是一款由微軟開發(fā)且跨平臺(tái)的免費(fèi)集成開發(fā)環(huán)境??梢栽诠倬W(wǎng)上下載對(duì)應(yīng)的系統(tǒng)版本。 VScode官網(wǎng): https://code./ ![]() Matlab的擴(kuò)展可以通過(guò)VScode的擴(kuò)展商店上找到。 在擴(kuò)展商店搜索matlab可以找到帶有官方認(rèn)證的matlab擴(kuò)展,直接安裝即可。 ![]() 當(dāng)然圖中第二個(gè)由Xavier Hahn開發(fā)的非官方擴(kuò)展也十分受歡迎,官方也對(duì)他表達(dá)了感謝,經(jīng)過(guò)溝通,Xavier表示自己無(wú)法再投入時(shí)間來(lái)進(jìn)一步開發(fā)自己的項(xiàng)目,由于架構(gòu)的不同,官方并沒(méi)有接管他的項(xiàng)目而是進(jìn)行了重新開發(fā),因此Xavier也建議他的用戶遷移到官方的新擴(kuò)展。 ![]() 02 基礎(chǔ)功能MATLAB官方擴(kuò)展的基本功能有: 語(yǔ)法高亮 代碼片段 注釋 代碼折疊 首先是語(yǔ)法高亮功能,下圖是一個(gè) MATLAB 類定義在運(yùn)行在黑暗模式下的 Visual Studio Code 中,未啟用(上)和啟用(下)和該擴(kuò)展時(shí)的外觀對(duì)比。 ![]() 接著是代碼模板功能 Visual Studio Code 中的代碼片段是常見代碼模式的模板,例如 for 循環(huán)、函數(shù)定義或條件塊,方便節(jié)省時(shí)間。MATLAB 擴(kuò)展支持一組這些代碼片段,并且將來(lái)還可以添加更多。按下 CRTL 和 Space 將會(huì)彈出列表,可以使用鼠標(biāo)或鍵盤選擇其中一個(gè)。 ![]() 或者,直接開始打字并使用鍵盤選擇相關(guān)片段。 ![]() 注釋的使用是將光標(biāo)放置在要注釋的行任意位置后,使用CTRL(或Mac上的Command)和/可以對(duì)該行進(jìn)行注釋。還可以選擇一段文本并使用CTRL和/將其全部注釋掉。 ![]() 最后一個(gè)代碼折疊功能 - 對(duì)于總結(jié)和導(dǎo)航大型代碼文件非常有用。 ![]() 03 高級(jí)功能(需要安裝 MATLAB)如果已經(jīng)安裝了MATLAB R2021a或更高版本,有一些額外功能可以使用。例如: 自動(dòng)代碼補(bǔ)全 源代碼格式化(文檔格式化) 代碼導(dǎo)航 代碼分析,如連續(xù)代碼檢查和自動(dòng)修復(fù) 這里介紹一下代碼分析 - 它會(huì)為你的編碼提供建議。? ![]() 代碼分析器識(shí)別到問(wèn)題會(huì)用下劃線表示出來(lái)。當(dāng)鼠標(biāo)懸停在下劃線上時(shí),它會(huì)建議可以采取什么措施。 我們還可以在上面的示例中看到代碼完成功能。當(dāng)開始輸入rng時(shí),它顯示函數(shù)簽名是rng(seed,generator)。隨著繼續(xù)輸入,它展示了生成器的可能選項(xiàng)。 上述這些高級(jí)功能需要一個(gè)MATLAB進(jìn)程在后臺(tái)運(yùn)行。默認(rèn)情況下,在VScode擴(kuò)展啟動(dòng)時(shí)就會(huì)啟動(dòng)該進(jìn)程,但是可以通過(guò)擴(kuò)展設(shè)置進(jìn)行控制。如果不想使用此功能,則可在按下圖的設(shè)置可以完全關(guān)閉它。 ![]() 擴(kuò)展的第一個(gè)版本專注于在Visual Studio Code中提供豐富功能的MATLAB代碼編輯體驗(yàn)。因此不包括執(zhí)行MATLAB代碼或調(diào)試支持等功能,但后續(xù)官方會(huì)不斷更新。 有問(wèn)題的話也可以在GitHub上創(chuàng)建Issue。 ![]() —— end —— |
|