2010年4月19日 星期一

Source Insight 外掛 Artistic Style 程式碼自動格式化

之前一份工作寫JAVA (J2EE、Struts、JSP...)的時候IDE用的是Eclipse,以JAVA語言而言他真的是一個非常好用的IDE,其中我最愛的內建熱鍵是Ctrl+Shift+F,無論我怎麼用空格、Tab亂七八糟縮排,一按這個熱鍵就幫我自動格式化,排的整整齊齊了。

現在換用Source Insight寫C code,他是更強大沒錯,號稱「地球上最強的Trace Code神兵利器」也不為過,但是這個「程式碼自動格式化」(Code Formatter)功能卻怎麼也找不著,套句對岸的用語,「相當鬱悶」!後來經由明查暗訪,由好友丁爺的推薦和懶魚學長的部落格教學,我終於找到完美的Solution了!(興奮貌!)

安裝教學步驟如下:

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

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

7. 接下來還可以自訂喜歡的熱鍵,在"Options-->Custom Commands"
   點選右側按鈕"Keys-->Assign New Keys",按你喜歡的熱鍵,我是設"Ctrl+Alt+F"
Key Assignments視窗
8. 如此就大功告成了!你可以按"Options-->View"看到剛剛設好的Command和熱鍵!
大功告成!
9. 接下來只要按熱鍵"Ctrl+Alt+F",就會背景呼叫AStyle幫你目前的檔案做自動格式化(排版)啦!


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

經過多次試驗,我個人喜愛的配置是"C:\astyle\bin\AStyle.exe --style=allman --indent=spaces --indent-switches --indent-labels --indent-preprocessor %f"

大家可以參考看看!!

6 則留言:

  1. 難得有一篇技術文了啊 恩恩 不錯 是喜歡工作的第一步

    回覆刪除
  2. 哈哈!這第一步怎麼花了快兩年......

    回覆刪除
  3. 完全看不懂.... (我根本就是假資工人XD)

    回覆刪除
  4. Archer 你好,

    你有試過使用 SI 解析 makefile 裡面相關的 operator 嗎?

    雖然 SI 裡面有 Makefile 的 document type, 但似乎支援程度還不夠.

    回覆刪除
  5. 對了,
    UniversalIndentGUI 也蠻不錯的, 他可以即時預覽變化

    回覆刪除
  6. 哇~快1萬的軟體耶....很大的投資呀 >_<

    回覆刪除

寫在參加309反核遊行之前

圖片出自:日本藝術家 奈良美智(Yoshitomo Nara) 的經典反核作品 一開始,先來聽首好聽的【 棉花糖 katncandix2 - 深黑的河 】 吧! 我一直以來都犯個毛病,就是有時會過於理性,相信「證據會說話」,換句話說就是愛當「認真魔人」,...