WebStorm和TypeScript intellisense

时间:2015-07-20 00:07:31

标签: typescript webstorm

我正在尝试在WebStorm中使用TypeScript进行智能感知。





在我的测试中,我试图将其用于Knockout。





我添加了类型定义文件和其他必要的文件,将引用标记添加到我的.ts文件的顶部。





以下是我的设置的屏幕截图:


& #xA;





当我输入'ko'时。我可以滚动列表并找到可观察的但除此之外我没有其他的智能感知。





我的设置有问题吗?在输入'ko.observable'后打开一个paren时,我错了预期超载吗?





如果我更改了行




 声明var ko:KnockoutState
  




to




 声明var ko:KnockoutObservable< string&gt ;;
  




我收到错误







'错误:(3,13)TS2403:后续变量声明必须具有
相同的类型。变量'ko'必须是'KnockoutStatic'类型,但这里
类型'KnockoutObservable'。







(更新)注意:我提到上述错误只是为了表明它似乎确实在阅读Knockout的类型定义。当我把它留在KnockoutStatic或完全删除类型时,我仍然没有得到任何智能感知。




1 个答案:

答案 0 :(得分:0)

  

当我输入' ko。'我可以滚动列表并找到可观察的,但除此之外我没有其他的智能感知。

您需要在代码中使用它才能获得智能感知。我可以看到你尝试过:

declare var ko : KnockoutObservable<string>;

无效用法......因此您收到错误TS2403

修复

正确使用ko

var myObservableArray = ko.observableArray<any>();  // intellisense on `ko.`
myObservableArray.push('Some value');               // intellisense on `.p`
var anotherObservableArray = ko.observableArray([
    { name: "Bungle", type: "Bear" },
    { name: "George", type: "Hippo" },
    { name: "Zippy", type: "Unknown" }
]);