您的位置:首页 > 编程语言 > C语言/C++

[Sublime Text 3]_[配置C/C++开发编译运行环境]

2020-05-10 04:09 1451 查看

场景

1.

Sublime Text 3
作为老牌的编辑器性能和稳定性还是很不错的. 它一般只启动了单进程, 不像
vscode
那样启动一个简单的项目全部进程加起来基本上都要
300M
的内存使用量. 如果只是想快速轻便验证
C++
程序,它还是比
vscode
方便和快速的.

2.

Sublime Text 3
需要购买注册, 但是也可以不注册,不注册它就是偶尔会弹出窗口提醒你注册,关掉可以继续使用.

安装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文件.

参考

Build Systems

infoworld 博客专家 原创文章 347获赞 126访问量 120万+ 关注 他的留言板
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: