IDEA vs VSCode在java开发上的横向对比

2023-11-12

讲讲出身

了解一个人需要了解他的出身,一个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美元。

 

开发使用情况:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARHJlYW1fS2l0ZQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 (数据来源: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工程师。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARHJlYW1fS2l0ZQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IDEA vs VSCode在java开发上的横向对比 的相关文章

  • HashMap不写入数据库

    我尝试在我的数据库中写入 但只写入发件人和消息 我不明白为什么会发生这种情况 我认为问题出在我使用 sendMessage 的地方 我认为问题是我没有什么可以做的读 写其他用户的主键 我在数据库中写入消息的活动 public class M
  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • 如何在spring mvc中从控制器名称+操作名称获取映射的URL?

    是否有现有的解决方案可以从 Spring MVC3 中的 控制器名称 操作名称 获取映射的 URL 例如 asp net mvc 或 Rails 中的 UrlHelper 我觉得非常有用 thx 也许 你想要这样的东西 in your Co
  • 对话框上的 EditText 不返回任何文本

    我太累了 找不到错误 我没有发现任何错误 但我没有从 editText 收到任何文本 请看下面的代码 活动密码 xml
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • 来自数据库的 jfreechart 散点图

    如何使用java中的jfreechart绘制mysql数据库表中数据的散点图 我使用过 Swing 库 任何链接都会有帮助 我搜索了谷歌但找不到理解的解决方案 如果您有代码 请提供给我 实际上我确实做了条形图并使用 jfreechart 绘
  • 无法在 Spring Boot 测试中模拟 persistenceContext

    我正在使用带有 Mockito 框架的 spring boot 测试来测试我的应用程序 存储库类 EntityManager 之一作为参考 我的班级如下所示 Repository Transactional Slf4j public cla
  • 内存一致性 - Java 中的happens-before关系[重复]

    这个问题在这里已经有答案了 在阅读有关内存一致性错误的 Java 文档时 我发现与创建 发生 之前 关系的两个操作相关的点 当语句调用时Thread start 每个具有 与该语句发生之前的关系也有一个 与 new 执行的每个语句之间发生的
  • 如何让spring为JdbcMetadataStore创建相应的schema?

    我想使用此处描述的 jdbc 元数据存储 https docs spring io spring integration docs 5 2 0 BUILD SNAPSHOT reference html jdbc html jdbc met
  • 如何在android中设置多个闹钟,在这种情况下最后一个闹钟会覆盖以前的闹钟

    我正在开发一个Android应用程序 用户可以在其中设置提醒时间 但我在以下代码中遇到一个问题 即最后一个警报会覆盖之前的所有警报 MainActivity java public void setreminders DatabaseHan
  • Java:正则表达式排除空值

    在问题中here https stackoverflow com questions 51359056 java regexp for a separated group of digits 我得到了正则表达式来匹配 1 到 99 之间的一
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • 隐式超级构造函数 Person() 未定义。必须显式调用另一个构造函数?

    我正在开发一个项目 但收到错误 隐式超级构造函数 Person 未定义 必须显式调用另一个构造函数 我不太明白它 这是我的人物课程 public class Person public Person String name double D
  • 如何记录来自 Akka (Java) 的所有传入消息

    在 Scala 中 您可以使用 LoggingReceive 包装接收函数 如何通过 Java API 实现相同的目标 def receive LoggingReceive case x do something Scala API 有Lo
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • 如何在 Eclipse Java 动态 Web 项目中使用 .properties 文件?

    我正在 Eclipse 中开发动态 Web 项目 我创建了一个 properties 文件来存储数据库详细信息 用户名 密码等 我通过右键单击项目和 New gt File 添加它 我使用了Java util包Properties类 但它不
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • Java的-XX:+UseMembar参数是什么

    我在各种地方 论坛等 看到这个参数 并且常见的答案是它有助于高并发服务器 尽管如此 我还是找不到 sun 的官方文档来解释它的作用 另外 它是Java 6中添加的还是Java 5中存在的 顺便说一句 许多热点虚拟机参数的好地方是这一页 ht
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A
  • JAXB - 列表<可序列化>?

    我使用 xjc 制作了一些课程 public class MyType XmlElementRefs XmlElementRef name MyInnerType type JAXBElement class required false

随机推荐

  • JAVA开发运维(关于渗透测试与漏洞修复)

    对于C端的网站 H5 小程序或者app都需要进行渗透测试 渗透测试是模拟真实黑客的攻击手段 对目标网站或主机进行全面的安全评估 与黑客攻击不同 渗透测试的目的是尽可能多地发现安全漏洞 而真正的黑客只需要找到一种入侵 点击进入目标系统 一个好
  • Ubuntu18+ 使用redshift调色温 夜间闪烁

    问题描述 在Ubuntu 18 的系统上 使用redshift色温调节软件时 每到晚上 在切换软件时 还有其他奇怪的场景中 屏幕会有频闪现象 症状看来就像redshift反复开启和关闭 原因与解决方案 原因很可能是Ubuntu 18 的系统
  • chrome浏览器fitler中的XHR作用是什么

    chrome浏览器fitler中的XHR作用是什么 记录ajax中的请求 什么是 AJAX AJAX 异步 JavaScript 和 XML AJAX 是一种用于创建快速动态网页的技术 通过在后台与服务器进行少量数据交换 AJAX 可以使网
  • SpringBoot集成LayuiAdmin的简单使用

    SpringBoot LayuiAdmin的简单使用 分享一下SpringBoot集成LayuiAdmin的一些心得体会 刚开始网上找了半天没找到集成教程 鼓捣了一阵只好自己上手了 快速开始 1 准备一份LayuiAdmin 源码压缩包解压
  • js——修改对象里面的属性名

    代码 var e avatar uploads 20230816 b30044ba6735c83bdea9d43b85c4ae15 jpeg mobile code 111 nickname 小土豆 e aaa e avatar delet
  • Elasticsearch 跨集群复制(CCR)的使用

    什么是 Elasticsearch 的跨集群复制 CCR Cross Cluster Replication 跨集群复制是 Elasticsearch v6 5 发布的一个新的特性 这个特性可以让你将一个集群的索引数据同步复制到远程的另外一
  • 学习太极创客 — MQTT 第二章(八)ESP8266 MQTT 用户密码认证

    视频链接 https www bilibili com video BV1fK4y1L72n spm id from 333 999 0 0 vd source b91967c499b23106586d7aa35af46413 资料链接 h
  • java上传视频文件到服务器,java视频上传到远程服务器

    java视频上传到远程服务器 内容精选 换一换 该步骤必须在root用户下执行 若以普通系统用户登录 需要执行su切换到root用户下执行后续操作 ssh keygen t rsa过程中需要 可选 输入保存的文件名 默认为在 root ss
  • C#学习笔记 委托

    定义委托 有时候可能想要将一个方法传递给另一个方法 在C 中使用函数指针来实现 在JavaScript中由于函数也是对象所以直接可以在参数列表中传递 而在C 中需要使用委托 要使用委托 首先需要定义它 定义一个接受两个int参数 返回一个i
  • 【HDU4741】空间解析几何

    1 题目链接 题目大意 给出两条空间中不平行的直线 求出这两条直线的距离和对应的点 2 分析 在空间中我们知道 直线有三种关系 相交 平行 异面 但是题目中已经说了 是不相交的直线 所以只可能有两种关系 平行或者异面 在空间中 直线方程并不
  • PATH环境变量变化,导致无法找到基本命令

    解决办法 好多命令的位置在 usr bin 恢复办法如下 1 由于找不到sudo 所以必须写全路径 其他命令如果提示找不到 也需要写全路径 usr bin sudo vi etc profile 2 末尾添加以下内容后保存 export P
  • android fwk开发之堡垒机的使用

    在Android堡垒机 Ubuntu 服务器上编译android AOSP源码 1 添加用户 1 切换到root用户 sudo su 2 添加账户 useradd m username 删除用户 userdel r username 使用u
  • 使用elementUI实现el-table表格跨行

    1 概述 element table 有一个属性 span method 可以设置单元格合并 通过给table传入span method方法可以实现合并行或列 方法的参数是一个对象 里面包含当前行row 当前列column 当前行号rowI
  • new bing聊天机器人免翻命令行使用--大佬逆向工程api

    使用 可以看到 IP地址在美国 使用步骤 下载地址 GitHub地址 或者命令行 python3 m pip install EdgeGPT upgrade 获取bing的cookie 不会控制台获取的 可以在edge插件里面下载cooki
  • 爬虫实战之《流浪地球》豆瓣影评分析(一)

    背景与挖掘目标 获取豆瓣评论数据 分析好评与差评的关键信息 分析评论数量及评分与时间的关系 分析评论者的城市分布情况 1 背景与挖掘目标 豆瓣 douban 是一个社区网站 网站由杨勃 网名 阿北 创立于2005年3月6日 该网站以书影音起
  • ChatGPT漫谈(二)

    ChatGPT 脱胎 于OpenAI在2020年发布的GPT 3 任何外行都可以使用GPT 3 在几分钟内提供示例 并获得所需的文本输出 GPT 3被认为是当时最强大的语言模型 但现在 ChatGPT模型似乎更强大 ChatGPT能进行天马
  • VUE 自定义 穿梭框

    某次项目要使用穿梭框进行数据选择 项目使用的element ui框架 框架中的穿梭框是这样子的 好像不能满足我的需求 因为需要展示很多内容 包括图片等信息 也要加上很多样式等等 我尝试这去改造 一会后觉得还是自己动手去写一个靠谱 几经鼓捣效
  • [华为云云服务器评测] 华为云耀云服务器 Java、node环境配置

    系列文章目录 第一章 linux实战 华为云耀云服务器L实例 Java node环境配置 文章目录 系列文章目录 前言 一 任务拆解 二 修改密码 三 配置安全规则 四 远程登录并更新apt 五 安装 配置JDK环境 5 1 安装openj
  • 数据结构和简单算法思想

    只为自己学习进行一下记录 虽然之前上了一些关于数据结构 算法之类的课 但之前都没有怎么搞懂 尤其是算法里面的一些算法思想 现在看能不能补上 就是一些大佬的算法指导 刷LeetCode的一些题 回看之前的书上面的重点 教材是清华大学出版社的数
  • IDEA vs VSCode在java开发上的横向对比

    讲讲出身 了解一个人需要了解他的出身 一个app也是如此 Visual Studio Code 简称 VS Code 是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X Windows和 L