如何彻底禁用Visual Studio Code的Shell集成提示符注入?
彻底禁用VSCode Shell提示符注入的解决方案
1. 补充VSCode核心设置
除你已配置的选项外,将以下内容添加到VSCode的settings.json中,从环境变量层面阻断注入触发:
"terminal.integrated.env.osx": { "VSCODE_SHELL_INTEGRATION": "" }, "terminal.integrated.shellIntegration.enabled": false, "terminal.integrated.shellIntegration.decorationsEnabled": "never", "terminal.integrated.defaultProfile.osx": "zsh"
2. 修改zsh配置强制屏蔽注入
编辑~/.zshrc文件,添加以下代码,让VSCode终端启动时直接跳过集成脚本并强制加载starship:
if [[ "$TERM_PROGRAM" == "vscode" ]]; then unset VSCODE_SHELL_INTEGRATION eval "$(starship init zsh)" fi
保存后在VSCode终端执行source ~/.zshrc生效。
3. 清除VSCode终端缓存
- 关闭所有VSCode窗口
- 打开Finder,按
Cmd+Shift+G输入~/Library/Application Support/Code - 删除
CachedData和CachedExtensions文件夹(仅清除缓存,不影响设置与扩展) - 重启VSCode验证效果
4. 确认禁用状态
在VSCode终端执行命令,若输出为空则说明注入已被彻底阻断:
echo $VSCODE_SHELL_INTEGRATION
同时检查提示符样式是否与iTerm2一致。
内容的提问来源于stack exchange,提问作者NA Slacker
相关产品推荐
相关产品推荐

