写点什么

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

作者:Java-fenn
  • 2022 年 9 月 09 日
    湖南
  • 本文字数:3133 字

    阅读完需:约 10 分钟

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 人,从来都是兼容并蓄,各尽其才!

用户头像

Java-fenn

关注

需要Java资料或者咨询可加我v : Jimbye 2022.08.16 加入

还未添加个人简介

评论

发布
暂无评论
VS Code加码Java生产力,IDEA危险了_Java_Java-fenn_InfoQ写作社区