Visual Studio Code Intellisense非常慢-我能做些什么吗?


82

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

我使用的是VS Code,除了代码完成功能之外,所有其他方面都很棒,因为它通常太慢了,无法使用。这个例子显示了智能感知花了多长时间来找到一个局部变量,这只是在我按ctrl + enter之后才被提示这样做。

在此处输入图片说明

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


5
这个问题有什么解决办法吗?我面临着同样的情况。VsCode v1.33,并且在禁用所有扩展的情况下也会发生。
cbdeveloper

同样的问题。使用v1.33,对我来说真的变得更糟。我在250GB SSD,16GB RAM和i5-4460 CPU上使用Windows 10 Pro 64位。我认为这不是硬件问题,因为它似乎很多。删除%userprofile%和%appdata%处的相应文件后,尝试完成全新安装,相同的问题。禁用所有扩展名也无济于事。如果启用,则所有扩展的作业的延迟时间将比屏幕快照中所示的时间更长。
ZeferiniX

我对新的Microsoft Python Language Server感到幸运。这可能是一个愚蠢的建议,但请确保您正在使用。尝试一个全新的项目,因为某些设置可能是在工作区文件中定义的,而不是%userprofile%
Anti-Distinctlyminty

1
我也有这个问题。弹出需要7秒。我有一台全新的笔记本电脑,它比我的旧笔记本电脑还差,而我的旧笔记本电脑又旧又慢。
MadMac

1
@dhirajsuvarna如果可以重现该问题,请在github.com/microsoft/vscode-python/issues上报告一个错误(或查看问题是否已在此处报告)。这需要一些努力,但这是修复问题的唯一方法。
Anti-Distinctlyminty

Answers:


10

也许是绝地武士。我的意思是它很棒,但是...我自己和Jedi进行了较大的代码基础修补,我可以确认有时它可能会比较慢,并且很难弄清问题所在...:/

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

在此处输入图片说明

又名python.languageServer

Pylance是MS自己的新语言服务器。我只是尝试了一下,这似乎有点敏捷。截至今天,该标签被标记为Preview。因此,可能即将有改进。


1
这为我解决了!延迟太烦人了,Pylance似乎工作得更好,并且在某些情况下提供了更好的错误检查。
Quanta

1
对我也一样,Pylance似乎比绝地好很多。
jumbot

公平地说,绝地武士今年8岁,有多种用途!是的,也许是时候该
买些

32

原来这对我来说是一个特殊的VS Code扩展。
Angular语言服务。禁用此功能可以使其快如闪电。

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

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

26

问题可能出在错误的设置配置上。
您可能需要确保启用以下设置:

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

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

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

"editor.quickSuggestionsDelay": 10,

13

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

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

因此,也许可以检查语言或环境扩展名的特定选项。


4
我还发现“ C_Cpp.intelliSenseCacheSize”:0,设置很有用
kevinf

@kevinf很好找到!它不会显示在“设置...”中。code.visualstudio.com/docs/cpp
安德鲁(Andrew)

6

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

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

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


2

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

命令面板

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

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

如果扩展需要500毫秒以上的时间才能激活,则似乎存在问题

您可以右键单击并停止它

右键点击

更多细节...


0

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

我只是为我的工作空间禁用了它,并且一切工作都非常快

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.