其他分享
首页 > 其他分享> > SublimeText构建系统简介及若干配置示例

SublimeText构建系统简介及若干配置示例

作者:互联网

有兄弟来问关于\(Sublime\ Text\)构建系统配置的问题,本文进行一些整理并给出一些例子

\(Sublime\ Text\)构建系统简介

\(Sublime\ Text\)提供构建系统(\(Build\ Systems\))以允许用户运行外部程序,构建系统通过\(json\)的形式指定并保存在\(sublime-build\)文件中,功能包括:根据文件类型自动选择构建系统、记住上次使用的构建系统、构建系统结果的导航、取消执行构建

\(Sublime\ Text\)中,用户新增构建系统的方式为工具-构建系统-新建构建系统,新建的构建系统位于:

下文主要整理一些关键/常用/官方文档没有详细涉及的内容,\(Sublime\ Text\)构建系统的完整介绍可参考官方文档

修改\(Sublime\ Text\)内置构建系统

\(Sublime\ Text\)内置了一些常见语言的构建系统,内置的构建系统使用\(Sublime\ Text\)提供的控制台,其不同于\(VSCode\),无法处理用户输入,可能的解决方案包括:

\(Sublime\ Text\)内置的构建系统位于\(Sublime\ Text\)安装目录下\(Packages\)目录中的\(sublime-package\)文件内,\(sublime-package\)文件实质上是压缩文件,用解压软件打开即可修改其中的\(sublime-build\)文件,这样就无需通过新建一个构建系统的方式“曲线救国”

需要注意的是\(C\)和\(C++\)的配置均位于\(C++.sublime-package\)中,此外如果一个\(sublime-package\)文件中没有对应的\(sublime-build\)文件,向其中添加\(sublime-build\)文件后,该\(sublime-build\)文件对应的构建系统可以正常加载

个人建议长期使用的构建系统以内置构建系统的方式存储,临时使用的构建系统使用工具-构建系统-新建构建系统的方式添加

\(sublime-build\)部分字段解释

\(C\)配置及测试

文件名、行号/行内偏移、错误信息都可以抓取到

\(C++\)配置及测试

文件名、行号/行内偏移、错误信息都可以抓取到

\(Go\)配置及测试

文件名、行号/行内偏移、错误信息都可以抓取到

\(Go\)支持解释执行和构建执行,此处选择构建执行,以获取报错信息

\(Java\)配置及测试

文件名、行号、错误信息都可以抓取到,但由于行内偏移是通过^指示的形式给出,因此无法抓取到

此外一个坑点是需要使用cp936编码解决乱码问题

\(JavaScript\)配置及测试

\(JavaScript\)是解释型语言,错误信息将在执行时产生,因此没有必要配置file_regex字段

\(Python\)配置及测试

\(Python\)是解释型语言,错误信息将在执行时产生,因此没有必要配置file_regex字段

\(Scala\)配置及测试

文件名、行号/行内偏移、错误类型都可以抓取到,但更详细的错误信息和其它信息并不在同一行,因此无法抓取,此时\(Sublime\ Text\)将匹配file_regex的整行作为错误信息

\(Scala\)支持直接解释执行和构建后解释执行,此处选择构建后解释执行,以获取报错信息

此外一个坑点是需要使用-color避免抓取到用于控制颜色的乱码

在\(Linux\)下完成配置

只需要调整shell_cmd字段,使用相应的终端,并指定终端启动后需要自动执行的命令即可

以\(Python\)为例,在使用gnome-terminal(为\(Gnome\)桌面系统默认)时,命令行可以是:

gnome-terminal -- bash -c \"if [ -f '${file_path}/${file_base_name}' ]; then rm '${file_path}/${file_base_name}'; fi; python3 -u '${file}'; read -p 'Process Exit, Press any key to quit...'\"

以\(Python\)为例,在使用konsole(为\(KDE\)桌面系统默认)时,命令行可以是:

konsole -e bash -c \"if [ -f '${file_path}/${file_base_name}' ]; then rm '${file_path}/${file_base_name}'; fi; python3 -u '${file}'; read -p 'Process Exit, Press any key to quit...'\"

标签:shell,name,示例,简介,cmd,SublimeText,构建,file,测试代码
来源: https://www.cnblogs.com/Chenrt/p/16091455.html