色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MDK使用AStyle進行代碼自動格式化

嵌入式USB開發 ? 來源:嵌入式USB開發 ? 作者:嵌入式USB開發 ? 2023-09-19 14:22 ? 次閱讀

本文轉自公眾號,歡迎關注
https://mp.weixin.qq.com/s/uzaGLFTDBAn8wyR84yaiIw

1. 下載軟件

1.1 進入網址https://sourceforge.net/projects/astyle/files/latest/download,下載最新版本AStyle。

1.2 解壓壓縮包到MDK安裝目錄

2. 配置MDK

2.1 Tools -> CustomizeTools Menu...

2.2 點擊Menu Content后的虛線框按鈕(New (Insert))

輸入新建的菜單名:格式化本文件

指定AStyle.exe的路徑

指定參數 !E

同樣方式再新建一個菜單項(格式化所有文件):

注:!E 表示的是當前獲得焦點且正在編輯的文件。

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

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

3. 使用

打開待轉換文件

點擊菜單即可

自動轉換。

4. 符合spacety編程規范的格式化參數

根據spacety編程規范,使用以下參數進行格式化

格式化本文檔,復制以下文本設置

!E -A1 -s4 -xk -xV -xc -S -xW -Y -f -p -xg -U -xe -k1 -W3

格式化整個文件夾文檔,復制以下文本設置

"*E.c" "*E.h" -A1 -s4 -xk -xV -xc -S -xW -Y -f -p -xg -U -xe -k1 -W3

以下是符合spacety編程規范的參數的解釋,其他參數參參考《5.參考文檔》

4.1 大括號

--style=allman / --style=bsd / --style=break / -A1

該參數指定大括號左邊單獨成一行對齊,即

if (input.interface == if_a) {
            ifout = if_b;
        } else {
            ifout = if_a;
        }

變為

if (input.interface == if_a)
        {
            ifout = if_b;
        }
        else
        {
            ifout = if_a;
        }

4.2 TAB和空格

-s4 / --indent=spaces=4

默認即TAB為上述參數設置,即TAB為4個空格。

if (input.interface == if_a)
        {
        ifout = if_b;
        }
        else
        {
  ifout = if_a;
        }

變為

if (input.interface == if_a)
        {
            ifout = if_b;
        }
        else
        {
            ifout = if_a;
        }

4.3 頭文件的extern c申明

--attach-extern-c / -xk

