2010-11-06 91 views
1

我已經嘗試了一些定期推薦用於編碼JavaScript的編輯器/ IDE(Aptana,WebStorm,...),但它們都沒有令人滿意的自動完成功能。我很可能被微軟的IntelliSense for .NET寵壞了。 WebDeveloper中有一些JavaScript-IntelliSense,但似乎是一個精簡版。迄今爲止我發現的最好的是WebStorm,但是它的代碼完成很容易被導入的庫(提供數百個建議)和相同的函數名分散注意力。JavaScript代碼完成是否正確?

我是否錯過了一個編輯器/ IDE,它使用重構(或其他)來提供正確的代碼完成,以便它真正「知道」變量名代表的是什麼,我只是把一個點放在後面?或者是這樣的事情呢?

+1

注意,這將永遠不會被*全*可能的,在每一個動態語言。當然,它*在某種程度上是可能的,但似乎很難。 – delnan 2010-11-06 12:57:27

+0

Visual Studio中的JavaScript IntelliSense有什麼問題? VS2008已經經常意識到實際類型的東西(並且在確定對象是字符串時提供了字符串方法),並且VS2010實際上在內部執行了大量代碼以找出對象類型和動態添加的成員。但是正如@delnan所說的那樣,爲動態語言提供「完整的」代碼完成是不可能的,VS能夠爲.NET做到這一點(甚至現在「添加動態」也是「不完整的」)。 NET 4)。 – TeaDrivenDev 2010-11-06 13:15:14

回答

2

我總是推薦Komodo編輯ActiveState(現在版本6,支持HTML 5和CSS3以及最新版本的Javascript,PHP等)。請注意,您可能必須安裝用於您的語言的插件正在工作,但你應該通過類似Mozilla的Addon管理器找到它們。

還支持jQuery,甚至可以在其強大的宏IDE中使用jQuery(以及vanilla Javascript或Python)。

代碼完成例如:

<script type="application/x-javascript"> 
    var obj = {}; 
    obj.personnel = [{firstName:"John", lastName:"Brick", age:43}, 
        {firstName:"Jane", lastName:"Motte", age:26} 
        ]; 
    // now type obj. and code completion immediately offers you "personnel" 
    // note: file must be saved for the app to find all members of declared 
    // variables, but I save about every 10 seconds so it's not a problem 
</script> 
+0

我看着科莫多時,它是相當新的。那時,這對我的電腦來說是一個「大負荷」,儘管沒有Eclipse那麼大。我會嘗試當前的版本... – user414873 2010-11-07 14:37:53

+0

像開箱即用的工程。 :) – user414873 2010-11-08 08:17:09

0

到目前爲止,我已經找到了最好的 WebStorm,但它的代碼completition是 採用進口 庫(提供數以百計的 建議)和相同的功能 的名字很容易分心。

此評論混淆了我。如果您導入這些庫,並且您的代碼正在使用它們,那麼爲什麼在代碼完成建議中包含函數名稱會很糟糕?如果你正在使用它,你不希望有jQuery的功能嗎?

如果您在使用帶有jQuery的Microsoft IntelliSense,它是否堅持使用它的槍支並只顯示JavaScript核心功能?聽起來僅限於我,添加庫時無法變得聰明。

或者是這樣的[sic]方式?

這聽起來像是你想要一個透視界面。我不認爲它很快就會出現。

順便說一下,「它的」==「它是」; 「它的」是所有格。

+0

不符合條件的建議有時可能會造成更大的傷害。我特別討厭XCode這樣做的方式,或者至少它對我來說如此:只是解析文件,將所有令牌視爲可能的完成。 VS會嘗試執行腳本,並根據運行時值給出建議。我很想看到一款適用於Mac的VS。 – orcun 2011-04-18 13:52:58