【editor】Source Insight定制之代码风格自动校准功能(AStyle的使用)
? ? 前一篇博文講了Source Insight編輯器中簡單的宏命令(Macro)的制作方式,并與快捷鍵關聯起來。只是為了解決代碼的風格和快捷鍵注釋的問題。但從目前來看,只有代碼的快捷注釋功能是有實用價值的,但是代碼的風格問題確實需要有個強有力的工具來進行格式化(Formatter)。
? ? 目前來看,常用的(筆者接觸到的)風格有Google代碼風格、Allman代碼風格等。其中筆者使用過的是Allman的代碼風格。Google風格與Allman風格最大的區別在于花括號的位置
for (int i = 0; i < 3; i++) {printf("This is Google Style"); }for(int i = 0; i < 3; i++) {printf("This is Allman Style"); }筆者不對不同的代碼風格進行評價,但是筆者自己習慣于使用Allman風格進行代碼編寫。
不僅是在閱讀他人代碼還是自己寫完代碼之后需要格式化(Formatter)為固定代碼風格(Code Style)。筆者都需要一個強有力的工具來進行這項工作,而不是自己一個個手工進行更正。筆者也是在不斷的打磨中對Source Insight編輯器進行改造定制的成一個最適手的編輯器工具。
????????Artistic Style工具是自動代碼格式化工具,可以非常快速的完成對代碼的格式規范。現在我把它集成到Source Insight編輯器上。效果如下:
? ??
? ? ? 在以上的代碼中,for循環后的花括號沒有對齊,花括號內的語句縮進過多,這些都影響到代碼的正常閱讀。幸好有AStyle(Artistic Style)開源代碼來做這件事情(上圖演示的代碼就是AStyle源代碼)。下面來進行如何講AStyle集成到Source Insight編輯器上,隨手一按就能實現快速的代碼格式化工作。
? ? ?1、下載AStyle工程
? ? ? ? ? 官網地址:http://astyle.sourceforge.net/??下載完成之后進行解壓縮。出現的是如圖:
? ? ? ??
? ? ? 今天的目的并不是講解AStyle,只是應用。可執行文件在./bin/文件夾中。比如我的是:C:\Program Files\AStyle\bin\AStyle.exe
? ??2、在Source Insight中配置用戶命令(Custom Command)
? ? ?在Source Insight中依次點擊:Options->Custom Commands打開用戶命令配置窗口:
? ? ?
? ??點擊Add添加用戶命令AStyle-Code,并在Run文本框中輸入C:\Program Files\AStyle\bin\AStyle.exe" --style=allman? -k1 -W1 -t -xG -S -L -M120 -P -y -xb -j -xq? -xS %f只簡單說明一下這條命令的含義就是格式化代碼的意思,使用的都是縮寫的AStyle命令選項(注意:理論上也是可以使用全拼的命令選項的,但是經過嘗試發現Source Insight中的命令內容有長度限制,所以退而采用AStyle的縮寫命令選項,兩者效果一致),具體如何請參照AStyle的說明文檔(Document)。這里只簡單發一下自己歸結的一個文檔截圖:
?需要特別說明的就是命令最后的%f,這個代表的是Source Insight當前打開的文件的絕對路徑,%f的說明請參照Source Insight的幫助文檔(Help Document),幫助文檔如是說:
Character : %f
Expands to : full path name of the current file *
Example : C:\myproj\file.c
?3、關聯快捷鍵F1
在步驟2中,新建了用戶命令AStyle-Code,現在將其關聯到快捷鍵F1上,注意F1之前的關聯是幫助文檔,但是幫助文檔完全可以通過菜單欄打開,所以可以將F1重新進行關聯。在菜單欄中點擊Options->Key Assignment打開快捷鍵賦值界面。
??
? ? ? ? 在Command文本框中搜索AStyle-Code命令,然后點擊Assign New Key...按鍵。出現對話框:Press the key-combination you want to assign .....等,意思就是按下你想進行綁定的鍵。然后按下F1即可,注意這個時候仍然會打開幫助文檔,但也是最后一次。最后點擊OK即可。完成快捷鍵與命令的綁定。
? ? ? ?經過上面三步,就可在使用Source Insight的過程中無時無刻的按下F1就可以隨手格式化代碼了。
? ? ? ?
? ??
?
轉自:https://blog.csdn.net/I_am_Tom/article/details/54375266
總結
以上是生活随笔為你收集整理的【editor】Source Insight定制之代码风格自动校准功能(AStyle的使用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/C++函数调用的压栈模型
- 下一篇: UML各种图总结-精华