是否可以从 VSCode 中的外部 js 库获取提示?

Is it possible to get hints from external js lib in VSCode?

例如在 html 文件中我有 <script src="https://d3js.org/d3.v6.min.js"></script>,我想得到 d3->csv 等提示

在 WebStorm 中,可以通过将 https://d3js.org/d3.v6.min.js 添加到 External Libraries 来实现。在 VSCode 中有没有办法做到这一点?

它在一个简单的 HTML+JS 文件中,没有 npm、node 等,例如:

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://d3js.org/d3.v5.min.js"></script>
</head>
<body>
    <script>
        d3.SHOW_HINTS
    </script>
</body>
</html>

你要的是JS/TS语言实现提供的智能感知信息。除了实际的 TS 代码(如果提供)之外,它还使用所谓的 typings (or declaration) files。许多不同的库都有类型。对于 D3.js 使用 npm install @types/d3 或将 "@types/d3": "^5.7.2" 添加到 package.json 和 运行 npm install 中的 dev-dependencies 部分。

对于您的 d3 用例,您需要做的就是:

  1. 将您的 <script> 标签内容从 HTML 文件移动到独立的 JS 文件中。
  2. npm install @types/d3,就像 Mike Lischke 已经指出的那样

结果:

您无法在 HTML 文件内的 <script> 标记内获得相同类型的 IntelliSense 提示,因为官方扩展不支持它。详情请参考我对另一个问题的回答。