[eclipse] 阿古的优化指南

 photo Screenshotfrom2013-07-31085545_zps1fa214eb.png

虽然以大牛的标准来看,学习vi才是王道。但是在实际开发过程中,还是会依赖eclipse这样的IDE。除了开启的速度还是偏慢以外,其它的倒也还好。丰富的插件体系和各种内嵌工具(比如console)都是开发者的利器。当然eclipse也不是那么万能,vi,Sublime Text都会用到,各种工具优势互补,效率真的会大幅提升哦~

eclipse的启动速度方面,实践证明,我把eclipse.ini文件里面关于内存的参数都翻翻,提升效果还是有限,最有效的招,还是直接升级固态硬盘吧。确实有一用上ssd就无法忍受机械硬盘的感觉,反而觉得之前将内存从4G升到8G的意义不大。正如@honghao86所说:“瓶颈都是IO啊~”。本文优化的起点,可以从《[Arduino] 使用 Arduino Eclipse 插件进行OOP编程及类库开发》这篇的终点,对eclipse还缺少了解的朋友推荐先看看这篇文章,我接触ecipse的契机并不是java,而真的就是Arduino。代码的部分,是用对象封装数字IO口后的blink例程。其中Eclipse是最新的4.3版本,即Kepler。
优化开始~

1. 遗忘的快捷键

除了这条,其它都是骚包用的,这条最关键的。很多朋友纠结于VS系列的IDE,主要就是它们的代码提示功能,感觉用上那样强大的IDE,不用学,编程都学得差不多了。一用eclipse感觉就要徒手全写,或是只有调用类方法,按下”.”时,才有提示出现。eclipse的强大远远不仅于此。只不过这个功能,算是被它对应的快捷键给毁了。这个功能叫“Content Assist”,而它的默认快捷键竟然是坑爹的“ctrl+space”,而无论windows还是ubuntu,这个组合键的用途想必大家都清楚,而被操作系统捕获以后,在eclipse中就不再起什么作用。而这个”Content Assist”和“Alt+/”所对应的”word completion”(代码补全)是不一样的,前者会列出所有匹配项的选择菜单,而后者只是直接拿这个菜单的第一项直接填充上去。我个人习惯会把,”Content Assist”的快捷键改为”Shift+Space”,这个在windows中一般是全/半角切换,不过在ubuntu中似乎没有什么作用。

 photo Screenshotfrom2013-07-31121427_zpsb0ad86d1.png

现在只解决了调用的问题,现在还要解决内容的问题,要把“Parsing-based Proposals”这项勾上

 photo Screenshotfrom2013-07-31123213_zpsdba94a71.png

现在真的就有代码提示咯,哪怕什么字母都没有写,敲下shift+space也立马会有提示出来,大家现在写的是Arduino的程序(尤其是在原生IDE里面),是不是经常担心一些函数名变量名写错呢,现在自动补全就再不用担心了哈~

 photo Screenshotfrom2013-07-31123446_zps81e90811.png

光凭这点,还有什么理由不用eclipse呢~

2. 看起来很专业的配色

现在开发起来应该已经很爽了,但是时间久了,眼睛可能还是难免不太舒服,把主题变暗一些吧,

首先用的是,Eclipse Color Theme,安装方法查官网。我个人会相对偏爱“Obsidian”主题。

 photo Screenshotfrom2013-07-31125909_zpsbe7a8d60.png

应用以后,会变成这个样子:

 photo Screenshotfrom2013-07-31130046_zps1961974e.png

编辑器范围内似乎还好,但是立马感觉任务栏、边框变得非常不协调,没事,还有Eclipse Dark Juno Theme,安装很简单,完成以后的效果是这样:

 photo Screenshotfrom2013-07-31130820_zpse7b2db5d.png

是不是B格有所提升呀?除了代码展开的部分,还是浅色,其它基本都变深色了。

3. console

感觉还不错的样子,但实际上光靠这些插件还不是很完美,比方说我编译一下,在console部分,依然还是白底黑子,一下子就露馅了,这部分就是需要手动来修改了,

 photo Screenshotfrom2013-07-31133640_zpsdd1d5e08.png

