sublime 编译调试c/c++程序
有时候只是想用c编写一个测试小程序,不想去开庞大的VS。现在很多文本编辑器都有强大的插件管理系统,可以轻松的配置一个c/c++编译环境。
但是能做到各方面都表现优异的编辑器只有emacs和sublime了。两款编辑器在某种意义上的设计哲学很类似,都是伪装成操作系统的编辑器。
在windows平台下两款编辑器都有比较好的表现,但是从使用方便程度来说,sublime更能符合windows用户的操作习惯。
sublime配置c/c++编译环境
sublime提供了构建功能,他的构建系统(Build Systems)可以运行一段外部命令,还可以捕获输出并在控制台显示。
通过定制构建系统,再搭配MinGW可以很方便的搭建一个编译环境。
但是这种方式有缺陷,一键编译一般都只能编译当前文件,对于一个工程来说,还是需要在命令行下自己编译。
PS:sublime也有比较优秀的命令行插件Terminal
编译系统
在sublime中有很多默认编程语言的编译系统,但是对于c/c++来说,编译系统需要自己来定制。
编译系统文件是json文件,遵循json的语法。
json数据的书写格式是:
“名称”: “值”
值中如果还有双引号的话要使用 ‘\’ 来转义
sublime-build的几个名称介绍
名称 | 含义 |
---|---|
working_dir | 运行cmd是会先切换到working_dir指定的工作目录 |
cmd | 包括命令及其参数。如果不指定绝对路径,外部程序会在你系统的:const:PATH 环境变量中搜索。 |
shell_cmd | 相当于shell:true的cmd ,cmd可以通过shell运行。 |
file_regex | 该选项用Perl的正则表达式来捕获构建系统的错误输出到sublime的窗口。 |
selector | 在选定 Tools |
variants | 用来替代主构建系统的备选。例如Run命令。会显示在tool的命令中。 |
name | 只在variants下面有,设置命令的名称,例如Run。 |
sublime-build中可以使用的几个变量(变量的使用可以直接使用,也可以使用花括号括起来,例如 ${project_name})
变量 | 含义 |
---|---|
$file_path | 当前文件所在目录路径, e.g., C:\Files. |
$file | 当前文件的详细路径, e.g., C:\Fil |