RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 2023-11-28 12:29 ? 次閱讀

keil中一行一行的縮進(jìn)自己的代碼,雖然注重代碼的格式是一個(gè)好的習(xí)慣,不過這樣代碼比較多的話,整理起來效率太低,推薦Astyle這個(gè)工具,同時(shí)這里網(wǎng)上也找了點(diǎn)內(nèi)容分享給大家:

1 Astyle介紹

Astyle全稱Artistic Style,是一個(gè)免費(fèi),快速,小型的自動(dòng)格式化程序,適用于C,C++,C++/CLI,Objective?C,C#Java源代碼。

在縮進(jìn)源代碼時(shí),作為程序員,我們傾向于同時(shí)使用空格和制表符來創(chuàng)建所需的縮進(jìn)。此外,默認(rèn)情況下,某些編輯器在按 Tab 鍵時(shí)會(huì)插入空格而不是制表符。其他編輯器(例如Emacs)能夠通過自動(dòng)設(shè)置行上代碼之前的空格來"漂亮地"行,可能在代碼中插入空格,到目前為止,這些代碼僅使用制表符進(jìn)行縮進(jìn)。

源代碼中每個(gè)制表符的空格數(shù)可以在編輯器之間更改(除非用戶根據(jù)自己的喜好設(shè)置數(shù)字...)。程序員在從一個(gè)編輯器移動(dòng)到另一個(gè)編輯器時(shí)面臨的一個(gè)標(biāo)準(zhǔn)問題是,包含空格和制表符的代碼(完全縮進(jìn))突然變得一團(tuán)糟。即使您作為程序員只注意使用空格或制表符,查看其他人的源代碼仍然會(huì)有問題。

為了解決這個(gè)問題,創(chuàng)建了Art Style——一個(gè)用C++編寫的過濾器,可以自動(dòng)重新縮進(jìn)和重新格式化C / C++ / Objective-C / C++ / CLI / C# / Java源文件。它可以從命令行使用,也可以作為庫合并到另一個(gè)程序中。

836b527e-8da4-11ee-939d-92fbcf53809c.png

2 Astyle初體驗(yàn)

直觀一點(diǎn),我們來看看下面沒有經(jīng)過Astyle格式化的代碼:

83862a90-8da4-11ee-939d-92fbcf53809c.jpg

接下來我們用Astyle插件給它格式化看一下:

839a63de-8da4-11ee-939d-92fbcf53809c.jpg

很明顯,第一種代碼風(fēng)格要是每次參考別人的代碼看到的是這樣的,那基本連繼續(xù)看下去的心情都沒有了,果斷右鍵回收站,第二種代碼風(fēng)格,看起來就舒服多了。

也就是說,以后但凡看別人的代碼,第一件事先用Astyle插件把代碼風(fēng)格格式化一下,變成合適自己的那種風(fēng)格,也有利于提高自己的學(xué)習(xí)和工作效率;一個(gè)好的程序,不僅要有好的算法,同時(shí)也需要有良好的書寫風(fēng)格。

3 Astyle插件在Keil工程中的適配

這里我使用的的Keil軟件版本是:V5.29.0.0

3.1 keil5配置用戶自定義插件

83c5ba48-8da4-11ee-939d-92fbcf53809c.png

選擇Customize Tools Menu。

3.2 添加用戶自定義命令并配置參數(shù)

83eeb006-8da4-11ee-939d-92fbcf53809c.png

其中Menu Content就是自定義的用戶命令,名稱可以自己寫,接下來看看我做的兩個(gè)用戶命令。

用戶命令:格式化工程

參數(shù)配置:(這個(gè)是自己參考別人的方法配置的)

-n "$E*.c" "$E*.h" --style=ansi -p -s4 -S -f -xW -w -xw -R

用戶命令:格式化當(dāng)前文件

參數(shù)配置:(這個(gè)是自己參考別人的方法配置的)

-n !E --style=ansi -p -s4 -S -f -xW -w -xw

注:!E表示的是當(dāng)前獲得焦點(diǎn)且正在編輯的文件。 $E*.c和$E*.h代表當(dāng)前獲得焦點(diǎn)且正在編輯文件所在目錄下所有.c和.h文件(參考keil uVision的幫助文檔)使用的是Astyle默認(rèn)格式來格式化文件,另外也可以自定義格式,自定義格式參考Astyle官網(wǎng)的幫助文檔。

