繁体   English   中英

Typescript 自动完成在 VSCode 中不起作用

[英]Typescript auto-complete not working in VSCode

我正在尝试在 ts 文件中使用 Puppeteer,它工作正常,除了 VSCode Intellisense 在我进入 a.ts 而不是 a.js 文件时立即停止工作。 我看过一些关于此事件的帖子,但没有人能帮助我。 我做了什么:

  • 通过 npm init 创建了一个项目
  • 安装依赖如下:
"dependencies": {
"@types/node": "^14.0.14",
"events": "^3.1.0",
"puppeteer": "^4.0.1",
"typescript": "^3.9.5" }

  "devDependencies": {
"puppeteer-tsd": "0.0.2"  }
  • 创建 tsconfig.json

     "target": "es5", "lib": ["es2015", "dom"], "outDir": "./dist", . . . "include": ["src", "node_modules/puppeteer-tsd/src/index.d.ts"]
  • 创建 src 和 dist 文件夹

  • 在我的 src 中放一个 main.ts

  • 告诉 VSCode 使用项目 TS 版本而不是它自己的

然后我编译了。 一切正常。 但是我在打字时没有智能感知来帮助我。 所以我在我的 src 目录中创建了一个 .js 文件,将我的 main.ts 中的代码复制到其中,然后我让 Intellisense 完美地处理所有建议等等。 而且我不知道除了接受它和没有它的代码之外我还能尝试什么。 对于可能出现的问题的任何建议,我将不胜感激。 提前致谢!

编辑:同时我发现,它可以很好地处理非导入函数,如 console.log()。 它只是 Puppeteer(或者可能是任何导入的模块)。

编辑 2:这是我的日志文件的链接。

除了需要正常运行的扩展vscode.typescript-language-features提供的 VSCode 的 TypeScript 语言功能之外,您的导入必须正确,以便考虑要考虑的模块的内置或打包 ( @types/x ) 类型声明。

import/require

import x = require('x');

为您提供类型意识,但仅在 TypeScript 中有效。

const/require

const x = require('x');

在 TypeScript 中也有效,但不会给你类型意识; x将是any类型。


有关模块导入的更多信息,请参阅此问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM