輕松實現Visual C++源代碼規范整理
如果你是一名VC 程序員 ,你是否被一個問題所困擾?項目小組有編程規范要求嚴格執行,但是項目進度緊張,每天都有大量的代碼需要完成。很難做到既能保證 開發 進度,又能編寫出良好風格、縮進規范的代碼。如果采用其他工具對源文件進行代碼整理,又需在VC之
如果你是一名VC
程序員,你是否被一個問題所困擾?項目小組有
編程規范要求嚴格執行,但是項目進度緊張,每天都有大量的代碼需要完成。很難做到既能保證
開發進度,又能編寫出良好風格、縮進規范的代碼。如果采用其他工具對源文件進行代碼整理,又需在VC之外重新打
開源代碼,整理結果不能直接在VC中查看編譯。能不能在VC中集成一種工具,輕松點擊VC按鈕即可整理源碼呢?回答是有。
下面我就介紹一個名為astyle的
開源代碼整理工具以及在VC
開發環境中集成配置的方法??梢匝杆賹崿F在VC中進行代碼整理的功能,希望能給你一定的幫助。
1、 訪問http://sourceforge.net/projects/astyle,
下載astyle包,包括源文件、可執行文件、使用說明等。
2、 拷貝astyle.exe到c:\winnt\system32下。
3、 接下來配置VC,添加astyle代碼整理功能。
1) 在VC中新建菜單項"格式整理"。在工具欄上點擊右鍵打開Customize窗口,在Tools標簽頁新建一個菜單項:"格式整理",并在Command中輸入菜單項對應外掛工具程序當前所在路徑:"C:\winnt\system32\astyle.exe"。
2) 在Arguments中輸入外掛工具程序配置參數--style=ansi ${FileName}${FileExt}。其中 --style=ansi表示選擇使用ANSI 風格格式和縮進。當然也可選用其他風格,可選的風格和樣例如下:
--style=ansi:ANSI 風格格式和縮進
clearcase/" target="_blank" >cc66 width="90%" align=center bgColor=#dadacf border=1>
namespace foospace { int Foo() { if (isBar) { bar(); return 1; } else return 0; } } |
--style=kr :Kernighan&Ritchie 風格格式和縮進
namespace foospace { int Foo() { if (isBar) { bar(); return 1; } else return 0; } } |
--style=
linux :
Linux 風格格式和縮進
namespace foospace { int Foo() { if (isBar) { bar(); return 1; } else return 0; } } |
--style=gnu :GNU 風格格式和縮進
namespace foospace { int Foo() { if (isBar) { bar(); return 1; } else return 0; } } |
--style=
java :
Java 風格格式和縮進
class foospace { int Foo() { if (isBar) { bar(); return 1; } else return 0; } } |
更詳細的配置參數可參加見astyle隨機文檔。
${FileName}${FileExt}:表示整理當前編輯的源文件。
在Initial directory中輸入$(FileDir)參數:表示初始運行路徑。設置該項值后,astyle啟動的初始路徑為當前文件路徑。
3) 為使在astyle.exe整理代碼時不彈出Dos框并將運行結果直接顯示到VC中,需選中"Use Output Window"選項,如圖所示。
4) 為方便astyle工具的使用,還可以將該菜單項添加到便捷工具欄中。同樣也是在Tools下面的Customize中進行設置,設置時注意工具圖標編號,如圖所示:
5)至此設置工作基本完成,還有一點注意事項需要說明。因為astyle對代碼進行整理時整理的對象是硬盤中的源文件,如果未對源文件進行保存就直接進行代碼整理的話,VC會彈出源文件重新載入提示框,如果選擇是,則會丟掉剛剛開發的代碼,這無疑是程序員最痛苦的事;選擇否又會使整理操作白費了。所以為保證開發代碼及時得到保存,需在整理前保存修改源文件。要實現該功能,只需在Tools中的option設置中,將Save options設為:"Save before running tools",如圖所示:
好,大功告成,代碼整理只需輕輕松松點擊VC工具欄按鈕,立即在VC編輯框中出現規范的源代碼。
下面讓我們來享受一下使用VC集成astyle整理代碼的愉快結果吧!
1、整理前,凌亂的代碼行:
2、整理后的代碼行: