Visual Studio Code Intellisense 非常慢 - 有什么我可以做的吗?

Visual Studio Code Intellisense is very slow - Is there anything I can do?

编辑:Pylance 在这方面似乎很多,并且到目前为止已经解决了 Microsoft 以前的 Python 语言服务器的所有问题。

我正在使用 VS Code,除了代码完成之外的所有领域都很棒,它通常太慢而无法使用。这个例子显示了智能感知需要多长时间才能找到一个局部变量,这只是在我按下 ctrl+enter 后提示它这样做之后。

到目前为止我还没有找到解决办法,所以我来这里问问有没有其他人遇到过类似的问题,并问问他们是如何克服的。

问题可能是设置配置错误。
您可能需要确保这些设置已启用:

控制输入时是否应自动显示建议

"editor.quickSuggestions": {
  "other": true,
  "comments": false,
  "strings": false
},

控制显示快速建议的延迟时间(以毫秒为单位)

"editor.quickSuggestionsDelay": 10,

原来这是我的一个特殊的 VS 代码扩展。
Angular 语言服务。禁用它会使它变得快如闪电。

试试看它是否是一个特定的扩展。

  • 打开命令面板 (Ctrl+Shift+P)
  • 输入"Disable all installed extensions"
  • 一个一个或分组启用它们并测试智能感知速度

我的回答是针对 C++ 的,但仍然有点相关。

我正在使用 Microsoft 的 C/C++ 扩展程序,当我将其 Intelli Sense Engine 设置从 Default、"context-aware results" 切换到 Tag Parser,对于“'fuzzy' 不上下文感知的结果”,它立即开始显示 IntelliSense 选项,而不是延迟 5 秒以上。

所以也许检查你的语言或环境的扩展的特定选项。

我在 VS Code 上遇到了与 Python 相同的问题。就我而言,为 IntelliSence 禁用 Jedi 使事情变得更快。

只需在选项中设置"python.jediEnabled": false即可。

由于内存对我来说不是问题,我还启用了代码分析以将解析器树保存在内存中:"python.analysis.memory.keepLibraryAst": true

打开命令面板(Ctrl+Shift+P)

Select 开发者:显示 运行 扩展

您将获得他们的扩展列表和重启时间

如果扩展程序的激活时间超过 500 毫秒,则它似乎有问题

您可以按右键停止它

more details...

也许是 Jedi。我的意思是它很棒但是......我自己在更大的代码库上修补绝地武士我可以确认它有时可能非常慢并且很难找出问题所在......:/

解决方案可能是切换到另一个语言服务器! VSCode Python 扩展有一个“语言服务器”设置:

又名 python.languageServer

Pylance 是 MS 自己的新语言服务器。我刚刚试过了,一切似乎都快了一点。从今天开始,它被标记为 Preview。所以可能会有改进。

对我来说,我已经安装了 Arduino 扩展。
这是有问题的,因为它认为每次我用 C++ 编码时都应该使用它,所以它确实减慢了自动完成速度。

我刚刚为我的工作区禁用了它,一切都很快

如果您在过去几天使用 Angular 并注意到智能感知缓慢,可能是 Angular 语言服务 及其新的 Experimental-ivy 特征。

您可以通过打开扩展设置来禁用它:

然后禁用 Experimental-ivy 功能​​:


VS Code 提示我在某个时候启用它,我启用了它,从那以后智能感知非常慢。通过上述步骤禁用它,现在它又变快了。

我遇到了同样的问题。在 VSCode 设置中禁用“Snippets Prevent Quick Suggestions”选项的复选框似乎可以解决加载时间问题。

Disable Quick Preview

我的问题已通过禁用此未完全安装的扩展程序得到解决

Visual Studio IntelliCode

对我来说很奇怪的解决方案,但是禁用然后重新启用所有扩展对我来说解决了这个问题。

None 这些解决方案对我有用。对我有用的是,我进入了扩展设置并且:

  • 将 IntelliSense 模式更改为 windows-gcc-arm64(我根据我的 os 为此选择了不同的选项,直到找到最快的那个)

  • 将 IntelliSense 更新延迟从 2000 更改为 500(这增加了一个更大的 boost,在第一个 boost 来自 IntelliSense 模式的变化之后)

在 settings.json 文件中使用以下值

"editor.suggest.snippetsPreventQuickSuggestions": false,