谈谈Visual Studio的缺点,比较Eclipse
诚然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相关推荐
- PYPL 12 月 IDE 榜单:Eclipse 有望超越 Visual Studio
PYPL 12 月的 IDE 指数榜单已发布,前三名依然是 Visual Studio.Eclipse 和 Android Studio . 相比于上个月的 0.29% ,位于第一名的 Visual ...
- 如何使用Visual Studio Code调试PHP CLI应用和Web应用
在按照Jerry的公众号文章 什么?在SAP中国研究院里还需要会PHP开发? 进行XDebug在本地的配置之后,如果想使用Visual Studio Code而不是Eclipse来调试PHP应用,步骤 ...
- 视频来了!Visual Studio Online 东半球首秀 @ .NET Conf 2019 中国峰会
2019 年 11 月 9 日, .NET Conf 2019 中国峰会于上海中谷小南国花园酒店举行,全国的 .NET 大咖相聚上海. 这次我演讲的主题是<Visual Studio Code ...
- 微软阵营企稳的利好消息:.NET开源、Visual Studio免费
今天各个IT社区,头版头条说的是微软.NET开源了.宇宙中最好的IED–Visual Studio Community 2013将免费提供给用户的消息. <宇宙中最强大的开发环境免费了!> ...
- 微软 VS Code 或将取代 Visual Studio!
点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 作者 | 琥珀 对于前端来讲,使用微软的Visual Studio Code 以提高开发效率 ...
- 在Visual Studio上开启自己的C++学习之旅
目录 0.引言: 1.本教程使用到的相关软件或产品: 2.下载及安装Visual Studio: 2.1.创建符号链接: 2.2.安装Visual Studio: 2.2.1.补充: 3.创建并运行自 ...
- Visual Studio代码:高级用户指南
In this guide, you'll learn how to take advantage of Visual Studio Code to supercharge your developm ...
- TFS与Eclipse、Microsoft Visual Studio等客户端以webservice进行交换。
TFS与eclipse.Microsoft Visual Studio等客户端以webservice进行交互. 参考地址: http://server_ip:8080/tfs/项目区域/version ...
- Teamcenter 开发利器组合介绍。 Eclipse + Visual Studio
<!-- [if !mso]><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![end ...
最新文章
- java jsp setAttribute setParameter 区别
- Yii 判断是不是post方式提交的数据
- Fast Radial Symmetry Transform/快速径向对称变换
- 迪普科技以近50%份额全面中标国家电网2016信息化硬件采购
- 【智能工厂】智能工厂如何快速落地
- bwlabel和bwconncomp区别
- 活动文档服务器,ACTIVEDOC 示例:实现活动文档服务器
- Linux多线程编程实验
- MATLAB使用及介绍
- java解析marc乱码_国际C语言乱码大赛(IOCCC)的一个经典作品
- 技术人攻略访谈三十六-马鉴:玩Flash十五年,养出一只“神经猫”
- vue websocket实现消息推送和语音提醒功能
- python日程提醒小程序_用Python写个爬虫小程序,给女朋友每日定时推送睡前小故事...
- 秘猿科技开源 CITA-Monitor
- 破解ISAPI_Rewrite3.1以及相关知识
- 红帽子系统如何安装到服务器,Redhat(红帽子)安装使用及服务器应用FAQ.doc
- PPOJ1100: 诡异的楼梯
- 今日头条——青龙羊毛
- 各大IT公司校园招聘程序猿笔试、面试题集锦
- 一分钟了解矩阵、方阵、对角矩阵、单位矩阵之间的关系
热门文章
- php vo,$vo.id php
- C++中getline()函数
- 弹窗页面PHP代码不执行,PHP代码没有被执行,而是代码显示在页面上
- Django model层 mysql_Django模型层(models.py)之模型创建
- jsp java el_jsp之EL表达式
- Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法
- 把脉Linux上USB数据流
- OSPF虚拟链路实验
- QQ第三方登录报错error=-1
- 【转】JDBC为什么要使用PreparedStatement而不是Statement