当我在 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