• 首页 > 数据存储频道 > 数据库频道 > 编程开发

    VS Code加码Java生产力,IDEA危险了

    2022年09月14日 11:14:18   来源:51CTO

      VS Code,是一款支持Linux、Windows和macOS的代码编辑器。它可以像集成开发环境(IDE)一样管理整个代码库,同时还可以通过插件进行扩展,被新生代的程序员戏称为“宇宙第一IDE”,可以轻松打败其他编辑器。

      近两年,为了提高在VS Code上的Java生产力,微软拼了。

      日前,微软发布了对基于Spring应用程序支持的VS Code更新,同时建立了一个新的Microsoft网站,专门用于帮助Java开发者能够高效地编写、部署和扩展他们的应用程序。

      微软的Java基因

      微软对于Java一直都未真正放弃过,J++、C#、.NET与Java的“爱恨情仇”也一度成为开发者茶余饭后的谈资。直至2019年,OpenJDK邮件列表中一封来自微软的邮件宣布“期待参与Java的未来”,彻底表明了微软对于Java的态度!

      回到今天,微软将这种不放弃的热度折射到VS Code上。这款不断“蚕食”JetBrain系市场的开源的编辑器,面朝Java,全力奔赴。

      2016年,在微软苏黎世办公室的编程马拉松中,来自Red Hat、IBM、Codenvy和微软的工程师们开发了第一个版本的Java Language Server。后来,它便成为了Visual Studio Code中最受欢迎的插件之一,拥有超过280万的安装量。

      2019 年 6 月 ,微软发布了VS Code Java安装程序,这样开发者能一键安装所有Java开发环境。

      2021年,VS Code在Java方向上动作频频。微软发布了面向Java开发者的Visual Studio Code更新路线图,展示了一些重要的新功能和改进,路线图涵盖2021年7月至12月,重点关注开发体验、远程开发、测试、安全等方面。

      尤其是远程办公方面,确实博得了一波因为疫情不得不居家办公的开发者们的好感。

      2022年,对Java开发的执迷程度更甚从前,更新范围进一步包括了Spring boot及云原生开发方面。

      VS Code Java 2月更新:推出教育特别版,包括单元测试、GUI开发支持、Gradle项目创建、以及更多;

      VS Code Java 3月更新:代码补全、Maven以及Java插件预览版本新升级;

      Visual Studio Code Java 4月更新:推出许多基础开发体验更新,包括Java 18支持、参数名称的嵌入提示、新的Java语言服务器状态交互、更好的lambda表达式支持等;

      Visual Studio Code Java 6月更新:包括针对Spring开发者的一些重大更新、基础体验的增强以及用户体验的提升;

      VS Code Java 7月更新:Lombok支持重大提升, Spring Bean依赖关系视图。

      2022年的路线规划主要有6个方面,包括基础开发体验的提升、性能与可靠性、构建工具、Spring Boot端到端的支持、用户体验、云原生开发。

      VS Code的劲敌

      作为轻量级编辑器“一哥”,当然也有不少竞品觊觎。Atom、Code-OSS、Geany、Brackets、GNOME Builder等都是开源的编辑器,但这些编辑器明显不具备太大优势,尤其Atom作为老牌编辑器已经被微软宣布即将于12月停用。

      IDE领域,要说能与VS Code相争的,不得不提以严谨著称的JetBrains系,而在Java方向上,就要说到IntelliJ IDEA这个把无数开发者都宠坏了的Coding神器。

      IntelliJ IDEA以出色的用户体验和广泛的功能而闻名,有着精致的用户界面、可配置的代码完成和模板、完善的支持文档等优点。它有两个版本,免费的IntelliJ IDEA Community版本和付费的IntelliJ IDEA Ultimate版本。

      但有时候优点即是缺点,完美的体验背后需要耗用太多的内存资源,一直是被人诟病之处。

      当然JetBrains也意识到了这个问题,去年年底,轻量级编辑器Fleet一经推出,众多参与内测的工程师大呼:真香!期待正式版!但问题又回到费用上:是免费的可能性不大!

      相比之下,采用开源策略的VS Code,跨平台、轻量级、多语言,同时集成了版本管理、开箱即用的特点,使得它即便作为一个Java上的后发者,也能一步步“蚕食”掉IDEA的Java开发者市场份额。

      要知道,VS Code跟进一项开发语言的速度是非常快的。

      据Python软件基金会和JetBrains在2019年11月进行的一次采访调查,来自150多个国家/地区的2.4万名开发者曾参与其中。调查结果显示,受访者最喜欢的Python开发工具是PyCharm和VS Code,接着是Vim。其中VS Code所占份额经历了快速增长,从2017年的7%到 2019 年的24%。

      正如外媒所言,VS Code号称能重新定义代码编辑器,不仅免费而且开源,能在多个平台上运行使用。VS Code对比IDEA不仅更轻量级,而且构建与响应速度也更快!

      云原生时代,微软无需小而美

      VS Code从来都不希望自己是个“小而美”的产品,一旦确定方向,就会不遗余力。Spring对于微服务开发的Java从业者而言,重要性不言而喻。

      值得注意的是,2022年路线图中提到了大量关于Spring Boot开发相关的提升目标:

      简化Spring项目、Controller、Bean的创建流程

      更好的Spring核心概念可视化(例如:Bean、API映射等)

      Spring Controller和类的模版代码生成

      改进Spring Boot仪表盘中Spring应用的生命周期管理

      为Spring依赖库的管理提供更加直观的体验

      其中,举一个近期的VS Code Java更新的例子,就能得到证明:新增了连接实时进程时的Spring bean属性(列出在Spring应用程序本身加载时加载的所有bean),而如果在没有IDE支持的情况下要获得相同的结果,开发者就需要获取 ApplicationContext并调用.getBeanDefinitionNames,

      例如:

      System.out.println(Arrays.asList(applicationContext.

      getBeanDefinitionNames));

      左右滑动查看完整代码

      有了这个新增功能,VS Code更进一步揭示了bean的属性信息,即它们是否是单例、原型等,同时还用“已定义”标记自己的 bean 以保持彼此之间的逻辑井井有条。

      作为一名Spring开发人员,bean依赖关系是我们经常处理的事情,将其可视化极大地方便了对这一问题的处理。

      但是微软并没有将Java和Spring的支持限制在VS Code中。它还增加了对Intellij和Azure的支持,这证明了在微服务和云狂热的情况下,目标是将Azure作为开发Java应用程序时的首选平台。

      开发者的看法

      那么对于开发Java/Spring应用程序的VS Code与IntelliJ的判断是什么?

      虽然VS Code有了很大的改进,但它还没有达到IntelliJ所赋予Java开发的水准,尤其是在代码重构业务方面。不过,如果使用Java以外的其他语言进行编程,那么VS Code可能是最合适的选择。

      VS Code Java的使用者,最多被吐槽的还是插件太多的问题。热心的网友对于这一问题,也是无可奈何:“插件安装完成后还是需要逐一去配置调试的,这个没法自动化,毕竟各人喜好不同,不过大多数插件都是开箱即用的。”

      甚至被IDEA宠坏了的开发者会调侃:“这玩意儿归根到底就是支持各种各样插件的编辑器!”

      不做单选题

      作为开源的轻量级通用代码编辑器,VS Code的Java开发体验确实不如JetBrains,但胜在开源免费、支持多语言、具有高度可配置性和可扩展性,而且许多创新体验,比如在远程开发功能体验上,VS Code更胜一筹。比如一名开发者就如是说:

      “想在IDEA中使用VS Code的远程开发功能,并在YouTrack中跟踪其远程开发功能。我想要的只是我的代码可以在任何地方运行,而我的本地计算机是IDE。”

      快速的创新迭代,会赶超一切。对于编辑器而言,不进则退,也是同样的道理。

      Atom的停用就是眼前的一个例子。没有大的功能更新,是一件很危险的事情。从GitHub官方针对代码编辑器的优化与迭代已经全方面转移到了VS Code 上来看,也就注定了同根生的Atom淡出视野的结局。而Atom,作为第一个被广泛应用于市场的Electron应用,12月的退役更多地意味着它本身的历史使命已经达成。

      所以,难怪会有人为IDEA感到担忧。在微软全力加仓Java支持的情况下,如果固步自封,产品的迭代与创新跟不上的话,VS Code可能就不仅仅是一个开源免费的高级编辑器了,而极有可能做实“新生代程序员中宇宙第一编辑器”的头衔,甚至成为IDE领域的“安卓”,也或未可知。

      JetBrains正式版的Fleet会扳回一局吗?答案只有开发者知道。

      毕竟,哪个编辑器好用取决于市场。但对于开发者来说,却是一件利好的事情,“单选题”只适合“小孩子”去做,真正的coding人,从来都是兼容并蓄,各尽其才!

      文章内容仅供阅读,不构成投资建议,请谨慎对待。投资者据此操作,风险自担。

    [编号: ]
    分享到微信

    即时

    新闻

    腾讯前三季研发投入454.75亿元 前沿科技加速落地服务

    11月16日,腾讯控股(HK.00700)发布2022年Q3财报,腾讯实现营业收入1400.93亿元,非国际会计准则净利润(Non-IFRS)322.54亿元,同比恢复增长,多个主营业务板块收入亦呈现环比企稳迹象。

    研究

    IDC发布中国数字政府IT安全软硬件市场份额报告

    IDC《中国数字政府IT安全硬件市场份额,2021》报告显示,中国数字政府IT安全硬件市场的规模达到64.9亿元人民币,同比增长31.5%。