【问题标题】:Visual Studio Code Intellisense is very slow - Is there anything I can do?Visual Studio Code Intellisense 非常慢 - 我能做些什么吗?
【发布时间】:2019-01-23 06:18:06
【问题描述】:

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

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

我还没有找到解决这个问题的方法,所以我在这里询问是否有其他人遇到过类似的问题,并询问他们是如何克服它的。

【问题讨论】:

  • 这个问题有什么解决办法吗?我面临同样的情况。 VsCode v1.33 并且所有扩展都被禁用。
  • 同样的问题。使用 v1.33,我的情况变得更糟了。我在 250GB SSD、16GB RAM 和 i5-4460 CPU 上使用 Windows 10 Pro 64bit。我认为这不是硬件问题,因为它似乎很多 imo。在删除 %userprofile% 和 %appdata% 的相应文件后尝试完全全新安装,同样的问题。禁用所有扩展也无济于事。如果启用,所有扩展程序的作业都会延迟比屏幕截图中显示的时间长得多。
  • 我对新的 Microsoft Python 语言服务器有更好的运气。这可能是一个愚蠢的建议,但请确保您正在使用它。并尝试一个全新的项目,因为某些设置可能是在工作区文件中定义的,而不是 %userprofile%
  • 我也有这个问题。弹出需要7s。我有一台全新的笔记本电脑,它比我的旧笔记本电脑更糟糕,它真的很旧而且很慢。
  • @dhirajsuvarna 如果您可以重现该问题,请在github.com/microsoft/vscode-python/issues 报告错误(或查看该问题是否已在此处报告)。这需要一点努力,但这是修复问题的唯一方法。

标签: python visual-studio-code intellisense code-completion


【解决方案1】:

事实证明,这对我来说是一个特殊的 VS Code 扩展。
角语言服务。禁用此功能可使其闪电般快速。

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

  • 打开命令面板 (Ctrl+Shift+P)
  • 输入“禁用所有已安装的扩展”
  • 逐一或分组启用并测试智能感知速度

【讨论】:

  • 这是一个很好的解决方案,至少你知道这样的罪魁祸首!它解决了这个问题。
【解决方案2】:

问题可能是设置配置错误。
您可能需要确保这些设置处于开启状态:

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

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

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

"editor.quickSuggestionsDelay": 10,

【讨论】:

  • 它对我有用,但有时不一致
  • 用 VSCode 尝试过 Java 并不能很好地工作
【解决方案3】:

也许是Jedi。我的意思是它很棒,但是......我自己在更大的代码库上修补 Jedi,我可以确认它有时可能非常慢,而且很难弄清楚问题是什么......:/

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

又名python.languageServer

Pylance 是 MS 自己的新语言服务器。我刚试了一下,一切似乎都快了一点。截至今天,这被标记为预览。所以可能会有改进。

【讨论】:

  • 这为我解决了!延迟太烦人了,Pylance 似乎工作得更好,并且在某些情况下提供了更好的错误检查。
  • 对我来说,Pylance 似乎比 Jedi 好很多。
  • 平心而论,绝地8岁多用途!是的,也许是时候做点新的了;)
  • 对 Java Intellisense 有什么建议吗?
  • 我还可以确认 Pylance 的工作速度比 Jedi 快得多。有谁知道这可能是什么原因?
【解决方案4】:

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

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

因此,请检查您的语言或环境扩展的特定选项。

【讨论】:

  • 我还发现“C_Cpp.intelliSenseCacheSize”:0,设置有用
  • @kevinf 很好的发现!它没有显示在设置中...code.visualstudio.com/docs/cpp/…
  • 就我而言,查找任何符号大约需要一分钟。而且第二次也没有更快。这是一个非远程 Linux 配置,代码库相对较小。我认为它每次都会重新解析所有内容,目前还不清楚原因。
【解决方案5】:

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

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

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

【讨论】:

    【解决方案6】:

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

    选择开发者:显示正在运行的扩展

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

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

    你可以按右键停止它

    more details...

    【讨论】:

      【解决方案7】:

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

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

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


      VS Code 在某些时候提示我启用它,我启用了它,从那时起智能感知超级慢。通过上述步骤禁用此功能,现在又快了。

      【讨论】:

      • 现在绝对是一场噩梦。看起来这很有帮助。我可以看到它显然做了很多工作,但我就是不明白像 F12 这样的东西怎么会变得这么慢。它所要做的就是查看imports 并转到那里指定的文件,但对我来说可能需要十秒钟!我真的不得不搜索class X,而不仅仅是按F12。
      【解决方案8】:

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

      Disable Quick Preview

      【讨论】:

        【解决方案9】:

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

        Visual Studio IntelliCode

        【讨论】:

          【解决方案10】:

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

          【讨论】:

            【解决方案11】:

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

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

            【讨论】:

              【解决方案12】:

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

              "editor.suggest.snippetsPreventQuickSuggestions": false,
              

              【讨论】:

                【解决方案13】:

                这些解决方案都不适合我。对我有用的是,我转到了扩展设置:

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

                • 将 IntelliSense 更新延迟从 2000 更改为 500(这增加了更大的提升,在 IntelliSense 模式更改后的第一次提升之后)

                【讨论】:

                  猜你喜欢
                  • 2020-06-23
                  • 2015-10-23
                  • 1970-01-01
                  • 2019-11-05
                  • 2018-03-22
                  • 1970-01-01
                  • 1970-01-01
                  • 2022-01-07
                  • 2016-10-31
                  相关资源
                  最近更新 更多