一个比较好的教程:https://blog.youkuaiyun.com/a19990412/article/details/82658981
但是还是有点小问题,所以我在他的基础上改了,然后AC。
首先就是Tools->Build system->New build system.然后就会打开一个文件,将下面代码赋值进去,即可。
{
// "cmd": ["g++", "${file}", "-std=c++11", "-o", "${file_path}\\\\${file_base_name}", "&", "start", "cmd", "/c", "${file_path}\\\\${file_base_name} & echo. & pause"],
//又发现了一个问题,下面这个cmd,是命令build with CPP,下面的与这个没有影响
"cmd": "g++ -Wall -std=c++11 \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\"",
//上面第一行的cmd配置,如果文件经含有空格,-等特殊字符就会识别不到文件,第二行是改进版的,都可以,就是讲正则表达式更改即可
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}",
"selector": "source.c, source.c++", "shell": true,
"encoding":"cp936",
"variants":
[
{
"name" : "Build Only",
"cmd":["g++", "${file}", "-std=c++11", "-o", "${file_path}\\\\${file_base_name}"]
},
{
"name" : "Run Only",
"cmd" : ["start", "cmd", "/c", "${file_path}\\\\${file_base_name} & echo. & pause"]
},
{
"name" : "Pipe Build and Run",
"cmd":["g++", "${file}", "-std=c++11", "-o", "${file_path}\\\\${file_base_name}","&","${file_path}\\\\${file_base_name}", "<","${file_path}\\\\in",">","${file_path}\\\\out"]
},
{
"name" : "Pipe Run Only",
"cmd" : ["${file_base_name}", "<","in",">","out"]
},
//上面3个命令有问题
//下面这个命令的cmd命令改为最上面那个cmd命令,就可以了
{//这个是我通过上面的第一个和第二个整合在一起的,因为第1个和第2个是有效的,第3,4个有问题,提示找不到文件
"name" : "Build and Run",
// "cmd":["g++", "${file}", "-std=c++11", "-o", "${file_path}\\\\${file_base_name}","&","start", "cmd", "/c", "${file_path}\\\\${file_base_name} & echo. & pause"]
"cmd": "g++ -Wall -std=c++11 \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\"",
}//整合的时候中间加个&,即可
]
}
然后去Tools->Build system->CPP(选择自定义的编译system)
Ctrl + S保存,然后更改快捷键Prefencea->key Bindings->User
然后将下面代码赋值进去。
[
// {"keys":["ctrl+b"],"command" : "cpp-build_and_run"}
// { "keys": ["ctrl+b"], "command": "build_with_cpp-build_and_run" }
{ "keys": ["ctrl+b"], "command": "build" }
]
上面注释的代码是尝试给自定义命令添加快捷键,但是尝试了很久,失败了。
最后只有调用紫貂的命令build。
Ctrl+b,然后选择cpp:build and run,后面再次ctrl+b,都是默认第一次的命令。
燃火重启sublime,就大功告成了。