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

都说 VS 是宇宙第一的 IDE,到底是好在哪里?

  •  
  •   haython · 11 小时 34 分钟前 · 4293 次点击

    我只用过 jetbrains 系列和 Eclipse

    第 1 条附言  ·  4 小时 12 分钟前
    依然有人分不清 VS 是 Visual Studio 的简写,不是 Visual Studio Code 的简写
    61 条回复    2024-09-21 02:17:58 +08:00
    fangxisama
        1
    fangxisama  
       11 小时 33 分钟前
    都说 php 是最好的编程语言呢,到底是好在哪里?
    XDiLa
        2
    XDiLa  
       11 小时 32 分钟前
    好在开源 直接白嫖 插件丰富 可以让那些 配置不高的用户畅快运行,所以我用 IDEA
    estk
        3
    estk  
       11 小时 31 分钟前 via iPhone
    现在是 cursor 了
    Configuration
        4
    Configuration  
       11 小时 30 分钟前
    好在生态丰富吧,对我来说 remote ssh 是杀器
    YuukiHibiki
        5
    YuukiHibiki  
       11 小时 30 分钟前
    好用,但我选择 idea
    liferoll
        6
    liferoll  
       11 小时 29 分钟前
    remote ssh + 基于各种插件构成的多语言”IDE“,
    godwinma
        7
    godwinma  
       11 小时 29 分钟前   ❤️ 2
    @XDiLa 是不是搞错了,感觉楼主说的是 visual studio, 不是 visual studio code.
    haython
        8
    haython  
    OP
       11 小时 26 分钟前
    不是 visual studio code ,这顶多是个编辑器,我说的是 visual studio ,IDE
    XDiLa
        9
    XDiLa  
       11 小时 26 分钟前
    感觉你说的也有理的
    yawenimy122
        10
    yawenimy122  
       11 小时 25 分钟前
    不卡就是最大优势
    iorilu
        11
    iorilu  
       11 小时 25 分钟前
    很简单, 免费得没他好

    比他好得不免费
    EthanZhuXE2V
        12
    EthanZhuXE2V  
       11 小时 23 分钟前
    那是 10 年前的说法,现在是 IDEA
    coderluan
        13
    coderluan  
       11 小时 22 分钟前   ❤️ 2
    这个说的是 vs ,不是 vsc ,而且这个说法的来源,是有人要写 C/C++的时候,总有人因为乱七八糟的原因推荐其它的 IDE ,比如 vs 安装包太大了,vs 项目太大了,不如用 Dev-C++,然后就有人回复 VS 第一不解释之类的,慢慢就有这个说法了,这个其实是只限定在 C/C++范围的
    kk2syc
        14
    kk2syc  
       11 小时 22 分钟前
    @iorilu 除了针对特定领域的工业级的,不然付费也不见得比 vs 好。
    piero66
        15
    piero66  
       11 小时 21 分钟前 via Android
    打开比较快
    coderluan
        16
    coderluan  
       11 小时 18 分钟前
    我记忆中最早见这种说法都是在 C 和 C++贴吧,那俩贴吧特中二,比如贴吧等级头衔都是《灼眼的夏娜》里面的角色,最高等级是顶之座黑卡蒂。
    andforce
        17
    andforce  
       11 小时 18 分钟前   ❤️ 1
    看回复,很多人分不清 VS 和 VSC

    好称宇宙第一的是 VS ,你们说的开源啥的是 VSC
    dfkjgklfdjg
        18
    dfkjgklfdjg  
       11 小时 17 分钟前
    评论前先看一看主题问的是 VS 还是 VSC……

    别还没分清 Visual Studio 和 Visual Studio Code 就开始输出了。
    coolcoffee
        19
    coolcoffee  
       11 小时 11 分钟前
    10 年前这时候如果采用微软全家桶还是比较省心的,除了不省钱。

    当时看 Visual Studio 断点调试.NET 的时候,调试过程还能往回倒退真的是被吓到了,后面搜了一下才知道是这功能叫做 IntelliTrace 。现在好像也没有别的 IDE 和语言能支持这个 IntelliTrace 特性。
    psklf
        20
    psklf  
       11 小时 7 分钟前
    仅限 windows 下开发无敌。
    Mystery0
        21
    Mystery0  
       11 小时 2 分钟前   ❤️ 1
    vs 装上之后,打老游戏应该就不会再遇到缺运行库的问题了
    Mystery0
        22
    Mystery0  
       11 小时 2 分钟前
    @Mystery0 当然,装上了也别想卸载干净了,有且只有一个卸载干净的方法,叫做“重装系统”
    lonelyparasol
        23
    lonelyparasol  
       10 小时 58 分钟前
    @Mystery0 大部分确实, 把 runtime 都装上
    tianzi123
        24
    tianzi123  
       10 小时 53 分钟前
    插件最丰富
    Donaldo
        25
    Donaldo  
       10 小时 51 分钟前
    Windows 是全世界使用人数最高的桌面操作系统,C#/C++混编是开发 Windows 项目很合理的选择,VS 恰好提供了这些能力,是一个通用解决方案。
    wu00
        26
    wu00  
       10 小时 51 分钟前   ❤️ 1
    - 大而全的前提下还很快
    - 调试工具逆天
    - 补全、感知、一键重构、代码风格等工程化配置,早在 Colipot 出来之前就已经很强大了
    v2e0xAdmin2
        27
    v2e0xAdmin2  
       10 小时 39 分钟前
    @coolcoffee idea 可以
    idealhs
        28
    idealhs  
       10 小时 33 分钟前   ❤️ 2
    V2 平均水平现形记
    Mithril
        29
    Mithril  
       10 小时 14 分钟前   ❤️ 3
    你想想你对 IDE 的诉求是什么?是什么功能让你想要去弄一个庞大的全功能 IDE 而不是 VSC 这种轻量级的编辑器+LSP 。

    对我而言,IDE 最重要的就是智能提示/补全和调试器。

    比如说 C++
    VS 的智能补全是基于编译的,它用了个编译器前端去做提示。所以你用了非常复杂的模板的时候,这玩意的补全效果吊打那些基于 token 做补全的。
    VS 的 Debugger 一直做的都不错。比如举个简单的例子,它可以直接显示容器的值,而非一坨套一坨的垃圾玩意。而且你可以自定义对象显示的视图,比如你可以让一个套了 N 层的自定义 Point 类在调试器里直接显示成 x,y 。
    而且 VS 的 Profiler 也很强。

    JetBrains 的 CLion 也在不断改进,现在智能提示应该也是用 clangd 来做了。你在 Linux 开发用 CLion 也不错。
    另外 Clion 的重构功能比 VS 的强,你用 VS 的话,也可以试试 Resharper 插件。

    至于其他的还是算了,根本没啥可比性。

    VS 的口碑是这么多年发展下来的,比如我前面说的例子里,智能提示这功能它 09 年换成了用编译器做。岁数差不多和 clang 一样大( clang 是 07 年发布的第一版)。你可以想象那些年其它 IDE 在用上 clangd 以前智能提示都是啥水平的。

    但到现在,和 Rider 以及 Clion 的差距已经没那么明显了。特别是之前 VS 的 IDE 本身一直都是 32 位的,装几个插件打开个大工程能卡成狗。只能说口碑还在那,但已经在被追赶了。
    raviscioniemeche
        30
    raviscioniemeche  
       9 小时 53 分钟前
    都说? 谁叫“都” ,谁敢说 vs 是最好的
    afirefish
        31
    afirefish  
       9 小时 42 分钟前
    10 年前吧,现在感觉不如 JetBrains 系列的
    aiqinxuancai
        32
    aiqinxuancai  
       9 小时 37 分钟前
    用过 xcode 你就懂其他 ide 的好了
    vicnicLight007
        33
    vicnicLight007  
       9 小时 11 分钟前
    @aiqinxuancai 同为 ios 开发的给你点个赞
    particlec
        34
    particlec  
       9 小时 5 分钟前
    主要是不卡,之前也是用 jetbrains 有点卡
    hazardous
        35
    hazardous  
       9 小时 0 分钟前
    是我唯一感觉不到 Electron 笨重的软件。界面样式和响应速度也完全不像浏览器。
    hazardous
        36
    hazardous  
       8 小时 59 分钟前
    @hazardous #35 看错了……我以为说的是 VSCode……
    illusory
        37
    illusory  
       8 小时 55 分钟前
    @coolcoffee #19
    我知道的有 rr-debugger ,undo.io 以及 Green Hills Software 的 MULTI 。
    yippees
        38
    yippees  
       8 小时 42 分钟前
    vc+tomato
    Yjhenan
        39
    Yjhenan  
       8 小时 21 分钟前
    一般是局限在在 C/C++/C#范围内,功能大而全,而且性能好资源占用也少
    mightybruce
        40
    mightybruce  
       8 小时 19 分钟前
    VS 是宇宙第一的 IDE, 那是不少年前的事情了。
    那时候写 c++的 IDE 只有 VS 最好用, 其他像 netbeans, eclipse, clion 都不怎么行,也不怎么智能
    freefcw
        41
    freefcw  
       8 小时 15 分钟前
    @coolcoffee 这个功能 gdb 挺早的时候也支持了好像叫 backtrace ,不过我那时已经没怎么写 c/c++了
    lvlongxiang199
        42
    lvlongxiang199  
       8 小时 11 分钟前
    @wu00 你这说了就跟没说一样. 调试工具怎么逆天了 ? "补全、感知、一键重构、代码风格等工程化配置" idea 也可以
    cnbatch
        43
    cnbatch  
       7 小时 58 分钟前
    如果需要使用 C/C++、C# 做开发,尤其是这几个都需要兼顾,那么 VS 是最方便的选择了,一个 IDE 就能覆盖需求
    LaTero
        44
    LaTero  
       7 小时 49 分钟前 via Android
    老黄历了,现在和 jb 完全没法比。要不然也不会有 resharper 和 visual assit 了。而且生态很差,遇到问题搜索都是 vsc ,根本找不到 visual studio 相关信息。codeium 这种支持 vs 的插件连说明都没有,就叫你去商店装,装上和内置的补全是冲突的,谷歌搜全是 VSC 。如果你只用过 JB 那去用 VS 真的感觉是折磨。
    hez2010
        45
    hez2010  
       7 小时 12 分钟前   ❤️ 6
    先说调试器
    1. 从内核态到用户态 app 全都能调试,而且还能远程调试别的机器(无论 Windows 还是 Linux 还是 macOS ),外加还能调试各种系统的 coredump ,这一点上首先就无敌了。
    2. 在运行时 eval 任意的表达式,甚至牵扯到各种调用的复杂表达式都没问题。
    3. 支持 hot reload ,是的,哪怕是 C/C++ 程序都能 hot reload ,调试运行过程中改几行代码可以直接瞬间应用更改,不需要重启 app 直接生效。
    4. 支持倒着往前调试,比如你单步调试一不小心跳过去了,这个时候你用 VS 的话可以倒着单步回去,如同时光机一样。
    5. 支持混合调试 C++ 和 C#,碰到有 FFI 的代码你可以从 C# 单步进 C++ 代码,也可以从 C++ 代码单步进 C# 代码。
    6. SourceLink 支持直接加载来自网络的代码,比如你可以直接用 SourceLink 把你的代码和 GitHub 关联起来,别人调试你的程序的时候直接自动从 GitHub 加载源代码就能调试。

    再说索引引擎
    1. 拥有地表最快的 C/C++ 索引引擎,没有之一。毕竟 VS 最开始就是靠这玩意起家的。
    2. 复杂模板/各种类型 trait 的推导能力也是顶级,clion/clangd 很多推不出来的玩意扔给 VS 就一点问题没有。
    3. 我之前做 WinRT 开发,由于有个魔鬼模板展开导致给 std::hash<T> 整出来了 2000+ 个 overload ,VS 的补全引擎后台吃我 100% CPU 花了 10 多分钟给出来了完整结果;我试着换成了 clangd ,结果 clangd 遇到 std::hash 试图补全的时候整个进程直接崩溃异常退出了。
    kuisir
        46
    kuisir  
       7 小时 10 分钟前 via iPhone
    @coolcoffee Rider 应该可以吧
    hefish
        47
    hefish  
       7 小时 10 分钟前
    多说无益,用了就知道了。
    wlingxiao
        48
    wlingxiao  
       7 小时 6 分钟前 via Android
    vs 连 c# 的代码格式化都做不好。😂
    Flourite
        49
    Flourite  
       6 小时 54 分钟前
    sublime 转过来的,简单的说是轻量级但是可以通过插件增强功能,最爽的是可以选定多行操作了,但如果你用 java 那还是算了
    laminux29
        50
    laminux29  
       6 小时 48 分钟前
    并不是每个人都有环境与条件,去体验到完整版的 VS 。就像杜比家庭影院,就那个低音炮,整个论坛里,就没几个人,能有听音室环境,能够开足音量,不用担心打扰别人。

    想要体验完整版的 VS ,首先显示器至少 12 个:

    1. VS 有 4 个 DEBUG 面板,1 - 4 号显示器,每个显示器用于放置一个 DEBUG 面板。

    2. VS 的代码编辑器,假设开 2 个,用 5 - 6 号显示器,用于放置代码编辑器。

    3. VS 还能直连数据库,用 7 号显示器。

    4. 3 个显示器用来问 GPT ,其中 8 号显示器,用于编辑提示词; 9 号显示器用于 OpenAI 新出的 o1 ; 10 号显示器用 Cursor 。

    5. 还有 2 个显示器,一个用于 google 查资料 + IM 通信,另一个用于 ssh 到服务器。

    实际上这只是最低配,有时候复杂场景,需要开多个代码窗体,或者开多个 google 查资料或 GPT ,还需要更多显示器。

    大部分程序员,很难遇到需要大量窗口的复杂需求;

    就算遇到了,没有几个人能享受到公司给他配备足够大的工位,来放置这么多显示器。

    我见过最多的场景是,一台小小的笔记本,一大堆窗口切来切去。这种场景,无论用啥 IDE ,感受都不会好。
    paopjian
        51
    paopjian  
       6 小时 28 分钟前
    在 IDE 还不完善的时候,VS 是一个比较标准的 IDE 软件,啥功能都有还挺唬人的, 初学那会写个 scanf 啥的都提示你不安全啥的, 和 DEVC++ free pascal 这种软件比肯定是高端点
    mobaisilent
        52
    mobaisilent  
       5 小时 16 分钟前
    轻量呀
    juggtt213
        53
    juggtt213  
       4 小时 58 分钟前 via iPhone
    调试可以实时看性能热点,vtune 要跑完才能看
    zhuangzhuang1988
        54
    zhuangzhuang1988  
       4 小时 45 分钟前
    平衡吧
    性能,功能, 可用性。
    mxalbert1996
        55
    mxalbert1996  
       4 小时 25 分钟前 via Android
    说 VS 是最强的免费的 C/C++ IDE 应该没什么问题。
    googol2chen
        56
    googol2chen  
       3 小时 51 分钟前
    @fangxisama 因为 php 有内置的高并发支持,类似 goroutine ,还可以控制底层,操作内存分配和释放,还可以编译运行,达到极致的性能,它还是内存安全的语言,还有成熟的社区支持。你说 php 是不是世界上最好的语言?
    jiangzm
        57
    jiangzm  
       1 小时 30 分钟前
    @wlingxiao #48 哈哈哈,无脑黑
    jiangzm
        58
    jiangzm  
       1 小时 0 分钟前
    Visual Studio 就不是 Java IDE 所以没啥可比性,你觉得 jetbrains 是世界第一也没问题。
    如果实在要比拿都支持的开发语言比较 比较合适(比如 C++),或者两款 IDE 都深度使用的用户来。

    这两种 IDE 我都用过很长时间 Eclipse 用的少一点,开始是用 MyEclipse 后来用 Jetbrains IDEA ,Visual Studio 从 VS2008 开始用到 VS2022 。

    Eclipse 体验真是灾难,MyEclipse 集成环境稍微好一点了,但是智能提示还是差强人意,到了 IDEA 在性能、智能提示、调试、插件丰富度等各方面都提升了很多,当然还是有一些差强人意的地方,比如资源占用过大,使用"免费的"旗舰版是个很痛苦的过程等等。

    Visual Studio 就是一个大而全的 IDE ,支持多种开发语言,支持全平台的开发,优秀的调试器和智能提示,基本上不需要安装任何辅助插件你所需要的都给你想到了(功能都是可选的)。一句话就是可以一直相信微软开发的用户软件。
    secondwtq
        59
    secondwtq  
       52 分钟前
    @Mithril 单说补全的话,VSCode 也能用 clangd ,clangd 本身不是专门为了某个 IDE 开发的。
    但是问题也就在这,VS 的 C++ IntelliSense 的前端和编译器(一般 C++ 社区所指的 MSVC )前端貌似是两套代码,这意味着 IntelliSense 的前端可以专注于为补全场景优化。而对于 Clang 来说,离线编译是主要场景,clangd 是个附属品,于是就有了 #45 的各种问题。
    VSCode 的官方 C++ 插件的 IntelliSense ,据说是和 VS 用的同一套代码,不过我没咋用过不好评价。

    Debugger 和 Profiler 现在还差太远,没法比。
    举个例子,DWARF 格式调试信息的符号表,一直都是线性存储的,也就是说如果你有个大项目,开调试器得先扫一遍全部调试信息。大家其实一直知道这个问题,比如 Apple 和 GNU 都有一些扩展加入哈希表之类的数据结构,Apple 的应该是默认打开的,但是 GNU 的貌似要额外加一些选项。这种加速结构进入标准是在最新的 DWARF5 中,然而依然是可选的。
    secondwtq
        60
    secondwtq  
       46 分钟前
    另外 technically 来说 VS 并不是完全免费的,之前的 VS Express 现在没了,VS Community 商用受限(一些功能也依然有阉割)。
    cooltechbs
        61
    cooltechbs  
       14 分钟前 via Android
    @Mithril VS2022 已经改成 64 位的了,比 2019 流畅不少。
    智能提示确实是当年 VS 的杀手特性,我当年还是小白的时候,硬是靠 VS2005 的代码提示找到了心流的感觉,可以说要不是 VS 我就不会入计算机坑了...
    (然而我竟然从来没有在公司用过 VS )
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1152 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:32 · PVG 02:32 · LAX 11:32 · JFK 14:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.