现代化 C++ 开发工具 CLion 从入门到精通
作者:allsochen ,腾讯 PCG 后台开发工程师
这就是 CLion
几年前写过一篇 eclipse C++ 的文章、现在还提 eclipse 的话人民群众会仇恨我,我的朋友和家人也会嘲笑我,唾弃我。因为 JetBrains 家的系列产品 CLion 体验耍 eclipse 好几条街。引用知乎网友对 CLion 和 vim/emacs 的形象比喻,如图所示:
从图中可以看出 CLion 的定位是一个完整的现代化 C++工具,包含很多实用的功能,而 vim 则是轻巧锋利,如果你在 CLion 上用 Vim,那就是拿着刀的机器人。这能量你懂的。
起飞前的前奏
根据上次给大家讲解腾讯特有的 windows 开发模式,如下图所示:
Windows 上的环境需要准备炼丹炉:clion 安装、cygwin、jce release 的文件、taf 源码。
以上所有涉及到的软件都在 30 的开发机上:
/data/home/allsochen/software/clion。
通过 samba 可以直接看到对应的文件。大家可以直接去取,单不用展示出你的剪刀手。不要直接在 samba 上点击安装,samba 的性能令人堪忧。
Clion:
安装:直接点击下一步,下一步安装,安装完成
授权:第一次打开提示授权、支持大家购买正版、有 edu 的 email 可以申请免费试用。其他办法你们懂的。
启动参数:由于 clion 是 java 开发的,相对比较耗内存,建议设置最大内存为 4086M,具体的设置在:
C:\Program Files\JetBrains\CLion 2018.1.5\bin 目录下:
的 clion64.exe.vmoptions 文件,把第三行-Xmx2000m 改为-Xmx4086m,同时打开的项目比较多的同学建议再设置大一些,毕竟我们的开发机有 16G,任性。
Cygwin:
安装:拷贝 cygwin64.zip 到 c 盘解压,解压完的目录如下:
Path 设置:为了在 cmd 命令下可以用到 linux 上常用的 grep,find 等命令,在环境变量 path 中加入 C:\cygwin64\bin
Jce 依赖文件:
安装 winscp,通过 winscp 软件把 30 开发机上的/home/tafjce 目录同步到 D:/Codes/tafjce 下
设置同步配置,请认真看清楚这里的选项,否则误删除开发机上的 release 文件,可能你今年年终奖就 gg 了。是把远程的目录同步到本地目录,方向/目标目录:本地
设置传输设置:只同步*.h/*.cpp/*.mk/*.jce 文件、排除.svn 目录
阶段性同步:第一次全量同步后,后续只需要在开发需要的过程中空闲的时间偶尔同步就 ok 了。
字体:推荐 kotlin 之父,JetBrains 公司 CEO 推荐的字体 Lucida Sans Typewriter
CLion 配置:
复制 config.zip 文件到:
C:\Users\yourname\.CLion2018.1 下
删除原来的 config 目录
解压 config.zip,解压的目录如下
这个配置的作用是集成了:浏览器 C++开发手册的编程规约、jce
editor、m2cmake 等一系列开源的插件和我实现的插件。
Vim 配置:
如果你想把机器人和武士刀合体,尝试下合体后的新力量。
拷贝.ideavimrc 文件到 C:\Users\yourname 的根目录
Taf 支持:
1)拷贝 taf.zip 文件到 D:\Codes\C++目录下解压
起飞
打开 clion,这时候会提示我的一些无效的工程,直接删除就可以了。然后可以通过 svn、git 或者本地文件引入一个 C++服务,这里切忌不要引入一个具有多个服务的目录,一个项目一个服务。打开一个服务项目后:
自动部署:
把本地的服务目录文件自动同步到目标开发编译的 samba 目录
配置目标同步目录:Files->Settings->Other Settings->Quickly Sync
Deployment
配置需要同步到自己的开发编译目录,请把 allsochen 改成你的名称
2)通过菜单 Tools->Quickly Sync Deployment 进行快速同步部署
3)确认部署:Tools->Deployment->Configuration->OK
一定要执行这一步,第二部的插件有 bug,第一次配置会导致不生效,还没有空改插件。
Cmake:
通过 m2cmake 插件把 taf 的 makefile 相关文件生成 CMakeList.txt 文件。选中项目跟目录,右键菜单《Transfer
TAF makefile to cmake…》
构建项目:选中项目跟目录,右键菜单点击《Reload Cmake
Project》,也可以通过快捷键 Alt+K,Alt+M 进行构建
构建完成后,尝试下 taf 框架的智能提示和 jce 依赖的智能提示,确认下是否生效。
神秘的力量
Live Tempalte
Live
Tempalte 是模板代码的抽象,可以快速生成带有变量的代码模板。比如在打开的 cpp 编辑器中使用 forv,然后按下 tab 键,就会自动生成一个模板 for 循环一个 vector 的模板。从 File->Settings->Editor->Live
Tempaltes 中可以看到已经配置的模板
常用快捷键:Help->Keymap reference
JetBrains 的 CEO 说他们的开发工具是不需要用到鼠标的
这里列举几个常用的:
Shift+Ctrl+N:打开文件
Ctrl+E:打开最近的文件
Ctrl+Y:删除一行
Ctrl+F12:列举出文件的函数,可以输入字母匹配搜索
Ctrl+Q:变量、函数等的说明文档
Ctrl+W:扩展选择
Ctrl+Shift+N:最后编辑点
,,w:屏幕内光标定位 ,,s:再按需要搜索的字母:屏幕搜索字母
Shift+F6:重构命名
Alt+Shift+方向上、下:代码移动
Shift+Enter:以新窗口打开
更多的需要自己去搜索,只要你用到鼠标的地方,都有一个快捷键适合你。
Frame Switch 插件
在不同的项目中切换窗口,支持搜索匹配,快捷键 Alt+F2
M2cmake 插件
自动把 taf 的 makefile 生成 CMakeList.txt 文件
https://github.com/Allsochen/clion-m2cmake
QuicklySyncDeployment
自动把项目文件部署拷贝到开发机
https://github.com/Allsochen/clion-m2cmake
目前还有一点小 bug,欢迎有志之士一起维护
Jce Editor
Jce 文件格式化、跳转、语法提示等,格式化 Alt+Ctrl+L
目前还有一点小 bug,欢迎有志之士一起维护
StringStyle
提供各种字符串之间的转换,快捷键 Alt+M
https://github.com/Allsochen/StringStyle
本文 PPT 源文件可在后台回复:clion 获得。
推荐阅读:
这才是真正的Git——Git内部原理揭秘!
把你的 VS Code 打造成 C++ 开发利器
浅谈微视推荐系统中的特征工程
现代化 C++ 开发工具 CLion 从入门到精通相关推荐
- C/C++ 开发神器 CLion 使用入门
关注微信公众号"虾米聊吧",每天分享知识干货,和博主一起打卡,进步~ CLion是Jetbrains公司旗下新推出的一款专为开发C/C++所设计的跨平台IDE,它是以Intelli ...
- Clion从入门到精通
文章目录 前言 一 Clion从入门到精通 1.1 Clion学习资源: 1.2 clion的配置文件 1.3 好用的插件 1.4 设置clion的编译路径 1.5 添加clion的环境变量 1.6 ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- 《网站设计 开发 维护 推广 从入门到精通》—— 1.6 网站建设的一般流程
本节书摘来异步社区<网站设计 开发 维护 推广 从入门到精通>一书中的第1章,第1.6节,作者:何新起 ,娄彦杰,更多章节内容可以访问云栖社区"异步社区"公众号查看. ...
- 《网站设计 开发 维护 推广 从入门到精通》——1.6 网站建设的一般流程
本节书摘来自异步社区<网站设计 开发 维护 推广 从入门到精通>一书中的第1章,第1.6节,作者: 何新起 , 娄彦杰 更多章节内容可以访问云栖社区"异步社区"公众号查 ...
- 《网站设计 开发 维护 推广 从入门到精通》——2.3 页面设计创意思维
本节书摘来自异步社区<网站设计 开发 维护 推广 从入门到精通>一书中的第2章,第2.3节,作者: 何新起 , 娄彦杰 更多章节内容可以访问云栖社区"异步社区"公众号查 ...
- 《网站设计 开发 维护 推广 从入门到精通》—— 2.3 页面设计创意思维
本节书摘来异步社区<网站设计 开发 维护 推广 从入门到精通>一书中的第2章,第2.3节,作者:何新起 ,娄彦杰,更多章节内容可以访问云栖社区"异步社区"公众号查看. ...
- IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应
(转)IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应 IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油 ...
- PROE4.0二次开发基视频教程从入门到精通教程
PROE4.0二次开发基视频教程从入门到精通教程 链接:https://pan.baidu.com/s/19UVFQz351Qa4tpWfPw3jRg 提取码:x7g8
最新文章
- 在linux上安装Filezilla文件传输FTP软件
- Kafka设计解析(五):Kafka Benchmark--转
- 华为擎云w510_苹果 iPhone 12 全家桶谍照曝光;华为台式机擎云W510现身官网
- HDU1846 - Brave Game【巴什博弈】
- 数据结构与算法 - 稀疏数组(理解+代码实现案例)
- 在switch语句中使用字符串以及实现原理
- android service 构造函数,Android IntentService无法实例化类;没有空构造函数
- [原创]聊聊如何在职场中发邮件
- webworker应用场景_初始WebWorker
- Java区间拆分子集求和,对列表中的数字子集求和
- 返回零长度的数组或者集合,而不是null
- python数据分析之(7)简单绘图pylab
- Ubuntu14.04创建WiFi热点
- 极限学习机的一篇小综述
- uniapp H5端实现PC端适配
- Markdown 写文档做笔记的利器
- python plot画柱状图_Matplotlib绘制柱状图
- oracle写一本日历
- 排序模型(learning to rank)发展史(偏推荐系统
- 计算机考研总共多少分,考研计算机要过多少分
热门文章
- 中国移动2016年Web应用防火墙集采:绿盟、深信服中标
- Alpha版会议总结
- web.xml加载顺序
- CodeForces - 1539F Strange Array(线段树区间合并)
- CodeForces - 1285D Dr. Evil Underscores(记忆化搜索+字典树)
- 华为杯数学建模优秀论文_数学建模经典例题(2011年国赛A题与优秀论文)
- 在阿里云服务器上安装docker
- cocos2d-x游戏实例(11)-触屏主角移动轨迹
- Android 图形系统
- Spectre CPU漏洞借着BPF春风卷土重来