Effective Eclipse CDT(三)

作者: MagicBowen | 来源:发表于2016-07-05 23:56 被阅读1154次

    Efficient Usage

    大多数介绍eclipse高效操作技巧的文章都是在介绍快捷键,本文也不例外!但如果仅仅只是快捷键列表,那大家直接google或者看eclipse帮助文档就够了!本文希望先帮大家理清各种概念,然后通过一些主要的快捷键操作场景,帮大多数人把之前断裂的快捷键操作串起来,以达到一种接近全键盘的行云流水般的操作境界!

    基本概念

    Perspective

    Perspective翻译过来是“透视图”,其实就是按照一定目的选择和排列好的一组视图(view)的集合。例如Eclipse workbench默认处于C/C++ Perspective,它的布局如下图:

    上面是菜单栏和工具栏,下面是由四部分组成的工作区域。最左边是Project Explorer视图,显示当前workspace中的所有project,通过它可以浏览每个project的目录树。中间的Editor视图是我们浏览、编辑代码的地方。Editor的右面和下面是一些辅助视图的集合窗口,例如常用的outline视图、console视图以及各种搜索结果视图等等都在这里,你可以根据习惯选择将哪些视图放在右面或者下面。C/C++ Perspective如此设置和排布目的是为了尽可能方便的进行代码开发。

    除了C/C++ Perspective,eclipse还定义了Debug PerspectiveGit PerspectivePlanning Perspective等等,每种perspective所选择的视图和排布都是为了不同的目的。例如在Debug Perspective下就没有Project Explorer视图,而多了DebugVariable视图,而且Editor视图所占的区域也小很多。如此规划就是为了用户可以方便高效地进行debug。

    不同perspective之间进行切换的快捷键是Ctrl + F8。按住Ctrl后每敲一次F8,光标会移到下一个perspective;按住Ctrl + Shift后每敲一次F8光标会移到前一个perspective。如下图所示,通过快捷键在C/C++ PerspectiveDebug Perspective之间切换。

    View

    通过前面的介绍,我们知道一个perspective是由一组view组成。如论在哪个perspective下,我们都经常需要在不同的view之间切换焦点。例如对于我们最常处于的C/C++ Perspective,我们在代码开发的时候经常需要从正在编辑代码的Editor视图跳转到Project Explorer视图去增加一个目录或者文件。再比如搜索了某一个函数的调用关系后需要从Editor视图跳转到下方的Call Hierarchy视图选择某一调用函数。

    切换视图的快捷键是Ctrl + F7。按住Ctrl后每敲一次F7,光标会移到下一个视图;按住Ctrl + Shift后每敲一次F7光标会移到前一个视图。

    如下图所示,我们通过快捷键从Editor视图跳转到Project Explorer视图下,在test目录下创建Test.cpp文件。

    由于经常需要直接跳回Editor视图,所以有一个专门的快捷键F12用于帮助你从任何视图下直接跳回到Editor视图。

    如果说切换perspective的快捷键用的场景并不多,那么切换视图的快捷键使用场景那可是相当之多。很多人在Editor区域将快捷键使用的很好,但一旦要切换视图就必须去抓鼠标,掌握了这个快捷键基本上就可以让很多人直接过渡到全键盘了!

    Quick View

    在前面的介绍中我们说view一般在perspective下被安排好了位置,从一个view切换到另一个view需要转移焦点。但是eclipse为了可以更加快捷的操作,为很多常用的view提供了quick view。所谓quick view是指在当前view上以一个浮现式菜单弹出另一个view的常用功能,你可以在当前view上不转移焦点就直接操作另一个view,避免了不少键盘操作。熟练掌握quick view可以让你的键盘操作效率更高,更加有行云流水的感觉。

    例如前面的例子中我们从Editor视图切换到Project Explorer视图下创建了一个文件。其实我们可以直接在Editor视图下通过Alt + Shift + N调出quick view完成文件创建。

    上面介绍的Alt + Shift + N会被经常用到,因为它除了可以快速创建文件,还可以快速创建工程、目录等。除此之外还有如下的quick view也非常有用:

    • 常用视图集(Quick Views)

      Alt + Shift + W可以直接以quick view的方式显示常用的视图集合,可以通过上下方向键直接选择想要跳转到的目标视图。

      下例中我们通过这种快捷方式直接跳转到C/C++ Projects视图。

    • 文件大纲(Outline View)

      文件大纲视图一般位于C/C++ Perspective的最右侧,通过该视图我们可以看到当前文件的代码大纲,通过它可以直接跳到当前文件的任意符号处。

      Editor视图下我们可以通过Ctrl + O直接调出Outline的quick view,然后通过搜索或者上下键选择来跳转到本文件内的某一符号处。正是因为可以如此方便地调出quick outline,所以我一般会把Editor视图右边的辅助视图集窗口最小化以扩大代码区的面积。

    • 代码生成视图(Quick Implementation)

      Alt + Shift + S可以调出代码生成视图。利用该视图可以快捷地为代码添加头文件、格式化代码风格、自动为类成员生成get/set方法等。

      如下使用该快捷视图为类的成员函数自动在cpp文件中生成实现原型。

    • 继承关系(Hierarchy View)

      大多数eclipse用户都知道选中类名然后敲F4,继承关系视图会出现在Editor底下的的视图集窗口里。然后在该视图下,可以看类的继承关系和接口的覆写关系。

      从上面示例中可以看到,从Hierarchy View返回Editor需要切换视图焦点。但是如果用Ctrl + T调出quick hierarchy,则可以在浏览完继承关系后直接返回到Editor的对应位置上。如下所示:

      Quick hierarchy是我最喜欢的feature,它可以让类的继承关系跳转变得非常快捷。而且当你在一个虚方法的签名上调出quick hierarchy,只会显示该接口被覆写的类层次。所以让我们记住这个快捷键Ctrl + T

    Navigate

    如下是一些比较常用的导航快捷键。

    • 文件导航

      • Ctrl + Shift + R : 跳转到指定文件。输入文件名时可以用通配符。
      • Ctrl + F6Ctrl + Shift + F6:跳转到前一个或者后一个已经打开过的文件。
      • Ctrl + E:以quick view的方式列出已经打开过的所有文件列表,可以通过搜索或者上下键选择跳转到的目标文件。
      • Ctrl + Tab:在类的头文件和源文件之间互相跳转。
    • 符号导航

      • Ctrl + Shift + T:跳转到指定符号。可以是类名、全局变量、宏等等;输入符号名时可以使用通配符。
      • F3:跳转到定义。
      • Alt + ←:跳转到前一个编辑的页面。
      • Alt + →:跳转到后一个编辑的页面。
      • Ctrl + Q:跳转到最后编辑过的页面符号处。
      • Ctrl + L:跳转到指定行。

    Search

    Eclipse主要的搜索快捷键如下:

    • Ctrl + Shift + G:查找对选中符号的所有引用。
    • Ctrl + Shift + H:查找对选中函数或者变量的所有调用点,显示出调用层次。
    • Ctrl + F:本文件内搜索,可以通过Ctrl + kCtrl + Shift + k在所有搜索结果中上下跳转。
    • Ctrl + H:工程内全局搜索。弹出的对话框里面的C/C++ Search只是在所有代码文件中搜索,而File Search则是在工程内所有类型文件中搜索。

    Edit

    对于高效编辑来说,有太多的快捷键可说了,我们挑一些重要的略作介绍。

    首先你要掌握最基本的通用快捷键:

    • Ctrl + C:拷贝
    • Ctrl + X:剪贴
    • Ctrl + V:粘贴
    • Ctrl + ←:光标跳过前一符号
    • Ctrl + →:光标跳过后一符号
    • Shift + ←:选中前一个字符
    • Shift + →:选中后一个字符
    • Shift + ↑:从光标往上选择一行
    • Shift + ↓:从光标往下选择一行
    • Ctrl + Shift + ←:选中前一个符号
    • Ctrl + Shift + →:选中后一个符号

    其次你要掌握eclipse自身的一些编辑快捷键:

    • Ctrl + D:删除当前行
    • Ctrl + /:注释当前行
    • Alt + ↑:将当前行向上移动
    • Alt + ↓:将当前行向下移动
    • Ctrl + Alt + ↑:将当前行向上复制
    • Ctrl + Alt + ↓:将当前行向下复制

    如下示例中选择了几行代码,然后使用Ctrl + Alt + ↓向下复制了选中行。

    • Alt + /:自动提示、补全符号,包括自定义的快捷代码块。如下输入switch后使用Alt + /,eclipse自动补全switch代码块。

      自动补全还包括用户自定义的快捷代码块。如前面介绍全局配置的时候我们添加了cn的快捷代码块,如下输入cn后再敲Alt + /,它帮我们自动补全为“ClassName::”。

    另外还有如下几个非常方便的快捷键:

    • Ctrl + Shift + F:格式化选中的代码
    • Ctrl + Shift + X:选中的代码转为全小写
    • Ctrl + Shift + Y:选中的代码转为全大写
    • Alt + Shift + A:进入或者退出列编辑模式

    列编辑模式有时会很有用,如下图所示:

    除了上述快捷键外,还有一些是专门针对C/C++语言特征的。

    • Ctrl + Shift + N:自动include光标所在处符号对应的头文件。

    • Ctrl + =:自动宏展开提示。

    • Alt + Shift + R:自动重命名

      Eclipse针对C++的自动化重构支持的并不多,但是最常用的重命名Alt + Shift + R做得真心不错。如果你按照eclipse全局规则中约束的方式命名类和文件(前面全局配置中讲过如何修改规则),例如对于类名“ThreadPool”,对应的头文件命名为“ThreadPool.h”,源文件命名“ThreadPool.cpp”,测试文件名为“TestThreadPool.cpp”,那么对类进行重命名,eclipse会自动同步修改类的头文件、源文件和测试文件以及所有的#include中对应的路径名。

      这里再补充一下,如果你想调整头文件或者目录的位置,最好使用Project Explorer视图中右键菜单里面的Move选项,这样所有更改路径的头文件的#include路径会一起发生变化。

    Others

    本节介绍了非常多的快捷键,如果忘记了,可以输入Ctrl + Shift + L调出快捷键列表查看,并可以直接选择执行。

    最后一个大杀器:Ctrl + 3,使用它可以调用quick access对任何属性、视图、命令进行查找、执行。

    如下我们输入Ctrl + 3转到quick access,然后通过输入“font”查找并调出修改字体的全局配置框:

    下例中我们通过quick access查找添加头文件的命令,然后运行其为我们自动添加了缺失的头文件:

    本节的所有介绍就到这里,所提到的快捷键是我挑选出来最常使用的一部分,相信熟练掌握这些足以让你的编码效率得到很大提高。补充说明一下,上述所有快捷键适合linux和windows系统,mac下得要做一些调整,具体查看mac版本eclipse的快捷键设置。

    Conclusion

    本文总结了个人使用eclipse CDT进行C++代码开发的一些经验,包括eclipse全局配置、工程配置以及常用的高效操作技巧。希望本文最终可以帮助到大家,使得每个人都可以借助eclipse这个强大的IDE去更好地使用C++这门强大的语言解决问题。

    相关文章

      网友评论

        本文标题:Effective Eclipse CDT(三)

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