黑客新聞網友討論比較IDEA與VsCode兩種開發工具

發表於2021-03-07

IDEA vs VS Code的故事是一個低端顛覆高階的故事,VsCode幾乎吸引了所有年輕和時髦的觀眾。同時,JetBrains似乎仍能保持生存,這主要歸功於辛勤的工作和運氣。

 

考慮到VS Code迭代開發的速度(很大程度上要歸功於JS + Web渲染器的生產力),我認為VS Code將對JetBrains IDE構成威脅,但它似乎永遠無法完全達到JetBrains功能級別。

JetBrains中的每個IDE功能都實現得很好,無論是程式碼分析,重構,導航,執行/除錯,執行測試,新增新檔案,git整合還是上下文功能(如新增程式包引用等)。JetBrains中的一切都更好一些。

我認為VS Code是一個無處不在的智慧編輯器平臺,具有成千上萬個外掛,介於精美的文字編輯器和IDE之間,我經常使用它進行快速的開發更改,快速搜尋資料夾,前端UI開發,嘗試新語言或編寫文件。但是,如果我必須開始一個漫長的開發程式,我將轉向JetBrains,我發現它的工作效率更高。

 

感覺它們來自不同的開發哲學。

Vscode是“文字編輯器”或“程式碼編輯器”。通常,這意味著它相當輕巧,可以支援每種語言,具有高度可配置性和可擴充套件性,但是沒有很多非常深入的功能,依賴第三方擴充套件來提供更深的功能。

另一方面,Jetbrains可在為一種特定語言顯式構建的IDE上工作。考慮CLion for C,它只有兩年的歷史了!

他們投入了大量資源來支援一種語言及其所有相關的工作流程。

簡而言之,程式碼編輯器通常會具有很多可配置性和可擴充套件性的網路,而(jetbrains)IDE往往會深入研究單一語言或工作流,而擴充套件性卻較低,並且受支援的語言本身也具有很深的可配置性。

 

Intellij允許您將所有其他jetbrains IDE的大部分功能安裝為外掛。另外,他們的大多數IDE都具有使用多種其他語言進行編碼的能力,這些語言與核心體驗是分開的。例如,他們大部分都可以與javascript生態系統整合。

Intellij實際在後臺有一個jetbrains IDE。這個IDE是一個單一平臺,可以使用任何語言的外掛和程式碼,並且可以根據您的喜好進行自定義。

從表面上看,Jetbrains並沒有完全向公眾釋出這個IDE。他們在這個IDE基礎上提供了不同的配置和不同的預設值,然後將其鎖定並以不同的名稱運送每一個配置檔案中。所有這些IDE基本上都是在完全相同的,在一個核心平臺上執行不同的外掛。

這就是為什麼CLion才幾年還算不錯的原因。這是因為只要新開發一個外掛,將其推入了現有的生態系統中即可。

這與Vscode沒什麼不同。兩者都是可以插入新功能的編碼平臺,只是jetbrains鎖定了一些自定義功能,並通過外掛捆綁銷售其IDE,從而提供了更好的核心體驗。

使Jetbrains變得更好的是這種集中而又質量較高的功能組合,感覺具有凝聚力。使Jetbrains更糟的是,他們的中央平臺變得臃腫,導致一切都很緩慢,需要花費很長時間啟動,並且可能會鎖定。

 

IDEA產品類似Borland IDE或Quick Basic之類的空間,而VSCode似乎更像是JavaScript時代的Emacs。

 

不知道現在有多少開發人員用一種語言編寫程式碼。我每天都會在Go,Dart和C ++之間往返,因此使用像VSCode這樣的IDE(具有從副檔名到快捷方式再到片段的熟悉功能)是一個很大的幫助。

 

我也是維護幾種語言,JetBrains IDE都內建了對JS / TypeScript +所有流行的Web檔案格式的一流支援,無論您使用何種後端語言。

對於C#,F#和VB,我使用Rider。

對於Dart,Java和Kotlin,我使用Android Studio,但是如果我需要使用Java / Kotlin進行大量開發,那麼我會跳到IDEA。

對於TypeScript / JS npm專案,我使用VS Code進行較小的更改,但是對於較長的開發則使用WebStorm。

對於Swift軟體包,我將Xcode用於開發,將VS Code用於git,更新文件並執行釋出指令碼。

對於所有其他語言我將使用VS Code,這主要是因為我沒有安裝IDE。

 

Jetbrains IDE效能是如此糟糕,我覺得煩惱。

