2012-03-20 64 views
4

任何人都可以推薦能夠「規範化」php文檔編碼風格的工具/插件嗎?編碼風格:自動生成現有php文件的自動工具?

很多時候,我發現自己正在根據不同的作者編寫過時的代碼庫,因爲它們完全遵從不同的編碼風格。在處理這些文檔之前,我經常發現我必須清理代碼,並且我只需要執行正則表達式搜索&替換,如固定大括號縮進,新行,點連接符,操作符周圍的空格等等。 ..

我使用Aptana Studio,就像它提供的默認php格式一樣,這對編寫符合編碼風格的新代碼非常有用。我所尋找的理想情況是某種工具或插件,可能需要使用現有的代碼,甚至只是稍微採用它給定的編碼風格(甚至是一組正則表達式搜索&替換的)。

任何人有任何提示?

P.S .:請注意,我本身並不是要求強制執行編碼標準,而是要求如何自動將舊的代碼庫適應編碼標準。

編輯:我發現此主題Aptana auto format:Aptana支持通過快捷方式cmd + shift + f將代碼格式化爲活動編碼風格。從我到目前爲止的嘗試來看,它的表現有點奇怪,並沒有完全產生我期望的輸出。所以,儘管這可能是我可以開始工作的,並且仍然對其他解決方案感興趣。

編輯#2:也發現這個主題How to format code on aptana 3?說明文件夾/項目範圍重新格式化是不可能在Aptana截至目前爲止。

編輯#3:以正確的答案贊成與PEAR Code Beautifier的鏈接。它需要一些自己閱讀:)就我個人而言,我發現最接近我正在尋找的是Aptana/Net Beans的源格式工具。爲了完整起見,我還發現了一個Windows命令行工具,它看起來promissing:http://www.waterproof.fr/products/phpCodeBeautifier/

+1

不知道它會有多大的幫助,但NetBeans具有可配置的自動代碼(例如,將空格,大括號放在新行或相同位置等),並且可以根據文件格式您的設置。 (儘管每次只有一個文件。) – Corbin 2012-03-20 08:32:05

+0

Aptana應該能夠至少在每個文件的基礎上處理所有這些文件。如果它不能,你可能會使用錯誤的ide。我使用Netbeans,可以用'alt shit f'格式化整個文件。我不確定我是否希望自動化該過程,但我確定有人有一個ant腳本或插件可以在整個項目或代碼庫中進行自動格式化。此外Netbeans有很好的發現和替換,支持各種搜索標準,包括正則表達式。我沒有使用過任何Ides的薪水,他們對於非職業球員來說太貴了,所以我沒有比較。 – RockyFord 2012-03-20 09:20:02

+0

感謝您的意見。Aptana確實具有可編輯的編碼風格偏好設置,我喜歡它們。我的問題是將相同的編碼風格應用於凌亂/不同編碼風格的現有文檔。 Aptanas搜索和替換很不錯,並且功能正則表達式 - 這裏唯一可能是某種解決方案的東西是,如果一個IDE將使我能夠在文件上運行x個save reg exp搜索和替換。 – kontur 2012-03-20 09:51:27

回答

2

你可以看看PEAR代碼美化:http://pear.php.net/package/PHP_Beautifier

+0

試圖讓我的電腦上的xampp安裝工作。雖然安裝說PEAR軟件包已安裝並且我可以找到它,但是我找不到一個php_beautifier.bat文件包文檔中提到的命令行用法 - 我想命令行用法就是我在這裏查找的,而不是腳本用法:? – kontur 2012-03-20 21:52:30

+0

在我的安裝中,.BAT文件位於xampp/php中。 – chiborg 2012-03-21 09:29:43

+0

終於花了一點時間,整理了如何使用,升級和安裝pear包並從命令行使用它。雖然我喜歡Aptana進行文件編輯級格式化,但我只是讓PHP_Beautifier將整個項目的代碼庫合併到一起,並且我的下巴被刪除了:)再次感謝。 – kontur 2012-04-17 13:32:41

0

我發現了一個PHP腳本,它可以重新PHP中,它被稱爲PHP tidy

http://phptidy.berlios.de/

我準備了一個列表一個項目中的所有php文件,並且它的工作非常漂亮。

+0

給了這一個測試運行,但考慮到我正在尋找它給我的結果只是小小的改進。從一個快速檢查它確實在這裏或那裏修正了一點縮進,但總的來說,我不認爲這個腳本可以被視爲強制給定的,更不用說可編輯的編碼風格。感謝你的回答。 – kontur 2012-03-20 12:30:21

0

見我們PHP Formatter

它將格式化單個文件或一組文件。

+0

而且它也是商業性的,即它花錢。 – 2012-03-20 09:14:12

+0

您的足跡登記表爲公司或個人使用提供單選按鈕,但是,在選擇個人用途時,除非我提供公司名稱,否則表單不會提交。儘管如此,我想嘗試一下。 – kontur 2012-03-20 10:03:38

+0

@kontur:抱歉單選按鈕。在我們解決這個問題時對它進行解釋 – 2012-03-20 13:56:03