V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
woncode
V2EX  ›  程序员

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

  •  
  •   woncode · 2019-11-21 19:32:11 +08:00 · 28144 次点击
    这是一个创建于 1835 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前我主要写 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 算什么?

    第 1 条附言  ·  2019-11-22 10:56:50 +08:00
    补充使用版本:vs2019 社区版 + .netcore3

    但是我对比的那些问题在 idea 社区版这都有啊
    第 2 条附言  ·  2019-11-22 11:24:37 +08:00
    看了评论,我想这个称号大概率是因为对 c++的良好支持得来的

    这样当初微软推出 vs 难道不是为了支持.net 平台吗,怎么搞来搞去变成支持 c++最好了呢,还是说好用的 c++ ide 太少了,所以写 c++的人一看到 vs 就惊呼“宇宙第一 ide”,故而得此名😂
    198 条回复    2019-11-25 14:22:21 +08:00
    1  2  
    haon
        101
    haon  
       2019-11-22 11:03:34 +08:00
    真的有这么多人写 c++吗
    Mithril
        102
    Mithril  
       2019-11-22 11:05:52 +08:00
    @guolaopi 这功能不是让你改库代码用的,就是反编译了让你看看。省的你再去找文档或者拖代码库了。
    guolaopi
        103
    guolaopi  
       2019-11-22 11:07:32 +08:00
    @Mithril
    对啊,所以在用户体验上,提供了一站式的服务。IDE 里就可以完成操作。但是肯定牺牲一部分性能。
    仁者见仁智者见智吧。。。我很少看一些基础库的源码。。三方库的话直接看 github 了。。
    kalluwa
        104
    kalluwa  
       2019-11-22 11:10:01 +08:00
    1 c++才是 vs 支持的第一语言,c#属于亲儿子
    2 不同的 IDE 切换时,会有先入为主的问题。界面现代化这个问题因人而异,VS 在简单的界面上展示出了极多的功能这一点确实不错,IDEA 就太花哨了 排序的话 vsc > vs > notepad++>vim >notepad > idea
    3 vs 号称 宇宙第一,主要是来自他逆天的调试能力,这点其他 IDE 本质上没的比。
    augustheart
        105
    augustheart  
       2019-11-22 11:10:24 +08:00
    jetbrain 全家的东西,怎么说呢,功能确实花心思了,但是内存那个占用让你怀疑人生。clion 写个小 demo 能占用 2 个 GB 的内存。
    占用内存不打紧,我工作机 8GB,家里的 16GB,随便你用。但是你别卡得和屎一样啊,我 vim+clang 补全插件当年在 4GB 的机器上都没卡成你这样子……
    ungrown
        106
    ungrown  
       2019-11-22 11:12:21 +08:00
    这个,楼主应该清楚,绝大多数称号都有夸张成分。
    具体到 vs,真不是 vs 强无敌,vs 功能多适用面广社区活跃,但 bug 缺陷也不少,很多场景下都不如其他某些 ide。
    但是其他的 ide 要么太烂,要么虽然血强但是适用面太窄,这不就衬托出来了?
    其实大家这么夸 vs 一方面是希望它再接再厉,另一方面也是鼓励自己和其他人一同建设社区,把那些 bug 缺陷都逐步消灭,仅此而已。
    janxin
        107
    janxin  
       2019-11-22 11:12:28 +08:00
    因为不是所有人都写 Java,VS 就不是写 Java 的...
    fanfpy
        108
    fanfpy  
       2019-11-22 11:12:44 +08:00
    我觉得 vs 调试的时候可以用鼠标拖动断点真的很骚
    augustheart
        109
    augustheart  
       2019-11-22 11:12:57 +08:00
    包括 jetbrain 给 vs 出的 resharper 和 resharper++,内存占用到 2GB 左右后都卡得你怀疑人生。
    lesloli
        110
    lesloli  
       2019-11-22 11:13:55 +08:00
    我寻思你们用 vs 不配插件吗 VAX 了解一下?
    royzxq
        111
    royzxq  
       2019-11-22 11:19:37 +08:00
    楼内某些人真的要去看看眼科
    willm
        112
    willm  
       2019-11-22 11:29:42 +08:00 via Android
    vs 调试方面的能力和易用性独步天下
    515576745
        113
    515576745  
       2019-11-22 11:30:15 +08:00 via Android
    @shintendo 我傻了😋 好吧 觉得 vs 比 idea 吃更多资源😂
    AsisA
        114
    AsisA  
       2019-11-22 11:30:43 +08:00
    有 MSDN 的订阅,用 VS Pro + TFS + CI + Azure 一套是真的方便,再配合 ReSharper 插件,写 C#特别好用,基本可以弥补楼主说的那几个缺陷了。
    以前是学生的时候对 PHP 感兴趣,申请过免费的 PHP Tools 订阅,写 PHP 也非常好用
    Java 很少写,上次写还是用 Eclipse...
    至于写前端,感觉还是 VSC 和 WebStorm 好用

    至于 xxx 宇宙第一,xxx 世界第一的,听过一笑就好,各有各的喜好
    nicevar
        115
    nicevar  
       2019-11-22 11:32:21 +08:00
    “这样当初微软推出 vs 难道不是为了支持.net 平台吗”,楼主你这错的有点离谱了,vs 出来的比.net 早多了,即使是.net 出来之后的很多年,vs 对.net 的支持是远不如 c++的
    shintendo
        116
    shintendo  
       2019-11-22 11:33:16 +08:00
    @515576745 vs 比 idea 吃资源认真的吗,我这边 vs 吃资源比 vscode 都少
    littleshy
        117
    littleshy  
       2019-11-22 11:35:49 +08:00
    vs2019 算比较轻量了,可以按需安装。
    很多功能要再安装插件,也是官方的。
    paoqi2048
        118
    paoqi2048  
       2019-11-22 11:43:49 +08:00
    VS 在调试方面能排第一
    hengo
        119
    hengo  
       2019-11-22 12:00:27 +08:00 via iPhone
    vscode 我仅仅是用来浏览代码,主力还是 jb 家的
    afx
        120
    afx  
       2019-11-22 12:02:58 +08:00
    我写 c++很久了,没有比 vs 更好用的集成开发环境,不接受任何反驳。
    loqixh
        121
    loqixh  
       2019-11-22 12:15:14 +08:00
    用用 vs 的性能分析才知道他的强大, 还有一系列工程管理工具, 当然这些社区版都没有
    augustheart
        122
    augustheart  
       2019-11-22 12:30:42 +08:00
    @afx 然而这个贴能有这么多奇怪的发言就是因为首先这论坛没几个写 c/c++的,然后甚至可能写 java 的都不算多……
    augustheart
        123
    augustheart  
       2019-11-22 12:31:40 +08:00
    @afx 包括楼主,能说出第二条附言那种话,充分说明了……
    现在是年轻人的世界了
    augustheart
        124
    augustheart  
       2019-11-22 12:35:40 +08:00
    @nicevar 最后一句话错了吧。拿 vs 写了 c#之后才能知道 c++的支持对微软来说不算啥。
    zmxnv123
        125
    zmxnv123  
       2019-11-22 12:36:57 +08:00
    日常使用 JetBrains 全家桶,但你要说 VS 宇宙第一 IDE 我是举双手赞成的。
    ruimz
        126
    ruimz  
       2019-11-22 12:40:04 +08:00
    针对第二条附言:
    微软最早是有用 c++开发 Windows 的,MFC 了解一下,VC6.0 了解一下。(要不是 win10,我估计学校老师还在用 vc6.0 )
    ruimz
        127
    ruimz  
       2019-11-22 12:50:02 +08:00
    @augustheart “年轻人”反对,计科软院甚至于电气相关专业的很多人的编程启蒙课都是 C,讲 C 自然讲到 IDE,用的自然要么 Dev 要么 VS,哪怕是 00 后科班年轻人也是知道历史的。要是中学生就更不用说了,好奇和求知欲甚至比一些按部就班的大学生都强,时间充裕,是绝对不可能搞混的。
    能把 VS 当成 VSCode 的只可能是半路出家,没有专业学过的
    afx
        128
    afx  
       2019-11-22 12:59:11 +08:00
    @augustheart 估计跟其他层主指出来的一样,vs 跟 vsc 都能搞反的大概都是一些半路出家道都没上但却总想指点江山一番的人吧。尬得我一身鸡皮。
    ruimz
        129
    ruimz  
       2019-11-22 12:59:14 +08:00
    还有自己分不清分编辑器和 IDE 却让别人分清楚,哈哈哈哈哈
    cozof
        130
    cozof  
       2019-11-22 13:07:25 +08:00 via iPhone
    是做 web 开发么?

    3.2 按 ctrl+f5 即可。改任何文件,刷新页面可以看到修改的结果。


    普通调试时 VS 运行到断点以下还能往上拖。
    chennqqi
        131
    chennqqi  
       2019-11-22 13:35:39 +08:00
    吐槽贴(×)
    引战贴 ( √ )
    liyihang
        132
    liyihang  
       2019-11-22 13:49:36 +08:00   ❤️ 2
    很多人不知道 VS 和 VS Code 的区别。这 2 个东西的区别就像老虎和老虎钳
    lonewolfakela
        133
    lonewolfakela  
       2019-11-22 13:54:05 +08:00
    "与 git 集成,简直天上天下之别,idea 可以图形化看每一行代码的最后修改日期和修改人"
    https://docs.microsoft.com/en-us/visualstudio/ide/find-code-changes-and-other-history-with-codelens?view=vs-2019
    codelens 不是支持社区版了么……
    "一是没有直接的热重载功能"
    改了代码的话不是暂停一下再继续就可以了么……
    Nevermore1234
        134
    Nevermore1234  
       2019-11-22 14:00:13 +08:00
    真的很喜欢 resharper,但是我 i7+24G 内存都还是卡,现在直接 VS 裸奔舒服多了
    jtwor
        135
    jtwor  
       2019-11-22 14:01:14 +08:00
    2 鼠标移过去 智能提示 补全引用
    3 打断点 左侧黄色箭头可拖动控制调试 也可以继续编辑
    abcbuzhiming
        136
    abcbuzhiming  
       2019-11-22 14:36:42 +08:00   ❤️ 11
    说 IDEA 的 UI 好功能多的人,很明显没见过真正优秀的 UI 设计是啥样的,IDEA 是典型的把功能都做出来堆在那里你自己找去吧,我真没觉得 IDEA 的 UI 设计有多好,堆叠的太多,查找非常麻烦。微软系是这个地球上少有的能在 UI 设计上做到大道至简这个原则的,比它强的不是没有,大部分要么死了,要么就是像苹果这样守在自己地盘不出来。

    至于宇宙第一,首先 VS 并没有支持 Java,所以依赖导入很多习惯和 Java 下的 maven 不一样,其次就是楼主用的 dotnet core 是微软从头开发的,目前的成熟度和 IDE 支持度还不是很够

    最后,只要 JB 家还坚持用 java 这种在 UI 在 PC 软件开发上不入流的语言开发 IDE,它家的 IDE 就别想摆脱笨重资源占用大的帽子,就凭这一点,还想“宇宙第一”?

    最后,最近 IDEA 的恶性 bug 真 tm 多,真不知道为啥还有这么多人在那尬吹
    jadec0der
        137
    jadec0der  
       2019-11-22 14:57:54 +08:00   ❤️ 3
    我好久没用 VS 了,但是还记得当年 .NET 调试的时候,可以回退执行的语句,然后改代码,然后重新执行一遍,真的是黑科技。
    wangsyi13
        138
    wangsyi13  
       2019-11-22 15:09:45 +08:00
    @abcbuzhiming rider 一个 livetemplate 严重 bug,已经一年半了,在 youtrack 上挂着没人修复。。。还有非常统一,界面美观我觉得两个只是风格不一样,2018 idea ui 那就算了,落后时代的。功能分布上,idea 系列真是乱,是我见过最乱的软件之一了,可能是功能太多了
    zengzizhao
        139
    zengzizhao  
       2019-11-22 15:13:51 +08:00
    "这样当初微软推出 vs 难道不是为了支持.net 平台吗"

    谁告诉你微软当初推出 vs 是为了支持 .net 平台......
    看看 vs6.0 和之前,就是 vc++、vb、vfp,印象中 vs2001 还是 200x 才有的.net
    jon
        140
    jon  
       2019-11-22 15:15:56 +08:00
    喷喷 IDEA 不对的要想想不是每个人每个公司的电脑配置都很高的
    zengzizhao
        141
    zengzizhao  
       2019-11-22 15:19:03 +08:00
    “怎么搞来搞去变成支持 c++最好了呢”

    顺便再说一句 vs98 当年对于 vc++来说就是神器啊
    你的标题里的那句话是要分情境的和时间的
    Joyboo
        142
    Joyboo  
       2019-11-22 15:48:33 +08:00
    VS 全是吹的
    0007h
        143
    0007h  
       2019-11-22 15:53:37 +08:00
    用过 py charm,单步调试性能太差了,随便一行代码都要 1s 左右。
    pmispig
        144
    pmispig  
       2019-11-22 16:35:09 +08:00
    你写个 C#或者 c/c++试试就知道了。。。我认为天下第一不是吹的,真是丝滑,省心,你想要的都有,你没想到的也有
    aogu555
        145
    aogu555  
       2019-11-22 16:57:50 +08:00
    @hengo 都 100 多楼了,怎么还有分不清 vs 和 vsc 的,这贴是在讨论 visual studio 而不是 visual studio code 好吗
    wangxiaoaer
        146
    wangxiaoaer  
       2019-11-22 17:03:35 +08:00
    @fernandoxu #88 兄弟,你这么直接不好。
    dosmlp
        147
    dosmlp  
       2019-11-22 17:10:38 +08:00
    因为他是 C 艹写的,个人感觉开发 C 艹应该没有比 vs 更好的了
    vs 也有插件啊
    john22eclipse
        148
    john22eclipse  
       2019-11-22 17:14:12 +08:00
    虽然现在改用 JB 了,但还是要说句:VS 是宇宙第一 IDE
    YourLord
        149
    YourLord  
       2019-11-22 17:24:26 +08:00
    @liyihang 哈哈说得好,但老夫老虎钳用的好,直接肛死老虎不成问题:P
    bylh
        150
    bylh  
       2019-11-22 17:31:07 +08:00
    看完所有回帖,我只想做个眼科医生
    augustheart
        151
    augustheart  
       2019-11-22 18:47:18 +08:00   ❤️ 1
    @dosmlp vs 的强,用 c++写不是主因,实际上 2017 开始 vs 的编辑器就开始 vsc 化了,而之前是大量采用.net 。套用这两年流行的话来说,掌握自主知识产权才是主因啊。
    语法提示上,基本上只有几个大厂才能做好 c++的语法智能提示,一个 llvm 横空出世挽救了多少没能力开发 c++语法提示的编辑器 /IDE (这里面包括 jetbrain ),具体到模板的语法提示上,更是连 llvm 都不行(至少我用 vim+clang 的时候是做不到提示模板语法的,现在应该解决了吧?)。
    然后是 debug 功能,一堆调用 gdb 的厂拿梁静茹来和亲手写 windbg 的厂比?(然后 jetbrain 还是反例)
    最后是性能调试工具,jetbrain 终于可以在 java 上扳回一点面子,别的 ide 厂都直接可以下去了。
    reeco
        152
    reeco  
       2019-11-22 18:53:58 +08:00 via Android   ❤️ 1
    @minami sb
    shijingshijing
        153
    shijingshijing  
       2019-11-22 19:28:10 +08:00
    其实你要吐槽的这些我觉得都不是问题,最大的问题是从 vs 2010 之后的大改版,2013,2015,2017 一点开后台就跑一堆.exe ,一调试后台就发起一堆网络链接,那个 VSHub.exe 太让人映像深刻了。我就想简简单单拖几个控件写个小工具,你一上来给我开这么多玩意儿。

    有一点是我还继续用 vs 写 c 和 c++的理由:菜单栏还是保持 xp 的那种朴实的小图标风格,什么时候给我换成 Ribbon 甚至是 Metro 风格,我马上抛弃。
    Mutoo
        154
    Mutoo  
       2019-11-22 19:32:22 +08:00   ❤️ 1
    Jetbrain 有一个无敌的容灾功能,local history,就算你在版本控制 commit 前文件全没了,都能立即恢复。
    另外作为一个双系统使用者(家里 mac,公司 win ),VS 连跨平台都无能,怎么能宇宙第一。(虽然现在出了个 VS Online,但是 web 体验很难跟 native 比。)
    shijingshijing
        155
    shijingshijing  
       2019-11-22 19:36:33 +08:00   ❤️ 1
    C#和.Net 真的是好东西,配合 VS 真的堪称完美,如果现在不是手机 App 大行其道,如果微软赶上移动的班车,.Net 能够早点全部开放,那么现在我们还能拥有绝佳的体验,真的是可惜了。Winform 开发对比 Android 开发,简直是吊打,Android 不管是本身的架构设计还是给他做开发写 App 都感觉是在捏着鼻子吃屎。我其实不排斥移动端使用 Metro,如果微软能够在移动平台占据半壁江山,那么移动端的开发不会像现在这么痛苦,用户体验相信也会好很多。
    laminux29
        156
    laminux29  
       2019-11-22 20:47:44 +08:00
    VS 是给拥有七八个显示器的顶级架构师用的,这些架构师经常需要调试复杂系统,VS 在这个问题上提供了 4 个变量监视面板,可以放在不同的显示器下使用,这才是 VS 拥有宇宙第一 IDE 头衔的真正原因。

    IDEA 主要是给普通程序员使用的,所以只有 1 个变量监视面板,因为普通程序员没那么复杂的系统需要调试,因此 1 个变量监视面板也够用了。

    所以,普通程序员只是解决普通问题,经常用 IDEA 的普通程序员,必然是感受不到 VS 的巨大优势的。
    minami
        157
    minami  
       2019-11-22 20:57:54 +08:00
    @reeco #151 @Livid,送你上去,不谢
    renhua
        158
    renhua  
       2019-11-22 21:09:51 +08:00
    @minami 难道不是#152 ?
    renhua
        159
    renhua  
       2019-11-22 21:12:04 +08:00
    讨论 vs,一堆 vsc 乱入也是有趣
    minami
        160
    minami  
       2019-11-22 21:12:43 +08:00
    @renhua #156 因为他是这帖子里第二个骂我的,上一个已经 b 了,doge
    Fule
        161
    Fule  
       2019-11-22 21:23:05 +08:00
    我个人从 VS 6 写 VC++开始,到 VS 200x 开始写 C# 代码,中间短暂用 XCode 写过 Object-C 代码,感觉 VS 虽然已经很强、很好用了,但竟然每个版本还是可以变得更好用。至于 Java 语言及其 IDE,真心不想碰。。。我承认 Java 的生态甩 .NET 100 * 10 条街,但从纯语言层面…… 因为不认可 Java 这门语言,所以也不想碰 Java IDE。
    secondwtq
        162
    secondwtq  
       2019-11-22 21:53:17 +08:00   ❤️ 2
    @augustheart #124
    C# 看起来支持比较好,根本原因是因为 C# 本身底子好。做 IDE 支持、分析、调试、编译速度、性能优化等很多工作是需要语言自身配合的,比如 C/C++ 的各种 UB 相当于给编译优化开了很多的洞(
    )。C++ 光最表面的一个宏一个模板就决定了不可能有完美的 tooling 支持。这个和 C# 没有可比性。你的结论可能是正确的,但是 rationale 不一定合理。

    另外貌似 JetBrains 的 CLion 并没有用 LLVM/Clang,我记得之前好像拆过他的 jar,是自己写的。C++ IDE 方面目前确实还没有比 VS 更好的,CLion 还算是能用,其他的最多只能说是凑合。并且 VS 不仅做到了“还不错”的程度,性能也做得很好( CLion 和基于 Clang 的方案的索引时间明显更长)——性能是真正的“黑科技”,JetBrains 在这点上不要想比。
    之前上学的时候用过 CLion,后来学生免费没了就没用了,现在又日常写 C++ 了,电脑配置也高了,可能得看看有没有 EAP 啥的试下 ...

    至于楼主的问题,我觉得除了 IDE 自身的原因之外,不能忽视微软的因素。
    作为一个用 PC 将近 20 年的人并且从一开始就偏技术路线的人,我能告诉你的是在智能手机普及之前,Wintel 在国内网民中的 mindshare 是很大的。就算是智能手机普及之后,很长时间国内大多数人也只把苹果当成是做手机平板的公司(以至于把 OS X/macOS 称为 “IOS”)(至于 Google 和安卓的关系,我觉得可能是这次华为事件才科普到大众,而“安卓和 Android 的关系”怕是有生之年都分不清了)。
    那时候 GitHub 还没起来,开源也不发达,Web 还被 IE 统治,非专业技术圈子里面的“正统”就是微软技术,毕竟每台 PC 机都会装(盗版的) Windows 系统,以及(盗版的) Office,如果要写程序的话,那第一选择就是 VS (事实上大多数人也并不知道有其他选择),我第一个接触的 IDE 就是 VS ( specifically,是 VB6 ...),甚至到现在国内很多高校萌新上手编程的还是 VC6.0,从这个角度我觉得说 VS 是“宇宙第一”IDE 是没什么毛病的。(当然,Excel 某种程度也可以称为 IDE,但是很可惜我玩电脑的第一个程序是 Word,至于 Office 中的其他组件压根都不知道是干啥的)

    到现在我的一些圈子里还有很多人持 Mac 是垃圾,Linux 根本没法用的观点,尤其对比 V 站中一些“Windows 只是当游戏机”的观点,只能说世界真特么的奇妙。与之伴生的常常是“折腾了半天只能弹个黑框框有啥意思”“Linux 要手动输命令么,好麻烦”之类的说法,这些从根上都可以归因于微软和 Windows、VS 的影响。
    那个时候业余搞技术的,除了建站之类的可能不大沾边之外,什么做个“系统优化”工具啊,仿个记事本啊,写个音乐播放器啊,做个小游戏甚至搞个外挂啊,都是绕着 VC、VB、MFC、ActiveX、x86 汇编什么的折腾。
    这些经历让我一直到大学都不能理解,做个破网站,做个破(手机) App 有什么好玩的,为什么大家都在做,后来知道是怎么回事了,但是抱歉,这些对我还是没有吸引力。
    V 站现在主力用户是“互联网”行业,所以我在看 V 站的观点时,都时刻提醒自己这里的观点是被这一因素过滤而有偏差的。
    而且就我观察,截止到几年前,上大学之前折腾过技术的人,技术领域分布是比较平均的,可能是玩硬件的、打 OI 的、玩 Linux 的、做游戏的、做 Win32 的、搞安全的,甚至做 Flash 的都有,虽然毕业之后有一半可能去做网站了,但是之前做网站 /App 的还真没几个(样本有偏差,大城市的比较少)。

    和 Web 领域的统治者 JVM 相比,.NET 很大程度上是同质的,但是它与最终用户的距离明显比 JVM 要更近(我觉得 Windows 做后台最容易上手的是 WAMP,还轮不到 Java ...),比如一些游戏是要求 .NET runtime 作为依赖的,VB6 也被 VB.NET 承接了下来。相比 JVM 生态,.NET 在 Windows 桌面程序、游戏、与微软其他组件集成等方面有独特的长处,Web 也不差(个人认为 .NET 明显短板在非官方的语言生态和学术领域上)。
    但是最关键的不是这个,而是 .NET 吹的牛逼,作为一个萌新,微软当年为 .NET 吹的牛逼让我觉得这就是终极技术,它能做到之前 VS6.0 (以及 C++、VB、MFC 等)能做到的一切,同时能解决 VS6.0 中的一切问题,设计先进,使用方便,类库丰富——从 .NET 这个名字就能看出来微软的野心(相比隔壁的某又苦又有成瘾性的东南亚特产真的是赢在起跑线上),我随便找了点当年的材料:
    https://www.theguardian.com/technology/2001/may/24/microsoft.internet
    https://money.cnn.com/2000/06/22/technology/microsoft_ngws/index.htm
    https://web.archive.org/web/20000815055022/http://www.microsoft.com/net/whitepaper.asp

    对于对移动端和 Web 不感兴趣的人,VS 不仅是宇宙第一 IDE,而且就是 *The* IDE。

    当然最后 .NET 也就做了个跟 JVM 差不多的东西 ... 但是一直以来,VS 都集成了大量微软专有技术的支持。到了移动时代,微软又吹牛逼说要让 VS 能写 Android、iOS、WP 所有平台的 App,后来开源的 Linux,Python,Node,R 什么也通通搞进来——这应该是“宇宙第一 IDE”称号的直接来源,你能想到的都包进来(你说 Java ?那你或许不知道微软在出 C# 之前出过 Java,现在面对全球最大律师事务所我猜是彻底不敢做了 ... 不过貌似听说也支持了?)。之前 VS 还集成了个微软的 VCS 叫 SourceSafe,后来不搞了,但是换成了 TFS——其他的环境都是默认 SVN/Git,把自己私货放进来这种事情只有微软能做,确实是 sui generis。可见吹牛逼从未停止。

    另外相比 JetBrains 这种产品,Visual Studio 和 Xcode 其实更贴近 “IDE” 的意思,因为它们大量使用了自家技术,而不是大量依赖于开源组件。这样做的后果是,如果你觉得 VS/Xcode “好用”,那么你大概率接受并认同微软 /苹果给你灌输的一套操作逻辑,我觉得苹果用户和 Chrome 用户对此应该有明显的感受,但或许没意识到的是,Windows 其实也有自己的一套强奸用户 /开发者的理论。开源世界同样有自己的强奸开发者的价值观,你接受了哪个,哪个对你来说就更好用。
    因此虽然我说 VS 更像 “IDE”,但是我觉得 VS 在 C++ 方面除了 IntelliSense 做得好,性能好之外,在项目配置上并不如 CLion 的 CMake 好用(虽然我并不认为 CMake 应该被用于 IDE 项目配置)

    另外楼主你说 VS “界面没有 idea 现代化” ... 其实我很怀疑 JetBrains 是没有设计师这一职位的 ... (虽然我并不认为设计师一定会对产品有积极的影响)
    missdeer
        163
    missdeer  
       2019-11-22 22:02:08 +08:00
    "这样当初微软推出 vs 难道不是为了支持.net 平台吗"

    这是哪里来的结论?.net 是 2001 年推出的,而那之前 vs 至少经过了 1~6 几个大版本
    Cbdy
        164
    Cbdy  
       2019-11-22 22:46:53 +08:00 via Android
    vs 占空间很大,也并不觉得好用,可能是软粉吹出来的吧
    shijingshijing
        165
    shijingshijing  
       2019-11-22 22:47:56 +08:00
    @secondwtq 你不说我还忘记了,Visual Assist X 其实现在没有安装的必要了,微软自家的 IntelliSense 很 nb 了,下一步我觉得微软可以更进一步搞人工智能来加强代码提示,特别是那种 Boilerplate code,我觉的人工智能大有可为。。。
    Tyanboot
        166
    Tyanboot  
       2019-11-23 00:33:24 +08:00 via Android
    @Cbdy 没记错 vs 本身也就 6、7 百 MB 大小好像。对比 idea 的 1G 也就那样。剩下的大小都是 SDK、编译器之类的。
    aapon
        167
    aapon  
       2019-11-23 01:06:44 +08:00 via iPhone
    作为一个.net 转 java 的人来说,我还是有资格回复这个的,用 vs 开发 asp.net mvc 5 做 web 开发简直太方便快捷了好吗?我转 java 也开发一年了,idea 是用着真不爽啊,vs2017 和 idea 2019.3 都是专业版,虽然 java 现在是主要开发语言,因为有老项目需要维护,所以还会偶尔使用.net 开发。就工具来说,微软系的软件我用的还是很爽的(除了 mssql,太吃资源了)。其他的 vsc ,vs 就很流畅。当然 winfrom,unity 3d 这些我偶尔也玩,vs 绝对能在开发环境这块最省心。逃~
    seki
        168
    seki  
       2019-11-23 03:19:47 +08:00
    @shijingshijing 最近的 vs 2019 已经有 ai 了,之前是 IntelliCode,现在可以读取项目代码训练模型,虽然没什么提升显著的感觉
    terence4444
        169
    terence4444  
       2019-11-23 04:50:13 +08:00 via iPhone
    vs 到现在都不支持 method 参数修改增加和变更,只有一个残废的编辑器
    Code2qing
        170
    Code2qing  
       2019-11-23 06:13:29 +08:00 via iPhone
    @inhzus 我的启蒙 ide 是 visual c++ 6.0😜
    fx3
        171
    fx3  
       2019-11-23 07:56:14 +08:00
    简单答案:当 VS 获得 宇宙第一 IDE 之称号时,IDEA 还不存在。

    感觉现在很多人都要补(暴)历(露)史(年)课(龄)。
    ik2h
        172
    ik2h  
       2019-11-23 08:01:03 +08:00 via Android
    曾用过 2M 网速下几十 G 的 VS,下载好后安装大半天,然后告诉你安装失败,系统环境也被弄得乱七八糟,这 IDE 见一次怕一次。
    VEEX6
        173
    VEEX6  
       2019-11-23 08:31:50 +08:00 via Android
    vs unity 和虚幻 4 无缝链接的 ide,一年一续费的 jb 也能出优越感了,这就是爪哇狗的素质啊,已屏蔽,看的恶心 @sudoz
    chouchoui
        174
    chouchoui  
       2019-11-23 10:37:45 +08:00 via iPhone
    @Mutoo Mac 上可能出了个假的 VS,JB 吹估计是宇宙排第 0 的
    ragnaroks
        175
    ragnaroks  
       2019-11-23 10:42:10 +08:00
    1 是调试方便
    2 是堆码方便
    3 是"总有渠道用到免费全功能版"

    写 java 用 vs 是二的选择
    ragnaroks
        176
    ragnaroks  
       2019-11-23 10:44:00 +08:00
    @VEEX6 言重了,科班 /培训班教 java 都会带上 vs 和 j++的,只有野路子出来的才会无脑吹 idea.你的"爪哇狗的素质"需要限定下范围
    FrankHB
        177
    FrankHB  
       2019-11-23 14:28:56 +08:00
    说是宇宙第一,VS 作为 IDE 的 UI 上小毛病不断,其实屑得很。以小见大:一个升级插件的界面居然用模态对话框(最近才改成升级,还是要重启),被 eclipse 都打粗翔。(当然 eclipse CDT 的别的体验有多烂我就不多婊了。论字体渲染倒是可能吊打 NetBeans。)
    至于 j8 家的东西,以前在我的几个实例上经常有跑不动的,正常构建流程出问题的( Android Studio gradle 卡墙先不管,响应那是个屑)甚至还有打不开的(当年的 CLion ),外加 VS 装.NET Reflector 日常直接卡翔加成 200%的。这类目无交互式程序响应需求的破烂,当 GUI app 就不合格,当然就什么没资格当 IDE 来讨论了。(当然,Java 撸的客户端嘛,整个都是……)
    amazingrise
        178
    amazingrise  
       2019-11-23 14:47:02 +08:00 via Android
    @shintendo 是的,vs 吃资源比 idea 少多了。
    dokodream
        179
    dokodream  
       2019-11-23 15:16:31 +08:00
    我以为你在说 vscode,还在思考 vscode 最支持的应该是 ts。。
    damngood
        180
    damngood  
       2019-11-23 15:29:59 +08:00 via iPhone
    说 ui 我还是喜欢 xcode 的 ui 一些
    尽管 xcode editor 这块很一般
    damngood
        181
    damngood  
       2019-11-23 15:32:02 +08:00 via iPhone
    jb 系的产品用起来有点延迟感,一直对他无感
    stevenbipt
        182
    stevenbipt  
       2019-11-23 18:15:59 +08:00
    都用过,然而我还是觉得 vs 的界面比 jb 家的舒服,内存占用上就强多了,当初在 2G 内存的笔记本上运行 vs2017 平常写 C#都还能保证不卡顿,现在想想都挺不可思议的,但是 vs 确实能做到
    Jabin
        183
    Jabin  
       2019-11-23 18:28:51 +08:00
    仁者见仁智者见智 写好代码才是硬道理
    mmdsun
        184
    mmdsun  
       2019-11-23 18:31:42 +08:00 via Android
    宇宙第一是因为 visual studio 在 IDE 排行榜排名第一,
    而且这个第一已经持续很久了。

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

    另外我想说我上周试了下 clion 最新版本跑 remote 连接远程机器开发。比 vscode 的 remote 系列插件弱鸡了不是一点半点。
    augustheart
        192
    augustheart  
       2019-11-25 09:40:57 +08:00   ❤️ 1
    @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
        193
    FantasyPupil  
       2019-11-25 10:50:11 +08:00
    为什么? 因为你用 vs 的时间太少了,第一 ide 不是它自封的,而是用户自己说的。
    桌面端开发程序我就没见过比 ide 更好的。
    tangmanger
        194
    tangmanger  
       2019-11-25 11:38:26 +08:00
    是你用的太少了 老哥
    FrankHB
        195
    FrankHB  
       2019-11-25 13:41:45 +08:00
    @augustheart C++用 clang_tidy 这种不是什么大问题,clang 出来就是有“你们 IDE 厂别自己管自己撸一套半吊子辣鸡,能我上就我上”的意思。反过来 VS 的 IntelliSense 和自家的 cl 两套都是半吊子,划红线那个效果真是 mdzz……
    这里真正显示 jb 家的问题在于,这种语言相关复杂度又高的活都给更专业的擦屁股完了,整合个 UI 外壳就好,居然体验还是那么辣鸡……
    augustheart
        196
    augustheart  
       2019-11-25 13:56:50 +08:00
    @FrankHB 但是采用 clang 的,目前我还没有看到有执行效率达到或者说接近 vs 的。无论从最早的 vim、emacs 插件形式手工集成 libclang.dll 还是看起来更加专业(然而并不一定)的 codelite、qtcreator 又或是 clion。
    当然,这和 tidy 也没有因果关系,只是说 clang 用来做语法提示在目前来看效率实在太差。
    redbuck
        197
    redbuck  
       2019-11-25 14:21:46 +08:00
    vs 启动贼慢.

    快捷键也反人类,注释接注释这种高频快捷键居然得连着按键.
    FrankHB
        198
    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 一样慢了。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2825 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 09:09 · PVG 17:09 · LAX 01:09 · JFK 04:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.