了解一个人需要了解他的出身,一个app也是如此。
Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unity)扩展的生态系统。
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。
Visual Studio Code是一个基于文本的通用代码编辑器,具有一些IDE功能以及不断增长的插件和扩展Marketplace,将其转变为成熟的IDE。 最重要的是,VS Code旨在成为一种灵活的多语言解决方案,用于多种语言和框架,包括C#,VB.NET,F#,JavaScript,TypeScript,Azure,SQL,C ++,Python和Java。 它是免费分发的,并且是开源的。
JetBrains IntelliJ IDEA是功能齐全的IDE,主要针对使用Java和基于Java的语言(例如Scala,Kotlin和Groovy) 开发的编码人员 。 IntelliJ IDEA社区版和Android Studio免费提供,IntelliJ还提供付费订阅版本IntelliJ IDEA Ultimate,第一年的年费为500美元。
(数据来源:https://www.jetbrains.com/lp/devecosystem-2019/java/)
先讲讲IDE,
对于JAVA而言,我觉得IDE对单一语言或工作流的研究是更加深入的,对其他受支持的语言也可进行扩展不过扩展性较低,更加趋向于专业化,因此对于新手而言上手成本较大,不过习惯了之后会很喜欢这种方式再去使用vscode会显得不适应;
补充说明IDEA同类产品的go和python也是这种思路,也是比较好的。
再讲讲vscode,
vscode刚接触的时候感觉像是一个“文本编辑器”或“代码编辑器”。它使用起来相当轻巧,可以支持每种语言,具有高度可配置性和可扩展性。由于vscode本身对JavaScript,TypeScript和Node.js这三种偏向于前端开发者(不过ts现在也是一个后台开发者使用趋势,不过目前限制于生态)就不用说了,开发体验是更棒的。
针对其他编程语言,像java,则源生没有很多非常深入的功能,并且依赖第三方扩展来提供更深的功能,存在相比IDEA插件少的问题(mybatics相关的插件IDEA有40个,而vscode只有9个,maven相关的插件IDEA有近200个,而vscode只有20多个)
想讲讲我的使用经验,之前一直的习惯是使用IDEA进行java后端开发,一般是maven项目spring框架,有时候一个项目有多个模块或者多个语言使用阅读代码需要结合sublime协助分析;
前端像vue/js/html/css这些则使用vscode来开发,原因很简单,课程培训的老师都是使用这个软件,用起来轻便和高效。
既然做java的评价,没有用过肯定是不行,今晚特意使用vscode快速上手了java的单文件开发和maven项目及其springboot项目,发现了以下几点:
1、上手确实挺快的,按照指引按照了几个插件就可以完美支持了,不到半小时(本地已经按照那些jdk/maven的前提)
2、开发的基本功能都具备,IDEA界面上常用的功能全部都有,大纲、maven视图、调试界面等等,甚至代码自动补全的快捷键也是具备了
3、不过在遇到问题时,晚上社区查询到的信息不多,而且界面上对问题的反馈不明显
例如我使用maven create new Project的命令行功能时候,一直在转圈,等了很久没有反馈,暂时查询无果
4、对IDEA创建的项目迁移度可行,直接打开之前自己开发的springboot项目,很快的可以适配过来,不用什么人工操作,软件的配置文件及编译配置文件都是自动化生成,基本打开很快就可以运行起来没有遇到什么问题。
目前来看,vscode会更加适合全栈工程师,IDEA会更加适合比较纯粹的java工程师。