前言
因为我是一名搞嵌入式单片机开发攻城狮,我在自己使用的IDE上会花一些心思来优化升级它,以求更高的效率解决问题。
“工欲善其事必先利其器”,从入行到现在也用了很多的编辑器/IDE,从在学校里用的Notepad++到UeStudio到VS 2013等等,
每一次发现一个心得好用的功能都能让我编程的速度更快一步。
在网上搜索了许久,发现关于Eclipse方面的资料实在太少不完整,因此便有了这篇博文,我们的每一点分享最终可以汇聚
成一片汪洋。为便于检索,转载请注明出处(http://www.cnblogs.com/ccword/p/4636105.html)。
UeStudio大概用了2年多,我翻遍它的每一个角落来针对我的需求来优化,但毕竟它是一款付费封闭的编辑器,渐渐不能
满足我的需求,趁现在空闲,在网上冲了许久的浪花之后,几经比较,最终选择了Eclipse。原因有以下几点:
1.开源
这一点相当重要,这样我就能更好的优化它,万一有个功能我很想用,哪怕是修改都有代码可改,是吧!
2.第三方插件特别丰富
而且也都是开源的。尽管其中不少插件都N多年未更新,但这些依然很好用。
3.条件编译区别显示
能对条件编译的代码段区别显示 未配置的功能段一目了然。
4.代码自定义格式化
由于经常性的接收、浏览别人的代码,使用这个功能一键格式化为自己常用的格式,极其便利。
5.引用位置检索
方便检查函数的使用
6.编译方便
能引用其他编译器,处理编译结果。
7.总结一点,就是好用!
软件安装列表
ECLIPS http://www.eclipse.org/ 选择Eclipse IDE for C/C++ Developers 版本,由于最新版本还未更新中文语言包,所以我下载了Luna版本
WINWVR http://winavr.sourceforge.net/index.html 使用GCC编译器
MinGW http://www.mingw.org/ 用来测试局部的C代码时使用,可不安装。由于微软始终拒绝对C的完全支持,所以当前MinGW是最好的选择,当然你也可以选择CodeBlocks、C-free等等
以上安装都比较简单,在网上检索相关博客即可,需要注意的是要添加必要的系统环境变量。为此我使用批处理脚本做了一个插件,敬请期待我的其他博文。
推荐其他相关博文:
我将其分别安装在D:CODEMinGW D:CODEeclipse-Luna目录下,这样便于管理
我的Eclipse必备插件列表:
AVR-Eclipse 辅助配置AVR项目 http://avr-eclipse.sourceforge.net/updatesite
Luna语言包 (目前Mars版本不支持) http://download.eclipse.org/technology/babel/update-site/R0.12.1/luna
ColorCode 代码着色插件 http://colorer.sf.net/eclipsecolorer/
easy Explorer 打开项目文件所在位置 http://sourceforge.net/projects/easystruts/
Regex Util 正则表达式辅助设计工具 http://regex-util.sourceforge.net/update/
Subversive Site 版本控制SVN插件 http://download.eclipse.org/technology/subversive/3.0/update-site/
git 版本控制GitHub插件 http://download.eclipse.org/egit/updates/
注:以上提供的网址均为当前最新可用版本(2015-07-11),其中很多插件均很久不做更新,所以用这个就可以了。
另外,你也可以通过下面的方法自动查找最新版本:Help->Eclipse Marketplace,在里面搜索插件。
再另,检查Help->Install New Software中的源列表也可以发现一些新玩意。
使用技巧备忘
1.安装ECLIPS插件后,重启软件才能应用。
偶尔遇到搞不清的问题时,重启Eclipse是一个不错的选择。
2.编译前自动保存
To activate Autosave open the Eclipse Preferences (Window > Preferences...) and select General -> Workspace. Here the Save automatically before build option can be enabled.
3.修改标示解析设定
Windows->首选项 -> C/C++ -> Indexer 撤销Index source files not includeed in the build选项。
当按F3出现跳转异常时(跳到未编译的代码部分),大部分也是因为这个原因,撤销该选项后,无效代码段的定义均不在引用,需要查找是使用全工程检索更方便。
4.由于RemoteSystemsTempFiles项目总是自动生成,怎么删除掉?
A.打开Windows-->Preferences-->General-->Startup and Shutdown将“RSE UI”的选中状态去掉,关闭Eclipse;
B.打开Eclipse工作空间将“RemoteSystemsTempFiles”项目删除掉后再启动Eclipse程序,就不会再自动生成了。
这个东西是用来做远程文件本地缓存使用的,建议不要删除。eclipse有一个“Remote System ExExplorer”的Perspective,里边有FTP、ssh、Linux、Unix、Windows、Telnet等各种远程终端功能,这些功能依赖于“RemoteSystemsTempFiles”。
5.保存时删除行尾空格
Window > Preferences > Editor 勾选Remove trailing whitespace
6.显示打印页边距
Window > Preferences > Editor 勾选显示打印页边距
7.以上设置及其他设置敬请期待我的下一篇博文《打造自己专用的Eclipse个性化设置》。
针对AVR相关项目的一些备忘事宜:
1.创建AVR项目
选择第一种,常规模式(AVR Cross Target Applications),第二种为通用的库模板(AVR Cross Target Static Library)
2.项目属性
由于使用AVR-ECLIPSE插件配置的makefile文件编译后除了一些未能解决的问题,所以我推荐对创建的项目做如下设置,我们使用手动创建或AVR Studio创建的makefile编译工程。
打开项目属性,
C/C++ Build 撤销Gernerate Makefiles automatically选项
C/C++ Build-》Bulider Settings 中的Build location 改到default文件夹
C/C++ General-》Path and Symbols 中的include选项卡下添加项目引用(如果你的工程中又分文件夹管理)
3. 编译前指令
Open the project properties, go to C/C++ Build > Settings > Build Steps and set the following as the Pre-build steps command:
-avr-size --format=avr ==mcu=${AVRTARGETMCU} ${BuildArtifactFileName}
4.编译后指令
Open the project properties, go to C/C++ Build > Settings > Build Steps and set the following as the Pre-build steps command:
avr-objcopy -R .eeprom -O binary ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.bin
5.使用AVR-Eclipse创建makefile文件,其同AS的差别如下:
1、项目属性页面要设置优化选项为-0s
2、编译后,发现文件略大于AS设置的makefile的结果,比较设置后发现以下不同
ASMFLAGS +=-Wa,-gdwarf2
CFLAGS += -g2 -ffunction-sections
缺
CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d
使用AVR-Eclipse插件创建的工程,编译后文件较大,不能运行
记录:
文件抬头
/* --------------------------------------------------------------------
* Copyright (C), ${year},c.w.CoderP. dwproj@163.com
* file_name:${file_name}
* Author: ${user}
* Created : ${date} ${time}
* GCC Vers : GNU Make 3.81
* @version : 1.0.0
* Description:
*
* ------------------------------------------------------------------- */
其他插件备忘录:
以下内容收集自互联网,未进行整理,所以你又兴起的话可以慢慢进行发掘。
1.MyEclipse J2EE开发插件,支持SERVLET/JSP/EJB/数据库操纵等 www.myeclipseide.com 2.Properties Editor编辑java的属性文件,并可以自动存盘为Unicode格式 http://propedit.sourceforge.jp/index_en.html 3.Colorer Take为上百种类型的文件按语法着色 http://colorer.sourceforge.net/ 4.XMLBuddy 编辑xml文件 www.xmlbuddy.com 5.Code Folding 加入多种代码折叠功能(比eclipse自带的更多) http://www.coffee-bytes.com/servlet/PlatformSupport 6.Easy Explorer 从eclipse中访问选定文件、目录所在的文件夹 http://easystruts.sourceforge.net/ 7.Fat Jar 打包插件,可以方便的完成各种打包任务,可以包含外部的包等 http://fjep.sourceforge.net/ 8.RegEx Test 测试正则表达式 http://brosinski.com/stephan/archives/000028.php 9.JasperAssistant 报表插件(强,要钱的) http://www.jasperassistant.com/ 10.Jigloo GUI Builder JAVA的GUI编辑插件 http://cloudgarden.com/jigloo/ 11.Profiler 性能跟踪、测量工具,能跟踪、测量BS程序 http://sourceforge.net/projects/eclipsecolorer/ 12.AdvanQas 提供对if/else等条件语句的提示和快捷帮助(自动更改结构等) http://eclipsecolorer.sourceforge.net/advanqas/index.html 13.Log4E Log4j插件,提供各种和Log4j相关的任务,如为方法、类添加一个logger等 http://log4e.jayefem.de/index.php/Main_Page 14.VSSPlugin VSS插件 http://sourceforge.net/projects/vssplugin 15.Implementors 提供跳转到一个方法的实现类,而不是接中的功能(实用!) http://eclipse-tools.sourceforge.net/implementors/ 16.Call Hierarchy 显示一个方法的调用层次(被哪些方法调,调了哪些方法) http://eclipse-tools.sourceforge.net/call-hierarchy/index.html 17.EclipseTidy 检查和格式化HTML/XML文件 http://eclipsetidy.sourceforge.net/ 18.Checkclipse 检查代码的风格、写法是否符合规范 http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm 19.Hibernate Synchronizer Hibernate插件,自动映射等 http://www.binamics.com/hibernatesync/ 20.VeloEclipse Velocity插件 http://propsorter.sourceforge.net/ 21.EditorList方便的列出所有打开的Editor http://editorlist.sourceforge.net/ 22.MemoryManager内存占用率的监视 http://cloudgarden.com/memorymanager/ plug-in网址: http://www.eclipse-plugins.info/eclipse/index.jsp http://www.eclipse-workbench.com/jsp/ http://eclipse-plugins.2y.net/eclipse/index.jsp (非常非常著名的插件更新网站) http://www.crionics.com/products/opensource/eclipse/eclipse.jsp (分类清楚) http://www.eclipseplugincentral.com/ Preferences无法显示新安装的插件的解决办法 删除C:/eclipse/configuration/org.eclipse.update下的platform.xml文件,重新启动Eclipse perl插件 http://e-p-i-c.sf.net/updates FreeMarker IDE 是一个FreeMarker(模板引擎)感知编辑器,支持:语法高亮显示(Syntax Hilighting)、内容辅助(Content Assist)、大纲视图(Outline View)。其主页上提供了如何使用该插件进行开发的Flash视频。FreeMarker还有另外一个插件FreeMarker Eclipse Plugin。 官方网站:http://freemarker-ide.sourceforge.net/ 插件下载URL:http://sourceforge.net/projects/freemarker-ide/files/ C#插件 http://www.improve-technologies.com/alpha/updates/site.xml C插件 http://update.eclipse.org/tools/cdt/releases/new Hex插件 http://ehep.sourceforge.net/update Eclipse加速插件KeepResident http://suif.stanford.edu/pub/keepresident/ 原理:利用两个 Windows API-SetProcessWorkingSetSize与VirtualLock(适用于Windows平台)。 切换时果然快很多。 官方建议最小值设定在100MB,最大值250MB左右。