作者: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:

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

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

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

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

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

Cygwin:

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

  1. Path 设置:为了在 cmd 命令下可以用到 linux 上常用的 grep,find 等命令,在环境变量 path 中加入 C:\cygwin64\bin

Jce 依赖文件:

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

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

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

  1. 阶段性同步:第一次全量同步后,后续只需要在开发需要的过程中空闲的时间偶尔同步就 ok 了。

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

CLion 配置:

  1. 复制 config.zip 文件到:

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

  2. 删除原来的 config 目录

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

这个配置的作用是集成了:浏览器 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

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

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

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

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

Cmake:

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

  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 获得。

推荐阅读:

这才是真正的Git——Git内部原理揭秘!

把你的 VS Code 打造成 C++ 开发利器

浅谈微视推荐系统中的特征工程

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

  1. C/C++ 开发神器 CLion 使用入门

    关注微信公众号"虾米聊吧",每天分享知识干货,和博主一起打卡,进步~ CLion是Jetbrains公司旗下新推出的一款专为开发C/C++所设计的跨平台IDE,它是以Intelli ...

  2. Clion从入门到精通

    文章目录 前言 一 Clion从入门到精通 1.1 Clion学习资源: 1.2 clion的配置文件 1.3 好用的插件 1.4 设置clion的编译路径 1.5 添加clion的环境变量 1.6 ...

  3. visual studio 2015 搭建python开发环境,python入门到精通[三]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...

  4. 《网站设计 开发 维护 推广 从入门到精通》—— 1.6 网站建设的一般流程

    本节书摘来异步社区<网站设计 开发 维护 推广 从入门到精通>一书中的第1章,第1.6节,作者:何新起 ,娄彦杰,更多章节内容可以访问云栖社区"异步社区"公众号查看. ...

  5. 《网站设计 开发 维护 推广 从入门到精通》——1.6 网站建设的一般流程

    本节书摘来自异步社区<网站设计 开发 维护 推广 从入门到精通>一书中的第1章,第1.6节,作者: 何新起 , 娄彦杰 更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  6. 《网站设计 开发 维护 推广 从入门到精通》——2.3 页面设计创意思维

    本节书摘来自异步社区<网站设计 开发 维护 推广 从入门到精通>一书中的第2章,第2.3节,作者: 何新起 , 娄彦杰 更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  7. 《网站设计 开发 维护 推广 从入门到精通》—— 2.3 页面设计创意思维

    本节书摘来异步社区<网站设计 开发 维护 推广 从入门到精通>一书中的第2章,第2.3节,作者:何新起 ,娄彦杰,更多章节内容可以访问云栖社区"异步社区"公众号查看. ...

  8. IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应

    (转)IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应 IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油 ...

  9. PROE4.0二次开发基视频教程从入门到精通教程

    PROE4.0二次开发基视频教程从入门到精通教程 链接:https://pan.baidu.com/s/19UVFQz351Qa4tpWfPw3jRg 提取码:x7g8

最新文章

  1. 在linux上安装Filezilla文件传输FTP软件
  2. Kafka设计解析(五):Kafka Benchmark--转
  3. 华为擎云w510_苹果 iPhone 12 全家桶谍照曝光;华为台式机擎云W510现身官网
  4. HDU1846 - Brave Game【巴什博弈】
  5. 数据结构与算法 - 稀疏数组(理解+代码实现案例)
  6. 在switch语句中使用字符串以及实现原理
  7. android service 构造函数,Android IntentService无法实例化类;没有空构造函数
  8. [原创]聊聊如何在职场中发邮件
  9. webworker应用场景_初始WebWorker
  10. Java区间拆分子集求和,对列表中的数字子集求和
  11. 返回零长度的数组或者集合,而不是null
  12. python数据分析之(7)简单绘图pylab
  13. Ubuntu14.04创建WiFi热点
  14. 极限学习机的一篇小综述
  15. uniapp H5端实现PC端适配
  16. Markdown 写文档做笔记的利器
  17. python plot画柱状图_Matplotlib绘制柱状图
  18. oracle写一本日历
  19. 排序模型(learning to rank)发展史(偏推荐系统
  20. 计算机考研总共多少分,考研计算机要过多少分

热门文章

  1. 中国移动2016年Web应用防火墙集采:绿盟、深信服中标
  2. Alpha版会议总结
  3. web.xml加载顺序
  4. CodeForces - 1539F Strange Array(线段树区间合并)
  5. CodeForces - 1285D Dr. Evil Underscores(记忆化搜索+字典树)
  6. 华为杯数学建模优秀论文_数学建模经典例题(2011年国赛A题与优秀论文)
  7. 在阿里云服务器上安装docker
  8. cocos2d-x游戏实例(11)-触屏主角移动轨迹
  9. Android 图形系统
  10. Spectre CPU漏洞借着BPF春风卷土重来