ラベル astyle の投稿を表示しています。 すべての投稿を表示
ラベル astyle の投稿を表示しています。 すべての投稿を表示

2013年1月11日金曜日

[astyle]padding (--pad-xxx, --unpad-xxx)

制御文, 計算式の padding について整形する。
Example: 整形前
int main(void)
{
int i;
if(i==0) {
i=(i*2)*(3+5);
func(i);
}
return 0;
}
--pad-oper
Operator (=, +, -, *, / など) の周囲を padding を入れる。
Example: --pad-oper
int main(void)
{
    int i;
    if(i == 0) {
        i = (i * 2) * (3 + 5);
        func(i);
    }
    return 0;
}
--pad-paren
括弧 () の周囲に padding を入れる。
Example: --pad-paren
int main ( void )
{
    int i;
    if ( i==0 ) {
        i= ( i*2 ) * ( 3+5 );
        func ( i );
    }
    return 0;
}
--pad-paren-out
括弧 () の外側にのみ padding を入れる。
Example: --pad-paren-out
int main (void)
{
    int i;
    if (i==0) {
        i= (i*2) * (3+5);
        func (i);
    }
    return 0;
}
--pad-paren-in
括弧 () の内側にのみ padding を入れる。
Example: --pad-paren-in
int main( void )
{
    int i;
    if( i==0 ) {
        i=( i*2 )*( 3+5 );
        func( i );
    }
    return 0;
}
--pad-header
if, for, while 等に続く括弧 (条件文) の前後にのみ padding を入れる。
Example: --pad-header
int main(void)
{
    int i;
    if (i==0) {
        i=(i*2)*(3+5);
        func(i);
    }
    return 0;
}
--unpad-paren
Example: 整形前
int main(void)
{
int i;
if ( i == 0 ) {
i = ( i * 2 ) * ( 3 + 5 );
func ( i );
}
return 0;
}
余分な padding を削除する。
Example: --unpad-paren
int main(void)
{
    int i;
    if(i == 0) {
        i = (i * 2) * (3 + 5);
        func(i);
    }
    return 0;
}

[astyle]括弧 (--break-closing-brackets)

前のブロックを閉じる括弧に続いて else 等が来た場合に改行してから else 文を始める。
Example: 整形前
int main(void)
{
int i;
if (i == 0) {
printf("i = 0\n");
}
else if (i == 1) {
printf("i = 1\n");
}
else {
printf("others\n");
}
return 0;
}
Example: --break-closing-brackets
int main(void)
{
    int i;
    if (i == 0) {
        printf("i = 0\n");
    }
    else if (i == 1) {
        printf("i = 1\n");
    }
    else {
        printf("others\n");
    }
    return 0;
}

[astyle]括弧 (blackets オプション)

関数宣言の括弧, ブロックの括弧の付け方。
Example: 整形前
int main(void)
{
int i;
if (i == 0) {
printf("i = 0\n");
}
else if (i == 1) {
printf("i = 1\n");
}
else {
printf("others\n");
}
return 0;
}
--brackets=break
--brackets=break は括弧によるブロックを前の文と分ける。
Example: --brackets=break
int main(void)
{
    int i;
    if (i == 0)
    {
        printf("i = 0\n");
    }
    else if (i == 1)
    {
        printf("i = 1\n");
    }
    else
    {
        printf("others\n");
    }
    return 0;
}
--brackets=attach
--brackets=attach は括弧によるブロックを前の文と同じ行にする。
Example: --brackets=attach
int main(void) {
    int i;
    if (i == 0) {
        printf("i = 0\n");
    } else if (i == 1) {
        printf("i = 1\n");
    } else {
        printf("others\n");
    }
    return 0;
}
--brackets=linux
--brackets=linux は namespace, class, 関数定義の括弧は新規の行に付けるが、関数内の条件分岐などに使う括弧は前の文と同じ行にする。
Example: --brackets=linux
int main(void)
{
    int i;
    if (i == 0) {
        printf("i = 0\n");
    } else if (i == 1) {
        printf("i = 1\n");
    } else {
        printf("others\n");
    }
    return 0;
}

[astyle]switch 文に関わるオプション

switch 文に関わる indent 整形
Example: 整形前
int main(void)
{
int i;
switch (i) {
case 0:
printf("case 0\n");
break;
default:
{
printf("default\n");
break;
}
}
return 0;
}
--indent-cases
--indent-cases は case/default 内の処理が括弧で囲まれている場合は括弧を indent する
Example: --indent-cases
int main(void)
{
    int i;
    switch (i) {
    case 0:
        printf("case 0\n");
        break;
    default:
        {
            printf("default\n");
            break;
        }
    }
    return 0;
}
--indent-switches
--indent-switches は switch 以下の case/default を indent する
Example: --indent-switches
int main(void)
{
    int i;
    switch (i) {
        case 0:
            printf("case 0\n");
            break;
        default:
        {
            printf("default\n");
            break;
        }
    }
    return 0;
}

[astyle]indent オプション

Example: 整形前
int main(void)
{
int i;
printf("hello, world ");
for (i = 0; i < 10; i++) {
printf("%d \n", i);
}
return 0;
}
オプションなし
オプションなしは indent はスペースで埋められる
Example: オプションなし
int main(void)
{
    int i;
    printf("hello, world ");
    for (i = 0; i < 10; i++) {
        printf("%d \n", i);
    }
    return 0;
}
--indent=tab
--indent=tab は indent は TAB で埋められる
Example: --indent=tab
int main(void)
{
 int i;
 printf("hello, world ");
 for (i = 0; i < 10; i++) {
  printf("%d \n", i);
 }
 return 0;
}

[astyle]ソースコード整形 (indent)

インストール
Artistic Style からダウンロードする
使い方
> AStyle.exe --mode=c sample.c
sample.c は sample.c.orig に rename されて、結果が sample.c に出力される
--mode=c
C/C++ のキーワードに従って動作する。c または cpp ファイル以外で C/C++ のルールに従って整形したい場合はこのオプションを指定する。