開始研究
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 沒有對應的檔案格式,無法自動判定。又花了不少時間去研究怎麼建立自定格式,這部分就留到之後有時間再分享在這邊。
沒有留言:
張貼留言