Visual Studio Code JavaScript 自动补全/智能提示未正常工作

6

vscode自动完成的图像
它没有显示数组的属性,例如长度。

我不确定这是一个问题还是VScode的自动完成/IntelliSense的预期行为。

我需要安装任何扩展程序来使其工作吗?

编辑:
arr之前添加varlet,自动完成就可以正常工作,但在函数内部不起作用。
函数内部的自动完成

3个回答

26

检查是否启用了建筑扩展 TypeScript 和 JavaScript 语言特性

要进行检查,请转到“扩展”并搜索 @builtin TypeScript and JavaScript Language Features

这应该看起来像这样: [![vscode][1]][1]

编辑:

同时,检查是否选择了正确的语言?

  • -> Ctrl(或CMD)+ P
  • -> > 更改语言模式
  • -> JavaScript

我注意到的另一件事是:您在变量之前没有使用varletconst,请参见stackoverflow.com/a/51962449/14401587

编辑2:

IntelliSense 不知道函数参数的类型。但您可以在注释中使用 @param 注释:

/**
 * 
 * @param {Array} arr 
 */
function a(arr) {
    arr.
}

img

对于变量,您也可以使用 @type:

/** @type {Array} */
let a;

img


@at-in 选择了正确的编程语言吗? CTRL(或CMD)+ P -> > 更改语言模式 -> JavaScript - Daniel
在添加 letvar 时它可以正常工作,但在函数内部它不起作用。我会稍微编辑一下我的问题来解释这个问题。 - atin
答案是什么?我遇到了同样的问题。当我跳进一个函数或方法时,自动完成功能无法启用。 - m3.b
谢谢,帮了大忙了,我实际上都快要发疯了,试图修复这个问题。 - Mernlin
@manukn 我想我在截图中使用了Fira Code - Daniel
显示剩余4条评论

5

前往扩展程序并搜索 @builtin TypeScript and JavaScript Language Features。尝试停止并重新启动此插件,然后重新启动 VS Code。似乎是个 bug。这对我有用。


0

对我来说,我只是停用了 TypeScript 和 JavaScript 语言特性 扩展,然后它就正常工作了,可能是一个 bug 或与其他扩展冲突。


您的回答可以通过添加额外的支持信息来改进。请[编辑]以添加更多详细信息,例如引文或文献资料,以便他人可以确认您的回答是否正确。您可以在帮助中心中找到更多撰写良好答案的信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接