诚然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安装过程中竟然要重启两次,就算你非重启不可的话,难道不能把所有内容准备好然后一次性解决吗!?

转载于:https://www.cnblogs.com/yhwork/archive/2010/07/27/vs_shortcoming.html

谈谈Visual Studio的缺点,比较Eclipse相关推荐

  1. PYPL 12 月 IDE 榜单:Eclipse 有望超越 Visual Studio

    PYPL 12 月的 IDE 指数榜单已发布,前三名依然是 Visual Studio.Eclipse 和 Android Studio . 相比于上个月的 0.29% ,位于第一名的 Visual ...

  2. 如何使用Visual Studio Code调试PHP CLI应用和Web应用

    在按照Jerry的公众号文章 什么?在SAP中国研究院里还需要会PHP开发? 进行XDebug在本地的配置之后,如果想使用Visual Studio Code而不是Eclipse来调试PHP应用,步骤 ...

  3. 视频来了!Visual Studio Online 东半球首秀 @ .NET Conf 2019 中国峰会

    2019 年 11 月 9 日, .NET Conf 2019 中国峰会于上海中谷小南国花园酒店举行,全国的 .NET 大咖相聚上海. 这次我演讲的主题是<Visual Studio Code ...

  4. 微软阵营企稳的利好消息:.NET开源、Visual Studio免费

    今天各个IT社区,头版头条说的是微软.NET开源了.宇宙中最好的IED–Visual Studio Community 2013将免费提供给用户的消息. <宇宙中最强大的开发环境免费了!> ...

  5. 微软 VS Code 或将取代 Visual Studio!

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 作者 | 琥珀 对于前端来讲,使用微软的Visual Studio Code 以提高开发效率 ...

  6. 在Visual Studio上开启自己的C++学习之旅

    目录 0.引言: 1.本教程使用到的相关软件或产品: 2.下载及安装Visual Studio: 2.1.创建符号链接: 2.2.安装Visual Studio: 2.2.1.补充: 3.创建并运行自 ...

  7. Visual Studio代码:高级用户指南

    In this guide, you'll learn how to take advantage of Visual Studio Code to supercharge your developm ...

  8. TFS与Eclipse、Microsoft Visual Studio等客户端以webservice进行交换。

    TFS与eclipse.Microsoft Visual Studio等客户端以webservice进行交互. 参考地址: http://server_ip:8080/tfs/项目区域/version ...

  9. Teamcenter 开发利器组合介绍。 Eclipse + Visual Studio

    <!-- [if !mso]><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![end ...

最新文章

  1. java jsp setAttribute setParameter 区别
  2. Yii 判断是不是post方式提交的数据
  3. Fast Radial Symmetry Transform/快速径向对称变换
  4. 迪普科技以近50%份额全面中标国家电网2016信息化硬件采购
  5. 【智能工厂】智能工厂如何快速落地
  6. bwlabel和bwconncomp区别
  7. 活动文档服务器,ACTIVEDOC 示例:实现活动文档服务器
  8. Linux多线程编程实验
  9. MATLAB使用及介绍
  10. java解析marc乱码_国际C语言乱码大赛(IOCCC)的一个经典作品
  11. 技术人攻略访谈三十六-马鉴:玩Flash十五年,养出一只“神经猫”
  12. vue websocket实现消息推送和语音提醒功能
  13. python日程提醒小程序_用Python写个爬虫小程序,给女朋友每日定时推送睡前小故事...
  14. 秘猿科技开源 CITA-Monitor
  15. 破解ISAPI_Rewrite3.1以及相关知识
  16. 红帽子系统如何安装到服务器,Redhat(红帽子)安装使用及服务器应用FAQ.doc
  17. PPOJ1100: 诡异的楼梯
  18. 今日头条——青龙羊毛
  19. 各大IT公司校园招聘程序猿笔试、面试题集锦
  20. 一分钟了解矩阵、方阵、对角矩阵、单位矩阵之间的关系

热门文章

  1. php vo,$vo.id php
  2. C++中getline()函数
  3. 弹窗页面PHP代码不执行,PHP代码没有被执行,而是代码显示在页面上
  4. Django model层 mysql_Django模型层(models.py)之模型创建
  5. jsp java el_jsp之EL表达式
  6. Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法
  7. 把脉Linux上USB数据流
  8. OSPF虚拟链路实验
  9. QQ第三方登录报错error=-1
  10. 【转】JDBC为什么要使用PreparedStatement而不是Statement