诚然Visual Studio是一个非常强大的开发环境,但是使用久了以后,觉得在细节方面还是有很多地方比不过Eclipse。比如:
1. 界面设计没有充分考虑空间占用
Visual Studio的工具窗口占用了过多的空间。从下图就可以看到,Error List在标题栏和Tab标签出现了两次,实际上这是无意义的重复,而标题栏中央和工具栏右边的部分,有大片地方被白白浪费掉了。在宽屏笔记本上,屏幕高度相当有限,这一点格外令人难以容忍。
Eclipse的窗口对空间的利用有效得多。标签页和按钮共享同一行,并且因为Eclipse的错误显示是分类的,也不需要三个额外的按钮,所以界面相当紧凑。
2. 输出显示过于单调
Visual Studio的输出窗口只有一种颜色、同样的格式,在密密麻麻的输出里面根本分不清重点。Eclipse的输出窗口能显示多种颜色和格式,能够清楚的分出不同的内容,和代码关联的内容还可以用URL导航。
3. 跟踪活动项不方便
Visual Studio有这样一个功能叫做Tracking Active Item,有时候我需要它,有时候又希望关闭它。Visual Studio把它放在选项里面,每次修改的时候都要重复点菜单-》选分类-》点CheckBox-》点OK这样一个重复的动作。
Eclipse把这个功能叫做Link with Editor, 放在主界面的Package Explorer的工具按钮里,打开和关闭都只需要点击一次鼠标就行了。
3. 设置代码格式不够灵活
看上去Visual Studio也提供了不少代码格式选项,可还是缺少很多高级设置,比起Eclipse只能算小巫见大巫了。比如,我很喜欢Eclipse把字段对齐这个功能,但Visual Studio压根没有这个选项。
4. 代码行定位功能不如Eclipse
Eclipse编辑器右侧有个特殊区域代表了整个代码文件,断点、错误、警告、书签都会在这里标识出来,不论代码有多长,点击一下就可以定位,非常的方便。
在Visual Studio里面定位代码,要么用鼠标滚轮上下翻动直到找到内容,要么从成员列表的组合框里选择,不论哪一种,都没有Eclipse来得简洁方便。
5. 设置文件编码太过麻烦
Visual Studio既不能指定文件的默认编码,也不能批量设置文件编码,只能通过Save As对话框下面一个很小的箭头手工一个一个指定,麻烦到文件多的时候我有一种想砸了它的冲动。
Eclipse可以从文件类型、工作区、项目、单个文件四个级别设置文件编码,而且允许手工输入编码名称,这比Visual Studio从一个长长的列表里选择要快捷得多。
6. 错误信息不够人性化
Visual Studio如果编译出错,错误信息只是简单的列在输出窗口里,要你去一个一个点开来看。而Eclipse的错误信息同时会在Package Explorer里显示成Overlay Icon,从而清楚的了解到项目的哪些部分受到了错误的影响。
7. 添加新类过于简单
Visual Studio在创建新文件时唯一允许你指定的选项是文件名,剩下的只能手工修改。Eclipse在创建新类时提供诸多选项,比如要求实现某个接口,那么所有接口方法的存根也会一并生成,节约了很多时间。
8. 同一文件的导航功能不够一致
在Visual Studio的代码文件中如何导航?使用成员下拉框。
在可视化编辑器里怎么导航?用Document Outline窗口。
在引用的程序集里又如何导航?用Object Browser窗口。
在Eclipse中,上述所有内容都可以通过Outlilne窗口完成,操作也完全一致,不像Visual Studio那样每个窗口都有不同的界面和操作方法。
9. 管理引用
我们创建项目的时候总有一些库是经常要用到的,比如数据项目引用NHibernate,Silverlight项目引用Toolkit,等等。Visual Studio引用哪些程序集只能由我们手工查找,而Eclipse提供了User Library的管理功能,能够让我们将常用的库引用一次性导进来,比Visual Studio的Add References不知方便几许。
10. 重构功能比较初级
Visual Studio支持代码重构,Eclipse也支持,但是你比较一下两者的菜单就知道,它们对重构的支持程度完全不是同一个级别的。
11. 代码提示不够清楚美观
Visual Studio的代码提示同样只有单一的文字格式,大段的文字看下来,很难抓住重点。
Eclipse的代码提示格式是富格式内容,能突出显示重点,可导航的部分会显示成超链接,同时还提供附加的功能按钮,比Visual Studio要细致体贴得多。
12. 缺少本地历史记录功能
Eclipse有一个非常强大的功能是将最近的编辑历史记录保存在本地,这样即使你没有使用版本数据库也能跟踪修订信息、比较版本、还原历史记录,对一些实验性的项目或者不需要签入的开源项目来说是非常有用的,并且你也可以用它来记忆内容,整理思路。Visual Studio则完全没有这种功能。
13. 缺少智能化的快速修复
这是我最爱的Eclipse功能!Eclipse不仅找出编译错误,还能够为许多种类型的错误提供修复选项。这个修复选项确实相当的智能,对很多常见的编译错误都能找到合理的解决方案,比如下面的错误它就能猜到getMessge()实际上是getMessage()拼错了,我只需要在这一项上按回车就万事OK。
Visual Studio的只能机械的显示一些错误信息。有时候错误提示也会附带一些关于如何修正错误的提示,但大多比较死板,需要程序员靠自己的经验来修复错误。
14. 最后一个不得不说的地方是,Eclipse是完全免安装的。这意味着什么呢?如果我哪天重新安装了系统,那么打开Eclipse马上可以再次使用,以前设置的所有选项和更新内容全部立即可用。而Visual Studio就不得不重新安装、打补丁、设置各种选项,如果运气不好安装过程中突然出了什么错,那你所有过程重来一遍吧,一整天就这样没了。更让人讨厌的是,VS2010安装过程中竟然要重启两次,就算你非重启不可的话,难道不能把所有内容准备好然后一次性解决吗!?