2008-10-04 44 views
15

我有一個混亂格式的Objective-C代碼庫。有沒有辦法讓Xcode重新格式化整個項目以符合編碼標準(即正確縮進,空格與製表符等)?是否有其他工具可以實現這一目標?Objective-C Tidy

回答

22

Uncrustify:http://uncrustify.sourceforge.net/

源代碼美化爲C,C++,C#,的ObjectiveC,d,爪哇,典當和VALA

如果你想要簡單的東西,你很可能通過簡單地刪除所有空格/換行符,並在;{}上添加新的換行符,然後手動重新縮進代碼來獲得某種方式。它不會接近完美佈局的代碼,並且重新加載可能會對大型代碼造成影響,但它會一致。

+1

只是因爲項目的名字 – slf 2009-05-29 15:56:53

7

根據此blog post,bcpp與Objective-C一起使用。

此外,縮進工具可能會對您有所幫助。它針對的是純C語言,但有一個gazillion選項可以提供幫助。我不知道它是否在OS X上默認出現。

NAME 
     indent - changes the appearance of a C program by inserting or deleting 
     whitespace. 

SYNOPSIS 
     indent [options] [input-files] 

     indent [options] [single-input-file] [-o output-file] 

     indent --version 

DESCRIPTION 
     This man page is generated from the file indent.texinfo. This is Ediâ 
     tion of "The indent Manual", for Indent Version , last updated . 

     The indent program can be used to make code easier to read. It can 
     also convert from one style of writing C to another. 

     indent understands a substantial amount about the syntax of C, but it 
     also attempts to cope with incomplete and misformed syntax. 
+0

它在我的OS X 10.5.5機器上。我想它可能會作爲開發人員工具的一部分進行安裝。 – dbr 2008-10-04 16:46:23

+0

它被安裝在10.6 – Joe 2009-12-08 15:48:03

8

Xcode中的Edit-> Format-> Re-Indent是一個簡單但有限的解決方案,它將應用您當前的縮進設置(Xcode-> Preferences ...->縮進)。

5

From Xcode:

1)更改縮進首選項以匹配您想要的。

2)選擇一個文件,直到所有行是在窗口的左邊緣上幾次工作,並選擇全部(CMD-A)

3)左移(CMD- [)。

4)使用重新縮進選擇(從編輯 - >格式 - >或從右鍵單擊上下文菜單)

只能對一個文件的時間,而不是整個項目。也只處理縮進。

2

經過修改多個外部格式化程序和弱內部xcode格式化程序後,我終於與uncrustify結算。 Uncrustify具有相當好的Objective-C支持,可以很容易地與xcode集成爲一個用戶腳本,併爲幾乎所有xcode本地支持的語言提供了一個集中的格式化器。

uncrustify最大的障礙是艱鉅的配置文件。我的建議是,提供一個提供的示例配置(ben2.cfg非常好),合併在objc.cfg示例中,並根據需要進行調整。去使用在不同的上下文uncrustify

0

的「GTMXcodePlugin」的唯一功能,又名谷歌工具箱對於Mac的Xcode插件 - 做一個偉大的工作通過有效地整理客觀C代碼,並安全地修整空格。

The GTM Xcode 4 plugin目前只增加了「清理空白」菜單項,在「編輯」菜單的末尾,從文本文件中刪除的行空白不必要的結束。希望我們很快會添加更多功能。它只針對Xcode 4.2進行了測試。

0

在撰寫本文時,最新的,最簡單的方法是SpaceCommander。它基於鏗鏘聲的頂部,並具有許多其他整潔的功能,並在撰寫本文時保持活躍。