source insight 4 格式化代碼與Astyle批量格式化代碼

自帶格式化工具(單個文件格式化)

Source Insight 4.0已自帶格式化代碼的功能,在菜單Tools下有Reformat Source Code兩個選項,一個是格式化代碼命令,一個是格式化代碼設置。

Reformat Source Code Options官方介紹:
https://www.sourceinsight.com/doc/v4/userguide/Manual/Command_Reference/Reformat_Source_Code_Options.htm

默認攜帶4組預設格式化配置、可根據上面的介紹修改/新增。

注:貌似對同一個文件連續使用此方式格式化代碼,會連續出現多組空格。

調用Artistic Style格式化(單個文件格式化)

Artistic Style是C、c++、c++ /CLI、Objective - C、c#和Java編程語言的源代碼縮進器、格式化器和美化器。也就是代碼格式工具。

Artistic Style官方網站:http://astyle.sourceforge.net

下載地址:http://sourceforge.net/projects/astyle/files/astyle/

Source Insight 配置Artistic Style:
https://blog.csdn.net/shentz/article/details/80512751

注意使用我如下配置參數

--style=allman -p -s4 -k3 -W3 -S -L -M120 -y -xb -j -xq -xS -U %f

Artistic Style官網配置說明文檔:http://astyle.sourceforge.net/astyle.html

注:
1. 通過這種方式格式化代碼後,source insight不能通過Ctrl+z撤回操作。
2. 上面方式只能對單個文件進行代碼格式化。

Astyle 一鍵格式化項目代碼(windows下)

Astyle 一鍵格式化項目代碼:https://www.cnblogs.com/kybs0/p/11310473.html
C/C++代碼格式優化工具----astyle:https://www.cnblogs.com/zhaoshixin/archive/2011/12/02/2272076.html

以下bat文件,一鍵格式化,項目中所有c和cpp文件:

echo off & color 0A
::指定起始文件夾
set DIR="C:\Users\mayue6\Desktop\test_c"
echo DIR=%DIR%

for /R %DIR% %%f in (*.c;*.cpp;*.h) do ( 
    C:\Users\mayue6\Desktop\AStyle_3.1_windows\AStyle\bin\Astyle.exe --style=allman -p -s4 -k3 -W3 -S -L -M120 -y -xb -j -xq -xS -U %%f 
)

::是否刪除原始文件
del %DIR%\"*.orig"

pause

配置:1.起始文件夾;2.Astyle.exe安裝路徑,注意不能文件夾路徑不能有空格。

注意:1.windows下操作多個文件時速度慢;2.上面.bat文件運行若格式化文件會將原文件改爲“原文件名.orig” 的格式,若需要刪除 .orig文件可使用下面的腳本:

Astyle 一鍵格式化項目代碼(linux下)

用astyle格式化代碼(linux):https://www.cnblogs.com/MikeZhang/archive/2012/07/27/useAstyleInLinux.html

linux Astyle 安裝:http://astyle.sourceforge.net/install.html

1.下載AStyle_3.1_windows
2.解壓進入AStyle_3.1_windows/AStyle目錄
3.cmake ./
4.make

注:AStyle_3.1_windows編譯使用的cmake版本要大於3.0以上版本

執行成功的話會在當前目錄下生成 astyle 可執行文件。

命令批量格式化—當前目錄及子目錄:

for f in $(find . -name '*.c' -or -name '*.cpp' -type f); do /data1/mayue6/usr/bin/astyle --style=allman -p -s4 -k3 -W3 -S -L -M120 -y -xb -j -xq -xS -U $f; done

腳本格式化—codeFormatting.sh:

#! /bin/bash

for f in $(find . -name '*.c' -or -name '*.cpp' -or -name '*.h' -type f)
do
astyle --style=allman -p -s4 -k3 -W3 -S -L -M120 -y -xb -j -xq -xS -U $f
done

參考資料

https://blog.csdn.net/XieWinter/article/details/89888154
https://blog.csdn.net/Janepen/article/details/7022180?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-11.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-11.nonecase

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章