【发布时间】:2021-02-11 20:08:50
【问题描述】:
当我从 Dock 启动 VSCode 时,它总是抱怨
解析您的 shell 环境需要很长时间。请
检查您的 shell 配置。
然后再晚一点
无法在合理的时间内解析您的 shell 环境。
请检查您的 shell 配置。
根据此页面Resolving Shell Environment is Slow,如果.bashrc 花费超过三秒,则显示第一条消息,如果超过十秒,则显示第二条消息。
我在 VSCode 中打开了一个终端并获取了我的 .bashrc 文件
dpatterson@dpconsulting$ time source ~/.bashrc
real 0m1.448s
user 0m0.524s
sys 0m0.671s
dpatterson@dpconsulting$
如您所见,不到 1.5 秒。
环境:
- MacOS Mojave 10.14.6
- VSCode 1.53.0
希望有人知道是什么原因造成的。
除此之外,也许有人可以指出实际产生这些错误的代码。
TIA
【问题讨论】:
-
获取 .bashrc 的时间还很长。我的运行时间为亚秒级。一个合理的猜测是 1.5 秒加上启动 shell 环境(可能是 WSL?)+ 采购 bashrc 所花费的任何时间超过了阈值。我在那里看不到足够的信息来做更多的猜测,但是......也许将你的 .bashrc 移动到 .bashrc-old 看看是否可以解决它?如果是这样,那么您就知道要针对您的 .bashrc 复杂性。如果没有,那么它就是之前发生的任何事情(比如启动 WSL)。或者,也许你的内存受限,等等等等。
-
绝对不涉及 WSL。我在 Mac 上。
-
是的。我的 bash 初始化中有一些东西(它确实做了很多)。有什么方法可以让我的 .bashrc 知道它是 VSCode 启动的吗?
-
哎呀。没有读到足够多的内容来阅读您已经说过mac。我想你可以做一些事情,比如在你的 bashrc 中添加一个 if 语句来检查父 pid 是否属于 VS Code。或者您可以设置环境变量以根据其是否为 VS Code 传入。但如果是我,我倾向于先对 .bashrc 中发生的事情进行性能调整。因为即使等待一秒钟半也会让我发疯。作为比较,我的树莓派 .bashrc 执行时间为 0.072 秒。
-
对我的修复最终是从我的 zshrc 中注释掉 nix 和 ghcup 行(haskell 的东西)