You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

全新ZSH安装后VS Code集成终端启动缓慢(或为Mac OSX全域问题)

排查VS Code终端zsh启动慢&shell闪烁问题

这种情况我之前帮朋友排查过好几次,大概率是VS Code的终端配置冲突、或者Oh My Zsh初始化环节出了问题,咱们一步步来定位解决:

1. 先修复VS Code的终端配置(最可能的原因)

你当前用的terminal.integrated.shell.osx配置在新版VS Code里已经被官方废弃了,这个旧配置会导致VS Code启动终端时,反复尝试匹配系统shell和配置的shell,这就是你看到bash/zsh来回闪烁的核心原因。

解决步骤:

  • 打开VS Code的设置(快捷键Cmd+,),点击右上角的打开设置(JSON)图标
  • 删除旧的"terminal.integrated.shell.osx": "/bin/zsh"配置,替换成以下新配置:
    "terminal.integrated.profiles.osx": {
      "zsh": {
        "path": "/bin/zsh",
        "args": ["-l"]
      }
    },
    "terminal.integrated.defaultProfile.osx": "zsh"
    
    这里的-l参数是让zsh以登录shell模式启动,和你系统设置的保持一致,避免重复初始化流程。

2. 排查Oh My Zsh的初始化耗时

虽然你没修改.zshrc,但默认的Oh My Zsh可能存在隐性的加载瓶颈:

  • 临时禁用Oh My Zsh测试:打开系统自带的Terminal.app,执行mv ~/.oh-my-zsh ~/.oh-my-zsh-temp,然后重启VS Code。如果终端速度恢复正常,说明问题出在Oh My Zsh上:
    • 先切换回默认的robbyrussell主题(有些第三方主题加载字体/图标会拖慢速度)
    • 检查默认启用的插件(比如git):如果你的电脑里有大量git仓库,git插件的自动状态检测会耗时,可临时在.zshrc里注释掉plugins=(git)再测试。
  • 调试初始化流程:执行zsh -xv 2>&1 | head -100,这个命令会输出zsh初始化的每一步细节,你可以看哪一行的执行时间明显更长,定位具体的卡顿点。

3. 验证系统登录shell的有效性

确保系统的登录shell确实是zsh:

  • 在系统终端执行echo $SHELL,应该输出/bin/zsh
  • 再执行dscl . -read /Users/$(whoami) UserShell,返回结果也必须是/bin/zsh
  • 如果不一致,重新执行chsh -s /bin/zsh,输入密码后重启系统,确保设置生效。

4. 清空VS Code缓存

有时候VS Code的缓存文件损坏会导致启动异常:

  • 完全关闭VS Code
  • 删除以下两个文件夹:
    • ~/Library/Application Support/Code/Cache
    • ~/Library/Application Support/Code/CachedData
  • 重新启动VS Code测试。

内容的提问来源于stack exchange,提问作者Stephen E.

火山引擎 最新活动