2012-04-18 66 views
1

是的,我可以看到即將發表的評論沿着「使用聲明變量」的說法。但請耐心等待。如何避免未申報的變量突破智能感知?

這種情況是我有一堆JS文件,每個文件都包含一個Dojo小部件。小部件包含對dojo名稱空間中的各種函數的調用,但由於dojo不存在於小部件文件的作用域中,因此智能感知會中斷。

這裏CTRL + [space]自動完成包括this.athis.b預期:

new Object({ 
    a: NaN, 
    b: function YesToIntellisense() 
    { 
     console.log(this.a); // CTRL+[space] includes this.a and this.b 
    } 
}); 

這裏CTRL + [space]自動完成兩者都不具備this.athis.b

new Object({ 
    a: dojo.foo(), 
    b: function NonIntellisense() 
    { 
     console.log(this.a); // CTRL+[space] does *not* include this.a and this.b 
    } 
}); 

我怎樣才能避免未聲明的變量打破VS2010中的Intellisense?

+0

也許試試看? – 2012-04-18 07:16:55

+1

@BenniKa - 你有沒有嘗試過之前建議? – Saul 2012-04-18 07:21:15

+0

我沒有視覺工作室。 =>在我不知道的情況下寫下評論是愚蠢的(從我這裏)。 – 2012-04-18 13:35:29

回答

-1

我不確定VS2010。我使用Aptana Studio 3,這是我如何修復它:

  1. (在Aptana中)有一個名爲「Project Natures」的設置。在這裏我通常檢查Web,JavaScriptPHP。看看VS2010是否有這樣的設置。

  2. 爲了避免JavaScript的警告信息,如「使用未聲明的變量」,我只是把我的js文件的第一行是這樣的:

    /*global var1: false, var2: false, var3:false....*/

看看你是否能找到在等效VS2010。

對不起,如果答案沒有幫助。我只會評論,但我沒有足夠的代表。 祝你好運!

+0

可能最好不要爲VS 2010提供一個答案,如果你不使用它。 – row1 2012-04-18 08:59:14