⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 astyle.html

📁 著名的代码自动缩进软件ASTYLE的源码,为1.21版本,支持C/C++/JAVA的各种格式的排版,支持自定的样式,功能强大
💻 HTML
📖 第 1 页 / 共 3 页
字号:
        <p><br>
        </p>
        <p><code class="title">default brackets option</code><br>
        If no brackets option is set, the brackets <strong>will not be changed.</strong>
        </p>
        <p><code class="title">--brackets=break / -b</code><br>
        Break brackets from their pre-block statements ( e.g. ANSI C / C++ style 
        ). </p>
        <blockquote>
            <pre>void Foo(bool isFoo)
<span class="brace">{</span>
    if (isFoo)
    <span class="brace">{</span>
        bar();
    <span class="brace">}</span>
    else
    <span class="brace">{</span>
        anotherBar();
    <span class="brace">}</span>
<span class="brace">}</span>
</pre>
        </blockquote>
        <p><br>
        </p>
        <p><code class="title">--brackets=attach / -a</code><br>
        Attach brackets to their pre-block statements ( e.g. Java / K&amp;R style ).
        </p>
        <blockquote>
            <pre>void Foo(bool isFoo) <span class="brace">{</span>
    if (isFoo) <span class="brace">{</span>
        bar();
    <span class="brace">}</span> else <span class="brace">{</span>
        anotherBar();
    <span class="brace">}</span>
<span class="brace">}</span>
</pre>
        </blockquote>
        <p><br>
        </p>
        <p><code class="title">--brackets=linux / -l</code><br>
        Break brackets from class and function declarations, but attach brackets to 
        pre-block command statements. </p>
        <blockquote>
            <pre>void Foo(bool isFoo)
<span class="brace">{</span>
    if (isFoo) <span class="brace">{</span>
        bar();
    <span class="brace">}</span> else <span class="brace">{</span>
        anotherBar;
    <span class="brace">}</span>
<span class="brace">}</span></pre>
        </blockquote>
        <p><br>
        </p>
        <p><code class="title">--brackets=break-closing / -y</code><br>
        When used with either <code>--brackets=attach</code> or <code>
        --brackets=linux</code>, breaks closing headers (e.g. '<code>else</code>', 
        '<code>catch</code>', ...) from their immediately preceding closing 
        brackets. </p>
        <blockquote>
            <pre>void Foo(bool isFoo) <span class="brace">{</span>
    if (isFoo) <span class="brace">{</span>
        bar();
    <span class="brace">}</span> else <span class="brace">{</span>
        anotherBar();
    <span class="brace">}</span>
<span class="brace">}</span></pre>
            <p>becomes (with a broken 'else'):</p>
            <pre>void Foo(bool isFoo) <span class="brace">{</span>
    if (isFoo) <span class="brace">{</span>
        bar();
<span class="brace">    }</span>
    else <span class="brace">{</span>
        anotherBar();
<span class="brace">    }</span>
<span class="brace">}</span>
</pre>
        </blockquote>
    </blockquote>
    <hr>
    <!--  * * * * * * * * * * * * *   Indentation Options  * * * * * * * * * * * * *  -->
    <h3>Indentation Options </h3>
    <blockquote>
        <p><code class="title">--indent-classes / -C </code><br>
        Indent '<code>class</code>' and '<code>struct</code>' blocks so that the blocks '<code>public:</code>', 
        '<code>protected:</code>' and '<code>private:</code>' are indented. 
        The entire block is indented. This option has no effect on Java and C# 
		files.</p>
        <blockquote>
            <pre>class Foo
<span class="brace">{</span>
public:
    Foo();
    virtual ~Foo();
<span class="brace">}</span>;
</pre>
            <p>becomes:</p>
            <pre>class Foo
<span class="brace">{</span>
    public:
        Foo();
        virtual ~Foo();
<span class="brace">}</span>;
</pre>
        </blockquote>
        <p><br>
        </p>
        <p><code class="title">--indent-switches / -S</code><br>
        Indent '<code>switch</code>' blocks so that the '<code>case X:</code>' 
        statements are indented in the <code>switch</code> block. The entire 
        case block is indented.</p>
        <blockquote>
            <pre>switch (foo)
<span class="brace">{</span>
case 1:
    a += 1;
    break;

case 2:
<span class="brace">{</span>
    a += 2;
    break;
<span class="brace">}</span>    
<span class="brace">}</span>
</pre>
            <p>becomes:</p>
            <pre>switch (foo)
<span class="brace">{</span>
    case 1:
        a += 1;
        break;

    case 2:
<span class="brace">    {</span>
        a += 2;
        break;
<span class="brace">    }        
}</span>
</pre>
        </blockquote>
        <p><br>
        </p>
        <p><code class="title">--indent-cases / -K</code><br>
        Indent '<code>case X:</code>' blocks from the '<code>case X:</code>' 
        headers. Case statements not enclosed in blocks are NOT indented. </p>
        <blockquote>
            <pre>switch (foo)
