加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

教你一鍵搞定MDK的代碼格式化了

03/08 08:40
4342
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

大三那年剛剛開始學(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)擊閱讀原文獲取更多指令和介紹。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
TLP291-4(GB-TP,E(T 1 Toshiba America Electronic Components Optocoupler - Transistor Output, 4 CHANNEL TRANSISTOR OUTPUT OPTOCOUPLER, ROHS COMPLIANT, SURFACE MOUNT, MINIFLAT, 11-11F1, SOP-16

ECAD模型

下載ECAD模型
$2.3 查看
ABS09-32.768KHZ-9-T 1 Abracon Corporation CRYSTAL 32.7680KHZ 9PF SMD

ECAD模型

下載ECAD模型
$1.16 查看
NL17SZ126DFT2G 1 onsemi Single Non-Inverting Buffer, 3-State, SC-88A (SC-70-5 / SOT-353), 3000-REEL

ECAD模型

下載ECAD模型
$0.31 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

多年硬件從業(yè)經(jīng)驗(yàn),專注分享從研發(fā)到供應(yīng)鏈,再到精益制造過程中的經(jīng)驗(yàn)和感悟!