为什么 VSCode 无法识别 JavaScript 展开运算符并改为自动完成?

Why does VSCode not recognize the JavaScript spread operator and autocompletes instead?

我最近一直在为 Visual Studio 代码的一个非常烦人的行为而苦苦挣扎。

每当我尝试使用 JavaScript spread syntax VSCode 时,都会自动自动完成下一段代码(错误地)。请注意,我没有点击 TAB。这是我在说什么的演示:

有没有办法禁用它?这真的让我发疯...... 我正在使用 Visual Studio 代码 1.59.0(这应该是撰写此问题时的最新版本)。

这个问题可能有很多原因, 尝试:安装 js 扩展 如果不起作用,请尝试删除主目录下的 .vscode 文件夹并重新安装 vscode,这应该可以解决问题。

这似乎是 VSCode 的最新更新中引入的问题。

我有一台笔记本电脑 运行 最新版本出现了这个问题。还有另一台 运行 旧版本的笔记本电脑,没有出现此问题。将旧版本的笔记本电脑更新到最新版本后,它现在也有这个烦人的错误...

编辑:
作为临时修复,我刚刚在我的笔记本电脑上重新安装了 1.58.2 版,这解决了这个问题。 https://code.visualstudio.com/updates/v1_58

正如我在其他地方的评论中提到的,github 问题是 Typing repeated dots in js expands to first suggestion

在那个问题中提到了几个临时修复:

"editor.suggest.showWords": false

"editor.acceptSuggestionOnCommitCharacter": false

. 是 javascript 中的提交字符,因此将选择您不想要的建议之一。

[您或许可以增加 quick suggestions delay 时间作为一种可能的修复方法,但我无法对此进行测试,因为我实际上无法在我的设置中重现此错误。]

[如果您仍然遇到此问题,请务必升级到 v1.59.1,其中包含一个修复程序。如果这不能为您解决问题,请提出问题。]

我制作了一个用户片段来暂时解决这个问题:

  "Spread": {
    "scope": "javascript,typescript",
    "prefix": "spd",
    "body": ["..."],
    "description": "spread rest operator vs code fix"
  }

基本但能胜任。只需创建一个片段并将其放入。

这似乎已在最新提交中修复,即 1.59.1。

这是解决该问题的方法

  • ctrl+,(control + 逗号)

  • 在搜索框中输入editor.suggest.showWords

  • Uncheck设置,(它说When enabled intellisense shows text-suggestions


或专门针对 javascript

禁用它

settings.json 中的 [javascript] 部分内添加行 "editor.suggest.showWords": false

您可以通过按 F1 并键入 settings.json

打开 settings.json


有关此问题和临时修复的更多信息,请参见 here 官方 vscode 存储库

上的 github 问题