场景
1.Sublime Text 3作为老牌的编辑器性能和稳定性还是很不错的. 它一般只启动了单进程, 不像vscode那样启动一个简单的项目全部进程加起来基本上都要300M的内存使用量. 如果只是想快速轻便验证C++程序,它还是比vscode方便和快速的.
2.Sublime Text 3需要购买注册, 但是也可以不注册,不注册它就是偶尔会弹出窗口提醒你注册,关掉可以继续使用.
安装Sublime Text 3
说明
1.Sublime Text 3的C++支持官方只有语法高亮支持,没了!它也有项目单独的编译运行配置,也有全局的编译运行配置。项目配置不是必须的,可以通过菜单->Project->Save Project As...来保存当前所有打开的文件和文件夹作为配置项,配置项里也可以添加构建配置,和全局的基本一样.详细的说明点这里.
项目文件例子.sublime-project. 配置好的可以在Tools->Build System里找到构建名字.name
{
"folders":
[
{
"path": "."
},
{
"path": "E:\\Project\\Company\\73.wtl-project"
}
],
"build_systems":
[
{
"name":"make-cygwin-test",
"cmd": ["E:/software/cygwin64/bin/make.exe","-C","${project_path}\\test\\cygwin","-f", "${project_path}\\test\\cygwin\\Makefile","CONF=Debug"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${project_path}\\test\\cygwin",
"selector": "source.c, source.c++",
"env":
{
"PATH": "E:/software/cygwin64/bin"
},
"variants":
[
{
"name": "Run",
"cmd": ["${project_path}\\test\\cygwin\\dist\\Debug\\app.exe","--gtest_filter=test_ScanPartition.TestWindowsFileRecovery"]
},
{
"name": "Clean",
"cmd": ["E:/software/cygwin64/bin/make.exe","-C","${project_path}\\test\\cygwin","-f", "${project_path}\\test\\cygwin\\Makefile","CONF=Debug","clean"]
}
]
},
{
"name":"make-cygwin",
"cmd": ["E:/software/cygwin64/bin/make.exe","-C","${project_path}\\cygwin","-f", "${project_path}\\cygwin\\Makefile","CONF=Debug"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${project_path}\\cygwin",
"selector": "source.c, source.c++",
"env":
{
"PATH": "E:/software/cygwin64/bin"
},
"variants":
[
{
"name": "Run",
"cmd": ["${project_path}\\cygwin\\dist\\Debug\\app.exe"]
},
{
"name": "Clean",
"cmd": ["E:/software/cygwin64/bin/make.exe","-C","${project_path}\\cygwin","-f", "${project_path}\\cygwin\\Makefile","CONF=Debug","clean"]
}
]
}
]
}
2.其实Sublime Text 3开发C/C++就只是缺少头文件跳转和gdb集成, 如果这个集成了, 未必不如vscode.
Cygwin C/C++开发编译运行配置
1.选择菜单->Preferences->Browse Packages...打开了配置目录,进入User,新建一个g++.sublime-build文件.
增加以下内容,cmd就是运行的命令,env设置编译后可执行文件的运行搜索目录, 比如有对c++的dll依赖,需要把E:/software/cygwin64/bin加入配置。当然也可以在系统环境变量path添加这个路径,但是会污染运行环境,不推荐这样做。-std=c++11是对C++11的支持, 当然这个也就是g++的编译参数,关于c++11我开了一个学院课程, 发布完后欢迎来学习C++11语言特性和标准库.variants是增加另外的任务,比如以下增加了运行任务, 在按ctrl+shift+b时会让你选择g++或者g++ - Run任务执行.
{
"cmd": ["E:/software/cygwin64/bin/g++.exe","-std=c++11", "${file}", "-o", "${file_path}/build/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"env":
{
"PATH": "E:/software/cygwin64/bin"
},
"variants":
[
{
"name": "Run",
"cmd": ["${file_path}/build/${file_base_name}"]
}
]
}
2.编辑好g++.sublime-build之后,我们需要在需要编译的.cpp文件目录新建一个build目录, 以便放编译输出. 如果需要放项目目录,那么可以把项目目录拖放到OPEN FILES窗口里。如果没有显示OPEN FILES窗口,可以通过菜单View->Side Bar->Show Open Files.

3.选择菜单Tools->Build System->g++, 会应用上我们设置好的编译配置. 首页打开test.cpp文件, 之后按ctrl+shift+b,选择弹出的g++,那么就会编译. 在以下的输出窗口会显示编译结果。

编译错误:

选择g++ - Run就会运行, 在以下的输出窗口会显示输出, 也可通过点击左下角的小窗口,选择Build Result重新显示输出窗口。

3.调试的只能进入gdb环境里,我在当前项目建了一个批处理:
cmd-gdb-debug.bat
cmd /K "set path=%path%;E:\software\cygwin64\bin; & gdb --version"
之后建一个批处理gdb-init-command.bat来进行加载断点配置文件和运行指定目录下的exe.当然这个批处理要在cmd-gdb-debug.bat打开的命令行里运行才可以。调试只能通过原始的输入gdb命令调试了。关于gdb调试可以看命令行使用gdb调试程序简单应用.
gdb --command=breakpoint.txt --args dist/Debug/app.exe
其他
1.为了方便开发,我添加了一些自定义快捷键。在菜单Preferences->Key Bindings,在右边的User配置项里添加以下的配置,特别好用的就是ctrl+shift+r可以在项目里跳转到指定的函数.alt+/自动完成.ctrl+d删除行.ctrl+shift+f重新缩进,简单版的格式化代码。
[
{ "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} },
{ "keys": ["ctrl+shift+r"], "command": "build", "args": {"variant": "Run"} },
{ "keys": ["ctrl+shift+f"], "command": "reindent"},
{ "keys": ["alt+/"], "command": "auto_complete" },
{ "keys": ["ctrl+shift+r"], "command": "goto_symbol_in_project" }
]
2.至于多个文件的项目编译,只能通过makefile来配置编译,关于makefile的配置,可以看 通用Makefile配置编译选项. 更完整的通过分析头文件是否更新来编译查看从netbeans里提取的通用构建C++项目的Makefile文件.
本文介绍如何在SublimeText3中配置C++开发环境,包括编译运行设置、头文件跳转和gdb调试。通过自定义快捷键和编译配置,提升C/C++开发效率。
3791

被折叠的 条评论
为什么被折叠?



