VS 为何能够获得《宇宙第一 IDE》的称号,对比 IDEA

2019-11-21 19:32:11 +08:00
 woncode

以前我主要写 java,一直用 idea,最近做一个项目要用 c#,于是用上了 vs

我刚开始用的时候就感觉不顺畅,已经想发个帖质疑这个称号了,但是想想可能是新手不熟悉的缘故,所以就憋着

但是到现在用了有两个月了,我觉得用 vs 还是不顺畅,具体有如下几点:

  1. 首先界面没有 idea 现代化就不说了
  2. 编辑提示:项目已经配了依赖,也已经用 nuget 还原(下载),但是当前文件没有引入的包( using ),写代码时就不会提示,只能把类全名复制过来,然后按 alt+enter 提示引入。不像 idea,只要 maven 配好依赖,下载好包,它就给你完整的提示,输入类名的几个字母,就可以自动补全加引入
  3. 调试:c#是 vs 支持的第一语言吧,但是竟然有糟糕的两点
    • 一是没有直接的热重载功能,google 一下,找到运行命令'dotnet watch run',可以监控文件变化就重启,相当于改一个文件就要等整个项目重启,这根本不是热重载啊,不像 idea 只重载改变的文件,秒秒钟看到新变化
    • 有时候项目运行时竟然不能编辑某些文件,即使我已经按照 google 勾选了“edit and continu”,对比 idea,甚至调试到断点,编辑断点后面的代码,还能使当前的调试运行最新改的代码
  4. 版本管理:与 git 集成,简直天上天下之别,idea 可以图形化看每一行代码的最后修改日期和修改人,可以未 commit 全部文件就可以 pull 等,而 vs 的功能感觉就只是对 git 简单命令的粗糙映射

我在想,难道是因为 vs 得到这个称号的时候,jetbrain 家的 ide 还没出生吗?还是因为 vs 支持很多语言,比如 c++,那 eclipse 算什么?

29918 次点击
所在节点    程序员
198 条回复
damngood
2019-11-23 15:32:02 +08:00
jb 系的产品用起来有点延迟感,一直对他无感
stevenbipt
2019-11-23 18:15:59 +08:00
都用过,然而我还是觉得 vs 的界面比 jb 家的舒服,内存占用上就强多了,当初在 2G 内存的笔记本上运行 vs2017 平常写 C#都还能保证不卡顿,现在想想都挺不可思议的,但是 vs 确实能做到
Jabin
2019-11-23 18:28:51 +08:00
仁者见仁智者见智 写好代码才是硬道理
mmdsun
2019-11-23 18:31:42 +08:00
宇宙第一是因为 visual studio 在 IDE 排行榜排名第一,
而且这个第一已经持续很久了。

热重载按 ctrl+shirt+b 重新编译一下就生效了,不用重启。以前写 aspx 就是这样子的。去扩展商店下载 Resharp,这是 idea 出的 vs 智能提示插件。vs 自己也有智能提示插件。
clockwork1122
2019-11-23 18:34:14 +08:00
讲道理,VS 你变量或者是方法改名字是不是很方便,然后直接在编辑区显示方法有几处调用的功能也是很方便
rb6221
2019-11-23 18:52:58 +08:00
在 IDEA 起来之前,vs 就是宇宙第一
在 idea 起来之后,vs 依然是 c 系语言的第一
楼主说 “还是说好用的 c++ ide 太少了,所以写 c++的人一看到 vs 就惊呼“宇宙第一 ide””
那我是不是可以说“好用的 javaIDE 太少了,所以写 java 的人一看到 idea 就惊呼”
young6
2019-11-23 21:44:21 +08:00
刚开始用 vs,感觉不太好用。借贴问一下有没有能实现 vsc gitlens 那样的能看到每一行编辑的 git 历史。以及在不用 resharper 的情况下如何查看 c#接口的所有实现类,idea 的编辑器左边的几个跳转按钮实在太好用了。还有如何在 windows terminal 开 vs 的 develop powershell
gongzhang
2019-11-23 22:01:05 +08:00
vscode 真正的好在于 hackable
jdz
2019-11-24 16:26:18 +08:00
说的不是 vsc 吧。
OneMan
2019-11-24 19:08:31 +08:00
我写 C,我用 clion,vs 用不习惯
owt5008137
2019-11-24 20:10:44 +08:00
在内存没有白菜价的年代。能够跑起 jetbrains 的机器那不是一点点的贵。

