【问题标题】:VS2017 intellisense for javascript properties added dynamiclyVS2017 intellisense for javascript 属性动态添加
【发布时间】:2018-12-19 15:34:57
【问题描述】:

在声明对象的新 javascript 后,我​​可以毫无问题地获得对象的智能感知以及声明期间包含的属性。我无法为该对象之后声明的属性找到解决方案。

这是一个例子:

【问题讨论】:

  • 您好,您的文件类型和解决方案类型是什么?我尝试在 web 应用程序解决方案下的 js 文件中测试您的代码,它工作正常,如下所示:1drv.ms/u/s!Atv5QNuFrncKmEz41Yfj8du0jHOp
  • 你好,它是你的javascript。但正如您在图片中看到的那样,它无法识别(缺少扳手图标)。在同一个文件中工作时这不是问题,但是当尝试导入对象的智能感知时就会出现问题。我尽量保持简单,所以我从我的问题中跳过了这部分。
  • 似乎是设计使然,如果我尝试在另一个 *.js 文件中使用此对象,我会得到与您相同的结果。

标签: javascript visual-studio visual-studio-2017 intellisense javascript-intellisense


【解决方案1】:

如果我直接在另一个js文件中使用,我得到了同样的结果。

但是喜欢这个文件:

https://docs.microsoft.com/en-us/visualstudio/ide/javascript-intellisense

由于 JavaScript 和 TypeScript 现在基于相同的语言服务,它们能够以更丰富的方式进行交互。例如,可以为 .d.ts 文件中声明的值提供 JavaScript IntelliSense(请参阅 TypeScript 文档),并且 TypeScript 中声明的接口和类等类型可用作 JsDoc cmets 中的类型。

所以你可以在.d.s文件中声明值,然后你可以在js文件的intellisense中找到它们。

更新(添加 .d.s 文件):

声明接口 P {

property2: string;

property1: string;

age: number;

address: {

    stree: string;
    zip: number;

}}

【讨论】:

  • 您能否添加一个 d.ts 的示例以使答案更完整?
  • @vfle,只需在我的回复中添加一个简单的示例即可。
猜你喜欢
  • 2014-05-29
  • 2021-10-01
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
  • 2011-06-23
相关资源
最近更新 更多