博客專(zhuān)欄

        EEPW首頁(yè) > 博客 > keil中使用Astyle格式化你的代碼的方法

        keil中使用Astyle格式化你的代碼的方法

        發(fā)布人:電子禪石 時(shí)間:2019-02-11 來(lái)源:工程師 發(fā)布文章

        簡(jiǎn)介:在給RTT 提交代碼,需要符合RT-Thread 的代碼規(guī)范,本文簡(jiǎn)單介紹如何使用Astyle 格式化為符合RTT要求的代碼風(fēng)格。

          關(guān)于Astyle

          Astyle 的全稱(chēng)是Artistic Style的簡(jiǎn)稱(chēng),是一個(gè)開(kāi)源的源代碼格式化工具,可以對(duì)C,C++,C#以及Java等編程語(yǔ)言的源代碼進(jìn)行縮進(jìn)、格式化、美化。

          Home Page: http://astyle.sourceforge.net/

          Project Page: http://sourceforge.net/projects/astyle/

          在Keil μVision中集成Astyle(以Keil μVison5為例)

          ①下載Astyle,解壓到任意位置(Astyle為綠色軟件)

          下載地址:

          鏈接:https://pan.baidu.com/s/1cGh2yA7T0F22hpVulz60GQ

          提取碼:m4hh

          ②μVision5中單擊Tools菜單---Customize Tools Menu

        1550038163429745.png

        ③添加Astyle All Files 和Astyle Current File菜單(自定義菜單名,可以使用中文)

          這里添加了兩個(gè)菜單,分別是格式化當(dāng)前文件和格式化project中的所有文件。

        1550038210941993.png

          ④添加Command命令:?jiǎn)螕?..按鈕,在Astyle的安裝目錄中選擇Astyle.exe。

          ⑤Arguments:

          Astyle Current File菜單填寫(xiě) -n !E --style=allman --indent=spaces=4 --indent-preproc-block --pad-oper --pad-header --unpad-paren --suffix=none --align-pointer=name --lineend=linux --convert-tabs --verbose    當(dāng)前文件

          Astyle All Files菜單填寫(xiě) -n "$E*.c" "$E*.h" --style=allman --indent=spaces=4 --indent-preproc-block --pad-oper --pad-header --unpad-paren --suffix=none --align-pointer=name --lineend=linux --convert-tabs --verbose

          當(dāng)前文件所在文件夾中的所有.c 和.h文件

          注:!E 表示的是當(dāng)前獲得焦點(diǎn)且正在編輯的文件。

          $E*.c和$E*.h代表當(dāng)前獲得焦點(diǎn)且正在編輯文件所在目錄下所有.c和.h文件(參考keil uVision的幫助文檔)

          使用的是Astyle默認(rèn)格式來(lái)格式化文件,另外也可以自定義格式,自定義格式參考Astyle的幫助文檔。默認(rèn)格式化后,會(huì)備份原文件為 源文件名.orig。如果不想讓Astyle備份文件,可以使用-n參數(shù)。 如:-n !E (表示格式化當(dāng)前文件,不備份)

        1550038238932615.png

          ⑥實(shí)際使用效果如下:

        1550038265228016.png

          使用格式化命令后:

        1550038299537920.png

          顯示已經(jīng)完成:

        1550038330519732.png

          注:RTT 使用參數(shù)簡(jiǎn)要說(shuō)明:具體可看D:GEN_FILE_000005_V1.0%20AStyle_3.1_windows\AStyle\doc 中說(shuō)明

          用 astyle 自動(dòng)格式化代碼

          --style=allman  此風(fēng)格大括號(hào) 單獨(dú)使用一行

          --indent=spaces=4    縮進(jìn) 4個(gè)空格

          --indent-preproc-block  按塊進(jìn)行預(yù)處理

          --pad-oper      在操作符前后添加空格

          --pad-header    在if for while 等后面插入空格

          --unpad-paren   移除括號(hào)里面多余的空格

          --suffix=none    不需要備份 也就是 -n

          --align-pointer=name  *, &, or ^ 挨著變量名放置

          --lineend=linux   行結(jié)束風(fēng)格Valid options are windows (CRLF), linux  (LF), and macold (CR).

          --convert-tabs  縮進(jìn)時(shí)將tab 轉(zhuǎn)換成空格

          --verbose    詳細(xì)的顯示模式

        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



        關(guān)鍵詞:

        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 莒南县| 大安市| 萨嘎县| 大竹县| 株洲县| 泾源县| 阿合奇县| 义乌市| 方正县| 安仁县| 太湖县| 延边| 都江堰市| 丹巴县| 珲春市| 连城县| 沁源县| 加查县| 安庆市| 施秉县| 肥西县| 惠来县| 鄂尔多斯市| 明星| 弋阳县| 洪雅县| 盖州市| 莆田市| 革吉县| 连山| 灯塔市| 临安市| 轮台县| 黎城县| 延吉市| 锡林郭勒盟| 岑巩县| 遂溪县| 潜山县| 嵊州市| 卓资县|