build system運行外部的程序來處理你的項目文件并且打印捕獲的輸出到sublime的輸出面板渣磷。最后,調(diào)用subprocess.Popen
。
基本步驟
新建一個Build system
sublime-bulid-system.jpg
輸入鍵值對(JSON格式)
例如構(gòu)建less:
{
"shell_cmd": "lessc \"$file\" \"$file_path/$file_base_name.css\"",
"selector": "source.less",
"shell": true
}
將untitled.sublime-build
文件保存到Sublime Text3/Packages/User
下,重新命名為less.sublime-build
韧骗。
選項
- shell_cmd:要執(zhí)行的命令。
- file_regex:可選零聚,正則表達(dá)式捕捉cmd的錯誤輸出袍暴。
- line_regex:可選,當(dāng)
file_regex
與該行不匹配,如果line_regex
存在隶症,并且確實與當(dāng)前行匹配政模, 則遍歷整個緩沖區(qū),直到與file regex
匹配的行出現(xiàn)蚂会,并用這兩個匹配決定最終要跳轉(zhuǎn)的文件 或行淋样。 - selector:可選,當(dāng)Build System被設(shè)置為 Automatic時颂龙,sublime使用這個選項來查找到當(dāng)前窗口適合的Build System习蓬。
- working_dir:可選纽什,在運行
cmd
前會切換到該目錄措嵌。運行結(jié)束后會切換到原來的目錄躲叼。 - encoding:可選,cmd輸出流的編碼企巢。一定要是有效的Python編碼枫慷。默認(rèn)是utf-8(字符串類型)。
- target:可選浪规,運行的Sublime Text命令或听,缺省為
exec
(Packages/Default/exec.py)。 - env:可選笋婿,在環(huán)境變量被傳遞給
cmd
前誉裆,將他們封裝成詞典。 - shell:可選缸濒,如果該選項為
true
足丢,cmd
則可以通過shell運行。 - path:可選庇配,該選項可以在調(diào)用
cmd
前替換當(dāng)前進(jìn)程的PATH 斩跌。原來的PATH 將在運行后恢復(fù)。使用這個選項可以在不修改系統(tǒng)設(shè)置的前提下將目錄添加到PATH 中捞慌。
使用 file_regex
獲取錯誤輸出
file_regex
選項用Perl的正則表達(dá)式來捕獲構(gòu)建系統(tǒng)的錯誤輸出耀鸦,主要包括四部分內(nèi)容,分別是 file name啸澡、 line number袖订、 column number和error message。Sublime Text 在匹配模式中使用分組的方式捕獲信息嗅虏。file name和line number域是必須的著角。
當(dāng)錯誤信息被捕獲時,你可以使用F4
和 Shift+F4
在你的項目文件中跳轉(zhuǎn)旋恼。被捕獲的錯誤信息會顯示在狀態(tài)欄吏口。
平臺相關(guān)選項
windows
,osx
以及linux
元素可以幫助你在構(gòu)建系統(tǒng)中設(shè)定平臺相關(guān)冰更。
構(gòu)建系統(tǒng)變量
- $file_path 當(dāng)前文件所在路徑, 比如 C:\Files.
- $file 當(dāng)前文件的完整路徑, 比如 C:\Files\Chapter1.txt.
- $file_name 當(dāng)前文件的文件名, 比如 Chapter1.txt.
- $file_extension 當(dāng)前文件的擴展名, 比如 txt.
- $file_base_name 當(dāng)前文件僅包含文件名的部分, 比如 Document.
- $packages Packages 文件夾的完整路徑.
- $project 當(dāng)前項目文件的完整路徑.
- $project_path 當(dāng)前項目文件的路徑.
- $project_name 當(dāng)前項目文件的名稱.
- $project_extension 當(dāng)前項目文件的擴展部分.
- $project_base_name 當(dāng)前項目僅包括名的部分.
變量用法
可以在代碼片段上中使用以上變量产徊。
${project_name:Default}
如果當(dāng)前項目存在則使用該項目名稱,否則則使用Default
替代蜀细。
${file/\.php/\.txt/}
該例會獲取當(dāng)前文件的完整路徑舟铜,并用.txt
替換路徑中的.php
。
運行構(gòu)建系統(tǒng)
ctrl+b或者F