clion:一些相见恨晚的技巧
在使用clion后,逐渐被它迷住了!虽然目前只能使用远程模式,但它的代码搜索、项目索引、远程同步等速度在所用的ide中都是最快的(eclipse,source insight,vs code)。
下面我们来盘盘它的使用技巧。
1. 最常用的技巧:全局搜索。
按住shift 二次即可。同时,也可以使用正则表达式:
使用 * 和 空格键:
- 表示任意数量的任意字符。
- 空格 表明模式结束。前面的字符串不仅被视为前缀,也视为整个模式。
2. 按照文件目录模糊搜索
可以按 ⇧⌘O 并键入所包含的目录和文件名的几个字符,跳转到位于深度嵌套目录中的文件。使用斜杠或反斜杠作为分隔符。
3. 重构
使用Change Signature ⌘F6可以快速重构函数,如增加、删除、调整函数参数列表、返回值、改名等。相应的定义、调用、子类重写等都会被修改(与source insight 的smart rename有点像)
3. 项目文件修改历史
使用 ⌥⇧C 快速查看最近对项目进行的变更。
4. 快速注释
敲入 /**, /*!, /// or //! 后,按下回车 ⏎
如下面的情况时对函数快速注释:
5. 排除项目文件
在加入某个目录下的所有文件后,如发现有些文件,虽然是项目文件,但因编译依赖,或者不希望编辑代码时,看到此文件、或者索引到此文件,可以排除项目中的任何文件。
在 项目 工具窗口中,右键点击要排除的文件,然后从上下文菜单中选择 标记为纯文本 。必要时总是可以通过使用 标记为<文件类型> 选项将文件还原为其原始类型。
6. 调用函数/方法实参快速添加、修改
通常在写、修改函数参数时候,需要知道有哪些参数、或者其列表,一般需要通过跳转的方式,或者打开一个定义子窗口,以对应编写参数,而clion可以通过 ⌘P 快速弹出参数列表,并可以在参数列表中移动(类似ms):
7. 装bi神器:不同文件着色不同
在 Appearance & Behavior | File Colors 中设置不同文件类型颜色,在项目等窗口,会根据设置,显示相应的颜色:
8. 提取函数、定义
实际编码过程中,需要将一段代码提取,重写为一个新的函数,或者将一部分代码重新定义为一个新的类型。在clion中,可以快速达到此目的。
选中代码,按⌥⌘M (Refactor | Extract | Method ) ,可以快速将一段代码提取为函数,clion会根据上下文,提取差异项作为函数参数、返回值,并试图给新函数命名:
选中代码,按⌥⌘M (Refactor | Extract | Method ) ,可以快速将一段代码提取为typedef(Define同理),clion会根据上下文,提取新的类型:
9. 函数前后添加 分割符
在Settings/Preferences | Editor | General | Appearance 中选择 Show method separators 复选框即可。
10. 快速预览
需按 ⌥Space(视图 | 快速定义 ),预览该符号的定义或内容
11. 文件内容水平滚动
要水平滚动文件,请在按住 Shift 的同时转动鼠标滚轮。
12. 草稿文件
草稿文件是一种临时性的文件,有了这种文件,不必创建任何项目文件,即可在编辑器中进行实验和制作原型。
要创建草稿文件,按 ⇧⌘N ,然后选择要使用的语言。
13. 将成员移动到子类、父类
使用菜单 Refactor | Pull Members Up / Down 即可完成:
或者使用refactor | Extract | Subclass/ Refactor | Extract | Superclass refactorings.
14. 高亮显示变量、字符串
按 ⇧⌘F7(编辑 | 查找用法 | 高亮显示文件中的用法) 可快速高亮显示当前文件中某个变量的用法。
按 ⌘G 和 ⇧⌘G 浏览高亮显示的用法。
按 ⎋ 或 esc移除高亮显示。
15. 显示用法
可以查看整个项目中的类、方法或变量的所有用法的列表,并快速导航至所选项。将文本光标放在符号处,然后按 ⌥⌘F7(编辑 | 查找用法 | 显示用法)。
要跳转到某个用法,请从列表中选择该用法,然后按 ⏎。
16. 在项目中移动文件、目录、类、定义等
在项目窗口、编辑器、文件结构窗口选择要移动的元素,按下 F6 (Refactor | Move ).
17. 最近更改的代码段列表
按 ⇧⌘E 获取最近查看或更改的代码段的列表。
18. 关闭其他选项卡
要关闭编辑器中除当前选项卡外的所有选项卡,请按住 Alt (在 Windows 和 Linux 中)/ ⌥ (在 macOS 中),然后点击当前编辑器选项卡的“×”。
19. 快速搜索
按 ⌥F7 可快速定位所有引用文本光标处符号的代码,无论该符号是类、方法、字段、参数的一部分还是其他语句的一部分,它都能找到。
20. 将函数内部变量添加到参数
⌥⌘P (Refactor | Extract | Parameter )
21. 快速访问多项操作
按两下 Ctrl 可快速访问多项操作,例如打开项目、启动运行/调试配置、运行命令行实用工具等。
22. 生成定义
⇧⌘D (Code | Generate Definitions ).
23. 最近的操作
最近打开的文件(⌘E(视图 | 最近的文件) )
调出最近执行的用法搜索的结果:编辑 | 查找 | 最近的查找用法 ,或从 查找 工具窗口的上下文菜单中选择 最近的查找用法:
24. 调试:不中断程序运行,记住:运行至某行代码的某个变量的值:
如果要在调试期间记录程序状态,请使用非挂起的断点。选择要记录的表达式,按住 Shift ,然后点击应记录的表达式所在行中的间距。下面的例子,到达第 24 行时将记录 sent.size()。
25.以函数为单位跳转
按下 ⌃⇧↑ 或者 ⌃⇧↓ 以快速在函数中跳转。
26.快速复制整行
不用选中,请按 ⌘C 将文本光标处的整行复制到剪贴板。
27.重命名(类似于source insight smart rename)
将文本光标放置在要重命名的符号处,然后按 ⇧F6(重构 | 重命名 )。键入新名称,然后按 ⏎。
28.快速打开文件并定位到行号
请按 ⇧⌘O(导航 | 文件 ),开始键入文件名,从建议列表中选择,然后键入 : ,后面跟随行号。
29. 修改以将行首注释,移至代码开始处。
修改后,注释的效果如下:
30. 多行文件标签
30. 目录、代码变化
31. 查看类继承关系
Navigate -> Type Hierarchy(导航->类型层次结构)、
32 抽取重复的值为常量
如将下面的重复值123 抽取出来,为常量i
抽取后:
32 将局部变量提取为函数的参数
如将下面的重复值e1 抽取出来,为函数型参:
抽取后:
clion:一些相见恨晚的技巧相关推荐
- Python中相见恨晚的技巧(记得收藏)
话不多说,直接开干,攒了很久! 1. 交换变量值 这个应该比较简单,但是日常用很容易忽略. a, b = 5``, 10 print``(a, b) /``/``5``, 10 a, b = b, a ...
- excel 两组数据交点_让科研人相见恨晚的技巧,用Excel做柱状图、箱型图及数据分析!(转载自ZSCI)...
来源:ZSCI 让科研人相见恨晚的技巧,用Excel做柱状图.箱型图及数据分析! 面对大量的实验数据,却不知道如何快速的将自己想要的结果筛选出来.筛选后也只能做简单的数据图,绘制高级的图形又成了一个难 ...
- idea代码补全_IDEA中有哪些让你相见恨晚的技巧?
文章来源:https://www.cnblogs.com/nedulee/p/12389096.html 原文作者:Java后端进阶指南 本期让我们来盘点一下,idea中有哪些在提高开发效率上相见恨晚 ...
- Python中相见恨晚的技巧
话不多说,直接开干,攒了很久! 1. 交换变量值 这个应该比较简单,但是日常用很容易忽略. a, b = 5, 10 print(a, b) //5, 10 a, b = b, a print(a, ...
- pycharm goland clion 常用快捷键 使用技巧
常用快捷键 Ctrl + Enter:在下方新建行但不移动光标: Shift + Enter:在下方新建行并移到新行行首: Ctrl + /:注释(取消注释)选择的行: Ctrl + Alt + L: ...
- 让人相见恨晚的iPhone技巧 你学废了吗
很多朋友都喜欢用苹果手机,系统流畅不卡顿,使用起来非常舒服. 下面就给大家分享12个让人相见恨晚的技巧,你未必全知道. 01.快速切换连接 打开iPhone控制中心,长按无线局域网和蓝牙图标,可以快速 ...
- Clion从入门到精通
文章目录 前言 一 Clion从入门到精通 1.1 Clion学习资源: 1.2 clion的配置文件 1.3 好用的插件 1.4 设置clion的编译路径 1.5 添加clion的环境变量 1.6 ...
- 按home键退出的activity可以不进入stop模式码_用了几年的iPhone,竟然不知道苹果手机还有“游戏模式”?...
我们都知道安卓手机都有"游戏模式"这个功能,可以将所有来电来变成通知悬浮状态,这样人性化的设计着实让iPhone用户有些羡慕.但是很多人都不知道其实苹果手机也有防来电的" ...
- 不可不知的分组分析法
本篇内容为数据分析入门方法的第二篇,第一篇对比分析传送门在这里. 分组分析是将总体数据按照某一特征性质划分成不同的部分和类型进行研究,从而深入分析其内在规律. 一.为什么要分组? 对于大量的数据,如果 ...
最新文章
- PHP中session_register函数详解用法
- linux基于此语言的密码,一次有趣的Linux下.Net Core与C语言的合作开发体验:生成Linux标准的用户密码串...
- SAP Spartacus使用cxComponentWrapper测试MiniCart
- python不同目录调用_python3 不同目录间模块调用
- 聊聊如何提升推荐系统的结果多样性
- rf框架的缺点_2017热门开源自动化测试框架优缺点对比
- 解析Tensorflow官方PTB模型的demo
- Linux实战 | 搭建Linux(CentOS6.8版)_1
- python menu实例_python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例...
- Bailian2936 试剂配制【标记+逻辑】
- LaTeX常用符号与语法
- Windows 运行jar包
- java构造函数注释_@Autowired的使用:推荐对构造函数进行注释
- RecyclerView的 overScrollMode,scrollbars属性含义
- 中国互联网发展报告2018年度总结
- 【探索HTML5第二弹03】走近地图应用的世界,看我们google地图可以看些什么!
- 腾讯在汉投资10亿 建设华中地区最大研发中心
- hdu4489(递推)
- I2C详解(3) I2C总线的规范以及用户手册(2) I2C其他的总线协议以及总线速度
- QCA7000/QCA7005基于全志V3S Linux系统驱动移植