解决了困扰我许久的 vscode 卡顿问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
rossroma
V2EX    程序员

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

  •  
  •   rossroma 2023-05-11 15:35:04 +08:00 9012 次点击
    这是一个创建于 891 天前的主题,其中的信息可能已经有所发展或是发生改变。
    手里一直在用的电脑是 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     Solana     1339 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 17:12 PVG 01:12 LAX 10:12 JFK 13:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86