最近在做一個C++項目,我們使用了一個叫做AStyle的插件來做代碼格式化。
下載下傳方式1:通過Visual Studio下載下傳
- 啟動Visual Studio,以下簡稱VS;
- 英文版VS:VS主菜單 > Tools > Extension Manager…; 中文版VS:VS主菜單 > 工具 > 擴充和更新…;
- 左邊選擇Online Gallery(聯機),輸入關鍵字“AStyle”。
下載下傳方式2:通過頁面下載下傳
下載下傳頁面:https://visualstudiogallery.msdn.microsoft.com/2f3f04cd-2866-4e47-a671-d1cc9cc3fb02
這個插件的安裝和使用,在下載下傳頁面的“說明”部分已經講得很詳細了。
設定
按照以下操作可以調出設定界面:
- 英文版VS:VS主菜單 > Tools > Options > 左邊目錄樹 > AStyle Formatter;
- 中文版VS:VS主菜單 > 工具 > 選項 > 左邊目錄樹 > AStyle Formatter。
推薦參數
下面是我們項目在用的設定參數,在設定界面點“Edit”按鈕粘貼進去就行:
--style=java --indent=spaces=4 --align-pointer=type --align-reference=type --attach-namespaces --attach-classes --attach-inlines --attach-extern-c --indent-cases --indent-col1-comments --pad-oper --pad-header --unpad-paren --close-templates --remove-brackets --convert-tabs --mode=c
以上參數的主要作用是:
1、排版風格以“Java Style”為基礎,在其之上進行細微調整,減少設定的複雜度;
2、關閉掉一些可能會降低代碼可讀性的設定,比如:
- 不限定每行代碼的最大長度,以免因為自動換行而破壞注釋的排版;
- 不自動清除代碼中的空行,以免破壞代碼的段落布局。
3、調整{}的位置;
4、調整縮進,比如:
- 命名空間不縮進;
- 可見性關鍵字(public、protected和private)不縮進;
- 縮進統一使用4個空格代替制表符(Tab)。
5、調整空格,比如:
- 清理行末位多餘的空格;
- 參數類型和名稱之間的空格。
格式化代碼
打開目标代碼檔案,通過菜單項來觸發格式化:
- 英文版VS:VS主菜單 > Edit > Advanced > Format Document (AStyle);
- 中文版VS:VS主菜單 > 編輯 > 進階 > Format Document(AStyle)。
設定快捷鍵
VS預設沒有給Asyle配置設定快捷鍵,需要手工來為Format Document菜單項配置設定快捷鍵:
- 英文版VS:VS主菜單 > Tools > Options > 左邊目錄樹 > Environment > Keyboard;
- 中文版VS:VS主菜單 > 工具 > 選項 > 左邊目錄樹 > 環境 > 鍵盤。