作者: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 获得。
推荐阅读: