如何禁用VSCode集成终端中以+++ __vsc开头的额外输出?
VSCode集成终端出现大量
+++ __vsc开头输出的原因及解决方法 近期使用VSCode集成终端时,执行命令后(甚至仅按^C中断命令),终端末尾都会出现大量以+++ __vsc开头的额外输出,示例如下:
+++ __vsc_preexec_only scripts/calgary_brain_256_218_16_revi_2670_qpwls.sh +++ '[' 0 = 0 ']' +++ __vsc_in_command_execution=1 +++ __vsc_preexec +++ __vsc_initialized=1 +++ [[ ! __vsc_prompt_cmd =~ ^__vsc_prompt* ]] +++ __vsc_current_command= +++ __vsc_command_output_start +++ builtin printf '\033]633;C\007' +++ builtin printf '\033]633;E;%s\007' '' ++ __vsc_prompt_cmd ++ __vsc_status=130 ++ __vsc_precmd ++ __vsc_command_complete 130 ++ '[' '' = '' ']' ++ builtin printf '\033]633;D\007' ++ __vsc_update_cwd ++ builtin printf '\033]633;P;Cwd=%s\007' /home/rexfung/code/SNOPY_EPI ++ __vsc_current_command= ++ __vsc_update_prompt ++ '[' 1 = 1 ']' ++ [[ \[\](mirtorch_110) \[\]\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ \[\]\[\] == '' ]] ++ [[ \[\](mirtorch_110) \[\]\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ \[\]\[\] != \\[\]\6\3\3\;A\\]\(\m\i\r\t\o\r\c\h\_\1\1\0\) \\[\]\6\3\3\;A\\]\\[\\e\]0\;\\u@\\h:\ \\w\\a\\]\$\{\d\e\b\i\a\n\_\c\h\r\o\o\t\:\+\(\$\d\e\b\i\a\n\_\c\h\r\o\o\t\)\}\\[\\0\3\3\[0\1\;3\2\m\\]\\u@\\h\\[\\0\3\3\[0\0\m\\]:\\[\\0\3\3\[0\1\;3\4\m\\]\\w\\[\\0\3\3\[0\0\m\\]\\$ \\[\]\6\3\3\;B\\]\\[\]\6\3\3\;B\\] ]] ++ [[ \[\]> \[\] == '' ]] ++ [[ \[\]> \[\] != \\[\]\6\3\3\;F\\]\> \\[\]\6\3\3\;G\\] ]] ++ __vsc_in_command_execution=0
原因分析
这些输出是VSCode为实现终端集成功能(如命令跟踪、提示符美化、工作目录同步等)注入的shell辅助脚本的调试日志。通常由以下情况导致:
- shell的调试模式(
set -x)被意外开启,使得所有执行的shell命令都被打印出来; - VSCode的终端集成脚本出现异常,原本应该静默执行的内部逻辑被错误输出。
外部终端无此问题,是因为只有VSCode会向集成终端注入这类自定义脚本。
解决方法
- 关闭shell调试模式:如果使用bash,在终端执行
set +x即可临时关闭调试输出。同时检查~/.bashrc、~/.bash_profile等shell配置文件,以及VSCode的终端自定义配置中是否意外添加了set -x语句。 - 禁用并重新启用VSCode终端集成:打开VSCode设置,搜索
terminal.integrated.shellIntegration.enabled,先关闭该选项,观察输出是否消失。若消失,可尝试重新开启,或更新VSCode到最新版本修复可能的bug。 - 清理终端缓存:打开命令面板(快捷键Ctrl+Shift+P),执行
Terminal: Clear Terminal History,之后重启VSCode的终端。 - 检查自定义shell配置:如果在VSCode中配置了自定义的shell启动脚本,检查其中是否存在导致调试输出的内容,比如多余的
echo语句或调试开关。
内容的提问来源于stack exchange,提问作者Rex Fung
相关产品推荐
相关产品推荐

