Sublime Text 3编译运行并调试C、C++、Python
今天晚上是真正的感受到了Sublime Text 3的强大,真的是强!!!
网上找了好几个教程,基本都是可以在Sublime Text 3的界面上进行输出,不能调用终端,也就是不能使用scanf(),cin()这类的输入,无法键盘输入,那么就失去了学习的意义。直接开始吧!
我的sublime Text 3是ubuntu下的,windows 下的没有实验,所以不知道可行性!
在menu中选择 Tools->Build System->New Build System就会新建一个,将一下的三段内容直接ctrl+s 保存在默认位置就可以。
C程序
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}", "-lm", "-Wall"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector" : "source.c, source.c++",
"shell":false,
"working_dir" : "$file_path",
"variants":
[
{
"name": "Run",
"cmd": ["gnome-terminal", "-e", "bash -c \"gcc '${file}' -o '${file_path}/${file_base_name}' -lm -Wall -std=c11 && '${file_path}/${file_base_name}' ; read -p '\nPress any key to continue...'\""]
},
{
"name":"Debug",
"cmd": ["gnome-terminal", "-e", "bash -c \"gcc -g '${file}' -o '${file_path}/${file_base_name}' -lm -Wall -std=c11 && gdb '${file_path}/${file_base_name}'; read -p '\nPress any key to continue...'\""]
}
]
}
保存文件为myc.sublime-build
就可以了。
C++
{
"cmd" : ["g++", "$file_name", "-o", "${file_base_name}", "-lm", "-Wall"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector" : "source.c, source.c++",
"shell":false,
"working_dir" : "$file_path",
"variants":
[
{
"name": "Run",
"cmd": ["gnome-terminal", "-e", "bash -c \"g++ '${file}' -o '${file_path}/${file_base_name}' -lm -Wall -std=c++11 && '${file_path}/${file_base_name}' ; read -p '\nPress any key to continue...'\""]
},
{
"name":"Debug",
"cmd": ["gnome-terminal", "-e", "bash -c \"g++ -g '${file}' -o '${file_path}/${file_base_name}' -lm -Wall -std=c++11 && gdb '${file_path}/${file_base_name}'; read -p '\nPress any key to continue...'\""]
}
]
}
保存为myc++.sublime-build
就可以了。
Python
{
"cmd": ["gnome-terminal -x bash -c \"python $file_name ; read -p '\nPress any key to continue...'\""],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"
}
保存为mypython.sublime-build
。
在使用的时候只要在Tools -> Build System 选择对应的语言编译就可以了,ctrl+shift+b就可以选择是编译还是编译并运行,还有debug。debug这个我还不是很会用。
展示一下报错的美妙:
还是蛮可以的咯。
试着改了个java的,但好像是没有引入jdk还是什么原因一直没成功。。。。
欢迎大家来尝试,也可以试着开发点别的,可以一起交流哦!