把sublime3打造成c++开发环境
安装sublime 3
- sudo add-apt-repository ppa:webupd8team/sublime-text-3
- sudo apt-get update
- sudo apt-get install sublime-text-installer
package control安装
ctrl + `(1旁边的波浪线)
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
插件安装
插件安装方法: ctrl + shift + p
sublime具体插件: https://packagecontrol.io/search
| 插件名称 | 简介 |
|---|---|
| Emmet | 前端开发神器 |
| sublimeLinter | 代码检测工具 |
| SideBarEnhancements | 侧边栏 |
| SyncedSideBar | 实时更新侧边栏的内容 |
| BracketHighlighter | 高亮 |
| SublimeCodeIntel | 代码自动补全 |
| Alignment | 代码自动对齐 |
| DocBlockr | 代码自动注释 |
| ConvertToUTF8 | 解决中文乱码问题 |
| All AutoComplete | 让代码自动完成的匹配从所有打开的文件里去匹配 |
| C++11 | 添加c++11语法支持 |
| C++ Completes | c++语法支持 |
| C++ Snippets | c++相关代码片段 |
| C++ NamespaceTool | 自动添加命名空间 |
| C++YouCompleteMe | c++语法 |
| Markdown Preview | mkd预览 |
| MarkdownEditing | mkd编辑 |
ubuntu配置SublimeClang
cd ~./config/sublime-text-3/Packages
git clone --recursive https://github.com/quarnster/SublimeClang SublimeClang
cd SublimeClang
git pull && git submodule foreach --recursive git pull origin master
// 拷贝libclang.so到internals文件夹
sudo apt-get install libclang-3.5
ldconfig -p | grep clang
cp /usr/lib/i386-linux-gnu/libclang-3.5.so ~/.config/sublime-text-3/Packages/SublimeClang/internals/libclang.so
// 手动编译出libcache.so
cd src
mkdir build
cd build
cmake ..
make
重启sublime即可
配置sublimeClang: perference -> package setting ->sublimeClang ->setting user
{
"show_output_panel": false,
"dont_prepend_clang_includes": false,
"inhibit_sublime_completions": false,
"options":
[
"-std=c++11",
"-isystem", "/usr/include",
"-isystem", "/usr/include/c++/*",
"-isystem", "/usr/include/c++/4.8",
"-isystem", "/usr/include/c++/4.8/*",
"-isystem", "/usr/include/boost",
"-isystem", "/usr/include/boost/**",
"-isystem", "/usr/lib/gcc/x86_64-linux-gnu/4.8/include",
"-isystem", "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/*"
]
}
根据自己的实际的库安装的位置进行配置
Cscope配置(代码调用查看)
- sudo apt-get install cscope
- perference -> package control -> install package -> cscope
- perference -> package settings -> CscopeSublime ->setting user
- 右键点击工程->选择Cscope: rebuild database

我的配置
{
// All options in here can also be specified in your user settings
// with the prefix "CscopeSublime_".
// For example if you have
//
// {
// "CscopeSublime_display_outline": false
// }
//
// in your user settings, this will override the settings specified
// in this file.
// Whether or not to draw an outline around the matched symbol in the lookup results
"display_outline": true,
// Whether to prompt the user to edit/confirm the symbol before searching
"prompt_before_searching": true,
// The "cscope" program executable name. If needed, you can change this
// in your user settings to be the full path to the cscope executable.
// If you leave this as the default (just "cscope"), then your system
// $PATH (or %PATH% for Windows users) will be searched.
//
// Linux and OS X example: "executable": "/usr/bin/cscope"
// Windows example: "executable": "C:\\cscope\\cscope.exe"
"executable": "cscope",
// A location for the cscope database - this will be used in preference to any 'found' database
"database_location": "/home/hhf/workspace/cscope.out"
}
Ctags
- 下载ctags: http://ctags.sourceforge.net/
- perference -> package control -> install package -> ctags
- 右键点击工程->选择ctags: rebuild tags
导入工程
- Project -> Add Floder to Project -> 选择你的工程
- Project -> Save project as -> 找个地方存你的工程文件
- Edit Project 写入自己的配置文件
我的配置
{
"folders":
[
{
"follow_symlinks": true,
"path": "/home/hhf/workspace/firmware/main"
}
],
"settings":
{
"sublimeclang_options":
[
"-I/home/hhf/workspace/firmware/main",
"-I/home/hhf/workspace/firmware/main/include",
"-I/home/hhf/workspace/firmware/main/json",
"-I/home/hhf/workspace/firmware/main/main",
"-I/home/hhf/workspace/firmware/main/util",
"-I/home/hhf/workspace/firmware/main/speech",
"-I/home/hhf/workspace/firmware/main/main/Skills",
]
}
}
这个要根据自己工程的实际路径进行配置, 不然就找不到相关的头文件路径
适配eclipse的快捷键
[
/**
* 适配eclipse快捷键
*
* 下面这位仁兄早就有了这个想法
* Eclipse shortcuts for Sublime Text 2
* http://icoloma.blogspot.com/2011/10/eclipse-shortcuts-for-sublime-text-2.html
*/
{ "keys": ["alt+."], "command": "auto_complete" },
{ "keys": ["ctrl+i"], "command": "reindent" },
// 当前行和下面一行交互位置
{ "keys": ["alt+up"], "command": "swap_line_up" },
{ "keys": ["alt+down"], "command": "swap_line_down" },
// 删除整行
{ "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} },
// 光标移动到指定行
{ "keys": ["ctrl+l"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} },
// 快速定位到选中的文字
{ "keys": ["ctrl+k"], "command": "find_under_expand_skip" },
// { "keys": ["ctrl+shift+x"], "command": "swap_case" },
{ "keys": ["ctrl+shift+x"], "command": "upper_case" },
{ "keys": ["ctrl+shift+y"], "command": "lower_case" },
// 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置, 不一定是最后)
{ "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "Packages/Default/Add Line.sublime-macro"} },
// 当前文件中的关键字(方便快速查找内容)
{ "keys": ["ctrl+alt+o"], "command": "show_overlay", "args": {"overlay": "goto", "text": "#"} },
// 文件内查找/替换
{ "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "replace"} },
// 全局查找/替换, 在查询结果中双击跳转到匹配位置
{"keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "find_in_files"} },
]
sublime 本身的一些快捷键
| 快捷键 | 作用 |
|---|---|
| ctrl + p | 快速打开文件 |
| ctrl + r | 本文件中函数列表 |
| ctrl + shift + p | 快速打开安装包 |
把sublime3打造成c++开发环境的更多相关文章
- sublime3 配置go的开发环境
配置go的环境变量:https://studygolang.com/articles/4910 配置sublime:https://studygolang.com/articles/4938
- CentOS6.5配置python开发环境之一:CentOS图形化界面显示
这两天在配置centos系统下python的开发环境和工具. 刚用centos,做做记录可以方便以后有需要的人...查资料确实挺麻烦的 centos6.5 sublime3 python27 subl ...
- 在win10系统环境下,安装配置sublime 3,构建python和vue.js开发环境(插件)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_131 疫情当下,最近一直在用mac下的虚拟机运行win10系统,由于在线人数过多,直播授课的时候使用vscode的时候内存暴涨,于 ...
- Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境
一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...
- 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)
通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
- Linux安装LAMP开发环境及配置文件管理
Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...
- Angular企业级开发(2)-搭建Angular开发环境
1.集成开发环境 个人或团队开发AngularJS项目时,有很多JavaScript编辑器可以选择.使用优秀的集成开发环境(Integrated Development Environment)能节省 ...
随机推荐
- [转]Unity3D学习笔记(四)天空、光晕和迷雾
原文地址:http://bbs.9ria.com/thread-186942-1-1.html 作者:江湖风云 六年前第一次接触<魔兽世界>的时候,被其绚丽的画面所折服,一个叫做贫瘠之地的 ...
- 【转】 Pro Android学习笔记(三七):Fragment(2):基础小例子
目录(?)[-] 小例子运行效果 Pre-step一点准备 Step 1Activity的布局 小例子运行效果 这是一个书名和书简介的例子.运行如下图.Activity由左右两个Fragment组成, ...
- nginx与apache 限制ip连接数和带宽方法
今天有个人问我,nginx怎么限制ip连接数,突然想不起来了,年龄大了,脑子不怎么好使了.还要看一下配置才想起了.那个人又问我,你测试过的吗?一下子把我问蒙了,我真没测试过了,也不知道启作用了没有. ...
- 人物-IT-雷军:雷军
ylbtech-人物-IT-雷军:雷军 雷军 (全国工商联副主席,小米科技创始人.董事长) 雷军,1969年12月16日出生于湖北仙桃,毕业于武汉大学,是中国大陆著名天使投资人. 雷军作为中国互联网 ...
- js浮点数运算出现误差解决方案
1.数据展示类(使用 toPrecision 凑整并 parseFloat 转成数字后再显示) parseFloat(1.4000000000000001.toPrecision(12)) === 1 ...
- SQL查询语句大全集锦
SQL查询语句大全集锦 一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询t ...
- CentOS 6.6 Oracle 安装
阿里云服务器上要装Oracle,搞了半天才搞定. 项目阿里云用的是CentOS 6.5 X86_64 ,我本地虚拟机装的是CentOS 6.6 X86_64.不过用 cat /proc/version ...
- pig语法学习 FOREACH GENERATE group AS
深入浅出,转一个 转载必须注明出处:http://www.codelast.com/ 转载地址 本文可以让刚接触pig的人对一些基础概念有个初步的了解. 本文大概是互联网上第一篇公开发表的且涵盖大量实 ...
- xgene:肿瘤相关基因 KRAS,,BRAF,,通路PI3K-AKT
KRAS基因 一个是KRAS1,位于chr6 短臂上,是一个“假基因”,它不能被转录成RNA,故没有功能的 另一个是KRAS2,位于chr12 短臂上..是“真基因”,是能够转录.并且翻译成蛋白的,是 ...
- 什么是消息循环,一个简单的win32程序如何运行?
预备知识 1.什么是句柄? (HANDLE) 在win32编程中有各种句柄,那么什么是句柄呢? #define DECLARE_HANDLE(name) struct name##_ { int un ...