<span class="brace">{</span>
    case 1:
        a += 1;
        break;

    case 2:
<span class="brace">    {</span>
        a += 2;
        break;
<span class="brace">    }
}</span>
</pre>
            <p>becomes:</p>
            <pre>switch (foo)
<span class="brace">{</span>
    case 1:
        a += 1;
        break;

    case 2:
<span class="brace">        {</span>
            a += 2;
            break;
<span class="brace">        }
}</span>
</pre>
        </blockquote>
        <p><br>
        </p>
        <p><code class="title">--indent-blocks / -G</code><br>
        Add extra indentation to entire blocks. </p>
        <blockquote>
            <pre>if (isFoo)
<span class="brace">{</span>
    bar();
<span class="brace">}</span>
else
    anotherBar();
</pre>
            <p>becomes:</p>
            <pre>if (isFoo)
<span class="brace">    {</span>
        bar();
<span class="brace">    }</span>
else
    anotherBar();
</pre>
        </blockquote>
        <p><br>
        </p>		
        <p><code class="title">--indent-brackets / -B</code><br>
        Add extra indentation to brackets. This option has no effect if 
        <code><nobr>--indent-blocks</nobr></code> is used.</p>
        <blockquote>
            <pre>if (isFoo)
<span class="brace">{</span>
    bar();
<span class="brace">}</span>
else
    anotherBar();
</pre>
            <p>becomes:</p>
            <pre>if (isFoo)
<span class="brace">    {</span>
    bar();
<span class="brace">    }</span>
else
    anotherBar();
</pre>
        </blockquote>
        <p><br>
        </p>

        <p><code class="title">--indent-namespaces / -N</code><br>
        Add extra indentation to namespace blocks. </p>
        <blockquote>
            <pre>namespace foospace
<span class="brace">{</span>
class Foo
<span class="brace">{</span>
    public:
        Foo();
        virtual ~Foo();
<span class="brace">}</span>;
<span class="brace">}</span>
</pre>
            <p>becomes:</p>
            <pre>namespace foospace
<span class="brace">{</span>
    class Foo
<span class="brace">    {</span>
        public:
            Foo();
            virtual ~Foo();
<span class="brace">    }</span>;
<span class="brace">}</span>
</pre>
        </blockquote>
        <p><br>
        </p>
        <p><code class="title">--indent-labels / -L</code><br>
        Add extra indentation to labels so they appear 1 indent less than the 
        current indentation, rather than being flushed to the left (the 
        default). </p>
        <blockquote>
            <pre>int foo() <span class="brace">{</span>
    while (isFoo) <span class="brace">{</span>
        ...
        if (isFoo)
            goto error;
    <span class="brace">}</span>

error:
        ...
<span class="brace">}</span>
</pre>
            <p>becomes (with indented 'error'):</p>
            <pre>int foo() <span class="brace">{</span>
    while (isFoo) <span class="brace">{</span>
        ...
        if (isFoo)
            goto error;
    <span class="brace">}</span>
 
     error:
         ...
<span class="brace">}</span>
</pre>
        </blockquote>
        <p><br>
        </p>
        <p><code class="title">--indent-preprocessor / -w</code><br>
        Indent multi-line preprocessor definitions ending with a backslash. Should be used with <strong>
        <code>--convert-tabs</code></strong> for proper results. Does a pretty 
        good job, but can not perform miracles in obfuscated preprocessor 
        definitions. </p>
        <blockquote>
            <pre>#define Is_Bar(arg,a,b) \
(Is_Foo((arg), (a)) \
|| Is_Foo((arg), (b)))
</pre>
            <p>becomes:</p>
            <pre>#define Is_Bar(arg,a,b) \
    (Is_Foo((arg), (a)) \
     || Is_Foo((arg), (b)))
</pre>
        </blockquote>
        <p><br>
        </p>
		
        <p><code class="title">--max-instatement-indent=<font color="purple">#</font> 
        / -M<font color="purple">#</font></code><br>
        Indent a maximum of <code><font color="purple">#</font></code> spaces in 
        a continuous statement, relative to the previous line (e.g. <strong>
        <code>--max-instatement-indent=<font color="purple">40</font></code></strong>).
        <font color="purple">#</font> must be less than <strong>80</strong>. If 
        no <code><font color="purple">#</font></code> is set, the default value 
        of <strong>40</strong> will be used. </p>
        <blockquote>
            <pre>fooArray[] = <span class="brace">{</span> red,
         green,
         blue <span class="brace">}</span>;

fooFunction(barArg1,
         barArg2,
         barArg3);
</pre>
            <p>becomes (with larger value):</p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -