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配置体验的更多相关文章
- sublime text build system automatic ctrl/cmd+B自动选择 python2 或 python3
背景 我同时安装了 python2 和 python3 时,python 指向 python2,python3 才是 python3 默认情况下,在 Sublime 内 Ctrl/Cmd + B 运行 ...
- Sublime Text Build System——编译运行Java
今天Google如何在ST中编译运行Java的时候,无意中发现了一个更好的方法. 其实,在ST中是可以编译Java的,但是运行不了,因为没有配置运行命令.那么一般的配置方法都是如下的: http:// ...
- 在Sublime Text 3中配置Python3的开发环境/Build System
本文来源:https://www.cnblogs.com/zhangqinwei/p/6886600.html Sublime Text作为一款支持多种编程语言的文本编辑神器,深受广大开发者的喜爱.通 ...
- sublime text 配置 builder [build system]
有时候需要用运行一段 PHP 代码,比如测试某个函数返回值等等,如果启动 Http Server,再打开浏览器,那黄花菜都凉了.我们可以在 Sublime Text 3 中创建 PHP 的 build ...
- lua语言入门之Sublime Text设置lua的Build System
转自: http://blog.csdn.net/wangbin_jxust/article/details/8911956 最近开始学习LUA语言,使用Sublime Text作为编辑器,不得不说, ...
- Sublime Text增加Build system类型,打造一个全能IDE
Sublime text2是一款非常方便的文本编辑器,现在我基本上不用IDE去编写代码,一般都是在Sublime text2中编辑,当然,这里无法执行.debug是软肋,于是上网找了下资料,可以把添加 ...
- Sublime Text 2 新建C++ build system
首先要有个MinGW(我这里借用ceemple的编译器 ,mingw32) 设置环境变量 右击我的电脑,点属性->高级->环境变量. 在系统环境变量在PATH里加入D:\Ceemple\m ...
- Android开发之深入理解Android Studio构建文件build.gradle配置
摘要: 每周一次,深入学习Android教程,TeachCourse今天带来的一篇关于Android Studio构建文件build.gradle的相关配置,重点学习几个方面的内容:1.applica ...
- sublime text 3中配置golang开发环境
1:首先下载 Go源码 https://golang.org/dl/ [根据不同的环境选择] 2:新建文件项目文件夹 存放 D:/Go_project 分别建立 bin src pkg 子 ...
随机推荐
- call_grant_dml.sql
set echo offpromptprompt =========================================================================== ...
- linux ubuntu下如何安装并且切换java版本(Unsupported major.minor version 52.0)
最近在做一个dcos(数据中心操作系统)的东西,需要用marathon来做进程管理.遗憾的是0.6版本的marathon在API方面很是缺少,换成了0.15版本之后,运行时提示“Unsupported ...
- Listview多条目展示
//---------------主要是适配器里面------------------------------------- package com.bwie.test.adapter;import ...
- Dom+2016/4/20
元素.parentNode父节点 offsetParent
- 在MFC对话框中添加状态栏
如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图). 1. 首先,打开在资源视图的String Table并添加两个ID: ...
- 未能加载文件或程序集 Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0 解决 亲测
项目打开winform程序做的某些窗体时报错: ************* 异常文本 ************** System.Reflection.TargetInvocationExceptio ...
- 一个opencv 博客 大量文章(老版本编写C )
http://blog.csdn.net/Augusdi/article/category/747412
- Servlet程序开发-- 取得其他内置对象
servlet本身提供的只有request和response对象,如果要取得session对象,只能依靠request对象,因为session属于HTTP协议范畴,而且在每次发送请求的时候,服务器都会 ...
- vm选项大全
http://hllvm.group.iteye.com/group/topic/27945 java -XX:后边的总记不住 vm选项大全 http://www.oracle.com/technet ...
- 转 android学习—— context 和 getApplicationContext()
在android中常常会遇到与context有关的内容 浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder( ...