另外我想说我上周试了下 clion 最新版本跑 remote 连接远程机器开发。比 vscode 的 remote 系列插件弱鸡了不是一点半点。
augustheart
2019-11-25 09:40:57 +08:00
@secondwtq 其实咱们意思差不多,互相补一下遗漏吧。
三点:
1.clion 的 bin 目录下面就有 clang 这个目录,目录里面有两个 exe,一个 clangd,一个 clang_tidy。先不说 clangd 这个 d 是不是代表 daemon,连 tidy 这种事都要 clang 出马,说 jetbrains 他们能搞定(准确说愿意花大量的时间成本去搞定) c++的代码提示我是不太信的。
2.vs 应该也能写 java 了。我记得当年 2015 发布,支持 android+ios 甚至 linux 多平台开发的时候,我测试过,在 android 开发的时候,能够勉强拿来写 java 部分。但是我不记得有没有语法提示,不过对 java 的支持肯定是残缺的,这毋庸置疑。由于完全安装实在巨大,我就在 15 刚出的时候测试过那一次,后来都是精简安装到只有 c++开发部分的( 17 开始连 c#都被我删了)。
3.vs2017 开始支持使用 cmake 创建项目了。
FantasyPupil
2019-11-25 10:50:11 +08:00
为什么? 因为你用 vs 的时间太少了,第一 ide 不是它自封的,而是用户自己说的。
桌面端开发程序我就没见过比 ide 更好的。
tangmanger
2019-11-25 11:38:26 +08:00
是你用的太少了 老哥
FrankHB
2019-11-25 13:41:45 +08:00
@augustheart C++用 clang_tidy 这种不是什么大问题,clang 出来就是有“你们 IDE 厂别自己管自己撸一套半吊子辣鸡,能我上就我上”的意思。反过来 VS 的 IntelliSense 和自家的 cl 两套都是半吊子,划红线那个效果真是 mdzz……
这里真正显示 jb 家的问题在于,这种语言相关复杂度又高的活都给更专业的擦屁股完了,整合个 UI 外壳就好,居然体验还是那么辣鸡……
augustheart
2019-11-25 13:56:50 +08:00
@FrankHB 但是采用 clang 的,目前我还没有看到有执行效率达到或者说接近 vs 的。无论从最早的 vim、emacs 插件形式手工集成 libclang.dll 还是看起来更加专业(然而并不一定)的 codelite、qtcreator 又或是 clion。
当然,这和 tidy 也没有因果关系,只是说 clang 用来做语法提示在目前来看效率实在太差。
redbuck
2019-11-25 14:21:46 +08:00
vs 启动贼慢.

快捷键也反人类,注释接注释这种高频快捷键居然得连着按键.
FrankHB
2019-11-25 14:22:21 +08:00
@augustheart 我本人不习惯依赖代码提示、lint 或者日常编辑时运行的工具检查代码,所以这方面体验不太深刻。
据我所知 VS 除了 cl 以外的这种代码处理的杂活外包给了 EDG frontend,这坨是给很多其它编译器当公版用的实现,所以至少不应该特别差; jb 这种没相关技术积累的厂商短时间想自己整一套,打不过是正常的。
但有个问题是,在关注准确度的场合(例如编译器),EDG 和 cl 长期都不如 clang++(以前经常是 cl 不靠谱,现在变成 EDG 落后了);而且 EDG 和 cl 之间的不一致通常会比“慢”导致更大的体验问题。(因此我现在也基本把 IntelliSense 什么的都关了,不是因为会更快,而是红线眼不见为净。)
只是考虑代码提示,准确性自然可以再放宽,不过仍然是越准确越好。效率不够高主要是实现本身不够优化的问题,技术上这不应该成为瓶颈。可以预见现在语言迭代得那么混乱,不管是哪个厂商都还会把 conformance 视为第一顺位的 feature,所以 clang 想要快可能还需要一段时间;另一方面我看不到 VS 里的实现具体是因为什么优势而快,很难说这段时间 VS 里的实现为了改善准确性就不会渐渐变得和 clang 一样慢了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/621875

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX