其实一直想发一个贴请教一下 idea 和 vscode 的区别,两者有什么功能是对方不可满足的,或者难以满足,完全阻碍开发效率的问题。刚好看到了 jetbrains 涨价,所以发这个贴请教下大家几个问题。当然主要是针对 javaer:idea 和 vscode 。虽然很多人没用过 vscode ,但是依然可以提供的你的答案和建议。
idea 的使用
vscode 的使用
这里单纯讲功能上的使用,不谈性能,内存这些。我想尽量收集一些观点。虽然我 2 个都用过,也用了很久。但是毕竟用到里面的功能都很有限。虽然本身作为一个开发,但是我没有依赖太多 ide 的功能,用的比较浅,对两者还没涉及到非常深入的理解,肯定有很多好用的或者能提升效率的功能,我还没发现。希望大家能多多给点建议。
1
xiyuej 2022-06-30 11:11:14 +08:00 via Android
我感到 idea 静态分析能力更强些,vscode 的 ssh 更强些,其它方面
|
3
guang19 2022-06-30 11:14:24 +08:00 3
总有人拿一个文本编辑器跟一个 IDE 比较,这究竟是道德的沦丧还是人性的扭曲呢?
|
4
byte10 OP |
5
ray5173 2022-06-30 11:51:06 +08:00
说一个写 python 时的区别:单步调试的时候,可能一步步的进到框架里面,层级很深。一般来讲框架和第三方包都无 BUG ,Pycharm 提供 Step Into My Code 的功能,可以直接跳转到自己的代码,接着 DEBUG 。
|
6
ray5173 2022-06-30 11:51:47 +08:00
vscode 没有此功能。IDEA 我用得少,估计也有类似的区别
|
7
Martin123123 2022-06-30 11:58:34 +08:00
不确定现在 vscode 有没有类似的功能,目前用 pycharm 的原因主要就是因为 docker-compose 、poetry 、django 上还是舒服很多的
|
8
zed1018 2022-06-30 12:01:48 +08:00
目前为止还不能在 vscode 上开发 kotlin + spring boot 项目
|
9
AlekoShen 2022-06-30 12:07:36 +08:00
之前我也纠结过 问了些朋友和自己实操过
得出的结论是 如果你愿意折腾 vscode 的插件 就选 vscode 不愿意的话还是 idea 我现在使用 idea,主要就是不像折腾插件.自带的功能完全 hold 的住我的需求 至于一些 idea 的高级用法或者技巧 我也不太懂 但至少我知道他大概率有 如果换成 vscode 的话 当我有这个需求时 我还要翻一遍插件市场(可能有,也可能没有) 这就会让我很难受 |
10
GiantHard 2022-06-30 12:09:13 +08:00
JetBrains IDE 的优势:
* 数据库管理功能 * search and replace structurally * 非常丰富的重构选项 * 安全删除、移动文件 * 与 Jira 等任务管理系统的集成 * 智能解决合并冲突 * Postfix completion * Language injection 以上提到的功能应该都是 WebStorm 自带的 |
11
mazai 2022-06-30 12:27:15 +08:00
非常丰富的重构选项 这一点我就离不开了
|
12
liuw666 2022-06-30 12:45:29 +08:00 via iPhone
jetbrains 的 git 工具我觉得是最好的。而且因为有对应语言的支持,导包、错误提醒等 都能在 diff 时看到,fork 这种 git 工具就没有。vscode 就感觉太简陋了
|
13
guanhui07 2022-06-30 12:51:27 +08:00
选 JetBrains 习惯了用他的快捷键重构 ,删除 还有 代码分析能力好不少
|
14
abcbuzhiming 2022-06-30 13:01:14 +08:00
@byte10 你要是觉得一个文本编辑器挂几个插件就能自称 IDE 了那随你。
从哲学上来讲,编辑器挂插件属于泛用型系统,IDE 属于专用系统,泛用型系统用途广,但是在单一领域是不可能比专用系统比功能和性能的,除非那个专用系统自身实现有问题 |
15
mrgeneral 2022-06-30 13:31:36 +08:00
只一项,IDE 的代码分析是真的分析,其他文本编辑器感觉都像是傻瓜式的字符串匹配。
|
16
Shook 2022-06-30 13:59:58 +08:00
我目前是直接在 Webstorm 上面直接跑 WSL2 项目的命令会出错…
所以还是需要 VSCode 来帮我跑命令。 |
17
sleeepyy 2022-06-30 14:06:40 +08:00
@mrgeneral 现在编辑器都是走 Language Server Protocol 了,哪里是什么“傻瓜式的字符串匹配”
|
18
STtree 2022-06-30 14:24:11 +08:00
@liuw666 git +1,我切换到 vscode 很不习惯它那 git 插件,不能建 changelist ,处理 merge 冲突的时候也没有 jetbrains 的顺手,甚至查看历史 commit 信息的时候也不如 jetbrains 直观。我不知道是我没配置好,还是怎么回事,就是用起来很别扭。
|
19
byte10 OP @liuw666 idea 的 git 不错,不过 vscode 有 git graph ,我觉得 UI 交互上更好一些,但是功能可能比不上 idea 自带 git
@GiantHard 感谢。 @abcbuzhiming 想太多了。以后 idea 都改成 LSP 了,那 idea 还算 ide 吗? @guanhui07 嗯可以的,这几点 vscode 也有一些重构的快捷键,还比不上 idea 。 |
20
nothingistrue 2022-06-30 14:28:01 +08:00
编辑器,集成开发环境( IDE 的中文名称),这俩代码工具比较起来是没有意义的,那是要一起用的,大型工作用 IDE ,小型工作或者纯查看的工作用编辑器。intellij idea VS microsoft visio studio ,这才有意义。
|
21
libook 2022-06-30 15:53:08 +08:00
JetBrains 家的 IDE 在代码分析方面很无敌,可以在某种程度上“理解”代码,推导出大量没有被开发者显式声明的信息,用于检查问题、提供重构方案。
如果项目很简单,没必要用此种能力,可能也没必要用付费产品了。 拿来吃饭的家伙,既然你都用过了,那就都以你自己的体验为准,哪个顺手用哪个。 |
22
Shielber 2022-06-30 15:54:12 +08:00
remote ssh 已经可以做到了,jetbrains gateway 不仅可以 ssh,还可以连自家的 space 和 gitpod 。只是占的服务器内存比较大。
|
23
libook 2022-06-30 15:54:55 +08:00
@Shook #16 我目前在用的方案是在 Windows 上用 Cygwin 装 XServer ,然后在 WSL2 里跑 IDE ,用 Windows 上的 XServer 显示出来。
|
24
alittlecat 2022-06-30 16:54:43 +08:00
@ray5173 #5 vscode 的 python 在某次更新后支持这个功能了
"justMyCode": true, |
25
lucasji 2022-06-30 17:11:40 +08:00
我现在主要的开发语言是 Java 和 TypeScript, 使用的框架主要是 SpringCloud 和 React, 并且在 vscode, intellij idea 以及 neovim 上都配置过开发环境, 因此很直观地感受过这三者之间的差距.
如果仅从一个基本的开发环境而言, 比如说使用 react 做一个简单的网页, 使用 maven 创建一个简单的项目用来刷刷 leetcode, 我们并不需要很多语言本身以外的工具或者框架的加持. 此时, 对于 IDE, 我的最关注的点就是对于语言编码的支持, 包括但不限于自动补全, 代码提示, 错误跳转, debug 等. 得益于 LSP 的发展, vscode 乃至于 neovim 都可以通过各种插件的加持从 editor 升级为 IDE. 如果从一个能够支持工程化项目的开发环境而言, vscode 虽然也能设置成为 IDE, 但是各项能力上对比 intellij idea 就要薄弱很多: 1. 就基础的代码语义分析而言, 虽然微软提出了 LSP 协议, 但是 idea 的静态分析还是太强大了. 从提示的速度, 准确度, 完整度来看, idea 现阶段还是比 vscode 强的. 2. 对于 git 的支持. idea 的 Git feature 比 vscode 使用体验好太多了. 3. 对于 java 的支持, 或者说对于 Spring 框架的支持. vscode 的一系列插件对比于深耕此方面多年的 idea, 差距尤为明显. 更不要说 idea 已经在适配 Spring 6 和 Spring Boot 3 了. 4. ... 以上仅仅是从我个人角度, 得到的一些感受, 可能会有一点片面和武断. 就如楼上老哥所言, vscode 作为一个 editor, 把它拿来和专业的 IDE 对比是没必要也是不公平的. Jetbrains 会为了 java 的特性, java 相关框架的特性, 不断地做更新和适配, 提供商业化的支持, 以期用户得到最好的体验. 而对于 vscode, 我们只能期待相关插件的作者或者社区能够保持更新. 无论是前端还是后端的项目, 都足以称得上复杂. 对于开发者而言, 一个合格的开发环境就是能够让我们专注于业务表达而不需要耗费额外的心智去不断地配置, 优化. 最后吐槽一下微软. 虽然推出了 LSP, 但是自家的 TypeScript 都不去支持并且也没有什么明确的计划去支持. 在 vscode 上的 TypeScript Server 还是使用专门的协议. 微软貌似一直这个尿性, 兴致勃勃地推出一个看上去潜力巨大的东西, 随着时间的推移最后不了了之... |
26
dddd1919 2022-06-30 17:22:17 +08:00
java 开发,我选 idea
前端开发,我选 vscode |
27
Blank10030 2022-06-30 17:47:22 +08:00
我两个都用过,在不考虑价格的情况下,我选 jetbrains 。
|
28
byte10 OP |
29
ciki 2022-06-30 18:58:33 +08:00
重构,代码跳转这两条 vscode 就完全无法跟 IDEA 比,关键是这两个还是用的频率非常高的功能
|
30
ychost 2022-06-30 19:28:13 +08:00
idea/webstorm 都比 vscode 好用,vscode 比较适合写点脚本
|
31
lucays 2022-06-30 21:04:28 +08:00 via Android
java idea 体验好得多
python 我喜欢 vscode |
32
codejay 2023-09-19 09:48:48 +08:00
vs code 不会卡死,IntelliJ idea 会一直 closing project 不动
|