一直以來haXe缺少一個好的IDE,這點確實不方便,在現在注重快速開發的時代,一個現代IDE能帶來太多的幫助。
目前,官方推薦的是在Windows上使用FlashDevelop,在Mac上是MonoDevelop和Sublime Text2,我前一段一直都在用FlashDevelop,只能說可用而已,好用談不上,比如:代碼自動完成還是時有時無的,也無重構等功能,好處是可以進行Flash目標上的調試。
自從試用了IntelliJ IDEA 12的Early Access版以及其haXe語言插件,我就幾乎完全棄用FlashDevelop了,各方面幾乎完勝FD。
可以理解老外們為啥沒有把IDEA作為最優推薦,因為這可是商業IDE,要花小錢錢的哦,不過嘛,這問題好像完全不在天朝的程序員的考慮之內……
以下是我在實際使用中總結的IDEA的優缺點:
優點:
* 自動完成非常准確,甚至用using關鍵字引入的工具函數也能自動找到。另外甚至NMML項目文件中也有自動完成的支持。
* 重構功能(Refector)改名及其好用,局部變量,類變量,類名函數名等都可以用此功能修改,快捷鍵Shift+F6。
* 在自動完成功能中,可自動添加引入類。因為haXe的import不支持'*'通配符,因此這個功能能夠減小你很多的工作量。
* 標識符的即時高亮功能可大大減少你編輯中出錯的幾率(就是點擊一個標識符,則該標識符的所有出現位置都被高亮)。
* 編輯過程中就能夠發現一些語法錯誤,比如少打了分號等。
* 按住Ctrl點擊標識符就直接到聲明處,非常快捷方便。
* 查找引用 (Find Usage)功能可以快速在項目中查找當前選定標識符在哪些地方被引用,方便分析代碼邏輯,快捷鍵Alt+F7。
* IDEA 12+haXe插件是目前唯一支持hxcpp調試的IDE,雖然目前還不完善和方便,但可期望在後續版本有更給力的支持。
* IDEA可管理haXe SDK和haXe的全局庫,不用每個項目重復添加nme, actuate等常用周邊庫。
* IDEA本身是多平台的,也就是說,在Windows, Mac和Linux上都可以用統一的開發環境了,這點對haXe這樣的多平台語言尤其重要。
* IDEA作為強大成熟的商業版開發集成環境,編輯器的成熟度,功能的完善,插件的豐富是FD等開源編輯器無法比擬的,比如:
代碼風格完全可控,比Eclipse毫不遜色;
內置各種版本管理系統的支持,我現在就在用IDEA的集成Github模塊來管理我在github上的源碼;
強大的查找功能,等等。
目前版本的不足之處:
* 目前版本的Flash目標調試無法使用,看網上的視頻,似乎老版本反而支持,也可能是我配置的問題。不過我懶得重新啟用FD,目前都是用trace調試。
* HXCPP調試尚需完善。
* 自動完成功能在有些上下文中還有問題,包括:
import關鍵字後的包名無法自動完成,這點我覺得實在不應該,FD都有此功能的,不過還好自動完成功能可以自動添加引用;
作為case值的類常量無法自動完成;
另外如果當前代碼前後有語法錯誤也可能導致自動完成失效。
* 自動添加的import不會自動排序,有時還會重復添加。
* IDEA本身是Java開發的,因此內存開銷大,運行速度不快,開發用的機器要是太挫的話,恐怕會比較痛苦。