1.工作环境
(1)PC system:Ubuntu12.04LTS。
(2)编辑器版本:Sublime Text 3
2.实现目的
背景就是自己最近开始使用Sublime Text 3编辑代码,发现非常好用,也被它强大的插件功能所吸引。但是,自己在编辑完C/C++代码后使用sublime自带的build并不好用,于是打算自己定制一个单文件C/C++编译命令。
3.定制C编译
(1)在sublime工具栏中,选择“工具“->“编译系统“->“新建编译系统“,会打开文件名称为“Untitled.sublime-build“文件。对其进行编辑,加入下面的代码,保存为“myC.sublime-build“,路径为默认路径就可以了。
{
//"shell_cmd": "make"
"working_dir": "$file_path",
"cmd": "gcc -Wall \"$file_name\" -o \"$file_base_name\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.c",
"variants":
[
{
"name": "Run",
"shell_cmd": "gcc -Wall \"$file\" -o \"$file_base_name\" && \"${file_path}/${file_base_name}\""
}
]
}
保存后,你会在sublime的“工具“->“编译系统“->“新建编译系统“下看到myC的build系统。
(2)编辑简单的C代码,进行测试
// 文件名称:test_c_build.c
#include <stdio.h>
int main(int argc, char const *argv[])
{
printf("hello world!\n");
return 0;
}
按下组合键“Ctrl“+“Shift“+“b“就会弹出编译命令选择窗口
选择“myC-Run“编译,结果就会出现在sublime下方的控制台上,如下:
4.定制C++编译
C++的过程与C一样,只是新建编译系统时的文件内容有些不同而已:
{
// "shell_cmd": "make"
"encoding": "utf-8",
"working_dir": "$file_path",
"shell_cmd": "g++ -Wall -std=c++0x \"$file_name\" -o \"$file_base_name\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.cpp",
"variants":
[
{
"name": "Run",
"shell_cmd": "g++ -Wall -std=c++0x \"$file\" -o \"$file_base_name\" && \"${file_path}/${file_base_name}\""
}
]
}
5.myC和myC-Run的区别就是myC只编译,不执行;而myC-Run,编译后直接执行。
6.目前只支持编译单文件,其余的后续再研究吧。