检测 ZSH 范围在 VScode 终端内运行的最佳方法是什么?

检测 ZSH 范围在 VScode 终端内运行的最佳方法是什么?

当我在 Visual Studio Code 中运行构建命令时,我想调用我也用于 macOS 的整个自定义 shell,因此我调用;

source ~/.zshrc && sync_all_shell_env

不过还有一个小问题;我有一些可以触发的定期检查(比如其他同步、检查和更新)。我更希望在 VScode 中触发构建命令时不提示这些。所以它会像$IS_VSCODE我也使用$IS_LINUX$IS_MACOS$IS_PI等一样$IS_AT_HOME

最确定的方法是什么,可以知道那一刻的 shell 是在 VScode 内部触发的?是否有一个唯一变量可以检查,以确保我只在 VScode 内部?

当我跑步时;

printenv | grep VSCODE

我似乎能用它们来检测它。它们似乎不住在我正常的壳里。

答案1

最后我这样修复了它;

export IS_VSCODE=false

if [[ $(printenv | grep -c "VSCODE_") -gt 0 ]]; then
    export IS_VSCODE=true
fi

if $IS_VSCODE; then
    echo "VSCODE YES!"
fi

相关内容