Sublime Text 3——C/C++环境配置

本文介绍了如何使用Sublime Text 3搭建C/C++开发环境,包括推荐的插件如CTags、SublimeGDB、C++ Completions和SublimeLinter-clang的安装与配置,以及新建C编译环境的方法。同时,文章还强调了在不同系统环境下需要注意的事项,如交互环境的配置和系统环境的区别。
摘要由CSDN通过智能技术生成

C/C++的开发环境有很多,但结合编辑器的操作性、通用性以及外观,Sublime是非常不错的选择,相比于VS,它体积小巧、运行速度快,相比于Dev-C++、Clang,它可定制性更强、功能更多,相比于Vim、Emacs,它配置起来更简单,而且跨平台,现在介绍如何用Sublime打造C/C++开发环境。


一个优秀的开发环境应该具备易于操作的编辑环境,全面的代码提示、检错功能,强大的调试功能,下面就从这几个方面介绍几款配置C/C++常用的插件,并说明几点注意事项。

1.常用插件

(1) CTags

用来在函数定义位置跳转,除了安装CTags插件还需要安装ctags程序,并添加系统环境路径。使用时先在程序所在文件夹下建立ctag标签,该目录下会生成.tags.tags_sorted_by_files索引文件,然后在想要跳转的函数位置右键选择Nevigate to Definition即可完成跳转,可以用快捷键配置如下。

{
	"command": "navigate_to_definition",
    "keys": ["f3"]
},
{
    "command": "jump_back",
    "keys": ["f2"]
},

(2) SublimeGDB

Sublime版的GDB,相当于Linux下gdb -tui指令,带基本的图形界面,下载后需要在setting中配置如下代码:(其中interpreter=mi指的是gdb的mechine interface指令,是供插件等软件调用的,而我们一般使用的gdb命令是commandline interface)

{
    "workingdir":"${folder:${file}}",
    "commandline":"g++ -g -std=c++11 ${file} -o ${file_base_name} && gdb --interpreter=mi --args ./${file_base_name}",
}

使用时在console中选择Start Debugging,快捷键F9可以设置断点,调试时F10相当于gdb的next,F11相当于gdb的step,以预览源码、变量,同时可供用户输入gdb命令,十分方便,但好像并不能显示输出比较蛋疼,实在需要看输出结果的直接在cmd中运行gdb吧。

(3) C++ Completions

Sublime自带了C代码的补全,但是对C++支持并不是很好,所以需要额外配置C++代码补全插件。

(4) SublimeLinter-clang

SublimeLinter是代码检错的利器,SublimeLinter-clang算是其中一个子集,使用这个插件还需要安装SublimeLinter插件以及LLVM环境并将clang.exe的路径添加至系统环境变量。默认情况下警告和报错都是用outline,如果想更改样式可以在SublimeLinter Settings - User中修改,下面附上笔者的配置:

// SublimeLinter Settings - User
{
   "styles": 
	[
        {
   
            "priority": 1,
            "mark_style": "squiggly_underline",
            "scope": "region.yellowish markup.changed.sublime_linter markup.warning.sublime_linter",
            "icon": "dot",
            "types": [
                "warning"
            ]
        },
        {

            "priority": 1,
            "mark_style": "outline",
            "scope": "region.redish markup.deleted.sublime_linter markup.error.sublime_linter",
            "icon": "dot",
            "types": [
                "error"
            ]
        },
    ],
    
     "lint_mode" : "background"
}

2. 新建C编译环境

Sublime自身没有编译C的环境,因此需要用户自己建立一个。方法是选择Tools->Build System->New Build System,输入以下代码(代码内容可以参考C++.sublime-package中的C++ Single File.sublime-build),然后为新建的编译环境取个名字如:C.sublime-build,新建的环境会放置在Packages->User中,而Sublime自带的配置环境在其安装路径下的Packages中,这一点要分清。需要编译C语言时,在Tools->Build System中选择刚建立的环境即可。

{
	 "cmd": ["gcc", "${file}", "-std=c99", "-o", "${file_path}/${file_base_name}", "&", "start", "cmd", "/c", "${file_base_name} & echo. & pause"],  
	 "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",  
	 "working_dir": "${file_path}",  
	 "selector": "source.c",  
	 "shell": true,  
	 "encoding":"cp936", 
}

3. 注意事项

(1) 交互环境

Sublime自身并不带与用户交互的接口,比如现在我写了一个需要用户输入数值的程序,这在Sublime中是无法完成的,你会发现在底端窗口输入了正确格式的数值回车后程序毫无反应。配置方法是修改原来的C++.sublime-package内容或者新建一个编译环境,下面分别进行介绍。

a) 修改 C++.sublime-package

在Sublime安装路径下的Packages文件中找到C++.sublime-package,将其改为.zip后缀后解压,将其中C++ Single File.sublime-build文件的内容改为以下内容后,还原成.sublime-package格式文件,这样选择Tools–>Build System–>C++ Single File后,就可以编译运行了,运行后会打开cmd供与用户交互。

{     
	"cmd":"g++ \"${file}\" -o \"${file_path}/${file_base_name}\"", 
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}", 
    "encoding":"cp936",
    "selector": "source.c, source.c++",     
    "variants":     
    [          
    	{              
	    	"name": "Run",             
	    	"cmd":  "cmd /c start ; cmd /k ; \"${file_path}/${file_base_name}\""                                         
        }        
    ] 
} 

有一点要注意,正常的windows下目录层次是反斜杠,但是${变量名}的目录层次是斜杠,如${file_path}/${file_base_name}

b) 新建C++编译环境

选择Tools–>Build System–>New Build System,然后输入和a)完全一致的代码,保存后在Tools–>Build System中选择刚刚自己新建的环境,即可编译运行。

(2) 系统环境区别

是跨系统的,但不代表其针对任何系统的配置文件都是相同的,在Linux下的配置文件复制到windows下就不一定可行,就比如"shell_cmd""cmd"命令,同样的内容在Linux下可以直接打开shell与用户进行交互,但是windows下必须自行添加配置打开cmd窗口才能实现交互功能,配置时要分清楚。毕竟Sublime是定制化非常强的软件,运行出错时莫急莫慌,细心排查,也不要一棵树吊死,条条大路通罗马,任何编辑器都不是万能的,要懂得扬长避短。


注:Sublime插件众多且多处于动态改进过程中,再结合个人喜好,C/C++环境配置方式有很多种,具体的插件配置方法还需仔细阅读源文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值