在Visual代码(VSCode)中,我正在处理一个遗留应用程序,即JavaScript ES5。我注意到IntelliSense并不适用于我安装的所有类型。Intellisense适用于全局类型,但不适用于外部类型?由于这是遗留代码,所以我不想更改源代码.js文件以使Intellisense工作。
全局类型的Intellisense (如角和jquery )似乎有效。但是,用于外部类型的IntelliSense不起作用。
在这里,您可以看到我安装了四种类型。角和jQuery被安装为全局。LoDash和Ramda是作为外部安装的。我创建了一个jsconfig.json文件;它是空的。通过拥有jsconfig.json文件,IntelliSense适用于Ramda和Jquery,而不适用于LoDash和Ramda。

在接下来的两个图像中,您可以看到Intellisense正在为角和jQuery工作。


现在,我正在使用LoDash,但是IntelliSense不起作用。

如果导入LoDash库,那么IntelliSense就能工作。由于代码是遗留的ES5 JavaScript,并且ES5不支持导入,所以使用导入不是可行的选择。

一个好的测试是让IntelliSense为LoDash工作。我想输入“_”并让VSCode显示LoDash属性和方法的列表,而不包括源代码中的任何其他代码。
有人知道如何解决这个问题吗?如果是的话,请提供对你有用的东西。
资源
BarDev
发布于 2017-04-08 11:36:29
正如官方与代码JS Intellisense文档中所写的,
如果使用Visual代码1.8+,则可以交替地显式列出要在
jsconfig.json中获取类型的包。
"typeAcquisition": {
"include": [
"lodash"
]
}现在,当您需要或导入存档时,Visual代码将使用库自动下载的键入文件来提供丰富的智能感知。大多数常见的JavaScript库都有可用的类型。
发布于 2018-11-19 11:46:31
您可以创建自己的类型定义文件,以导入全局上下文中的内容。这将使intellisense在无法使用导入时工作。
import { AxiosStatic } from "axios";
declare global {
const axios: AxiosStatic;
}https://stackoverflow.com/questions/38081094
复制相似问题