可能会有用的Clion技巧—— Mac篇

作者: 链球选手 | 来源:发表于2016-02-21 14:15 被阅读39728次

    本文已更新,点击访问

    最近学习 C++,首选的代码编辑器是 Sublime Text,这款轻便、颜值高、功能强大的编辑器相信是很多人敲代码的首选,同样 Sublime 也是我最喜爱的编辑器,但是编辑器不如 IDE 的一点可能就是调试功能了,其实在 Clion 之前 Mac 平台上难说有一款综合体验非常好的 C++ IDE,很多人都翘首以盼 Clion 的出世,毕竟 JetBrains 出品,必属精品。

    先提一句,JetBrains 家几乎所有的产品都支持 student license,一次授权时间为一年,到期需要重新验证 edu 邮箱,建议学生党们通过该方式激活,其他有能力的用户可以购买授权支持正版。

    • 快捷键配置

    Clion 的默认快捷键风格是 Visual Studio,由于 Mac 上一般用 ⌘ 代替 control,在 Setting—>Keymap 里修改成 Xcode 风格即可,Clion 默认提供8种风格,也支持用户 DIY。

    快捷键风格
    • 代码提示的匹配模式

    Clion 代码提示和补充的匹配有 All, None, First Letter 三种方式,All 需要关键词完全一致才会提示,First Letter 只有关键词第一个字母(区分大小写)或下标匹配时才会提示,而 None 则是匹配要求最为宽松的一种,不区分大小写、不要求首字匹配,我个人比较喜欢这种,懒人福音~~

    设置匹配模式
    • 智能提示

    官方给出的名字是 intention actions,这个和 auto-complete 不同,会根据你写的代码给出即时提示,比如调用某个函数漏写了一个参数。厉害的是不仅提示这些问题或建议,同时还提供解决方案,点击左侧的小灯泡或者按 Alt + Enter(快捷键参考自己的配置)会显示这些提示确认后即可应用。

    intention actions
    • 快速修复

    这个功能作用和智能提示有点类似,相比之下区别在于快速修复专注于一些容易出现的小错误,比如忘记;, 判断中用=等很容易出现的小错误,Clion 也会显示小灯泡引起你的注意,按 ⌥ + ⏎ 就可以快速修复。

    快速修复
    • 快速注释

    和 Sublime Text 一样,在选中代码后按 ⌘ + / 会以行形式注释选中的代码行,按 ⌘ +⇧ + / 则会以代码块的形式完成注释,是敲代码时经常用到的功能之一。

    • 代码生成

    这个功能会在特定情境下帮你自动生成一些代码,比如类的构造函数和析构函数等,在需要生成的地方按⌘ + N 即可。另外你还可以⌘ + J 插入完整的代码块,默认只有 for, iter, itit,也可以自己在Setting—>Live Templates 里添加自定义的代码块,比如我创建了一个main()函数的代码块,输入 main就会在提示框里出现我们添加的代码块,这个真的是很方便。

    添加 main 函数

    最后还有一个 surround with 的功能,选中任意的代码块按 ⌥ + ⌘ + T 就可以选择给这些代码包裹上 if for 等。

    surround with
    • 巧用搜索功能

    搜索又是一个非常实用的功能, Clion 的搜索功能非常强大。

    基本搜索

    对于基本的搜索(也是最常用到的), ⌘ + F 相信大家都已经非常熟悉了,⇧ + ⌘ + F 则可以在整个工程中进行搜索;按 ⌥ + F7 可以找到某个类、变量、函数等在文中被使用到的的地方;


    find usages

    项目导航

    对于一个大的项目,很多时候需要理清它的层次结构,Clion 为我们提供了项目内文件、类等的导航搜索:

    ⌘ + O 通过类的名字进行搜索;
    ⇧ + ⌘ + O 通过文件名进行搜索;
    ⌥ + ⌘ + O 通过符号名进行搜索;
    ⌘ + B 搜索声明;
    ⌘ + U 基类/函数搜索;

    文件搜索
    功能搜索

    这个真的是厉害啊,按 ⇧ + ⌘ + A 然后输入你想用到的功能,然后选中就可以了,尤其是当快捷键太多记不住的时候真的是很实用啊。

    功能搜索

    全局搜索

    当你不知道你要搜索的东西是属于上面哪一类的时候,就试试 Search Everywhere,只需要连按两下 ⇧,就会呼出 Search Everywhere 的搜索框。

    • 调试运行

    说实话现在很多编辑器在代码编辑上的功能和体验都不输 IDE 了,但是在项目调试和运行上 IDE 还是有着不小的优势,这也是很多人在大的项目里选择 IDE 而不是代码编辑器的原因。

    首先你可以在 Run | Edit Configurations 里面配置调试运行的选项,如果你希望在编译之前或者运行之后运行一段脚本,你可以自己添加这些额外的配置。

    在 OS X 上,Clion 支持 GDB 和 LLDB ,建议使用 LLDB,调试的过程和很多 IDE 类似,你可以创建断点,按右上方的小虫或者⌥ + ⌘ + U 进行调试,你可以逐行、逐语句进行调试,Clion 很人性化的一点是调试时变量的值会直接以斜体显示在右侧,而且 Clion 支持调试过程中更改变量的值(在调试输出框内选择相应变量右击 set value 或者按 F2)。

    修改变量
    • 最后

    以上提到的一些技巧针对最基本的 Clion 使用,限于篇幅 Clion 还有很多的功能这里都没有提到,那些更为高阶的技巧需要你持续使用之后去发现,一开始说太多反而会让大家抓不住重点,如果你之前有使用过 JetBrains 家其他的产品,那么我相信你很快就能上手 Clion,如果你是第一次使用他家的产品,那么这篇文章可能会对你有一点用处。

    如果你需要全面了解 Clion 的功能,可以访问 JetBrains 的官方指南,本文也有部分内容参考了这个指南。

    来自:fangs.in

    相关文章

      网友评论

      • LittleFat:很方便,直接可以加载cmake工程
      • 8da3f01a8ba7:请问,vs 里有个内存窗口,可以查看到参数的内存变化 ,这个功能怎么在clion中实现。
      • 0e1301c6b24a:请问主题颜色在哪里修改
      • Link913:老哥,为什么我写的像printf这样的函数还是没有智能提示啊
      • nlpjoe:文件快速切换快捷键是什么?MAC上command+数字键没有用
      • Shmily落墨:我现在用clion双击选中一段文字,按删除键之后并没有删除这段选中的文字,而是将选中的部分向左挪动了一个字符,请问如何把这种状况变成选中之后按删除键直接删除选中部分呢?
        稀里哗啦NZND:解决了吗?我也遇到了,目前还没有找到解决方法,我觉得可能是keymap的风格有问题,试了其他的一些风格,发现也是这样。
      • 1074d6ecea3e:如何使同一个directory中的两个C++source file 在调试运行的时候分开? 比如run的时候 为什么只运行前一个file 后面一个没反应?
        链球选手:@TedHuang 需要通过 cmake 来配置,只在 cmake 中添加你想逃编译的源文件
      • 十一月的吉他:clion 时不时cpu占用比较高, air 就立马发烫了. .. 好囧.
        链球选手:@妇科级程序汪 可以啊,IDE 是用 Java 写的啊。
        d67022154fbb:@链球选手 Java写的IDE能用来开发C++?
        链球选手:@十一月的吉他 毕竟是用 Java 写的😝
      • 龙君璃:Clion创建工程的时候,默认创建C++工程,我想用Clion创建工程的时候默认创建C语言工程,有什么办法可以做到吗?
        龙君璃:@Cescfangs 这样新建的文件是.c的,但是创建工程还是c++工程,有没有一种方法可以修改,
        链球选手:@龙君璃 你在左侧项目导航栏里右键新建 c/c++ 源文件编辑窗口可以以选择.c作为默认的文件
      • 妤和:你好 请问你什么时候更新呢
        妤和:@Cescfangs 口亨
        链球选手:@妤和 话多
      • e14d77e3d1ba:请问,Mac上打c语言的^Z(ctrl+z)如何实现......
        链球选手:@john751 :no_mouth:
        e14d77e3d1ba:@Cescfangs 知道,可能command+z被别的键占用了…
        链球选手:@john751 Mac 上的 Command 相当于 Windows 的 ctrl
      • 滔滔凌云志:我想问问,在CLion中新建了一个cpp文件后,我点build然后run,但是它build和run的依旧是CLion 一开始自带的那个main.cpp文件,请问我是不是哪个地方操作?
        链球选手:@滔滔凌云志 是的吧,刚开始学感觉还是 Sublime、Atom 这种代码编辑器更好一点,但是你写的大的项目的话 IDE 会强不少
        滔滔凌云志:@Cescfangs 学到 class 部分后,我渐渐明白了这样的好处:sweat_smile:,但 CLion 对初学阶段的人来说可能就不太好用吧
        链球选手:@滔滔凌云志 是的,CLion 是用 CMake 作为编译系统,你无论在哪个文件下面进行 build 和 run 都没有影响,都是按照 CMakeLists.txt 里 set(SOURCE_FILES main.cpp ....) 的文件进行编译,如果你只想编译比如说 abc.cpp, 那就在 set(SOURCE_FILES abc.cpp)(只保留 abc.cpp
        ),但是这样也就失去了作为项目的意义,好的习惯是在其他文件写好函数或者类以后在 main.cpp 里进行调用。

      本文标题:可能会有用的Clion技巧—— Mac篇

      本文链接:https://www.haomeiwen.com/subject/yyovkttx.html