3.3 選擇命令對(duì).c 或 .h開始格式化處理

83c5ba48-8da4-11ee-939d-92fbcf53809c.png

然后點(diǎn)擊自己配置的用戶命令即可完成代碼格式化,其它的風(fēng)格詳情查看官網(wǎng)的開發(fā)文檔學(xué)習(xí)。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304791
  • 格式化
    +關(guān)注

    關(guān)注

    2

    文章

    39

    瀏覽量

    9112
  • keil
    +關(guān)注

    關(guān)注

    68

    文章

    1212

    瀏覽量

    166839
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4779

    瀏覽量

    68520
  • 插件
    +關(guān)注

    關(guān)注

    0

    文章

    326

    瀏覽量

    22440

原文標(biāo)題:keil中的代碼格式化插件——Astyle

文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MDK使用AStyle進(jìn)行代碼自動(dòng)格式化

    MDK使用AStyle進(jìn)行代碼自動(dòng)格式化
    的頭像 發(fā)表于 09-19 14:22 ?3338次閱讀
    MDK使用<b class='flag-5'>AStyle</b>進(jìn)行<b class='flag-5'>代碼</b>自動(dòng)<b class='flag-5'>格式化</b>

    sourceinsight+Astyle代碼格式化插件設(shè)置圖文教程

    sourceinsight編輯器,大家估計(jì)都知道它的高效快捷了.使用它可以提高代碼閱讀和編寫速度,但是代碼風(fēng)格調(diào)整卻不是很智能.所以需要外部插件來搞定就是Astyle..Astyle
    發(fā)表于 09-02 21:07

    atmel studio使用astyle進(jìn)行格式化代碼

    /astyle-extension/wiki/QuickStart安裝完后可以進(jìn)行相應(yīng)的配置:tools->options->astyle formatter建議把fomat on save的勾打上,這樣保存的時(shí)候就格式化
    發(fā)表于 08-10 13:38

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

    .安裝完成后打開Keil查看效果下面多出的4個(gè)選項(xiàng)的功能:1.使用CoolFormat格式化當(dāng)前文件(如果文件未保存,則第一遍是保存,點(diǎn)第二遍才會(huì)格式化)2.使用CoolFormat打開當(dāng)前
    發(fā)表于 09-15 19:41

    AStyle代碼格式化工具分享!

    MDK自帶編輯器沒有格式化代碼功能,樓主強(qiáng)迫癥,代碼不整齊不舒服,人工整理又很麻煩,網(wǎng)上搜了下,找到了這個(gè)。(論壇有AStyle批量整理工具,只是沒提到怎么集成進(jìn)MDK。)先附實(shí)例,二
    發(fā)表于 08-13 04:07

    請(qǐng)問keil怎么格式化代碼?

    一直都是復(fù)制到格式化工具里 然后復(fù)制回來 不知道有沒有快捷鍵格式化?
    發(fā)表于 11-08 06:32

    格式化硬盤

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

    如何格式化硬盤

    如何格式化硬盤    這是廣大電腦初學(xué)者經(jīng)常詢問的問題,因?yàn)?b class='flag-5'>格式化硬盤是安裝裝系統(tǒng)的前提,所以這就成為了需要首先解決的問題,本文將針這個(gè)
    發(fā)表于 02-24 11:25 ?465次閱讀

    CoolFormat3.2C語言代碼格式化工具

    CoolFormat3.2,將C語言代碼格式化的工具。
    發(fā)表于 05-20 17:01 ?20次下載

    格式化對(duì)硬盤有傷害嗎_硬盤格式化后數(shù)據(jù)還能恢復(fù)嗎

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

    格式化是什么

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

    關(guān)于MDK-ARM代碼格式化插件AStyle

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

    python字符串格式化

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

    Keil集成AStyle代碼格式化工具

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

    Yapf:一個(gè)格式化 Python 代碼的好幫手

    大部分人使用Python代碼格式化工具時(shí)都會(huì)選擇autopep8之類的工具,這些工具可能有一定的局限性,比如不會(huì)重新格式化已經(jīng)符合 PEP8 的
    的頭像 發(fā)表于 10-17 11:08 ?824次閱讀
    Yapf:一個(gè)<b class='flag-5'>格式化</b> Python <b class='flag-5'>代碼</b>的好幫手
    RM新时代网站-首页