javascript - Typescript 自动完成功能在 VSCode 中不起作用

标签 javascript typescript visual-studio-code puppeteer intellisense

我正在尝试在 ts 文件中使用 Puppeteer,该文件工作正常,只是当我进入 .ts 而不是 .js 文件时 VSCode Intellisense 就会停止工作。 我看过一些有关此事件的帖子,但没有一个可以帮助我。我做了什么:

  • 通过 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 文件夹

  • 将 main.ts 放入我的 src 中

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

然后我编译了。一切正常。但我在打字时没有 IntelliSense 来帮助我。 因此,我在 src 目录中创建了一个 .js 文件,从其中复制了 main.ts 中的代码,然后我让 Intellisense 能够完美地处理所有建议等等。我不知道除了接受它并在没有它的情况下编写代码之外我还能尝试什么。 如果您就可能出现的问题提出任何建议,我将不胜感激。提前谢谢!

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

编辑 2: Heres a Link to my Log File.

最佳答案

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

导入/要求:

import x = require('x');

为您提供类型感知,但仅在 TypeScript 中有效。

const/require:

const x = require('x');

在 TypeScript 中也有效,但不会为您提供类型感知; x 的类型为 any


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

关于javascript - Typescript 自动完成功能在 VSCode 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62638851/

相关文章:

javascript - 如果没有任何 case 语句匹配,如何显示警报?

javascript - 将json数据从一个vue页面传递到另一个vue页面并渲染图表

javascript - 属性(property)历史不存在

javascript - 删除周六和周日,仅获取该月中的几天

javascript - Angular http 请求将端口 4200 添加到我的每个请求

regex - 如何在 visual studio 代码片段上应用 more than on transform?

javascript - 内联函数将输入限制为最多 2 位小数的数字?

JavaScript XMLHttpRequest() 和重定向

visual-studio-code - 如何在 Vscode 中对齐多行数组

macos - 在 OS X El Capitan 上为 Visual Studio Code 设置 OmniPascal 扩展