• <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源代碼縮進、格式化和美化工具。官方下載是命令行版程序,可以整合到開發IDE環境中去使用,甚至也可以整合到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"文件夾下,具體路徑根據所安裝的VS路徑進行更改,這是專門放置Visual Studio外部工具的文件夾;
            2.打開Visual Studio 2008,在菜單欄→"工具"→"外部工具",點擊"添加",在下面的編輯框里分別填入信息:

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            ⑾pico風格

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

            ⑿lisp/python風格

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

            也可以自定義格式化參數:

                    ①制表和括號選項

             

            參數命令 參數說明
            default indent option 默認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 默認不改變括號
            --brackets=break / -b 括號改為下行( e.g. ANSI C / C++ style )
            --brackets=attach / -a 括號在語句后( e.g. Java / K&R style )
            --brackets=linux / -l 括號如linux風格
            --brackets=stroustrup / -u 括號如stroustrup風格
            --brackets=horstmann / -g 括號如horstmann 風格

             

                  ②縮進選項

             

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

             

                  ③填充選項

             

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

             

                  ④格式化選項

             

            參數命令 參數說明
            --break-closing-brackets / -y
            讓else語句塊下起一行
            --break-elseifs / -e 讓else if 語句拆開縮進
            --add-brackets / -j 自動補充括號,默認在條件語句后緊接括號
            --add-one-line-brackets / -J 自動補充括號,并且保持括號與語句在一行
            --keep-one-line-statements / -o
            維持一行里的多條語句不變
            --keep-one-line-blocks / -O 不破壞一行里面的塊
            --convert-tabs / -c 轉換TAB 為空格
            --align-pointer=type / -k1
            --align-pointer=middle / -k2
            --align-pointer=name / -k3
            使指針或者引用符靠近變量類型
            使指針或者引用符在變量類型和變量名稱中間
            使指針或者引用符靠近變量名稱
            --mode=c
            --mode=cs
            --mode=java
            指定為C/C++代碼格式化
            指定為C#代碼格式化
            指定為JAVA 代碼格式化
            參數命令樣式,請參考Artistic Style 說明文檔:http://astyle.sourceforge.net/astyle.html
            posted on 2011-10-11 15:50 老馬驛站 閱讀(969) 評論(0)  編輯 收藏 引用 所屬分類: c++
            国产成人精品久久亚洲| 久久成人国产精品免费软件| 久久天堂AV综合合色蜜桃网| 国产成年无码久久久免费| 亚洲国产精品无码久久久秋霞2 | 欧美熟妇另类久久久久久不卡| 亚洲AV无码1区2区久久| 久久精品国产免费| 久久最新免费视频| 久久无码人妻一区二区三区| 国产亚州精品女人久久久久久 | 国产亚洲精久久久久久无码| 国产2021久久精品| 欧洲精品久久久av无码电影| 国产99久久久国产精品~~牛| 亚洲va久久久久| 亚洲狠狠综合久久| 久久午夜福利无码1000合集| 久久99精品国产麻豆宅宅| 精品无码久久久久国产动漫3d| 国产69精品久久久久9999| 久久精品国产久精国产思思| 2021最新久久久视精品爱| 国产精品青草久久久久福利99| 无码精品久久久天天影视| 精品久久久久久久中文字幕 | 国产福利电影一区二区三区久久久久成人精品综合 | 久久久综合香蕉尹人综合网| 久久夜色精品国产网站| 婷婷国产天堂久久综合五月| 亚洲精品高清久久| 69国产成人综合久久精品| 亚洲综合伊人久久大杳蕉| 亚洲欧洲久久久精品| 久久夜色撩人精品国产| 国产一区二区精品久久凹凸| 久久99精品国产99久久| 久久久久久免费一区二区三区| 国内精品久久久人妻中文字幕| 久久人人妻人人爽人人爽| 人妻精品久久久久中文字幕一冢本|