我發現VSCode是功能最豐富的編輯器,我可以忍受它的速度。從資源消耗或啟動速度上來講,VSCode絕不是理想的選擇,但使用VSCode編寫rust,node.js,前端js等語言是一條黃金之路,而使用其他更輕便的編輯器則是一個很大的降級。

Sublime的前景令人難以置信,但就我的經驗而言,其功能不足是不言自明得。我會把錢和精力投入到本機的、效能更高/更輕便的VSCode中。

 

我同意,我也認為關於vs程式碼作為通用文字編輯器的評論是很公平的。

 

Intellij在企業環境中具有巨大的優勢,在企業環境中,一致性,統一性和易於更換的團隊成員至為重要,VSCode是高度可定製的程式碼編輯器,適合不同的用例,團隊中的每個成員都希望儘可能地自定義工作經驗。

 

我不認為Jetbrain僅憑努力和運氣就能保持領先。一旦您瞭解了Intellij的內幕,很明顯它們具有顯著的體系結構優勢。

VS Code是使用LSP提供重構和導航的文字編輯器,而Intellij是在前端具有良好文字編輯器的重構引擎。Intellij是一個在抽象語法樹上執行的結構化編輯器。

建立LSP的難點是提供諸如重構和導航支援之類的功能,而這些正是IntelliJ為其語言外掛提供的功能。為了實現給定的重構和導航支援水平,LSP開發人員需要比jetbrains外掛開發人員花費更多的精力。

從我的角度來看,Jetbains似乎並沒有通過努力工作和運氣來保持領先,而通過智慧架構和設計使他們能夠以更少的努力來生產高階,高價值的功能似乎並沒有保持領先。

 

我並不認為IntelliJ和VSCode是競爭者。VSCode可與Atom和其他功能齊全的文字編輯器(vim,emacs)競爭...在新一代程式設計師中,VSCode受到了極大的歡迎,他們認為那些舊編輯器既顯得老派又對使用者懷有敵意。

VSCodes對Java,Python和Golang的支援遠遠落後於IntelliJ。

在我們撰寫大量Go語言的Microsoft團隊中,IntelliJ / GoLand開發人員和VS Code開發人員之間有50/50的分配比例,並且有更多人從VS Code轉向IntelliJ,反之亦然。

 

我已經使用IntelliJ for Java很久。對於JS和Go,我使用VSCode。

 

JetBrains的東西幾乎一樣。不支援諸如如何配置其自動格式化程式以相容特定設定的美化工具。不支援開箱即用的必需配置。而程式碼構建build和IDE通常生活在完全不同的世界中。

Android Studio可能會在“索引編制”時掛起整個mac,並且通常需要“重置快取並重新啟動”,而在VS Code中可以正常工作。

 

VSCode對於TypeScript非常非常好。天哪,我敢肯定VSCode本身是用TypeScript編寫的!

但這並不適用於所有語言。當在帶有Java後端的Web應用程式上工作時,我仍然更喜歡Idea,因為它對Java更好,對於TypeScript也足夠近的好,因此它在所有方面都遙遙領先。

 

我對VS Code的看法是,他們對開發容器和ssh的支援是最好的,並且是殺手級功能。

 

我非常想在IDEA中使用VS Code的遠端開發功能,並在YouTrack中跟蹤其遠端開發功能。

我想要的只是我的程式碼可以在任何地方執行,而我的本地計算機是IDE。

mutagen.io最終成為了我的答案。在瞭解了它的工作原理之後,我對其進行了設定,並且效果非常好。這些天我主要在進行PHP開發,並且有一個LAMP堆疊作為docker容器在伺服器上執行。

同步幾乎是即時的(99%的時間),罕見的衝突很容易解決,並且除錯當然仍然有效。

我唯一缺少的是協作編輯,我仍然必須跳到VS Code來做。

對於協作/結對編碼,與編輯器無關的解決方案真的很棒。

 

我使用VSCode進行我95%的開發,感到更開心。我將其餘的5%用於IntelliJ。

 

我不喜歡使用JetBrain工具。無論我在使用它們的任何機器上,它們都感覺呆滯且腫脹。啟動編輯器需要花費很多時間,而且往往反應遲鈍,或者您會感覺到螢幕上出現的字元與按鍵之間的延遲。

  

根據Jetbrains自己的調查,VS Code確實越來越受歡迎:從2017年的7%的Python開發人員到2020年的29%,而Pycharm仍然保持在33%左右。

 

VSCode不會殺死IDEA,但這對Jetbrains來說是一個巨大的警告

他們最好投入更多的精力來解決自一開始就困擾著他們的IDE的緩慢啟動和效能問題。

 

banq:vscode是全棧工程師唯一選擇。VsCode Yes! 

 

相關文章