Sublime Text 是一款当下非常流行的文本编辑器,其功能强大(提供有众多的插件)、界面简洁、还支持跨平台使用(包括 Mac OS X、Linux 和 Windows)。
在程序员眼中,Sublime Text 不仅仅是一个文本编辑器,它还可以作为代码编辑器。只要对 Sublime Text 进行简单的设置,它就可以自行调用 GCC 编译器编译写好的代码。
考虑到 Sublime Text 跨平台的特性,本节将分别为读者讲解,如何设置 Windows、Linux(以 Ubuntu 为例)以及 Mac OS X 系统中的 Sublime text 编辑器,使其具备执行 C、C++ 程序的能力。
Windows配置Sublime Text
如图 1 所示,是笔者本机已经安装好的 Sublime Text。如果读者尚未安装,先前往 Sublime Text官网下载并安装(安装过程非常简单,这里不做过多赘述)。
要知道,刚刚安装的 Sublime Text 无法自行具备运行 C、C++ 代码的能力,需要我们手动对其进行设置。不过在开始设置之前,读者需保证当前系统中已经初始化好了 GCC 编译环境。打开命令行窗口,并执行 gcc -v 指令,如果输出 GCC 编译器的具体版本等信息,表明当前系统以成功配置了 GCC 编译环境(如图 2 所示)。
如果读者所用环境中尚未配置 GCC 编译环境,可阅读《MinGW下载和安装教程》一节进行安装。
在已安装好 GCC 编译器的基础上,接下来开始正式配置 Sublime Text 编辑器。
- 要想使 Sublime Text 具备运行 C 语言程序的能力,需在菜单栏中依次点击“Tools -> Build System -> New Build System”,由此即可在 Sublime Text 打开一个临时文件,如下所示:
删除其所有内容,并将如下内容完整地复制到该文件中:
{
"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"]
}
]
}
此文件中的内容,实则是运行 C 语言程序时需要执行的 gcc 指令,只不过在 Sublime Text 文件中,需写成以上形式。
按 Ctrl+S 组合键,将此文件保存起来,其中文件名默认为 untitled.sublime-build(untitile 可以自定义,例如 gcc_sublime-build),保存路径即为按 Ctrl+S 弹出的路径(切忌手动修改此路径)。
- 重新打开 Sublime Text,并依次在菜单栏中选择“Tools -> Build System”, 在该选项中就可以看到上一步创建好的 gcc_sublime-build 的文件名 gcc,如图 4 所示:
通过勾选 gcc 编译选项(直接在图 4 中点击即可),我们就可以直接在 Sublime Text 运行写好的 C 语言程序。比如,在 Sublime Text 编写如下程序:
在此基础上,选择“Tools -> Build With…”选项,此时 Sublime Text 会弹出如下对话框:
可以看到,这里有 gcc、gcc-C_Run 和 gcc-RunInCommand 3 个选项,其中 gcc 用于编译程序(读者可自行查看执行结果),gcc-C_Run 用于在 Sublime Text 内部调用 GCC 编译器并显示程序的执行结果(如图 7 a) 所示),gcc_RunInCommand 用于在命令行窗口中借助 gcc 指令运行该程序并输出执行结果(如图 7 b) )。
图 7 各个选项的功能
同样,如果想使 Sublime Text 具备执行 C++ 程序的能力,则只需再建立一个 g++_sublime-build 配置文件,并将如下内容拷贝到该文件中:
{
"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"]
}
]
}