jsconfig.json
文件。allowSyntheticDefaultImports
是一个重要选项,它可能解决您的问题。{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"allowSyntheticDefaultImports": true,
},
"include": [
"src/**/*"
],
}
我也遇到了同样的问题。我在macOS High Sierra上使用VS Code v1.24.0。
参考页面:https://code.visualstudio.com/docs/languages/javascript#_fixing-npm-not-installed-warning-for-automatic-type-acquisition
。
VS Code通过ATA(自动类型获取)功能自动下载和管理JS的类型声明文件(*.d.ts),但对我来说似乎并不起作用。
所以我找到了这个:
https://github.com/DefinitelyTyped/DefinitelyTyped
。我们可以使用以下命令手动下载类型声明文件:
npm install --save-dev @types/name_for_the_ package
您还可以选择在VS Code中使用扩展程序Types auto installer,以帮助您在运行npm install
时下载类型声明文件。有时Types auto installer
也可能无法正常工作,但您仍然可以手动下载类型文件。
安装类型文件后,您将再次获得智能感知。
大多数情况下,类型声明包的名称应该与npm上的包名称相同,但前缀为@types/。但如果需要,您可以查看http://microsoft.github.io/TypeSearch/以找到您最喜欢的库的包。
在某些情况下,您可能需要向项目添加jsconfig.json
文件。
在目录中存在jsconfig.json文件表示该目录是JavaScript项目的根目录。jsconfig.json指定了根文件和由JavaScript语言服务提供的语言特性的选项。对于常见设置,不需要jsconfig.json文件,但是在某些情况下,您将想要添加jsconfig.json。
并非所有文件都应该在JavaScript项目中(例如,您希望排除某些文件以免显示智能感知)。这种情况在前端和后端代码中很常见。
您的工作区包含多个项目上下文。在这种情况下,您应该在每个项目的根文件夹中添加一个jsconfig.json文件。(jsconfig.json可以没有内容。)
您正在使用TypeScript编译器将JavaScript源代码降级编译。
在我的Ubuntu 18.04上,使用以下版本的VSC:
版本:1.40.1 提交:8795a9889db74563ddd43eb0a897a2384129a619 日期:2019-11-13T16:49:30.162Z Electron:6.1.2 Chrome:76.0.3809.146 Node.js:12.4.0 V8:7.6.303.31-electron.0 操作系统:Linux x64 4.15.0-70-generic snap
考虑到与文档所说相反:
TypeScript和JavaScript语言特性未列在扩展中
使JavaScript智能代码完成的两个相互依赖的步骤是:
创建jsconfing.json
禁用“JavaScript和TypeScript Nightly”默认扩展
当然,重新启动VSC。