• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-167  評論-8  文章-0  trackbacks-0
            AStyle(全稱Artistic Style)是一個C、C++、C#和Java源代碼縮進、格式化和美化工具。官方下載是命令行版程序,可以整合到開發(fā)IDE環(huán)境中去使用,甚至也可以整合到Notepad++之類的編輯器中。

            官方地址:http://astyle.sourceforge.net/
            本地下載:http://download.csdn.net/source/3323725

                 在這里介紹AStyle整合到VS2008的方法,以及如何使用。
            1.首先下載AStyle,將其bin文件夾下的"AStyle.exe"解壓到"D:/Program Files/Microsoft Visual Studio 9.0/Common7/Tools"文件夾下,具體路徑根據(jù)所安裝的VS路徑進行更改,這是專門放置Visual Studio外部工具的文件夾;
            2.打開Visual Studio 2008,在菜單欄→"工具"→"外部工具",點擊"添加",在下面的編輯框里分別填入信息:

            標(biāo)題:AStyle格式化工具
            命令:D:/Program Files/Microsoft Visual Studio 9.0/Common7/Tools/AStyle.exe
            參數(shù):-A1pNYk3 $(ItemFileName)$(ItemExt)
            初始化目錄:$(ItemDir)
            √使用輸出窗口


            3.就可以在"工具"菜單欄下看到"AStyle格式化工具"選項了,要格式化文檔前,先保存文檔再調(diào)用"AStyle格式化工具"選項,這時,會彈出"是否要重新加載它"的詢問框,可在"工具"→"選項"→"環(huán)境"→"文檔"→"自動加載更改"打鉤。

            4.要為"AStyle格式化工具"選項設(shè)置快捷鍵的話,在"工具"菜單上選擇"選項",從"環(huán)境"頁中選擇"鍵盤",在"顯示命令包含"列表中鍵入"工具",在"命令名"列表中滾動到相應(yīng)的"外部命令 n"項。在這里我是第9個外部命令項,所以找到"工具.外部命令9",在"按快捷鍵"處,鍵入要設(shè)置的快捷鍵,點擊"分配"。如下圖所示:


            AStyle參數(shù)如下:
            ①Ansi/Allman/Bsd風(fēng)格(格式縮進從下一行開始括號)

            int Foo(bool isBar)  
            {  
                if (isBar)  
                {  
                    bar();  
                    return 1;  
                }  
                else  
                    return 0;  
            }  

            ②Java風(fēng)格(格式縮進直接緊接后面括號)

            int Foo(bool isBar) {  
                if (isBar) {  
                    bar();  
                    return 1;  
                } else  
                    return 0;  
            }  

            ③Kernighan_Ritchie風(fēng)格(格式縮進使用Linux方式括號)

            int Foo(bool isBar)   
            {  
                if (isBar) {  
                    bar();  
                    return 1;  
                } else  
                    return 0;  
            }  

            ④Stroustrup風(fēng)格(格式縮進使用stroustrup方式括號,縮進使用5個空格)

            int Foo(bool isBar)   
            {  
                 if (isBar) {  
                      bar();  
                      return 1;  
                 } else  
                      return 0;  
            }  

            ⑤Whitesmith風(fēng)格(格式縮進使用下一行且縮進的括號)

            int Foo(bool isBar)   
                {  
                if (isBar)  
                    {  
                    bar();  
                    return 1;  
                    }  
                else  
                    return 0;  
                }  

            ⑥Banner風(fēng)格(格式縮進使用直接緊接和縮進的括號)

            int Foo(bool isBar) {  
                if (isBar) {  
                    bar();  
                    return 1;  
                    }  
                else  
                    return 0;  
                }  

            ⑦GNU風(fēng)格(格式縮進使用下一行括號,語句塊括號縮進兩個空格)

            int Foo(bool isBar)  
            {  
              if (isBar)  
                {  
                  bar();  
                  return 1;  
                }  
              else  
                return 0;  
            }  

            ⑧Linux風(fēng)格(格式縮進使用Linux方式括號,語句塊里面縮進8個空格)

            int Foo(bool isBar)  
            {  
                    if (isBar) {  
                            bar();  
                            return 1;  
                    } else  
                            return 0;  
            }  

            ⑨Horstmann風(fēng)格(格式縮進使用horstman方式,括號緊接語句塊)

            int Foo(bool isBar)  
            {  if (isBar)  
               {  bar();  
                  return 1;  
               } else  
                  return 0;  

            ⑩1tbs/otbs風(fēng)格(格式縮進使用Linux方式括號,自動補全單行語句塊括號)

            int Foo(bool isBar)  
            {  
                if (isBar) {  
                    bar();  
                    return 1;  
                } else {  
                    return 0;  
                }  
            }  

            ⑾pico風(fēng)格

            int Foo(bool isBar) 
            {  if (isBar) 
               {  bar(); 
                  return 1; }     
                else 
                  return 0; } 

            ⑿lisp/python風(fēng)格

            int Foo(bool isBar) { 
                if (isBar) { 
                    bar() 
                    return 1; } 
                else 
                    return 0; } 

            也可以自定義格式化參數(shù):

                    ①制表和括號選項

             

            參數(shù)命令 參數(shù)說明
            default indent option 默認(rèn)4個空格
            --indent=spaces / --indent=spaces=# / -s# 指定#個空格,#在1~20之間
            --indent=tab / --indent=tab=# / -t# 使用制表符,指定#個空格(1~20)
            --indent=force-tab / --indent=force-tab=# / -T#
            強制使用制表符,指定#個空格,#在1~20之間
            default brackets option 默認(rèn)不改變括號
            --brackets=break / -b 括號改為下行( e.g. ANSI C / C++ style )
            --brackets=attach / -a 括號在語句后( e.g. Java / K&R style )
            --brackets=linux / -l 括號如linux風(fēng)格
            --brackets=stroustrup / -u 括號如stroustrup風(fēng)格
            --brackets=horstmann / -g 括號如horstmann 風(fēng)格

             

                  ②縮進選項

             

            參數(shù)命令 參數(shù)說明
            --indent-classes / -C 縮進class和struct塊后面的public等
            --indent-switches / -S 縮進switch塊后面的case塊
            --indent-cases / -K 縮進case塊后面的括號
            --indent-brackets / -B 括號縮進
            --indent-blocks / -G 括號縮進,函數(shù)縮進
            --indent-namespaces / -N 命名空間后縮進
            --indent-labels / -L 額外的標(biāo)簽縮進
            --indent-preprocessor / -w 多行反斜杠定義縮進
            --indent-col1-comments / -Y 允許注釋跟隨代碼一起縮進
            --max-instatement-indent=# / -M# 在連續(xù)聲明中縮進最大#個空格(#小于80,默認(rèn)為40)
            --min-conditional-indent=# / -m# 在多行中設(shè)置最小縮進(#小于40,默認(rèn)為當(dāng)前兩倍縮進)

             

                  ③填充選項

             

            參數(shù)命令 參數(shù)說明
            --break-blocks / -f 在循環(huán)語句前后加空行
            --break-blocks=all / -F 在循環(huán)語句前后、else、catch前加空行
            --pad-oper / -p 運算符前后加空格
            --pad-paren / -P
            在括號內(nèi)外都加上空格
            --pad-paren-out / -d
            在括號外加上空格
            --pad-paren-in / -D
            在括號內(nèi)加上空格
            --pad-header / -H
            只在括弧頭部添加一個空格
            --unpad-paren / -U
            移除括號內(nèi)外的空格
            --delete-empty-lines / -x
            刪除函數(shù)方法里多余的空行
            --fill-empty-lines / -E
            以空格對齊填充前一行空行

             

                  ④格式化選項

             

            參數(shù)命令 參數(shù)說明
            --break-closing-brackets / -y
            讓else語句塊下起一行
            --break-elseifs / -e 讓else if 語句拆開縮進
            --add-brackets / -j 自動補充括號,默認(rèn)在條件語句后緊接括號
            --add-one-line-brackets / -J 自動補充括號,并且保持括號與語句在一行
            --keep-one-line-statements / -o
            維持一行里的多條語句不變
            --keep-one-line-blocks / -O 不破壞一行里面的塊
            --convert-tabs / -c 轉(zhuǎn)換TAB 為空格
            --align-pointer=type / -k1
            --align-pointer=middle / -k2
            --align-pointer=name / -k3
            使指針或者引用符靠近變量類型
            使指針或者引用符在變量類型和變量名稱中間
            使指針或者引用符靠近變量名稱
            --mode=c
            --mode=cs
            --mode=java
            指定為C/C++代碼格式化
            指定為C#代碼格式化
            指定為JAVA 代碼格式化
            參數(shù)命令樣式,請參考Artistic Style 說明文檔:http://astyle.sourceforge.net/astyle.html
            posted on 2011-10-11 15:50 老馬驛站 閱讀(977) 評論(0)  編輯 收藏 引用 所屬分類: c++
            国产99久久久国产精品~~牛| 一本色道久久综合狠狠躁篇 | 久久久久波多野结衣高潮| 99久久精品国产毛片| 精品一区二区久久久久久久网站| 亚洲精品无码专区久久久| 久久免费看黄a级毛片| 久久人妻AV中文字幕| 亚洲午夜无码久久久久| 日韩精品无码久久久久久| 久久99国产精品久久99果冻传媒| 无码人妻久久一区二区三区免费| 亚洲日本va中文字幕久久| 久久久久亚洲精品无码蜜桃| 国产精品久久久久AV福利动漫| 2021久久国自产拍精品| 91精品久久久久久无码| 精品久久久久久久久久中文字幕| 久久精品无码一区二区三区免费| 欧美日韩精品久久久久| 亚洲日本va午夜中文字幕久久| 伊人久久综合成人网| 精品久久久无码人妻中文字幕豆芽 | 亚洲精品国产成人99久久| 久久久精品久久久久久| 97久久国产综合精品女不卡| 99re久久精品国产首页2020| 久久久久亚洲精品男人的天堂| 无码八A片人妻少妇久久| 久久96国产精品久久久| 少妇久久久久久被弄到高潮| 欧美精品久久久久久久自慰| 久久99国产一区二区三区| 亚洲va国产va天堂va久久| 成人国内精品久久久久影院VR| 中文字幕久久精品| 66精品综合久久久久久久| 亚洲国产精品无码成人片久久| 久久精品二区| 亚洲国产精品久久久久婷婷老年 | 伊人久久大香线焦AV综合影院|