(轉載) 尋覓理想的 PHP 編輯器

edited 十一月 -1 in 程式編輯器
原文:尋覓理想的 PHP 編輯器

你使用甚麼軟件來編輯 PHP 源碼、除錯、和管理項目?你對它滿意嗎?J Armando Jeronymo 最近因為某些原因不再使用本來的編輯器,於是展開了一趟 PHP / HTML / CSS / JavaScript 編輯器尋覓之旅,他在 How I Chose My Programming Editor 中講述了他怎樣訂立評審標準、遴選經過、與及他心目中的「完美」編輯器。

Jeronymo 首先從 Linux, Java, Windows 和 XUL 平台選出超過三十個比較多人使用的編輯器,這些「候選佳麗」必須在 2010 年 1 月 1 日後最少發佈過一個穩定版本:

1. Arachnophilia
2. Bluefish
3. Bluegriffon
4. CoffeeCup HTML Editor
5. Dreamweaver
6. Eclipse PDT
7. Emacs
8. Expression Web
9. Geany
10. gedit
11. HTML-Kit
12. jEdit
13. Kate
14. KDevelop
15. Komodo Edit
16. KWrite
17. Netbeans
18. Notepad++
19. Notepad2
20. OpenBEXI
21. PHPEdit
22. PHPEd Pro
23. PHPStorm
24. Programmer's Notepad
25. PSPad
26. RadPHP
27. Scite
28. SeaMonkey
29. Vim
30. WebDev
31. WebMatrix
32. Zend Studio

有興趣的話請自行到 Google 搜尋它們的詳細資料。

第一回合:自動完成和語法高亮

Jeronymo 根據他的使用習慣,認為好的編輯器必須能夠提供明智的建議和具備語法高亮功能,提供的建議至少包括:自動完成、參數提示、和自動關閉括號。「自動完成」是指編輯器嘗試猜測並能夠自動完成 HTML 標籤、CSS 屬性、和 PHP 及 JavaScript 的類別、函式、和變量名稱。「參數提示」是指向開發員提供可能的 HTML 屬性和值、CSS 屬性值、及 PHP 和 JavaScript 函式的參數的能力。「自動關閉括號」是指自動關閉 HTML 標籤、小括號、大括號等的能力。「語法高亮」就是能夠在編輯器的屏幕上給不同的程式元素例如變量、函式名稱、標籤等塗上不同的顏色,若能夠自動找到小括號、方括號、大括號等的匹配字元,將會是非常有用的功能。

第一項測試就是哪些「候選佳麗」在基本的安裝模式下已經提供這些功能,至少,能夠簡單輕易地安裝一、兩個模塊便可以做到。這一關把以下三個編輯器踢了出局:Emacs 需要一些難以安裝的檔案;OpenBEXI 看來是一個很有趣的網站開發概念,但它卻不是一個真正的源碼編輯器;WebDev 似乎沒有免費的測試版本。其餘的每個軟件進行 HTML4/5 標籤、CSS 屬性、PHP 和 JavaScript 函式和變量等的語法高亮、自動提示和自動完成功能的測試。下面就是一個典型的 PHP 測式檔案:

<html>
<head>
<style>
dir {
display: none;
}
</style>
<script type=\"text/javascript\">
var aaa = 12;
aaa = Math.abs(12);
</script>
</head>
<body>
<div style=\"display: none\"></div>
<?php
$aaa = strtotime();
if (true) {
$aaa = strftime(\"%a\");
}
?>
</body>
</html>


Jeronymo 共有 13 項測試項目,包括 PHP 和式自動完成,PHP 變量自動完成,JavaScript 函式自動完成等,有該項功能的話便得一分,最後計算每一個編輯器的分數。最普遍得到支援的是語法高亮、定界符 (delimiter) 的本地化、和自動關閉 HTML 標籤。最少得到支援的是 JavaScript 函式的自動完成和提示、及 JavaScript 變量的自動完成。平均的得分是 4.8,即 38%,也就是說,中游的軟件在 13 項功能中只能支援不到 5 項功能,29 個軟件中有 13 個表現超越平均值。

跟著 Jeronymo 挑選前 25% 的軟件進行進一步的評估,也就是以下八個 (按字母順序排列):Dreamweaver, Geany, Komodo Edit, Netbeans, Nusphere PHPEd, PHPStorm, Programmer’s Notepad, 及 WebMatrix。有趣而又值得注意的是,這裡有四個免費和四個收費的軟件,四個收費的軟件都只能在 Windows 上運行,其餘四個則是跨平台的。

挑選這八個軟件並非表示它們比其餘的優勝,只代表它們比其它軟件滿足更多 Jeronymo 所要求的功能。如果源碼重構對你來說是很優先的功能,你應該得到不同的名單。

第二回合:其他功能 (包括所有你希望見到的功能)

第二回合測試包括以下功能:源碼片段/模板,源碼折疊,書籤,自動源碼格式化,支援整合除錯,支援巨集,是否有源碼重構工具,支援項目管理,支援版本控制,內建 FTP,整合的命令行控制台,支援插件,支援開發架構,個人化編輯器,啟動時間是否可以接受,是否有文檔及其完整性,和其他幾項功能。同樣地,只會重點測試基本安裝版本或簡單輕易便能安裝的插件,每一項測試都是都按「有/無」得分,下面是每一個軟件的成績:

Dreamweaver,70 分,它可能是最知名的整合式網站開發環境,對網站設計者來說這是非常強大的工具,但它的界面有點雜亂,它有某種形式的源碼折疊,但不是 Jeronymo 所期待的。

Geany,62 分,模塊化的設計和具備高度的擴展能力,它有一個很簡潔的用戶介面,但缺乏適當的 FTP 支援。

Komodo Edit,54 分,Komodo IDE 的開原版本,非常乾淨易用,類似 Geany。

NetBeans,75 分,它的龐大功能和乾淨的用戶介面令人印象深刻,雖然啟動得時間略長,但如此複雜的應用程序這是合理的。

Nusphere PHPEd,67 分,這是一個偉大的工具,可惜用戶介面非常雜亂,更可惜的是它似乎不歡迎插件,有人在它的論壇問怎樣撰寫插件,得到的回覆是「把你的想法發給我們」。

PhpStorm,75 分,它很像 NetBeans,若果 NetBeans 純粹是為編輯 PHP 而創造出來的話,它可能就是 PhpStorm 的樣子,不過 PhpStorm 佔用的處理器資源似乎要多一點。

Programmer's Notepad,46 分,雖然得分不高,它卻是一個簡潔而性能良好的工具,很可惜它只能在 Windows 平台上運作。

WebMatrix,作為一個免費的網站開發工具,WebMatrix 其實相當不錯,由於它不是一般概念的整合性軟件開發環境,所以沒有評分。

抉擇

雖然上面所有的 PHP 編輯工具都有強大的功能,Jeronymo 最欣賞的還是 Geany 和 NetBeans。 Geany 功能較少但身形比較輕便,它也可以透過越來越多社區維護的插件列擴展功能。 NetBeans 功能強大,但有一個陡峭的學習曲線,它雖然免費和開放源碼,卻是私下地維護持。無論如何,在三年左右的時間,相信將會有新的整合式開發環境面世,部分在座的軟件也將停止發展,屆時將是另一次檢討時間。

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=6538

評論

Sign In or Register to comment.