設置該參數后extern "C" { 語句最后的{}不單獨成行。優先于4.1的設置。

正常模式如下

#ifdef __cplusplus
 extern "C" {
#endif

按照1設置后會變為

#ifdef __cplusplus
 extern "C" {
#endif
#ifdef __cplusplus
 extern "C" {
#endif

4.4 while語句

--attach-closing-while / -xV

設置該參數后while語句最后的}不單獨成行。優先于4.1的設置。

do
{
}
while(x == 1);

變為

do
{
}while(x == 1);

4.5 結構體/類

--attach-classes / -xc

設置該參數后結構體語句后的{不單獨成行。優先于4.1的設置。

總是如下:

class FooClass {
...};

4.5 Switch語句

--indent-switches / -S

switch (foo)
{
case 1:
    a += 1;
    break;
case 2:
{
    a += 2;
    break;
}
}
becomes:
switch (foo)
{
    case 1:
        a += 1;
        break;
?
    case 2:
    {
        a += 2;
        break;
}
}

4.6 條件編譯

--indent-preproc-block / -xW

設置該參數,條件編譯會縮進

#ifdef _WIN32
#include < windows.h >
#ifndef NO_EXPORT
#define EXPORT
#endif
#endif
becomes:
#ifdef _WIN32
    #include < windows.h >
    #ifndef NO_EXPORT
        #define EXPORT
    #endif
#endif

4.8 注釋對齊

--indent-col1-comments / -Y

設置該參數,注釋與代碼對齊

void Foo()n"{// comment
    if (isFoo)
        bar();}
becomes:
void Foo()n"{
    // comment
    if (isFoo)
        bar();}

4.9 空行

--break-blocks / -f

設置該參數會在塊之間加空行

isFoo = true;
if (isFoo) {
    bar();} else {
    anotherBar();}
isBar = false;
becomes:
isFoo = true;
?
if (isFoo) {
    bar();} else {
    anotherBar();}
?
isBar = false;

4.10 操作符空格

--pad-oper / -p

設置該參數會在操作符前后空格

isFoo = true;
if (isFoo) {
    bar();} else {
    anotherBar();}
isBar = false;
becomes:
isFoo = true;
?
if (isFoo) {
    bar();} else {
    anotherBar();}
?
isBar = false;

4.11 逗號空格

--pad-comma / -xg

設置該參數在逗號加空格

if (isFoo(a,b))
    bar(a,b);
becomes:
if (isFoo(a, b))
    bar(a, b);

4.12 刪除不必要空格

--unpad-paren / -U

設置該參數會刪除不必要的空格

if ( isFoo( ( a+2 ), b ) )
    bar ( a, b );
becomes (with no padding option requested):
if(isFoo((a+2), b))
    bar(a, b);

4.13 刪除空行

--delete-empty-lines / -xe

設置該參數會刪除不必要的空行

void Foo(){
?
    foo1 = 1;
?
    foo2 = 2;
}
becomes:
void Foo(){
    foo1 = 1;
    foo2 = 2;}

4.14 指針

--align-pointer=type / -k1

設置該參數指針符號* 與類型靠緊

char* foo1;
char & foo2;
string ^s1;
becomes (with align-pointer=type):
char* foo1;
char& foo2;
string^ s1;

4.15 引用

--align-reference=name / -W3

設置該參數引用符號& 與變量名靠緊

char& foo3;
becomes(with align-reference=name):
char &foo3;

5. 參考文檔

《軟件目錄/doc/astyle.html》

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 格式化
    +關注

    關注

    2

    文章

    39

    瀏覽量

    9112
  • 編程
    +關注

    關注

    88

    文章

    3614

    瀏覽量

    93685
  • 代碼
    +關注

    關注

    30

    文章

    4779

    瀏覽量

    68521
  • MDK
    MDK
    +關注

    關注

    4

    文章

    209

    瀏覽量

    32063
收藏 人收藏

    評論

    相關推薦

    keil中的代碼格式化插件Astyle介紹

    在keil中一行一行的縮進自己的代碼,雖然注重代碼格式是一個好的習慣,不過這樣代碼比較多的話,整理起來效率太低,推薦Astyle這個工具,
    的頭像 發表于 11-28 12:29 ?3561次閱讀
    keil中的<b class='flag-5'>代碼</b><b class='flag-5'>格式化</b>插件<b class='flag-5'>Astyle</b>介紹

    atmel studio使用astyle進行格式化代碼

    /astyle-extension/wiki/QuickStart安裝完后可以進行相應的配置:tools->options->astyle formatter建議把fomat on save的勾打上,這樣保存的時候就
    發表于 08-10 13:38

    [小技巧]給Keil5添加代碼格式化插件

    文件3.CoolFormat格式化設置選項4.使用Astyle格式化整個工程(Astyle沒有設置界面,只能自己修改參數)自己修改參數可以選擇"Customize tools Menu
    發表于 09-15 19:41

    AStyle代碼格式化工具分享!

    MDK自帶編輯器沒有格式化代碼功能,樓主強迫癥,代碼不整齊不舒服,人工整理又很麻煩,網上搜了下,找到了這個。(論壇有AStyle批量整理工具
    發表于 08-13 04:07

    格式化硬盤

    格式化硬盤 軟盤只需要一次格式化,硬盤卻需要兩級,即低級格式化和高級格式化。  硬盤的低級格式化在每個磁片上劃分
    發表于 12-25 15:40 ?1093次閱讀

    筆記本硬盤維護之格式化

    筆記本硬盤維護之格式化篇   格式化硬盤(并非低格)會影響硬盤壽命嗎?用Windows對硬盤進行格式化與對軟盤進行
    發表于 01-20 10:32 ?368次閱讀

    筆記本硬盤格式化幾點須知

    筆記本硬盤格式化幾點須知  格式化硬盤(并非低格)會影響硬盤壽命嗎?用Windows對硬盤進行格式化與對軟盤進行
    發表于 01-23 14:15 ?667次閱讀

    如何格式化硬盤

    如何格式化硬盤    這是廣大電腦初學者經常詢問的問題,因為格式化硬盤是安裝裝系統的前提,所以這就成為了需要首先解決的問題,本文將針這個
    發表于 02-24 11:25 ?465次閱讀

    格式化對硬盤有傷害嗎_硬盤格式化后數據還能恢復嗎

    普通的格式化硬盤是不會影響硬盤壽命的。硬盤格式化后數據還能恢復嗎?下面就來看看使用強力數據是如何將格式化后的數據給恢復的吧。
    發表于 12-14 16:09 ?1.7w次閱讀

    格式化是什么

    格式化(format)是指對磁盤或磁盤中的分區(partition)進行初始的一種操作,這種操作通常會導致現有的磁盤或分區中所有的文件被清除。格式化通常分為低級
    的頭像 發表于 01-09 15:20 ?8.6w次閱讀

    關于MDK-ARM代碼格式化插件AStyle

    MDK-ARM代碼格式化插件AStyle
    的頭像 發表于 03-07 16:34 ?2421次閱讀

    python字符串格式化

    python字符串格式化 格式化輸出,主要有三種方式 使用 % 進行格式化 使用 format 函數進行
    的頭像 發表于 02-21 16:28 ?1575次閱讀
    python字符串<b class='flag-5'>格式化</b>

    Keil集成AStyle代碼格式化工具

    借助AStyle代碼格式化工具能讓我們寫的代碼看起來工整而且規范,下面來介紹一下keil如何集成AStyle
    的頭像 發表于 03-30 09:12 ?3262次閱讀
    Keil集成<b class='flag-5'>AStyle</b><b class='flag-5'>代碼</b><b class='flag-5'>格式化</b>工具

    Yapf:一個格式化 Python 代碼的好幫手

    大部分人使用Python中的代碼格式化工具時都會選擇autopep8之類的工具,這些工具可能有一定的局限性,比如不會重新格式化已經符合 PEP8 的代碼。 而本文即將介紹的 Yapf,
    的頭像 發表于 10-17 11:08 ?825次閱讀
    Yapf:一個<b class='flag-5'>格式化</b> Python <b class='flag-5'>代碼</b>的好幫手

    Black:自動格式化代碼的神器

    代碼規范啊! 沒事,現在有Black這個神器,我們可以在終端中輸入一句命令就自動格式化代碼!而且對于初學者來說,用Black來學習代碼規范也
    的頭像 發表于 11-02 14:51 ?1315次閱讀
    Black:<b class='flag-5'>自動</b><b class='flag-5'>格式化</b><b class='flag-5'>代碼</b>的神器
    主站蜘蛛池模板: 偷拍精品视频一区二区三区| 人人射人人爱| 蜜臀AV浪潮99国产麻豆| 男女高潮又爽又黄又无遮挡 | 99视频精品免视3| 超碰最新网站| 国产欧美无码亚洲毛片| 精品欧美一区二区三区四区| 啦啦啦 中文 中国 免费 高清在线| 蜜芽亚洲欧美一区二区电影| 日本高清免费看| 胸太大被男同桌吃好爽| 一道本在线伊人蕉无码| chinese国语露脸videos| 国产a级午夜毛片| 久久99精品国产免费观看| 免费观看久久| 婷婷激情综合色五月久久竹菊影视| 亚洲精品久久7777777| 2022年国产精品久久久久| 抽插的日日液液H| 精品视频免费在线| 欧美巨大xxxx做受高清| 亚洲 欧美无码原创区| 2019欧洲hd| 国产精品久久久久影院色| 久久久精品国产免费A片胖妇女| 青青青青久久久久国产的| 亚州精品视频| 99久久久无码国产精品不卡按摩| 国产国产成人人免费影院| 久久亚洲精品无码A片大香大香| 日本不卡三卡四卡| 妖精视频在线观看高清| xxxxhdvideos动漫| 精品国产成人系列| 欧洲内射XXX高清| 一个人免费视频在线观看高清频道 | 蜜桃人妻无码AV天堂三区| 日本无翼恶漫画大全优优漫画 | 色偷偷888欧美精品久久久|