【问题标题】:VSCode complains that resolving my environment takes too longVSCode 抱怨解决我的环境需要太长时间
【发布时间】: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 的东西)

标签: visual-studio-code


【解决方案1】:

遇到同样的情况,发现问题: https://github.com/microsoft/vscode/issues/113869#issuecomment-780072904

我将nvm load code提取到问题中的condition function引用,解决了这个问题:

function load-nvm {
  export NVM_DIR="$HOME/.nvm"
  [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
  [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
  [[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh
}

# nvm
if [[ "x${TERM_PROGRAM}" = "xvscode" ]]; then 
  echo 'in vscode, nvm not work; use `load-nvm`';
else 
  load-nvm
fi

【讨论】:

  • 它对我有用
【解决方案2】:

从终端打开 VS Code:

code .

【讨论】:

  • 我们必须这样做才能打开它的事实表明 VS Code 是垃圾箱之火
【解决方案3】:

在 BigSur 上重新启动 VSCode 对我有用。

您还可以检查您的用户设置,以确保它与您的终端使用的 shell 的路径相匹配。

查看https://code.visualstudio.com/docs/supporting/troubleshoot-terminal-launch 了解其他故障排除步骤。

【讨论】:

  • 系统更新后发生在我身上。 VSCode 在重新启动时打开,因此它重新启动它,但显然不正确。如前所述,重启 VSCode 解决了这个问题。
  • 我不得不关闭 VSCode,重新启动我的 Mac,然后打开 VSCode,然后关闭它并再次重新打开它,然后它才能开始正常工作。但它现在正在工作。不要放弃其他重启者——如果一开始你没有成功,重启,重启,再重启!
【解决方案4】:

在 Linux 中,您可以打开“alacarte”并使用命令“code”创建一个新的快捷方式,然后单击“在终端中打开”框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 2014-01-21
    • 2010-12-10
    • 1970-01-01
    相关资源
    最近更新 更多