2012-02-24 65 views
7

對Ruby,Ruby on Rails,Python等語言是否有任何智能感知選項?適用於Ruby,Ruby on Rails,Python的智能感知

如有必要,可以包含IDE。我正在尋找像Visual Studio的c#或Eclipse的java intellisense之類的東西。

+0

嘗試http://www.jetbrains.com - 他們有IDE的Ruby,Python和其他人 – PinnyM 2012-02-24 16:00:18

+1

我會特別感興趣_free_的。 Aptana通常是我爲Ruby/Rails做的(儘管我暫時還沒有使用它),但IIRC的自動完成在成員和類型的動態性質方面存在一些問題。 – Chowlett 2012-02-24 16:30:58

回答

3

因爲這些語言的動態特性,實施的東西如自動完成的是相當困難的,並且只適用於某些情況下。用於Python

實例:pydev(Eclipse插件),rope(這是可以很容易地使用到的emacs一個重構庫),anyting with ipython(再次,一個emacs模式)。

不管怎樣,不要指望它們像Java或C#的工具一樣強大。

繩索例如,做一些類型推斷來找出參數類型爲了給你完成的建議。這對於大型代碼庫可能需要很長時間,因此這些代碼庫無法使用該功能。

anyting with ipython實際上衍生出一個後臺python進程,它導入當前模塊及其引用的任何模塊,並在這些模塊中對實體(類,函數,全局變量等)進行運行時檢查。因爲它沒有進行類型推斷,所以它不能給你任何作爲參數或局部變量傳遞的變量的自動完成建議。

0

使用vim和dot files,其中包括語法高亮,智能縮進,Ruby自動完成等功能。儘管它適用於MacOS,但如果您使用其他操作系統,則可以輕鬆適應您的操作系統。

另一個選項包括用於Eclipse或Jetbrains的AptanaRubyMine。因此,請嘗試所有解決方案,並決定最適合您需求的方案。

0

我的vim setup使用supertabcomplete,snipmate和python模式插件來完成主要的intellisense。

它是以Windows爲中心的,因爲這是我開發的,但只是在克隆之後更改vimrc文件中的路徑,並且您應該啓動並運行。

0

Sublime Text 2也在有限程度上支持這一點。自動完成對於動態語言來說非常困難,所以這將顯示最近使用的變量/方法以及其他與模糊文本過濾器相匹配的附近。