在已安装好 GCC 编译器的基础上,接下来开始正式配置 Sublime Text 编辑器。如果读者所用环境中尚未配置 GCC 编译环境,可阅读《MinGW下载和安装教程》 (https://osdn.net/projects/mingw/)一节进行安装。(或者前往我的博客下载MinGW.exe文件:https://i.cnblogs.com/files)
{ "cmd": ["gcc","${file}","-o", "${file_path}/${file_base_name}"], "file_regex":"^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir":"${file_path}", "selector": "source.c", "encoding":"cp936", "variants": [ { "name": "C_Run", "cmd": ["cmd","/c", "gcc", "${file}", "-o", "${file_path}/${file_base_name}","&&", "cmd", "/c","${file_path}/${file_base_name}"] }, { "name":"C_RunInCommand", "cmd": ["cmd","/c", "gcc", "${file}","-o","${file_path}/${file_base_name}", "&&","start", "cmd", "/c","${file_path}/${file_base_name} & pause"] } ] }
按 Ctrl+S 组合键,将此文件保存起来,其中文件名默认为 untitled.sublime-build(untitile 可以自定义,例如 gcc_sublime-build),保存路径即为按 Ctrl+S 弹出的路径(切忌手动修改此路径)。此文件中的内容,实则是运行 C 语言程序时需要执行的 gcc 指令,只不过在 Sublime Text 文件中,需写成以上形式。
{ "cmd": ["g++","-Wall", "${file}", "-o", "${file_path}/${file_base_name}"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c, source.c++", "encoding":"cp936", "variants": [ { "name": "C++_Run", "cmd": ["cmd", "/c", "g++", "-Wall","${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"] }, { "name": "C++_RunInCommand", "cmd": ["cmd", "/c", "g++", "-Wall","${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & echo.&pause"] } ] }
其它操作步骤,和上面是完全一样的。由此,即可使 Sublime_Text 具备执行 C++ 程序的能力。
{ "cmd" : ["gcc -o ${file_base_name} $file_name"], "shell" : true, "working_dir" : "$file_path", "selector": "source.c", "variants" : [{ "name" : "c_Run", "cmd" : "./${file_base_name}" }, { "name": "c_RunInCommand", "shell_cmd": "open -a Terminal.app '${file_base_name}'" }] }
其中,c_Run 用于在 Sublime Text 底部显示程序的执行结果;而 c_RunInCommend 用于在命令行窗口中显示 C 语言程序的执行结果。仍以图 5 中的 C 语言程序为例,则 2 个编译选项的执行效果如下图所示:
可以看到,使用如上指令调取命令行窗口执行 C 语言程序,除执行结果外,还会显示其它无用的信息。因此建议读者使用 c-Run 编译选项执行 C 语言程序,简单方便。
同理,通过创建 g++.sublime-build 配置文件,并将如下内容拷贝到该文件中:
{ "cmd" : ["g++ -o ${file_base_name} $file_name"], "shell" : true, "working_dir" : "$file_path", "selector": "source.cpp", "variants" : [{ "name" : "c_Run", "cmd" : "./${file_base_name}" }, { "name": "c_RunInCommend", "shell_cmd": "open -a Terminal.app '${file_base_name}'" }] }
即可实现令 Sublime Text 具备执行 C++ 程序的能力。
{ "encoding": "utf-8", "working_dir": "$file_path", "shell_cmd": "gcc \"$file_name\" -o \"$file_base_name\"", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector": "source.c", "variants": [ { "name": "c_Run", "shell_cmd": "./${file_base_name}" }, { "name": "c_RunInCommand", "shell_cmd": "gnome-terminal -x bash -c \"'${file_path}/${file_base_name}';read -p '\nPress any key to continue...'\"" } ] }
如果想使 Sublime Text 具备执行 C++ 程序的能力,则可以创建一个 g++.sublime-build 配置文件,将如下内容拷贝到该文件中:
{ "encoding": "utf-8", "working_dir": "$file_path", "shell_cmd": "g++ \"$file_name\" -o \"$file_base_name\"", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector": "source.cpp", "variants": [ { "name": "c++_Run", "shell_cmd": "./${file_base_name}" }, { "name": "c++_RunInCommand", "shell_cmd": "gnome-terminal -x bash -c \"'${file_path}/${file_base_name}';read -p '\nPress any key to continue...'\"" } ] }
由此,就完成了对 Sublime Text 的配置。仍以图 5 中的 C 语言程序为例,如下是使用 Sublime Text 执行它的效果图: