談談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的工具按鈕里,打開和關閉都只需要點擊一次鼠標就行了。
4. 設置代碼格式不夠靈活
看上去Visual Studio也提供了不少代碼格式選項,可還是缺少很多高級設置,比起Eclipse只能算小巫見大巫了。比如,我很喜歡Eclipse把字段對齊這個功能,但Visual Studio壓根沒有這個選項。
5. 代碼行定位功能不如Eclipse
Eclipse編輯器右側有個特殊區域代表了整個代碼文件,斷點、錯誤、警告、書簽都會在這里標識出來,不論代碼有多長,點擊一下就可以定位,非常的方便。
在Visual Studio里面定位代碼,要么用鼠標滾輪上下翻動直到找到內容,要么從成員列表的組合框里選擇,不論哪一種,都沒有Eclipse來得簡潔方便。
6. 設置文件編碼太過麻煩
Visual Studio既不能指定文件的默認編碼,也不能批量設置文件編碼,只能通過Save As對話框下面一個很小的箭頭手工一個一個指定,麻煩到文件多的時候我有一種想砸了它的沖動。
Eclipse可以從文件類型、工作區、項目、單個文件四個級別設置文件編碼,而且允許手工輸入編碼名稱,這比Visual Studio從一個長長的列表里選擇要快捷得多。
7. 錯誤信息不夠人性化
Visual Studio如果編譯出錯,錯誤信息只是簡單的列在輸出窗口里,要你去一個一個點開來看。而Eclipse的錯誤信息同時會在Package Explorer里顯示成Overlay Icon,從而清楚的了解到項目的哪些部分受到了錯誤的影響。
8. 添加新類過于簡單
Visual Studio在創建新文件時唯一允許你指定的選項是文件名,剩下的只能手工修改。Eclipse在創建新類時提供諸多選項,比如要求實現某個接口,那么所有接口方法的存根也會一并生成,節約了很多時間。
9. 同一文件的導航功能不夠一致
在Visual Studio的代碼文件中如何導航?使用成員下拉框。
在可視化編輯器里怎么導航?用Document Outline窗口。
在引用的程序集里又如何導航?用Object Browser窗口。
在Eclipse中,上述所有內容都可以通過Outlilne窗口完成,操作也完全一致,不像Visual Studio那樣每個窗口都有不同的界面和操作方法。
10. 管理引用
我們創建項目的時候總有一些庫是經常要用到的,比如數據項目引用NHibernate,Silverlight項目引用Toolkit,等等。Visual Studio引用哪些程序集只能由我們手工查找,而Eclipse提供了User Library的管理功能,能夠讓我們將常用的庫引用一次性導進來,比Visual Studio的Add References不知方便幾許。
11. 重構功能比較初級
Visual Studio支持代碼重構,Eclipse也支持,但是你比較一下兩者的菜單就知道,它們對重構的支持程度完全不是同一個級別的。
12. 代碼提示不夠清楚美觀
Visual Studio的代碼提示同樣只有單一的文字格式,大段的文字看下來,很難抓住重點。
Eclipse的代碼提示格式是富格式內容,能突出顯示重點,可導航的部分會顯示成超鏈接,同時還提供附加的功能按鈕,比Visual Studio要細致體貼得多。
13. 缺少本地歷史記錄功能
Eclipse有一個非常強大的功能是將最近的編輯歷史記錄保存在本地,這樣即使你沒有使用版本數據庫也能跟蹤修訂信息、比較版本、還原歷史記錄,對一些實驗性的項目或者不需要簽入的開源項目來說是非常有用的,并且你也可以用它來記憶內容,整理思路。Visual Studio則完全沒有這種功能。
14. 缺少智能化的快速修復
這是我最愛的Eclipse功能!Eclipse不僅找出編譯錯誤,還能夠為許多種類型的錯誤提供修復選項。這個修復選項確實相當的智能,對很多常見的編譯錯誤都能找到合理的解決方案,比如下面的錯誤它就能猜到getMessge()實際上是getMessage()拼錯了,我只需要在這一項上按回車就萬事OK。
Visual Studio的只能機械的顯示一些錯誤信息。有時候錯誤提示也會附帶一些關于如何修正錯誤的提示,但大多比較死板,需要程序員靠自己的經驗來修復錯誤。
15. 最后一個不得不說的地方是,Eclipse是完全免安裝的。
這意味著什么呢?如果我哪天重新安裝了系統,那么打開Eclipse馬上可以再次使用,以前設置的所有選項和更新內容全部立即可用。而Visual Studio就不得不重新安裝、打補丁、設置各種選項,如果運氣不好安裝過程中突然出了什么錯,那你所有過程重來一遍吧,一整天就這樣沒了。更讓人討厭的是,VS2010安裝過程中竟然要重啟兩次,就算你非重啟不可的話,難道不能把所有內容準備好然后一次性解決嗎!?