【来自简书】sublime3 build system

    xiaoxiao2021-03-25  86

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

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

    基本步骤

    新建一个Build system

    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:可选,如果该选项为true ,cmd则可以通过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域是必须的。

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

    平台相关选项

    windows,osx 以及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

    转载请注明原文地址: https://ju.6miu.com/read-35688.html

    最新回复(0)