2015年3月19日 星期四

用 Sublime 建置當下正在編輯的文件

為了避免那些常常出現,還看不懂的 Node.js 語法干擾我學習前端技術。打算狠下心來花時間對 Node.js 作點深入的了解。首先要先在同樣也在學習中的 sublime 進行設定,可以在編輯器中以快速鍵的呼叫 Node.js 執行正在編輯中的檔案,來加快學習的進度。Sublime 既然被稱作強大的文字編輯器,那一定有相對應的功能吧!

開始研究

sublime 可以由選單 Tools > Build System > ... 的列表找到內建的幾種建置模式。可以手動選擇,或是讓它停在 Automatic 的選項上,由 sublime 自行判斷。當選好或被判斷出適用於特定種類建置方式時。 Tools > Build 選單的狀態會是「可點選」,藉由點選它或是以快速鍵 「Command + Shift + B」或 F7 執行建置的動作。

不過 Node.js 不在預設支援的建置模式中,所以需要自行定義,由 Tools > Build System > New Build System... 選項,會開啟一個新設定檔,讓使用者可以自行定義。


設定檔格式

設定檔本身是一個 JSON 格式的資料,這次的建置用到三個屬性值,分別是 cmd, path 和 selector。

cmd 是一個陣列,可以放入多個參數,作為 command line 中的每一個參數,第一個就是我們要呼叫的「node」命令。

path 是路徑,在這裡尋找第一個參數,在這裡也就是 node 程式檔案。預設會抓系統的 PATH,不過我這裡是使用 mac 的 homebrew 來安裝 node,它不在系統預設的路徑,要另外設定。

selector 是這個建置模式,應該套用到哪一種類型的檔案上。這是為了讓 Automatic 模式,可以自動判斷要採用的建置模式。 javascript 是預設支援的格式,它的名字是 source.js。

如此最後設定檔會長得像這個樣子⋯

{
 "cmd": ["node", "$file"],
 "path": "/usr/local/bin",
 "selector": "source.js"
}

把檔案存在 Packages/User 資料夾(在 mac 裡,它在 ~/Library/Application Support/Sublime Text 3/ 目錄裡)下,取名為「Node.sublime-build」, Sublime 會依副檔名 sublime-build 找到這個設定,並以主檔名 Node 作為建置模式的名稱。

到這裡,就算是完成新增建置模式的設定。

後記⋯

後來想要試著對最近同樣在學的 asciidoc 作同樣的設定,結果發現在 sublime ublime 沒有對應的檔案格式,無法自動判定。又花了不少時間去研究怎麼建立自定格式,這部分就留到之後有時間再分享在這邊。

沒有留言:

張貼留言