基本的颜色都是Obsidian样式里面选取的

  • Output text color: #E0E2E4
  • Information message text color: #93C763
  • Error message text color: #FFFFFF (感觉没什么用)
  • Background color: #293134
  • Background color for build errors: #804000
  • Background color for build warnings: #EC7600
  • Background color for build message text: #293134 (感觉没什么用)
  • Highlighting color for build problems: #FF0000

修改以后,编译部分的颜色搭配会比较好,而使用avrdude下载的部分,依然还是白底黑字,还不知道在哪里编辑(小郁闷)。

4. Occurance

使用深色主题以后,如果开启“mark occurance”(工具栏的荧光笔按钮),双击选择某单词,就会出现这样的情况:

 photo Screenshotfrom2013-07-31141343_zpsc55805c1.png

eclipse会把上下文中该单词所有出现的地方都进行高亮显示,而这个颜色又和我们字体颜色非常接近,完全看不清楚了,这里,把”C/C++ Occurances”和”CC++ Write Occurances”的“Text as”都由“highlighted”改为“Box”即可。这样倒是更像是sublime text的风格。

 photo Screenshotfrom2013-07-31142438_zps751e0ca9.png

 photo Screenshotfrom2013-07-31142258_zpsf5098206.png

5. 代码解释器

当鼠标旋停在某个代码块上达到一定时间,eclipse会弹出一个源码悬浮窗口(tooltip),这个对查询变量定义、函数声明的时候非常有用,而我们现在看到的情况确实这样:

 photo Screenshotfrom2013-07-31142630_zps44fc4430.png

又是背景色的问题,在这里可以把颜色从默认的大白改为“#616161”

 photo Screenshotfrom2013-07-31145818_zps5e814101.png

然后就正常啦~

 photo Screenshotfrom2013-07-31150021_zps8feda3ff.png

6. 未生效的代码

像Arduino这样的C/C++工程,会有用到大量的条件编译。而eclipse的cdt,会根据当前项目的宏定义情况,解析出哪些是条件编译生效的,比如这样:

 photo Screenshotfrom2013-07-31160949_zps74342cf3.png

又是一片看不见,可以将inactive code highlight 的颜色 改成#7F7F7F:

 photo Screenshotfrom2013-07-31161229_zps3116ad35.png

 photo Screenshotfrom2013-07-31161300_zps3d77c0c9.png

7. 字体

字体部分,为了让一屏能显示尽量多的内容,我editor和console的字体都设为了”ubuntu mono 9″。

8. 会遇到的问题

GTK下eclipse内嵌浏览器错误:http://stackoverflow.com/questions/12125044/open-eclipse-juno-with-error-no-more-handles-in-ubuntu-12-04

Tab标题的字体大小:找到[Eclipse Home]/plugins/org.eclipse.platform_4.3.0.vYYYYMMDD-XXXX/css/e4_default_gtk.css,修改里面.MPartStack类的font-size属性就好。如果已经使用了上述的Dark Juno主题,那么需要的样式文件是dropins/com.github.eclipsecolortheme.themes_1.0.0.201207121019.jar/themes/css/juno.css,ubuntu里面可以直接打开jar文件进行编辑,保存后,jar文件自动更新,

好了,基本都设置完了,现在你的eclipse,在我眼中就是一副很专业的样子了。Eclipse的设置菜单相当复杂呢,我这里的优化,主要还是朝着装逼的方向,实在无法面面俱到哈。用好它,愿大家的开发效率越来越高哦~

PS. 好久没有更新博客,而想写的东西还是蛮不少。现在重新开始上班,新平台还在学习,就是各种忙乱,想写的东西到也不少呢,我会慢慢补上,感谢大家的支持,想看到我什么动态的话,欢迎来关注我的微博@aGuegu,我的活跃度还行哈~

关于aGuegu

向着更高的逼格
此条目发表在内功心法分类目录,贴了, , , , , , , 标签。将固定链接加入收藏夹。