2015-07-20 227 views
0

我想在WebStorm中工作的TypeScript獲得智能感知。WebStorm和TypeScript智能感知

在我的測試中,我正在努力將它用於Knockout。

我已經添加了類型定義文件和其他必要的文件,將參考標籤添加到我的.ts文件的頂部。

這裏是我的設置截圖:

enter image description here

當我鍵入 'KO'。我可以滾動列表並找到可觀察的,但除此之外我沒有其他智能感知。

我的設置有問題嗎?當我打開'ko.observable'後打開一個文件時,我是否期望重載等錯誤?

如果我更改線路

declare var ko : KnockoutState 

declare var ko : KnockoutObservable<string>; 

我得到的錯誤

'Error:(3, 13) TS2403: Subsequent variable declarations must have the same type. Variable 'ko' must be of type 'KnockoutStatic', but here has type 'KnockoutObservable'.

(更新)注:我提到的上述錯誤僅表明它似乎正在閱讀Knockout的類型定義。當我將它放在KnockoutStatic或完全刪除類型時,我仍然沒有任何智能感知。

回答

0

When I type 'ko.' I can scroll through the list and find observable but other than that I get no other intellisense.

您需要在代碼中使用它才能獲得智能感知。我可以看到你試圖與:

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" } 
]); 
+0

我不智能感知與KnockoutStatic獲取或保留爲空。我知道ko不是正確的課程。 –