因为 VSCode 的内置终端有一个特殊的扩展注入机制。你的环境是 Anaconda ,这是一个 Python 虚拟环境所以 VSCode 会触发 Python 扩展向内置终端进行功能注入,比如自动帮你激活虚拟环境啥的。Anaconda/Miniconda 的 conda activate 命令本身是挺耗时的,如果你用的是 Powershell 还要加载 $PROFILE 配置文件,这个文件加载起来估计会更久。
以我为例,我用的 Powershell Core 7 ,启动时会先加载 MSBuild 构建环境,这个加载脚本就很麻烦;其次是 PSReadLine ,这个能给我的命令行提供更丰富的命令自动补全功能;接下来是 posh-git ,在命令行里显示 Git 仓库状态,我仓库很庞大,这一步是最耗时的,卡5~10秒很正常;还有 oh-my-posh 给命令行做美化;一切搞完了最后才是 VSCode 给我的扩展注入,自动激活 pyenv-win 和 virtualenv 虚拟环境。全套搞下来卡半天也合理
后续运行命令会在这个已经启动的终端中执行,那些加载初始化过程是一次性的,不需要重复做,所以你后面再执行就会明显快很多
以我为例,我用的 Powershell Core 7 ,启动时会先加载 MSBuild 构建环境,这个加载脚本就很麻烦;其次是 PSReadLine ,这个能给我的命令行提供更丰富的命令自动补全功能;接下来是 posh-git ,在命令行里显示 Git 仓库状态,我仓库很庞大,这一步是最耗时的,卡5~10秒很正常;还有 oh-my-posh 给命令行做美化;一切搞完了最后才是 VSCode 给我的扩展注入,自动激活 pyenv-win 和 virtualenv 虚拟环境。全套搞下来卡半天也合理
后续运行命令会在这个已经启动的终端中执行,那些加载初始化过程是一次性的,不需要重复做,所以你后面再执行就会明显快很多