VSCode是一款支持Linux、Windows和macOS的代码编辑器。它可以像集成开发环境(IDE)一样管理整个代码库,也可以通过插件进行扩展。被新一代程序员戏称为“宇宙第一IDE”,可以轻松打败其他编辑器。在过去的两年里,为了提高VSCode上的Java生产力,微软下了很大功夫。日前,微软发布了VSCode的更新,以支持基于Spring的应用程序,同时建立了一个新的微软网站,致力于帮助Java开发人员高效地编写、部署和扩展他们的应用程序。微软的Java基因微软从未真正放弃过Java,J++、C#、.NET与Java的“爱恨交加”一度成为开发者津津乐道的话题。直到2019年,微软在OpenJDK邮件列表上的一封邮件宣布“期待参与Java的未来”,充分表明了微软对Java的态度!回到今天,微软将这种不放弃的热情折射给了VSCode。这个不断“蚕食”JetBrain市场的开源编辑器,面向Java,全力以赴。2016年,在微软苏黎世办公室举行的黑客马拉松期间,来自RedHat、IBM、Codenvy和微软的工程师开发了JavaLanguageServer的第一个版本。它已成为最受欢迎的VisualStudioCode插件之一,安装量超过280万。2019年6月,微软发布了VSCodeJava安装器,开发者可以一键安装所有Java开发环境。2021年,VSCode向着Java的方向动作频频。微软发布了面向Java开发者的VisualStudioCode更新路线图,展示了一些重要的新特性和改进。该路线图涵盖2021年7月至12月,重点关注开发体验、远程开发、测试、安全等。尤其是在远程办公方面,确实赢得了因疫情而不得不在家办公的开发者的青睐。2022年,对Java开发的痴迷程度比以往更大,更新范围进一步包括Springboot和云原生开发。VSCodeJava2月更新:推出教育特别版,包括单元测试、GUI开发支持、Gradle项目创建等;VSCodeJava三月更新:代码完成、Maven和Java插件预览版升级;VisualStudioCodeJava4月更新:引入了许多基础开发体验更新,包括Java18支持、嵌入式参数名称提示、新的Java语言服务器状态交互、更好的lambda表达式支持等;VisualStudioCodeJava6月更新:包括针对Spring开发者的一些重大更新,基础体验增强和用户体验改进;VSCodeJava七月更新:Lombok支持重大改进,SpringBean依赖视图。2022年路线图主要包括六个方面,包括基础开发体验提升、性能和可靠性、构建工具、SpringBoot端到端支持、用户体验、云原生开发。VSCode的劲敌是轻量级编辑器的“一哥”,当然竞品也不少。Atom、Code-OSS、Geany、Brackets、GNOMEBuilder等都是开源编辑器,但是这些编辑器显然没有太大的优势,尤其是Atom,作为老牌编辑器,已经在12月份被微软宣布停产。在IDE领域,如果要与VSCode一较高下,就不得不提以严谨着称的JetBrains系统,而在Java方向,就不得不提IntelliJIDEA这个让无数开发者宠坏的Coding神器。IntelliJIDEA以其出色的用户体验和广泛的功能而著称。它具有精美的用户界面、可配置的代码完成和模板以及全面的支持文档等优点。它有两个版本,免费的IntelliJIDEA社区版和付费的IntelliJIDEA终极版。但有时优势就是劣势。完美的体验需要消耗过多的内存资源,这一点一直为人诟病。当然,JetBrains也意识到了这个问题。去年底,轻量级编辑器Fleet一上线,就有不少参与内测的工程师直呼:真香!期待正式版!但问题又回到了成本上:它不太可能是免费的!相比之下,采用开源策略的VSCode跨平台、轻量级、多语言,并集成了版本管理和开箱即用的特性,即使作为Java的后来者。一步步“蚕食”IDEA的Java开发者市场份额。要知道,VSCode跟进一门开发语言的速度非常快。根据Python软件基金会和JetBrains于2019年11月进行的访谈调查,来自150多个国家的24,000名开发人员参与其中。调查结果显示,受访者最喜欢的Python开发工具是PyCharm和VSCode,其次是Vim。其中,VSCode的份额增长迅猛,从2017年的7%增长到2019年的24%。正如外媒所说,VSCode号称可以重新定义代码编辑器,不仅免费而且开源,而且可以在多个平台上运行。与IDEA相比,VSCode不仅更轻巧,而且构建和响应速度更快!云原生时代,微软不需要小而美。VSCode从来不想做一个“小而美”的产品。一旦确定了方向,就会全力以赴。Spring对于Java从业者在微服务开发中的重要性不言而喻。值得注意的是,2022年路线图中提到了大量与SpringBoot开发相关的改进目标:简化Spring项目、Controllers和Beans的创建过程更好地可视化Spring核心概念(例如:Beans、API映射、等)SpringController和类的模板代码生成完善SpringBootdashboard中Spring应用的生命周期管理为Spring依赖库的管理提供更直观的体验其中,以最近一次VSCodeJava更新为例证明这一点:连接到实时进程时的新Springbean属性(列出加载Spring应用程序本身时加载的所有bean),并且要在没有IDE支持的情况下获得相同的结果,开发人员需要获取ApplicationContext并调用.getBeanDefinitionNames(),例如:System.out.println(Arrays.asList(applicationContext.getBeanDefinitionNames()));左右滑动查看完整代码有了这个新特性,VSCode进一步揭示了bean的属性信息,即是否是Singletons、prototypes等,同时还会将自己的bean标记为“已定义”,以保持相对于彼此的逻辑整洁。作为一个Spring开发者,bean的依赖关系是我们经常要打交道的,将它们可视化,极大的方便了这个问题的处理。但微软并未将Java和Spring支持限制在VSCode中。它还增加了对Intellij和Azure的支持,证明在微服务和云热潮中,目标是让Azure成为开发Java应用程序时的首选平台。开发者的观点那么,在开发Java/Spring应用程序方面,VSCode与IntelliJ的对比结果如何?VSCode虽然有了很大的提升,但是还没有达到IntelliJ给的Java开发的水平,尤其是在代码重构业务上。但是,如果您使用Java以外的语言进行编程,那么VSCode可能是最合适的选择。对于VSCodeJava的用户来说,抱怨最多的就是插件太多的问题。热心网友对这个问题束手无策:“插件安装好后,还需要一个一个配置调试,这个不能自动化,毕竟每个人的喜好不同,但大多数插件都是开箱即用。”就连被IDEA宠坏的开发者也会开玩笑说:“归根结底,这东西就是一个支持各种插件的编辑器!”不做选择题作为一款开源的轻量级通用代码编辑器,Java开发VSCode的体验确实不如JetBrains,但是开源免费,支持多国语言,高度可配置且可扩展,并且有很多创新的体验,比如远程开发功能体验,VSCode更胜一筹。比如有开发者说:“我想在IDEA中使用VSCode的远程开发功能,在YouTrack中跟踪其远程开发功能,我只想让我的代码可以在任何地方运行,我的本地A电脑就是一个IDE”快速的创新迭代将压倒一切。对于小编来说,不进则退,同样如此。Atom的退役就是一个直接的例子。没有重大功能更新是一件非常危险的事情。从GitHub官方代码编辑器的优化迭代已经全方位转移到VSCode来看,注定同根Atom会淡出人们的视线。至于Atom,作为第一个被市场广泛使用的Electron应用,它在12月份的退役意味着它的历史使命已经完成。所以,难怪有些人担心IDEA。随着微软努力加大对Java的支持,如果沾沾自喜,产品迭代创新跟不上,VSCode可能不仅是一个开源免费的高级编辑器,而且很有可能成为真正的“新一代程序””。可能不知道它是否拥有会员中“宇宙第一编辑器”的称号,甚至是IDE领域的“Android”。JetBrains的Fleet正式版会回来吗?只有开发商知道答案。毕竟,哪种编辑器效果最好取决于市场。但是对于开发者来说,这是一件好事。“单选题”只适合“小孩子”做。Realcodingpeople向来包容,各尽其才!
