VS Code,是一款支持Linux、Windows和macOS的代碼編輯器。它可以像集成開發(fā)環(huán)境(IDE)一樣管理整個代碼庫,同時還可以通過插件進行擴展,被新生代的程序員戲稱為“宇宙第一IDE”,可以輕松打敗其他編輯器。
近兩年,為了提高在VS Code上的Java生產(chǎn)力,微軟拼了。
日前,微軟發(fā)布了對基于Spring應用程序支持的VS Code更新,同時建立了一個新的Microsoft網(wǎng)站,專門用于幫助Java開發(fā)者能夠高效地編寫、部署和擴展他們的應用程序。
微軟的Java基因
微軟對于Java一直都未真正放棄過,J++、C#、.NET與Java的“愛恨情仇”也一度成為開發(fā)者茶余飯后的談資。直至2019年,OpenJDK郵件列表中一封來自微軟的郵件宣布“期待參與Java的未來”,徹底表明了微軟對于Java的態(tài)度!
回到今天,微軟將這種不放棄的熱度折射到VS Code上。這款不斷“蠶食”JetBrain系市場的開源的編輯器,面朝Java,全力奔赴。
2016年,在微軟蘇黎世辦公室的編程馬拉松中,來自Red Hat、IBM、Codenvy和微軟的工程師們開發(fā)了第一個版本的Java Language Server。后來,它便成為了Visual Studio Code中最受歡迎的插件之一,擁有超過280萬的安裝量。
2019 年 6 月 ,微軟發(fā)布了VS Code Java安裝程序,這樣開發(fā)者能一鍵安裝所有Java開發(fā)環(huán)境。
2021年,VS Code在Java方向上動作頻頻。微軟發(fā)布了面向Java開發(fā)者的Visual Studio Code更新路線圖,展示了一些重要的新功能和改進,路線圖涵蓋2021年7月至12月,重點關注開發(fā)體驗、遠程開發(fā)、測試、安全等方面。
尤其是遠程辦公方面,確實博得了一波因為疫情不得不居家辦公的開發(fā)者們的好感。
2022年,對Java開發(fā)的執(zhí)迷程度更甚從前,更新范圍進一步包括了Spring boot及云原生開發(fā)方面。
VS Code Java 2月更新:推出教育特別版,包括單元測試、GUI開發(fā)支持、Gradle項目創(chuàng)建、以及更多;
VS Code Java 3月更新:代碼補全、Maven以及Java插件預覽版本新升級;
Visual Studio Code Java 4月更新:推出許多基礎開發(fā)體驗更新,包括Java 18支持、參數(shù)名稱的嵌入提示、新的Java語言服務器狀態(tài)交互、更好的lambda表達式支持等;
Visual Studio Code Java 6月更新:包括針對Spring開發(fā)者的一些重大更新、基礎體驗的增強以及用戶體驗的提升;
VS Code Java 7月更新:Lombok支持重大提升, Spring Bean依賴關系視圖。
2022年的路線規(guī)劃主要有6個方面,包括基礎開發(fā)體驗的提升、性能與可靠性、構(gòu)建工具、Spring Boot端到端的支持、用戶體驗、云原生開發(fā)。
VS Code的勁敵
作為輕量級編輯器“一哥”,當然也有不少競品覬覦。Atom、Code-OSS、Geany、Brackets、GNOME Builder等都是開源的編輯器,但這些編輯器明顯不具備太大優(yōu)勢,尤其Atom作為老牌編輯器已經(jīng)被微軟宣布即將于12月停用。
IDE領域,要說能與VS Code相爭的,不得不提以嚴謹著稱的JetBrains系,而在Java方向上,就要說到IntelliJ IDEA這個把無數(shù)開發(fā)者都寵壞了的Coding神器。
IntelliJ IDEA以出色的用戶體驗和廣泛的功能而聞名,有著精致的用戶界面、可配置的代碼完成和模板、完善的支持文檔等優(yōu)點。它有兩個版本,免費的IntelliJ IDEA Community版本和付費的IntelliJ IDEA Ultimate版本。
但有時候優(yōu)點即是缺點,完美的體驗背后需要耗用太多的內(nèi)存資源,一直是被人詬病之處。
當然JetBrains也意識到了這個問題,去年年底,輕量級編輯器Fleet一經(jīng)推出,眾多參與內(nèi)測的工程師大呼:真香!期待正式版!但問題又回到費用上:是免費的可能性不大!
相比之下,采用開源策略的VS Code,跨平臺、輕量級、多語言,同時集成了版本管理、開箱即用的特點,使得它即便作為一個Java上的后發(fā)者,也能一步步“蠶食”掉IDEA的Java開發(fā)者市場份額。
要知道,VS Code跟進一項開發(fā)語言的速度是非?斓。
據(jù)Python軟件基金會和JetBrains在2019年11月進行的一次采訪調(diào)查,來自150多個國家/地區(qū)的2.4萬名開發(fā)者曾參與其中。調(diào)查結(jié)果顯示,受訪者最喜歡的Python開發(fā)工具是PyCharm和VS Code,接著是Vim。其中VS Code所占份額經(jīng)歷了快速增長,從2017年的7%到 2019 年的24%。
正如外媒所言,VS Code號稱能重新定義代碼編輯器,不僅免費而且開源,能在多個平臺上運行使用。VS Code對比IDEA不僅更輕量級,而且構(gòu)建與響應速度也更快!
云原生時代,微軟無需小而美
VS Code從來都不希望自己是個“小而美”的產(chǎn)品,一旦確定方向,就會不遺余力。Spring對于微服務開發(fā)的Java從業(yè)者而言,重要性不言而喻。
值得注意的是,2022年路線圖中提到了大量關于Spring Boot開發(fā)相關的提升目標:
簡化Spring項目、Controller、Bean的創(chuàng)建流程
更好的Spring核心概念可視化(例如:Bean、API映射等)
Spring Controller和類的模版代碼生成
改進Spring Boot儀表盤中Spring應用的生命周期管理
為Spring依賴庫的管理提供更加直觀的體驗
其中,舉一個近期的VS Code Java更新的例子,就能得到證明:新增了連接實時進程時的Spring bean屬性(列出在Spring應用程序本身加載時加載的所有bean),而如果在沒有IDE支持的情況下要獲得相同的結(jié)果,開發(fā)者就需要獲取 ApplicationContext并調(diào)用.getBeanDefinitionNames,
例如:
System.out.println(Arrays.asList(applicationContext.
getBeanDefinitionNames));
左右滑動查看完整代碼
有了這個新增功能,VS Code更進一步揭示了bean的屬性信息,即它們是否是單例、原型等,同時還用“已定義”標記自己的 bean 以保持彼此之間的邏輯井井有條。
作為一名Spring開發(fā)人員,bean依賴關系是我們經(jīng)常處理的事情,將其可視化極大地方便了對這一問題的處理。
但是微軟并沒有將Java和Spring的支持限制在VS Code中。它還增加了對Intellij和Azure的支持,這證明了在微服務和云狂熱的情況下,目標是將Azure作為開發(fā)Java應用程序時的首選平臺。
開發(fā)者的看法
那么對于開發(fā)Java/Spring應用程序的VS Code與IntelliJ的判斷是什么?
雖然VS Code有了很大的改進,但它還沒有達到IntelliJ所賦予Java開發(fā)的水準,尤其是在代碼重構(gòu)業(yè)務方面。不過,如果使用Java以外的其他語言進行編程,那么VS Code可能是最合適的選擇。
VS Code Java的使用者,最多被吐槽的還是插件太多的問題。熱心的網(wǎng)友對于這一問題,也是無可奈何:“插件安裝完成后還是需要逐一去配置調(diào)試的,這個沒法自動化,畢竟各人喜好不同,不過大多數(shù)插件都是開箱即用的。”
甚至被IDEA寵壞了的開發(fā)者會調(diào)侃:“這玩意兒歸根到底就是支持各種各樣插件的編輯器!”
不做單選題
作為開源的輕量級通用代碼編輯器,VS Code的Java開發(fā)體驗確實不如JetBrains,但勝在開源免費、支持多語言、具有高度可配置性和可擴展性,而且許多創(chuàng)新體驗,比如在遠程開發(fā)功能體驗上,VS Code更勝一籌。比如一名開發(fā)者就如是說:
“想在IDEA中使用VS Code的遠程開發(fā)功能,并在YouTrack中跟蹤其遠程開發(fā)功能。我想要的只是我的代碼可以在任何地方運行,而我的本地計算機是IDE。”
快速的創(chuàng)新迭代,會趕超一切。對于編輯器而言,不進則退,也是同樣的道理。
Atom的停用就是眼前的一個例子。沒有大的功能更新,是一件很危險的事情。從GitHub官方針對代碼編輯器的優(yōu)化與迭代已經(jīng)全方面轉(zhuǎn)移到了VS Code 上來看,也就注定了同根生的Atom淡出視野的結(jié)局。而Atom,作為第一個被廣泛應用于市場的Electron應用,12月的退役更多地意味著它本身的歷史使命已經(jīng)達成。
所以,難怪會有人為IDEA感到擔憂。在微軟全力加倉Java支持的情況下,如果固步自封,產(chǎn)品的迭代與創(chuàng)新跟不上的話,VS Code可能就不僅僅是一個開源免費的高級編輯器了,而極有可能做實“新生代程序員中宇宙第一編輯器”的頭銜,甚至成為IDE領域的“安卓”,也或未可知。
JetBrains正式版的Fleet會扳回一局嗎?答案只有開發(fā)者知道。
畢竟,哪個編輯器好用取決于市場。但對于開發(fā)者來說,卻是一件利好的事情,“單選題”只適合“小孩子”去做,真正的coding人,從來都是兼容并蓄,各盡其才!
文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請謹慎對待。投資者據(jù)此操作,風險自擔。
2024年的Adobe MAX 2024發(fā)布會上,Adobe推出了最新版本的Adobe Creative Cloud。
奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。
“以前都要去窗口辦,一套流程下來都要半個月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關材料,僅幾秒鐘,重慶市民曾某的賬戶就打進了21600元。
華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來實質(zhì)性的幫助,雙十一期間低至2799元,性價比很高,簡直是創(chuàng)作者們的首選。
9月14日,2024全球工業(yè)互聯(lián)網(wǎng)大會——工業(yè)互聯(lián)網(wǎng)標識解析專題論壇在沈陽成功舉辦。