sublime C++ build system配置体验

Posted xhyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sublime C++ build system配置体验相关的知识,希望对你有一定的参考价值。

近期准备实习,于是终于步入了sublime的阵营,sublime确实性感。

在配置win7下C++编译运行集成环境的时候遇到点问题,于是接触了一下JSON格式,最后终于自己搞定了。。

参考文档:http://sublime-text.readthedocs.org/en/latest/reference/build_systems.html

其实最终是在C++.sublime-build里写以下东西就好了(tools->build system->new build system)

{
    "path": "D:\\CodeBlocks\\MinGW\\bin",
    "cmd": "g++ $file -o $file_base_name.exe",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "$file_path",
    "selector": "source.c, source.c++",
    "shell": true,
    "variants":
    [
        {
           "name": "RUN",
           "cmd": "g++ $file -o $file_base_name.exe && start $file_base_name.exe"
        }
    ]
}

解释:

文件名:CPP.sublime-build意味着在sublime中按ctrl+shift+b的时候弹出来的编译选项的名字是CPP,理论上可以随便改啦

path:由于cmd执行程序(如g++)的时候默认会去环境变量中找,这个属性是直接来后面的路径去找,所以直接放进去g++.exe的所在目录就好

cmd:选择CPP后执行的命令(由系统执行,可以看成是在cmd中执行的效果),这里$后面被当做变量名解析

file_regex:正则式筛选cmd的debug信息回显

working_dir:这个挺舒服的,工作路径,如果填了F:\test就相当于cd F:\test这个意思,所以我们后面的文件名都相对路径就好了

selector:主要看后缀名,符合这些后缀名的文件将激活这个编译文档,这里把.c .cpp一块丢给g++就好

shell:是否弹出cmd窗口来运行程序,true的好处是可以输入参数

variants:这里面是CPP编译文档的副本,相当于备选编译选项,可以由多个备选,每个都用{}并列起来

name:编译选项的小名,如果写了RUN,按ctrl+shift+b的时候就会多出来一个CPP:RUN这样的编译选项;name只能在variants中写

cmd:此处的cmd可以覆盖外面的cmd;这里为了方便我把编译和运行写在同一句话了,如此按一下就和codeblocks里的F5(F9?不记得了...)一样爽,中间用&&连接

 

另外:

关于让程序的暂停问题,没找到像codeblocks那样自动停的好的方法,暂时只能system("PAUSE")或者getchar之类的了,(小程序嘛,不要在意system("PAUSE")耗多少资源这种事啦)

这样弄完了回到任意.cpp文件按ctrl+B,选RUN就可以编译+运行啦,如果有错Command Palette(Sublime下方的那个控制台一样的东西)里会显示一堆东西,按F4和shift+F4可以查看error,惊奇的发现可以直接跳到错误行,666

 

这两天学python,php,xss也各种小问题小心得,但是毕设时间紧迫。。(那你还刷剧打游戏!)没有记录下来~等成长一下再说吧~

goodbye

以上是关于sublime C++ build system配置体验的主要内容,如果未能解决你的问题,请参考以下文章

text 来自https://stackoverflow.com/questions/23730866/set-up-python-3-build-system-with-sublime-text-3

Sublime插件支持Sass编译和Babel解析ES6 & .sublime-build文件初探

Sublime插件支持Sass编译和Babel解析ES6 & .sublime-build文件初探(转载自imwtr)

Error: Your project contains C++ files but it is not using a supported native build system.Consider(

markdown Sublime Text 3 Build 3203/3200和Sublime Merge的破解指南 - Build 1111/1109(Linux x86_64) - 更新#4(2

sublime3 配置node build环境