javascript - 如何使 VSCode 中的 IntelliSense 显示其他文件的完成?

标签 javascript visual-studio-code intellisense javascript-intellisense

背景:

我用 Swift 写了一个游戏。现在我想将游戏逻辑(模型)部分翻译成 JS,这样我就可以编写另一个可以在浏览器中玩的游戏版本。由于 Swift 和 JS 如此不同,我先将游戏翻译成 C#,然后使用 Bridge.NET将 C# 代码翻译成 JS。现在,我想使用 p5.js 编写 UI 代码库,在 JS 中。 (Bridge.NET不支持p5.js,所以无法用C#写UI代码)

基本上,我将有一个 HTML 文件引用一个包含一些 p5.js 代码的 JS 文件,以及由 Bridge.NET 输出的 JS 文件。在 UI 代码中,我需要调用一些游戏逻辑代码,这些代码位于 Bridge.NET 输出文件中。

根据 Bridge.NET 文档,我可以像普通 JS 一样从输出文件中调用代码,只要我使用 <script> 包含所有输出文件即可。标签。

但是,我用来编写所有这些代码的 VSCode 不显示 Bridge.NET 输出文件的 IntelliSense,也不显示 p5.js 类和成员的 IntelliSense。

这是我的 HTML 文件:

<html>
  <head>
    <meta charset="utf-8" />
    <!-- These are p5.js files -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.11/p5.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.11/addons/p5.dom.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.11/addons/p5.sound.min.js"></script>
    <link rel="stylesheet" type="text/css" href="style.css">
  </head>
  <body>
    <script src="scripts/sketch.js"></script> <!-- This is the file containing UI code -->
    <!-- The below are the bridge output files -->
    <script src="scripts/bridge.js"></script>
    <script src="scripts/bridge.console.js"></script>
    <script src="scripts/bridge.meta.js"></script>
    <script src="scripts/MyGame.js"></script>
    <script src="scripts/MyGame.meta.js"></script>
    <script>
    // I should be able to see IntelliSense for all my classes in the line below, but I can't.
    MyGame.
    </script>
  </body>
</html>

我在某处读到 VSCode 仅支持对同一文件中的代码使用 IntelliSense。我在其他地方读到我需要添加 jsconfig.json ,所以我添加了这样的内容:

{
    "compilerOptions": {
        "target": "ES6"
    }
}

但没有任何变化。

SO 上有很多关于在 VSCode 上启用 IntelliSense 的帖子,但它们都是关于使用 npm 的和节点,但我只是想为客户端代码获取 IntelliSense,所以我没有使用其中任何一个。

如何为与 <script> 链接的文件中声明的内容启用 IntelliSense ?

最佳答案

自动补全基于 typescript 类型声明文件 - .d.ts。大多数库已经将这些文件作为 npm 包提供,但 p5 不适合。如果其中一些文件是像 MyGame.d.ts 这样创建的,请在您的工具生成的文件中搜索。如果是,您可以在正在编写的脚本中添加对它的引用:

///<reference path=" put the filename with path here "/>

关于javascript - 如何使 VSCode 中的 IntelliSense 显示其他文件的完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47607295/

相关文章:

Javascript 表单验证未执行且输入文本框高度光标定位未设置到顶部。

javascript - 无法将数据插入 RethinkDB 数据库中的表

javascript - 私有(private)变量的 TypeScript 类声明错误

javascript - vscode 是否支持 decorator after export default?如何启用此功能?

documentation - SSMS 的 IntelliSense 是否具有类似于 Visual Studio XML 文档注释/支持数据库对象摘要的功能?

python - Visual Studio Code 中的 IntelliSense 不适用于 python 包

javascript - 将 this 和逗号分隔值作为参数传递给函数

javascript - JSHINT:有没有办法忽略仅驼峰式命名的属性并在变量和函数上强制执行它

typescript - 从自动导入中排除模式的选项不起作用?

css - 捆绑 CSS 文件是否会破坏 Razor View 中的 CSS Intellisense?