V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
rossroma
V2EX  ›  程序员

解决了困扰我许久的 vscode 卡顿问题

  •  
  •   rossroma · 2023-05-11 15:35:04 +08:00 · 7229 次点击
    这是一个创建于 597 天前的主题,其中的信息可能已经有所发展或是发生改变。
    手里一直在用的电脑是 2020 款 M1 芯片的 macbook pro ,不开启 vscode 时,电脑很顺畅也基本不发热。一旦使用 vscode 打开两三个项目,瞬间就卡顿了,且 CPU 占用很高,电脑发热严重。网上查了一圈,普遍认为是以下两个问题造成的,一是没有在`setting.json`里屏蔽`node_moduels`等非项目源码,导致搜索和监听变慢,内存占用高;二是部分插件有问题,导致了`code helper`进程的高 CPU 占用。
    以上两种解决方案我都尝试过了,效果都不太理想。
    后来偶然间发现我的 vscode 进程显示的种类是 Intel 而非 Apple ,这表明 vscode 安装的是 universal 版本而非 apple silicon 的版本。


    我打开了 vscode 的官网,发现点击下载默认给的就是 universal 版本,需要进一步进入下载详情页,才能看到 Apple silicon 的下载选项。之后我下载了这个版本,打开后发现一切又丝般顺滑了,即便开多个项目也丝毫不卡顿。



    经过此事也得出了一个经验,安装软件尽可能不要选择 universal 版本,虽然能用,但无法提供最佳用户体验。
    第 1 条附言  ·  2023-05-12 15:18:11 +08:00

    主题节点的选择

    文章写完后,平台自动帮我选择了“程序员”这个节点,当下我并没有意识到有什么问题,就发布出去了。看到大家的反馈我才意识到,这是个M系列芯片的Mac才会碰到的问题,但我并没与在标题中注明这一点,导致大家点进来并没有看到对自己有帮助的信息,为此我感到抱歉。

    universal与apple silicon的区别

    我文中叙述的有误,我之前安装的vscode应该不是universal版本的。评论区说的对,universal 是打包了两种二进制的,在 M1 机型上运行会显示为 Apple。我的vscode是从旧Intel Mac上迁移过来的,所以应该是经过rosetta转译的Intel版本,所以在执行效率上比较差。 因此这也变成了一个更小众的问题,难怪之前在网上没有查到类似的解决方案。

    18 条回复    2023-10-03 15:22:39 +08:00
    28Sv0ngQfIE7Yloe
        1
    28Sv0ngQfIE7Yloe  
       2023-05-11 15:37:18 +08:00
    brew install --cask visual-studio-code
    hellomsg
        2
    hellomsg  
       2023-05-11 15:45:35 +08:00   ❤️ 17
    没有 Apple silicon 电脑的我白点开这帖子了
    NoOneNoBody
        3
    NoOneNoBody  
       2023-05-11 16:01:43 +08:00
    @hellomsg #2 +1
    只是某种机型的事

    作为 intel windows vscode python 用户表示
    1. GPU 占用明显,低代核显开着 vscode 时,看高码 4K 变 PPT ,关掉可以看
    2. 代码分析扩展耗资源,500 行以上,开几个 tab 就卡顿,pep 查错、自动完成、mouse over 看__doc__说明等
    以上换新代 CPU 好很多,但我还是换 sublime 了
    wednesdayco
        4
    wednesdayco  
       2023-05-11 16:18:58 +08:00
    就我最近的经验来看,VSCode Remote 最舒服
    pushy
        5
    pushy  
       2023-05-11 16:20:00 +08:00
    NB! 解决了我长期以来的困扰
    fend
        6
    fend  
       2023-05-11 16:22:39 +08:00
    屏蔽了 node_moduels 等非项目源码好像确实快了一点
    Jakarta
        7
    Jakarta  
       2023-05-11 16:24:20 +08:00 via Android   ❤️ 3
    发到 mac 节点,ok ?
    Jakarta
        8
    Jakarta  
       2023-05-11 16:24:44 +08:00 via Android
    mac-->apple
    mohumohu
        9
    mohumohu  
       2023-05-11 16:29:37 +08:00
    windows 用户失望地离开
    9a09e
        10
    9a09e  
       2023-05-11 18:18:34 +08:00
    @mohumohu Win 平台可以 WSL2 + VSCode Remote WSL 。😆
    auroraccc
        11
    auroraccc  
       2023-05-11 19:02:21 +08:00
    从 intel 迁移到 m1 的也发现了这个问题,不说还没发现,感谢~
    Vitta
        12
    Vitta  
       2023-05-11 19:52:15 +08:00
    code helper 天天要卡死我,后来发现代码提示插件没屏蔽 yaml, 我新加的词库太多了卡的
    drcayman
        13
    drcayman  
       2023-05-11 20:02:17 +08:00
    @hellomsg 俺也是
    bagel
        14
    bagel  
       2023-05-11 20:04:28 +08:00
    OP 你的理解是错的。universal 是打包了两种二进制的,在 M1 机型上运行会显示为 Apple 。你当初安装的 vscode 版本不对,并不是 universal 。
    akaHenry
        15
    akaHenry  
       2023-05-11 22:02:13 +08:00
    其实更可能是你插件装太多,保持克制,非必要插件,全卸载.
    lostpg
        16
    lostpg  
       2023-05-12 01:13:42 +08:00
    @bagel 我认为你的看法非常合理,OP 可能要回溯一下自己最初安装在 as mac 的 vscode 是什么版本的,如果是用迁移工具从上一台 intel mac 迁移过来,那 vscode 几乎必定是 intel 架构的。
    aireason
        17
    aireason  
       2023-05-12 09:24:34 +08:00
    还是要纠正一下的,universal 就是那种通用版本,intel 和 apple silicon 都可以安装,所以你这个建议对其他人是没什么用的,其他人就装 universal 版本就好了。
    lloydsheng
        18
    lloydsheng  
       2023-10-03 15:22:39 +08:00
    感谢分享!真的解决了我的大问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2729 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:52 · PVG 22:52 · LAX 06:52 · JFK 09:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.