vlambda博客
学习文章列表

现代化 C++ 开发工具 CLion 从入门到精通



这就是 CLion

几年前写过一篇 eclipse C++ 的文章、现在还提 eclipse 的话人民群众会仇恨我,我的朋友和家人也会嘲笑我,唾弃我。因为 JetBrains 家的系列产品 CLion 体验耍 eclipse 好几条街。引用知乎网友对 CLion 和 vim/emacs 的形象比喻,如图所示:

现代化 C++ 开发工具 CLion 从入门到精通

从图中可以看出 CLion 的定位是一个完整的现代化 C++工具,包含很多实用的功能,而 vim 则是轻巧锋利,如果你在 CLion 上用 Vim,那就是拿着刀的机器人。这能量你懂的。


起飞前的前奏

根据上次给大家讲解腾讯特有的 windows 开发模式,如下图所示:

现代化 C++ 开发工具 CLion 从入门到精通

Windows 上的环境需要准备炼丹炉:clion 安装、cygwin、jce release 的文件、taf 源码。

以上所有涉及到的软件都在 30 的开发机上:

/data/home/allsochen/software/clion。

通过 samba 可以直接看到对应的文件。大家可以直接去取,单不用展示出你的剪刀手。不要直接在 samba 上点击安装,samba 的性能令人堪忧。

Clion:

  1. 安装:直接点击下一步,下一步安装,安装完成

  2. 授权:第一次打开提示授权、支持大家购买正版、有 edu 的 email 可以申请免费试用。其他办法你们懂的。

  3. 启动参数:由于 clion 是 java 开发的,相对比较耗内存,建议设置最大内存为 4086M,具体的设置在:

    C:\Program Files\JetBrains\CLion 2018.1.5\bin 目录下:

    的 clion64.exe.vmoptions 文件,把第三行-Xmx2000m 改为-Xmx4086m,同时打开的项目比较多的同学建议再设置大一些,毕竟我们的开发机有 16G,任性。

现代化 C++ 开发工具 CLion 从入门到精通

Cygwin:

  1. 安装:拷贝 cygwin64.zip 到 c 盘解压,解压完的目录如下:

现代化 C++ 开发工具 CLion 从入门到精通
  1. Path 设置:为了在 cmd 命令下可以用到 linux 上常用的 grep,find 等命令,在环境变量 path 中加入 C:\cygwin64\bin

Jce 依赖文件:

  1. 安装 winscp,通过 winscp 软件把 30 开发机上的/home/tafjce 目录同步到 D:/Codes/tafjce 下

  2. 设置同步配置,请认真看清楚这里的选项,否则误删除开发机上的 release 文件,可能你今年年终奖就 gg 了。是把远程的目录同步到本地目录,方向/目标目录:本地

现代化 C++ 开发工具 CLion 从入门到精通


  1. 设置传输设置:只同步*.h/*.cpp/*.mk/*.jce 文件、排除.svn 目录

现代化 C++ 开发工具 CLion 从入门到精通
  1. 阶段性同步:第一次全量同步后,后续只需要在开发需要的过程中空闲的时间偶尔同步就 ok 了。

字体:推荐 kotlin 之父,JetBrains 公司 CEO 推荐的字体 Lucida Sans Typewriter

CLion 配置:

  1. 复制 config.zip 文件到:

    C:\Users\yourname\.CLion2018.1 下

  2. 删除原来的 config 目录

  3. 解压 config.zip,解压的目录如下

现代化 C++ 开发工具 CLion 从入门到精通

这个配置的作用是集成了:浏览器 C++开发手册的编程规约、jce
editor、m2cmake 等一系列开源的插件和我实现的插件。

Vim 配置:

  1. 如果你想把机器人和武士刀合体,尝试下合体后的新力量。

  2. 拷贝.ideavimrc 文件到 C:\Users\yourname 的根目录

Taf 支持:

1)拷贝 taf.zip 文件到 D:\Codes\C++目录下解压


起飞

打开 clion,这时候会提示我的一些无效的工程,直接删除就可以了。然后可以通过 svn、git 或者本地文件引入一个 C++服务,这里切忌不要引入一个具有多个服务的目录,一个项目一个服务。打开一个服务项目后:

自动部署:

把本地的服务目录文件自动同步到目标开发编译的 samba 目录

  1. 配置目标同步目录:Files->Settings->Other Settings->Quickly Sync
    Deployment

现代化 C++ 开发工具 CLion 从入门到精通

配置需要同步到自己的开发编译目录,请把 allsochen 改成你的名称

2)通过菜单 Tools->Quickly Sync Deployment 进行快速同步部署

3)确认部署:Tools->Deployment->Configuration->OK

一定要执行这一步,第二部的插件有 bug,第一次配置会导致不生效,还没有空改插件。

Cmake:

  1. 通过 m2cmake 插件把 taf 的 makefile 相关文件生成 CMakeList.txt 文件。选中项目跟目录,右键菜单《Transfer
    TAF makefile to cmake…》

现代化 C++ 开发工具 CLion 从入门到精通
  1. 构建项目:选中项目跟目录,右键菜单点击《Reload Cmake
    Project》,也可以通过快捷键 Alt+K,Alt+M 进行构建

构建完成后,尝试下 taf 框架的智能提示和 jce 依赖的智能提示,确认下是否生效。


神秘的力量

  1. Live Tempalte

Live
Tempalte 是模板代码的抽象,可以快速生成带有变量的代码模板。比如在打开的 cpp 编辑器中使用 forv,然后按下 tab 键,就会自动生成一个模板 for 循环一个 vector 的模板。从 File->Settings->Editor->Live
Tempaltes 中可以看到已经配置的模板

  1. 常用快捷键: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:以新窗口打开

更多的需要自己去搜索,只要你用到鼠标的地方,都有一个快捷键适合你。

  1. Frame Switch 插件

在不同的项目中切换窗口,支持搜索匹配,快捷键 Alt+F2

  1. M2cmake 插件

自动把 taf 的 makefile 生成 CMakeList.txt 文件

https://github.com/Allsochen/clion-m2cmake

  1. QuicklySyncDeployment

自动把项目文件部署拷贝到开发机

https://github.com/Allsochen/clion-m2cmake

目前还有一点小 bug,欢迎有志之士一起维护

  1. Jce Editor

Jce 文件格式化、跳转、语法提示等,格式化 Alt+Ctrl+L

目前还有一点小 bug,欢迎有志之士一起维护

  1. StringStyle

提供各种字符串之间的转换,快捷键 Alt+M

https://github.com/Allsochen/StringStyle


本文 PPT 源文件可在后台回复:clion 获得。



推荐阅读: