sublime3 build system

build system运行外部的程序来处理你的项目文件并且打印捕获的输出到sublime的输出面板。最后,调用subprocess.Popen

基本步骤

新建一个Build system

sublime-build

输入键值对(JSON格式)
例如构建Grails:

{
 "shell_cmd": "grails run-app -non-interactive",
 "working_dir": "${project_path:${folder}}", 
 "path": "$PATH:GRAILS_HOME/bin"
}

untitled.sublime-build文件保存到Sublime Text3/Packages/User下,重新命名为Grails.sublime-build

选项

  • shell_cmd:要执行的命令。
  • file_regex:可选,正则表达式捕捉cmd的错误输出。
  • line_regex:可选,当file_regex与该行不匹配,如果line_regex存在,并且确实与当前行匹配, 则遍历整个缓冲区,直到与file regex匹配的行出现,并用这两个匹配决定最终要跳转的文件 或行。
  • selector:可选,当Build System被设置为 Automatic时,sublime使用这个选项来查找到当前窗口适合的Build System。
  • working_dir:可选,在运行cmd前会切换到该目录。运行结束后会切换到原来的目录。
  • encoding:可选,cmd输出流的编码。一定要是有效的Python编码。默认是utf-8(字符串类型)。
  • target:可选,运行的Sublime Text命令,缺省为exec (Packages/Default/exec.py)。
  • env:可选,在环境变量被传递给cmd前,将他们封装成词典。
  • shell:可选,如果该选项为truecmd则可以通过shell运行。
  • path:可选,该选项可以在调用cmd前替换当前进程的PATH 。原来的PATH 将在运行后恢复。使用这个选项可以在不修改系统设置的前提下将目录添加到PATH 中。

使用 file_regex获取错误输出

file_regex选项用Perl的正则表达式来捕获构建系统的错误输出,主要包括四部分内容,分别是 file name、 line number、 column number和error message。Sublime Text 在匹配模式中使用分组的方式捕获信息。file name和line number域是必须的。

当错误信息被捕获时,你可以使用F4Shift+F4在你的项目文件中跳转。被捕获的错误信息会显示在状态栏。

平台相关选项

windowsosx 以及linux元素可以帮助你在构建系统中设定平台相关。

构建系统变量

  • $file_path 当前文件所在路径, 比如 C:\Files.
  • $file 当前文件的完整路径, 比如 C:\Files\Chapter1.txt.
  • $file_name 当前文件的文件名, 比如 Chapter1.txt.
  • $file_extension 当前文件的扩展名, 比如 txt.
  • $file_base_name 当前文件仅包含文件名的部分, 比如 Document.
  • $packages Packages 文件夹的完整路径.
  • $project 当前项目文件的完整路径.
  • $project_path 当前项目文件的路径.
  • $project_name 当前项目文件的名称.
  • $project_extension 当前项目文件的扩展部分.
  • $project_base_name 当前项目仅包括名的部分.

变量用法

可以在代码片段上中使用以上变量。

${project_name:Default}

如果当前项目存在则使用该项目名称,否则则使用Default替代。

${file/\.php/\.txt/}

该例会获取当前文件的完整路径,并用.txt替换路径中的.php

运行构建系统

ctrl+b或者F

21 Comments

对于程序猿的博客,我一向都是点赞的,虽然看不懂

哈哈 都是自己工作用的 记录一下

Namesilo 说:

兄弟,交换链接吗?

问道网 说:

留下足迹不知道有没有回访

胡杨 说:

科技好博客

Leave a Reply

Your email address will not be published.