【来自简书】sublime3 build system

来源:互联网 发布:hp打印机驱动for mac 编辑:程序博客网 时间:2024/06/16 22:36

原帖地址:http://www.jianshu.com/p/9515579baa18



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

基本步骤

新建一个Build system

sublime-bulid-system.jpg
sublime-bulid-system.jpg

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

{    "shell_cmd": "lessc \"$file\" \"$file_path/$file_base_name.css\"",    "selector": "source.less",    "shell": true}

untitled.sublime-build文件保存.config/Sublime Text3/Packages/User下,重新命名为less.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

0 0
原创粉丝点击