大三那年剛剛開始學(xué)習(xí)C語(yǔ)言的時(shí)候,使用的IDE就是Keil,那時(shí)候也沒見過什么其他高大上的IDE,覺得Keil還不錯(cuò)。
單片機(jī)老師授課時(shí)告訴我們,程序員不能習(xí)慣用鼠標(biāo),而是使用鍵盤進(jìn)行所有的代碼編輯,彼時(shí)學(xué)了不少快捷鍵,手指也能夠在字母,數(shù)字和翻頁(yè),方向鍵之間游刃有余。
如今工作了十幾年,鍵盤打的快一點(diǎn),滿屏的錯(cuò)別字,往事不堪回首啊,現(xiàn)在我最熟練的就是Ctrl C和Ctrl V。
今天給大家展示一個(gè)MDK(也就是Keil升級(jí)后的版本)的自動(dòng)格式化代碼工具,真的可以做到一鍵搞定代碼格式,看起來(lái)即美觀,又清爽。
這個(gè)插件就是Artistic Style。
先介紹功能
Artistic Style是一個(gè)用于C、C++、C++/CLI、J2EE-C、C#和Java編程語(yǔ)言的源代碼縮進(jìn)器、格式化器和美化器。它是用C++編寫的,可以從命令行使用,也可以作為庫(kù)合并到其他程序中??梢詮拿钚谢蜻x項(xiàng)文件輸入選項(xiàng)。庫(kù)版本可以從用C++以外的語(yǔ)言編寫的程序中調(diào)用。
如何安裝和配置
我的MDK版本是V5.37.0.0
首先,把文件拷貝到MDK的安裝目錄中,總之放到不容易丟,容易找到的地方。
然后,我們打開工程,在菜單里面選擇Tools下面的Customize Tools Menu,如下圖所示:
在Customize Tools Menu的對(duì)話框中,我們可以添加用戶自定義的命令,并且配置相關(guān)的參數(shù)。
其中的Menu Content可以隨便填,也是支持中文的。
我就添加了兩個(gè)命令,一個(gè)是Fomat Project,一個(gè)是Fomat Current File。顧名思義,它們可以對(duì)整個(gè)工程進(jìn)行格式話,也可以對(duì)當(dāng)前打開的文件進(jìn)行格式化。
工具路徑這里直接索引到我們前面拷貝的工具目錄中的exe可執(zhí)行文件,這里放在keil安裝目錄下 的好處就是可以很容易的找到。
保存上面的設(shè)置之后,我們回到工程界面中,再?gòu)牟藛沃写蜷_Tools下來(lái)菜單,就會(huì)發(fā)現(xiàn)我們的下來(lái)菜單中多出來(lái)兩個(gè)命令,沒錯(cuò),就是我們之前添加的兩個(gè)命令。現(xiàn)在我們就可以直接點(diǎn)擊他們進(jìn)行代碼格式化了。
看幾個(gè)例子吧
首先,這個(gè)工具可以對(duì)代碼和注釋進(jìn)行對(duì)齊操作,這也是最基本的,也是作為程序應(yīng)該遵守的底線。
格式化前:
格式化后:
下面的例子中,我將對(duì)齊打亂,將花括號(hào)也打亂了,使用格式化工具后,一下子就清爽了。
格式化后:
我又在格式化好的基礎(chǔ)上,增添了很多空行,且在注釋中也增加了許多空格,這些也是我們?cè)贑trl+C 和Ctrl+V代碼的時(shí)候經(jīng)常會(huì)出現(xiàn)的情況,如下圖所示
經(jīng)過工具格式化后,我們可以看到,他按照gnu的風(fēng)格格式化,并且注釋部分的空格刪掉,只保留了一個(gè)。
再來(lái)看一個(gè)例子,我將led的初始化代碼中的多條語(yǔ)句寫到一行,還有,我把賦值語(yǔ)句后面的多個(gè)參數(shù)也都排在一行里,這個(gè)工具會(huì)非常聰明的幫我們分開。
格式化前:
格式化后
快捷鍵的設(shè)置
我們?cè)僬務(wù)勅绾我绘I操作,
首先回到我們的工程界面,在菜單欄中選擇Edit下拉菜單后,選中我們常用的小扳手 → Configuration。
在Configuration中,我們選擇Shortcut Keys選項(xiàng)卡,在左邊的命令列表中找到我們剛剛添加的兩條指令,然后點(diǎn)擊右邊的Create Shortcut按鈕為其設(shè)置一個(gè)快捷鍵。
一般我是用Ctrl+某個(gè)字母作為快捷鍵的,畢竟我Ctrl+C和Ctrl+V用的太熟練了。
這里我選擇使用Ctrl+F,注意,一定要選擇沒有被使用過的,如果不小心選擇了Ctrl+C的話,我們編程的能力可能會(huì)急劇下降!
OK,盡情的體驗(yàn)Ctrl的快感吧。
簡(jiǎn)單的測(cè)試指令如下:
-n?!E?--style=gnu?-p?-s4?-S?-f?-xW?-w?-xw
-n "$E*.c" "$E*.h" --style=gnu -p -s4 -S -f -xW -w -xw -R
怎么下載?
關(guān)注公眾號(hào),發(fā)送Astyle,即可獲取軟件包鏈接。
如果需要調(diào)整好的指令,可以點(diǎn)擊閱讀原文獲取更多指令和介紹。