首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使IntelliSense在VSCode中从其他文件中显示完成?

如何使IntelliSense在VSCode中从其他文件中显示完成?
EN

Stack Overflow用户
提问于 2017-12-02 11:14:28
回答 2查看 1.8K关注 0票数 2

背景:

我用斯威夫特写了一个游戏。现在,我想将游戏逻辑(模型)部分转换为JS,以便我可以编写另一个版本的游戏,可以在浏览器中玩。由于Swift和JS是如此不同,我首先将游戏翻译为C#,然后使用Bridge.NET将C#代码翻译为JS。现在,我想用p5.js库在JS中编写UI代码。(Bridge.NET不支持p5.js,所以我不能用C#编写UI代码)

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

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

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

这是我的HTML文件:

代码语言:javascript
复制
<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,所以我添加了如下内容:

代码语言:javascript
复制
{
    "compilerOptions": {
        "target": "ES6"
    }
}

但什么都没变。

有很多关于在VSCode上启用VSCode的帖子,但它们都是关于使用npm和节点的,但我只是试图为客户端代码获取IntelliSense,所以我不使用这两种方法。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-02 11:56:38

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

代码语言:javascript
复制
///<reference path=" put the filename with path here "/>
票数 1
EN

Stack Overflow用户

发布于 2022-04-16 16:10:06

在谷歌搜索了几天之后,这对我起了作用:

本教程之后添加一个本教程文件确实只适用于本教程创建的一些类(尝试用简单的对象或变量测试它)。如果他们不出现,你可能做错了什么)

在安装jshint并在vsc中设置它之后,我根据它的建议在问题类中做了一些修改,从而解决了这个问题。现在,我可以通过IntelliSense从其他文件访问该类。

因此,虽然我不知道具体问题是什么,但我认为IntelliSense不喜欢我的代码,或者我的配置是错误的。我可能在我的类中的某个地方使用了不再建议使用的语法,jshint指出了这一点。

注意到,vsc中的jshint需要一些设置才能正常工作,所以不要跳过它的配置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47607295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档