iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
3
Software Development

這次我們不跳過 IDE系列 第 2

Day 02: 為什麼我會想要推薦 vs code

理由

搜尋 vs code,第一頁大概有三、四篇 blog 心得文,點進去閱讀後,大致上可以整理以下幾個優點:

  • 整合 Git(這個絕對是最大的優勢)
  • 內建 debugger
  • 整合 terminal、cmd
  • 聰明的 intelliSense
  • 極度活躍的生態圈

而我自己更喜歡某個功能:

  • Peek References、Peek Definition
    • 可以快速查看函式、方法的內容。
    • 這個留在後面再做介紹。

筆者覺得,第一點就是使用 vs code 最棒的理由。以下讓我開啟兩個常見的免費 IDE,給大家看一下三者的差異。

atom、sublime、vs code 如何提醒程式變更的區塊

  • 前提:使用安裝完成後的設定進行比較。

atom

compare_atom

可以看到,會是整行的顏色變更,用深淺表達修改、新增。

大致上可以理解變更的區塊。

sublime

compare_sublime

可以看到,在編輯畫面的最左邊,使用淡黃色標注有變更的行數。編輯畫面左下角,使用鮮豔的綠色表示新增。

非常不起眼的提示,有跟沒有一樣。

vs code

compare_vscode

Atom 的強化版本,變動的部分整行顏色變更之外,真正被修改的部分,會使用顏色較淡的底色,讓工程師一目了然,了解這次修改的地方。

十分顯著的提醒,簡化我判斷修改的部分,所需消耗的理解力。

同場加映:source tree

compare_source_tree

可以看出,跟 Atom 幾乎相似,差別是顏色的不同。

可以猜測,Atom 因為是 Github 推出的,所以在提醒變更的顯示上,多少沿用 git 的比較模式。

自我反駁

除了筆者在上述所列出的優點之外,其實挑選一款 IDE,還有其他的思考點可以切入,以下列出幾點給各位參考:

使用的語言

必須先聲明,VS code 是使用 electron.js 開發,可以在electron.js的官方列表找到證明。因此先天上,非常適合從事 HTMLCSS 以及 JavaScript 開發工作的工程師們,對於這三個語言的支援,遠勝過其他語言。所以,如果你從事相關開發(web 、mobile app等),那你真的應該趕快使用 vs code。

至於其他語言的支援,契合度肯定略遜於開宗明義表示支援某某語言的 IDE,不論是免費還是付費的 IDE。例如:

  • vim
  • eclipse
  • IntelliJ IDEA
  • RubyMine
  • GoLand
  • PyCharm
  • ...

基本上,專屬的 IDE 都會盡可能滿足相關語言的開發需求。因此使用專屬的 IDE 開發,可以減少一些奇怪的狀況。假如遇到奇怪的狀況,肯定不少人也會遇到,因此,google 一下,幾乎可以找到解決方案。

這點是我經常被主管念的地方,使用 vs code 開發 java,而不是使用 eclipse。

個人習慣問題

快捷鍵

這點是針對已經有一段開發經歷的工程師們,因為長時間使用某款 IDE,當要跳槽使用別款 IDE 時,會出現關於熟悉度的沉沒成本。工程師的特色就是可以偷懶就偷懶,除非能告知跳槽的好處,不然要工程師重新學習一款 IDE,簡直是難上加難。

還好 vs code 有推出 extension,關於其他 IDE 的快捷鍵。安裝後就可以重拾習慣的快捷鍵們!
other_ide_keymap

開啟專案

vs code 在官方文件已經表明,沒有內建從 Project 起頭的做法,只有單檔新增。
解決方法只能依賴 extension,或是依賴相關語言本身的 CLI。
這或多或少會成為令人感到煩躁的理由。

對品牌的堅持

這點就很有趣了,vs code 的爸爸是微軟,而我在看網路上的經驗,多多少少感受到部分工程師討厭微軟,覺得微軟不開源的精神違背自己的理念。
而我必須講一下公道話。
自從新的執行長薩蒂亞.納德拉(Satya Nadella)上台後,已經跟過往幾年相比,開源許多了。最好的例子就是 vs code 的程式碼可以在 GitHub 上找到。

寫到這,也是筆者個人的觀點,如果你覺得這樣仍不足以信服自己,也沒關係。

結論

以上內容,是筆者個人十分主觀的看法,而這些看法已經說服筆者自己。
至於讀者們能不能說服,嘛,隨緣囉。


上一篇
Day 01: 緣由、大綱
下一篇
Day 03: 如果你只想趕快開工的話
系列文
這次我們不跳過 IDE30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言