2010年12月8日 星期三

程式碼排版的好工具 ─ Artistic Style

在 SourceInsight 裡,加入「程式碼自動格式化」。


安裝教學步驟如下:

1. 去SourceForge 下載 Artistic Style
    下載網址:http://sourceforge.net/projects/astyle/files/
2. 將AStyle解壓縮,本例放在根目錄下 (C:\astyle)
3. 開啟SourceInsight,上方選單列選擇"Options-->Custom Commands-->Add", 
    輸入"Artistic   Style"後按OK

4. Run那列輸入"C:\astyle\bin\AStyle.exe --style=allman %f",Dir列保持空白 (註)
5. 下面將Iconic Window打勾,其餘通通取消打勾
6. 點選右側按鈕"Menu-->(右上方)Menu-->(下拉選)View-->"、
    "Menu Contents的第一個Toolbars點一下-->按右側Insert-->按OK"

7. 接下來還可以自訂喜歡的熱鍵,在"Options-->Custom Commands"
    點選右側按鈕"Keys-->Assign New Keys",按你喜歡的熱鍵,設"Ctrl+Alt+F"


8. 如此就大功告成了!你可以按"Options-->View"看到剛剛設好的Command和熱鍵!


9. 接下來只要按熱鍵"Ctrl+Alt+F",就會背景呼叫AStyle幫你目前的檔案做自動格式化(排版)啦!


註:"--style=allman %f"其中 --style是排版風格的參數、%f則是檔案路徑
Artistic Style非常彈性,有多種格式化(縮排)的風格可以選擇,詳細文件可以參閱:
http://astyle.sourceforge.net/astyle.html


網路推薦參數:

1. astyle -rn --style=ansi --indent=tab --indent-switches --indent-cases *.c *.h
因為Artistic Style會將舊的程式檔案備份起來,但是我覺得這樣浪費空間,所以使用參數「n」選擇不留存這些原始內容的備份檔案(這當然是有風險的,但是我選擇相信這套工具),另外參數「r」則會以遞迴的方式處理所有子目錄。換言之,這段指令會一次處理專案內的所有程式檔案,而且不會進行備份。

2. --style=allman --indent=spaces --indent-switches --indent-labels --indent-preprocessor %f

3. --style=allman %f --indent-switches --indent=tab --indent-labels --indent-preprocessor -p -U
會自動Tab,連Switch/case也會自動縮排



Reference:
http://archerworks.blogspot.com/2010/04/source-insight-artistic-style.html
http://wuboshian.pixnet.net/blog/post/27567373

沒有留言:

張貼留言