这就是 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 依赖的智能提示,确认下是否生效。