英語フランス語スペイン語

Ad


OnWorksファビコン

インデント - クラウド上のオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーでインデントを実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド インデントです。

プログラム:

NAME


インデント - 空白を挿入または削除して、C プログラムの外観を変更します。

SYNOPSIS


インデント [オプション] [入力ファイル]

インデント [オプション] [単一入力ファイル] [-o 出力ファイル]

インデント - バージョン

DESCRIPTION


このマニュアルページは次のファイルから生成されます。 インデント.texinfo。 これは「The」のエディションです。 インデント
「Manual」、インデント バージョン、最終更新日。

  インデント プログラムを使用すると、コードを読みやすくすることができます。 XNUMX枚からの変換も可能です
C を別の人に書くスタイル。

インデント C の構文についてかなりの量を理解していますが、また、
不完全で不正な構文に対処します。

バージョン 1.2 以降では、GNU スタイルのインデントがデフォルトです。

OPTIONS


-悪い, --空行後の宣言
宣言の後に空行を強制します。
見る BLANK LINES.

-バップ, -- 空行後の手順
プロシージャ本体の後に空行を強制します。
見る BLANK LINES.

-bbb, --空白行の前のブロックコメント
ブロックコメントの前に空行を強制します。
見る BLANK LINES.

-ボボ, --ブレーク前ブール演算子
ブール演算子の前で長い行を区切ることをお勧めします。
見る BREAKING 長いです LINES.

-紀元前, --カンマの後の空白行
宣言内のカンマの後に改行を強制します。
見る 宣言.

-bl, --if 行の後の中括弧
後に中括弧を行に置きます if, etc.
見る 声明.

-blf, --func-def-line の後の中括弧
関数定義行の次の行に中括弧を置きます。
見る 宣言.

-ブリn, --中括弧インデントn
中括弧をインデントする n スペース
見る 声明.

-bls, --struct-decl-line の後の中括弧
後の行に中括弧を付けます 構造 宣言行。
見る 宣言.

-br, --if-line の中括弧
中括弧を次の行に配置します if, etc.
見る 声明.

-brf, --func-def-line 上の括弧
関数定義行に中括弧を置きます。
見る 宣言.

-brs, --struct-decl-line の括弧
中括弧を付けます 構造 宣言ライン。
見る 宣言.

-bs, --ビル・シャノン, --sizeof の前の空白
間にスペースを入れてください のサイズ とその議論。
見る 声明.

-cn, --コメントインデントn
列内のコードの右側にコメントを配置します n.
見る コメント.

-cbin, --case-中括弧-インデントn
大文字と小文字のラベルの後に中括弧を N 個のスペースでインデントします。
見る 声明.

-CDn, --宣言コメント欄n
コメントを列の宣言の右側に配置します。 n.
見る コメント.

-cdb, --空白行のコメント区切り文字
空白行にはコメント区切り文字を入れます。
見る コメント.

-cdw, --抱きしめながら
しながら抱きしめる do {} その間; とその前にある「}」。
見る コメント.

-この, --抱きしめて
else とその前にある '}' を抱きしめます。
見る コメント.

-これn, --継続-インデントn
継続インデント n スペース
見る 声明.

-クリn, --case-indentationn
ケースラベルのインデント n スペース
見る 声明.

-cpn, --else-endif-columnn
コメントを右側に配置します #その他 & #endif 列内のステートメント n.
見る コメント.

-cs, --キャスト後のスペース
キャスト演算子の後にスペースを入れます。
見る 声明.

-dn, --line-comments-インデントn
コードの右側ではないコメントのインデントを次のように設定します。 n スペース
見る コメント.

-bfda, --break-function-decl-args
宣言内のすべての引数の前で行を改行します。
見る 宣言.

-bfde, --break-function-decl-args-end
宣言の最後の引数の後で行を改行します。
見る 宣言.

-DJ, -- 左詰め宣言
-cd 0 を使用すると、宣言後のコメントは後ろに配置されます。
宣言。
見る 宣言.

-dun, --宣言-インデントn
変数を列に入れる n.
見る 宣言.

-fc1, --format-first-column-comments
最初の列のコメントをフォーマットします。
見る コメント.

-fca, --format-all-comments
コメントのすべての書式設定を無効にしないでください。
見る コメント.

-ヌー, --gnu スタイル
GNU コーディング スタイルを使用します。 これがデフォルトです。
見る COMMON スタイル.

-hnl, --honour-改行
入力内の改行の位置で長い行を区切ることをお勧めします。
見る BREAKING 長いです LINES.

-in, --インデントレベルn
インデントレベルを次のように設定します n スペース
見る インデント.

-then, --インデントラベルn
ラベルのオフセットを列に設定します n.
見る インデント.

-ipn, --パラメータインデントn
古い形式の関数定義のパラメータ型を次のようにインデントします。 n スペース
見る インデント.

-kr, --k-and-r-スタイル
カーニハンとリッチーのコーディング スタイルを使用します。
見る COMMON スタイル.

-ln, -行の長さn
コメント以外の行の最大行長を次のように設定します。 n.
見る BREAKING 長いです LINES.

-lcn, --コメント行の長さn
コメントの書式設定の最大行長を次のように設定します。 n.
見る コメント.

-Linux, --Linux スタイル
Linux コーディング スタイルを使用します。
見る COMMON スタイル.

-lp, --括弧内で続行
継続行を括弧内に並べます。
見る インデント.

-lps, --leave-プリプロセッサ-スペース
「#」とプリプロセッサ ディレクティブの間にはスペースを入れてください。
見る インデント.

-悪い, --宣言後の空白行なし
宣言の後に空行を強制しないでください。
見る BLANK LINES.

-nbap, --プロシージャの後に空白行を入れない
プロシージャ本体の後に空行を強制しないでください。
見る BLANK LINES.

-nbbo, --ブレーク後のブール演算子
ブール演算子の前で長い行を分割することは避けてください。
見る BREAKING 長いです LINES.

-nbc, --カンマの後に空白行がない
宣言内のカンマの後に改行を強制しないでください。
見る 宣言.

-nbfda, --dont-break-function-decl-args
関数宣言内の各引数を別の行に置かないでください。
見る 宣言.

-ncd​​b, --空白行にコメント区切り文字なし
空行にはコメント区切り文字を入れないでください。
見る コメント.

-ncd​​w, --抱きしめないでください
抱きしめないでください }whiledo {} その間;.
見る 声明.

-nce, --抱きしめてはいけません
抱きしめないでください } & ほかに.
見る 声明.

-ncs, --キャスト後のスペースなし
キャスト演算子の後にスペースを入れないでください。
見る 声明.

-ndjn, --dont-left-justify-宣言
宣言後のコメントは、他のステートメントの後のコメントと同じように扱われます。
見る 宣言.

-nfc1, --dont-format-first-column-comments
最初の列のコメントを通常どおり書式設定しないでください。
見る コメント.

-nfca, --dont-format-コメント
コメントを書式設定しないでください。
見る コメント.

-nhnl, --ignore-改行
入力内の改行の位置で長い行を分割することは避けてください。
見る BREAKING 長いです LINES.

-ニップ, --パラメータインデントなし
パラメータの幅ゼロのインデント。
見る インデント.

-nlp, --dont-line-up-括弧
括弧を並べないでください。
見る 声明.

-npcs, --関数呼び出し名の後にスペースを入れない
関数呼び出し内の関数の後にスペースを入れないでください。
見る 声明.

-nprs, --括弧の後にスペースなし
すべての「(」の後およびすべての「)」の前にスペースを入れないでください。
見る 声明.

-npsl, --dont-break-プロシージャの種類
プロシージャのタイプをその名前と同じ行に置きます。
見る 宣言.

-nsaf, --for の後にスペースはありません
すべての後にスペースを入れないでください for.
見る 声明.

-んさい, --if の後にスペースはありません
すべての後にスペースを入れないでください if.
見る 声明.

-nsaw, --while の後にスペースはありません
すべての後にスペースを入れないでください while.
見る 声明.

-nsc, --dont-star-comments
コメントの左側に「*」文字を入れないでください。
見る コメント.

-nsob, --leave-optional-blank-lines
オプションの空白行を飲み込まないでください。
見る BLANK LINES.

-nss, --dont-space-special-セミコロン
特定のステートメントの後のセミコロンの前にスペースを強制的に入れないでください。 「-ss」を無効にします。
見る 声明.

-ナット, --タブなし
タブの代わりにスペースを使用してください。
見る インデント.

-nv, --冗長性なし
詳細モードを無効にします。
見る 雑則 OPTIONS.

-orig, - オリジナル
オリジナルの Berkeley コーディング スタイルを使用します。
見る COMMON スタイル.

-npro, --ignore-プロファイル
「.indent.pro」ファイルを読まないでください。
見る 呼び出し インデント.

-個, -- 手順呼び出し後のスペース
呼び出されるプロシージャの名前と「(」の間にスペースを挿入します。
見る 声明.

-円周率n, -- 括弧のインデントn
ステートメントが分割されている場合は、開き括弧 '(' ごとに追加のインデントを指定します。を参照してください。
声明.

-pmt, --preserve-mtime
出力ファイルのアクセス時間と変更時間を保持します。を参照してください。 雑則 OPTIONS.

-ppin, --プリプロセッサ-インデントn
プリプロセッサの条件ステートメントのインデントを指定します。「プリプロセッサ条件ステートメント」を参照してください。 インデント.

-prs, --括弧の後のスペース
すべての「(」の後とすべての「)」の前にスペースを入れてください。
見る 声明.

-psl, --procnames-start-lines
プロシージャの種類を名前の前の行に入力します。
見る 宣言.

-安全, --for の後のスペース
それぞれの後にスペースを入れます for.
見る 声明.

サイ, --if の後のスペース
それぞれの後にスペースを入れます if.
見る 声明.

-見た, -- しばらくの間のスペース
それぞれの後にスペースを入れます while.
見る 声明.

-sbin, --struct-中括弧-インデントn
構造体、共用体、列挙型の中括弧を N 個のスペースでインデントします。
見る 声明.

-sc, --コメントの左側の開始
コメントの左側に「*」文字を入力します。
見る コメント.

-すすり泣き, --swallow-オプションの空白行
オプションの空白行を飲み込みます。
見る BLANK LINES.

-NS, --スペース-特殊-セミコロン
一行で for & while ステートメントでは、セミコロンの前に空白を強制します。
見る 声明.

-st, --標準出力
標準出力に書き込みます。
見る 呼び出し インデント.

-T 言う インデント タイプ名の名前。
見る 宣言.

-NSn, --タブサイズn
タブのサイズを次のように設定します n スペース
見る インデント.

-アウト, --タブを使用する
タブを使用します。 これがデフォルトです。
見る インデント.

-v, -詳細
詳細モードを有効にします。
見る 雑則 OPTIONS.

-バージョン
のバージョン番号を出力します インデント.
見る 雑則 OPTIONS.

呼び出し インデント


バージョン 1.3 以降、 インデント コマンドは:

インデント [オプション] [入力ファイル]

インデント [オプション] [単一入力ファイル] [-O 出力ファイル]

この形式は、以前のバージョンや他のバージョンとは異なります。 インデント.

最初の形式では、XNUMX つ以上の入力ファイルが指定されます。 インデント のバックアップコピーを作成します
各ファイルは、元のファイルがインデントされたバージョンに置き換えられます。 見る BACKUP ファイル,
バックアップの作成方法については、「バックアップの作成方法」を参照してください。

XNUMX 番目の形式では、入力ファイルを XNUMX つだけ指定します。 この場合、または標準の場合
入力を使用する場合は、「-o」オプションの後に出力ファイルを指定できます。

引き起こすために インデント 標準出力に書き込むには、「-st」オプションを使用します。 これだけは許される
入力ファイルが XNUMX つだけの場合、または標準入力が使用される場合。

入力ファイルの名前が指定されていない場合は、標準入力が入力として読み取られます。 また、ファイル名が
「-」という名前が指定されている場合、標準入力が読み込まれます。

例として、次の各コマンドはプログラム「slithy_toves.c」を入力し、
インデントされたテキストを「slithy_toves.out」に書き込みます。

インデント Srithy_toves.c -o Srithy_toves.out

インデント -st Srithy_toves.c > Srithy_toves.out

猫のスリシー_toves.c インデント -o Srithy_toves.out

他のほとんどのオプションは、 インデント プログラムのフォーマットを制御します。 バージョン 1.2 以降、
インデント 各オプション名の長い名前も認識します。 長いオプションには接頭辞が付けられます
「--」または「+」のいずれか。 [ との一貫性を維持するために、「+」は「--」に置き換えられます。
POSIX標準。]
このドキュメントの大部分では、簡潔にするために従来の短い名前が使用されています。
見る オプション 概要、長い名前と短い名前の両方を含むオプションのリストを参照してください。

次に別の例を示します。

インデント -br テスト/代謝.c -l85

これにより、「-br」および「-l85」オプションを使用してプログラム「test/metabolism.c」がインデントされます。
出力を「test/metabolism.c」に戻し、元の内容を書き込みます。
「test/metabolism.c」をディレクトリ「test」内のバックアップ ファイルにコピーします。

この例で長いオプション名を使用した同等の呼び出しは次のようになります。

インデント --braces-on-if-line --line-length185 test/metabolism.c

indent +braces-on-if-line +line-length185 test/metabolism.c

よく使うと思ったら インデント 同じオプションを使用して、それらのオプションを入れることができます
「.indent.pro」という名前のファイルに保存されます。 インデント は XNUMX つの場所でプロファイル ファイルを検索します。
まず環境変数をチェックします INDENT_PROFILE。 それが存在する場合、その値は
使用されるファイルに名前を付けることが期待されます。 環境変数が存在しない場合は、
indent は現在のディレクトリで「.indent.pro」を探します
見つかったらそれを使用します。 ついに インデント ホームディレクトリで「.indent.pro」を検索します
ファイルが見つかった場合はそれを使用します。 この動作は他のバージョンの動作とは異なります
of インデント、両方のファイルが存在する場合は両方のファイルをロードします。

「.indent.pro」の形式は、単にオプションのリストであり、
コマンド ラインを空白 (タブ、スペース、改行) で区切ります。 のオプション
「.indent.pro」は C または C++ コメントで囲まれる場合がありますが、その場合は無視されます。

コマンドラインスイッチが処理されます After 「.indent.pro」を処理しています。 後から指定するオプション
明示的に指定されたオプションを除き、以前に指定された引数をオーバーライドします。
常に背景オプションを上書きします (「 COMMON スタイル)。 防ぐことができます インデント から
「-npro」オプションを指定して「.indent.pro」ファイルを読み取ります。

BACKUP ファイル


バージョン 1.3 以降、GNU インデント GNU Emacs と同じ方法で、GNU スタイルのバックアップ ファイルを作成します。
これは、次のいずれかを意味します シンプルな or 数の バックアップファイル名が作成される場合があります。

単純なバックアップ ファイル名は、元のファイル名にサフィックスを追加することによって生成されます。
このサフィックスのデフォルトは、XNUMX 文字の文字列「~」 (チルダ) です。 したがって、バックアップは、
「python.c」のファイルは「python.c~」になります。

デフォルトの代わりに、環境を設定することで任意の文字列をサフィックスとして指定できます。
変数 SIMPLE_BACKUP_SUFFIX 好みのサフィックスに変更します。

ファイル「momeraths.c」の番号付きバックアップ バージョンは「momeraths.c.~23~」のようになります。23 は
この特定のバックアップのバージョン。 ファイルの番号付きバックアップを作成する場合
'src/momeraths.c'、バックアップファイルの名前は 'src/momeraths.c.~V~」、ここで V 1であります
ディレクトリ「src」に現在存在する最新バージョンよりも大きい。 の
環境変数 VERSION_WIDTH 左のゼロ埋め込みを使用して桁数を制御します
必要に応じて。 たとえば、この変数を「2」に設定すると、バックアップ ファイルが作成されます。
名前は「momeraths.c.~04~」。

作成されるバックアップ ファイルの種類は、環境変数の値によって制御されます。
バージョン管理。 文字列「simple」の場合は、単純なバックアップのみが作成されます。 もしも
その値が文字列「numbered」である場合、番号付きのバックアップが作成されます。 その値が
'numbered-existing' の場合、番号付きのバックアップが作成されます。 既に 存在する 数の
インデントされているファイルのバックアップ。 それ以外の場合は、単純なバックアップが作成されます。 もしも
バージョン管理 が設定されていない場合 インデント 「numbered-existing」の動作を想定します。

他のバージョンの インデント バックアップ ファイルの命名には接尾辞「.BAK」を使用してください。 この動作により、
設定によりエミュレートされる SIMPLE_BACKUP_SUFFIX 「.BAK」に。

他のバージョンの インデント ではなく、現在のディレクトリにバックアップを作成します。
ソースファイルのディレクトリにGNUとして インデント 今はそうです。

COMMON スタイル


C コードには、GNU スタイル、カーニハン スタイル、および
リッチースタイルとオリジナルのバークレースタイル。 スタイルは XNUMX つで選択できます
背景 オプション。他のすべてのオプションの値のセットを指定します。 しかし、
明示的に指定されたオプションは常に、バックグラウンド オプションによって暗示されるオプションをオーバーライドします。

バージョン 1.2 以降、GNU のデフォルトのスタイル インデント は GNU スタイルです。 したがって、それはノーです
この形式を取得するためにオプション '-gnu' を指定する必要がなくなりましたが、そうしています
エラーは発生しません。 GNU スタイルに対応するオプション設定は次のとおりです。

-nbad -bap -nbc -bbo -bl -bli2 -bls -ncdb -nce -cp1 -cs -di2
-ndj -nfc1 -nfca -hnl -i2 -ip5 -lp -pcs -nprs -psl -saf -sai
-saw -nsc -nsob

GNU コーディング スタイルは、GNU プロジェクトで推奨されているスタイルです。 それは GNU のスタイルです
Emacs C モードは、GNU Emacs の C 部分で使用される と を奨励します。 (人々
プロジェクト GNU のプログラムの作成に興味がある場合は、「GNU コーディング」のコピーを入手してください。
Standards」では、メモリ使用量などのセマンティックおよび移植性の問題も取り上げています。
整数のサイズなど)

カーニハン & リッチーのスタイルは、彼らの有名な著書「The C Programming」全体で使用されています。
「言語」。「-kr」オプションで有効になります。カーニハン & リッチー スタイル
次のオプションのセットに対応します。

-nbad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0
-cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs
-nprs -npsl -saf -sai -saw -nsc -nsob -nss

カーニハン & リッチー スタイルでは、同じ列のコードの右側にコメントを配置しません。
常に (コードの右側のスペースを XNUMX つだけ使用するわけでもありません)、このスタイルでは
インデント 列 33 を任意に選択しました。

オリジナルのバークレーのスタイル インデント '-orig' を指定することによって取得できます (または
長いオプション名を使用して「--original」を指定します)。 このスタイルは、
次の設定:

-nbad -nbap -bbo -bc -br -brs -c33 -cd33 -cdb -ce -ci4 -cli0
-cp33 -di16 -fc1 -fca -hnl -i4 -ip4 -l75 -lp -npcs -nprs -psl
-saf -sai -saw -sc -nsob -nss -ts8

Linux スタイルは、Linux カーネル コードとドライバーで使用されます。 コードは一般的に以下に従う必要があります
受け入れられる Linux コーディング スタイル。 このスタイルは次と同等です
設定:

-nbad -bap -nbc -bbo -hnl -br -brs -c33 -cd33 -ncdb -ce -ci4
-cli0 -d0 -di1 -nfc1 -i8 -ip0 -l80 -lp -npcs -nprs -npsl -sai
-saf -saw -ncs -nsc -sob -nfca -cp33 -ss -ts8 -il1

BLANK LINES


さまざまなプログラミング スタイルがさまざまな場所で空行を使用します。 インデント の数があります
特定の場所に空白行を挿入または削除するオプション。

「-bad」オプションにより、 インデント 宣言の各ブロックの後に空行を強制します。
「-nbad」オプションにより、 インデント このような空白行を強制しないでください。

「-bap」オプションは、すべてのプロシージャ本体の後に空行を強制します。 「-nbap」オプション
このような空白行を強制しません。

「-bbb」オプションは、すべてのボックスコメントの前に強制的に空白行を挿入します(「 コメント。)
「-nbbb」オプションは、そのような空白行を強制しません。

「-sob」オプションにより、 インデント オプションの空白行(つまり、任意の空白行)を飲み込む
入力に存在する空白行は出力から削除されます)。 「-nsob」が
指定すると、入力ファイルに存在する空白行が出力ファイルにコピーされます。

--空行後の宣言


「-bad」オプションは、宣言の各ブロックの後に空行を強制します。 「-nbad」
オプションはそのような空白行を追加しません。

たとえば、入力が与えられたとすると、
char *foo;
char *bar;
/* これは宣言のブロックを区切ります。 */
イントバズ;

インデント -悪い 生産する

char *foo;
char *bar;

/* これは宣言のブロックを区切ります。 */
イントバズ;

& インデント -悪い 生産する

char *foo;
char *bar;
/* これは宣言のブロックを区切ります。 */
イントバズ;

-- 空行後の手順


「-bap」オプションは、すべてのプロシージャ本体の後に空行を強制します。

たとえば、入力が与えられたとすると、

int型
ふー()
{
put("こんにちは");
}
/* プロシージャバーはさらに面白くありません。 */
文字 *
バー ()
{
put("こんにちは");
}

インデント -バップ 生産する

int型
ふー()
{
を入れます (「こんにちは」);
}

/* プロシージャバーはさらに面白くありません。 */
文字 *
バー ()
{
put (「こんにちは」);
}

& インデント -nbap 生産する

int型
ふー()
{
を入れます (「こんにちは」);
}
/* プロシージャバーはさらに面白くありません。 */
文字 *
バー ()
{
put (「こんにちは」);
}

手続き後に空行は追加されません foo.

コメント


インデント C と C++ の両方のコメントをフォーマットします。 C のコメントは「/*」で始まり、で終わります。
「*/」には改行文字が含まれる場合があります。 C++ コメントは区切り文字「//」で始まり、
改行で終わります。

インデント コメントの処理はコンテキストに応じて異なります。 インデント を企てる
ステートメントに続くコメント、宣言に続くコメントを区別します。
プリプロセッサ ディレクティブに続くコメント、およびコードの前にないコメント
つまり、行のテキストが始まります (ただし、必ずしも列 1 である必要はありません)。

インデント プロシージャの外側にあるコメントと集計をさらに区別します。
そしてその中に発見されたもの。 特に、
プロシージャは、コードが現在インデントされている列にインデントされます。 の
例外は、左端の列から始まるコメントです。 このようなコメントが出力される
そのコラムで。

インデント 立ち去ろうとする 箱入りの 注釈 無修正。 このようなコメントの一般的な考え方は次のとおりです。
視覚的に区別するために、星やダッシュの長方形または「ボックス」で囲まれています。
より正確には、ボックスで囲まれたコメントは、最初の「/*」が続くコメントとして定義されます。
文字「*」、「=」、「_」、または「-」の直後、または先頭が
コメント区切り文字 (「/*」) が単独の行にあり、次の行は「*」で始まります。
開始区切り文字のスターと同じ列にあります。

囲みコメントの例は次のとおりです。

/**********************
※コメントはボックスに!! *
**********************/

/*
※違う種類の香り、
* 別の種類のコメント用。
*/

インデント ボックス内のコメントをソース ファイル内にあるとおりにそのまま残そうとします。
したがって、コメントのインデントは変更されず、コメントの長さはどのような場合でもチェックされません。
道。 唯一の変更は、埋め込まれたタブ文字を
適切な数のスペース。

「-bbb」オプションが指定されている場合、そのようなすべてのボックス内のコメントの前に空白が付きます。
ただし、そのようなコメントの前にコードがある場合を除きます。

ボックスコメントではないコメントはフォーマットされる可能性があります。つまり、行は
右マージン内に収まるように分割され、左は空白で埋められます。 単一の改行は
スペースと同等ですが、空白行 (連続した XNUMX 行以上の改行) はスペースを意味するとみなされます。
段落区切り。 最初の列が有効になった後に始まるコメントの書式設定
「-fca」オプションを使用します。 列 1 から始まるものをフォーマットするには、「-fcXNUMX」を指定します。 そのような
フォーマットはデフォルトでは無効になっています。

書式設定の右マージンのデフォルトは 78 ですが、「-lc」オプションを使用して変更できます。
指定されたマージンではコメントを印刷できない場合、マージンは
コメントの継続時間は自動的に延長されます。 次の場合、マージンは尊重されません。
コメントがフォーマットされていません。

コメントが行の先頭にある場合 (つまり、その左側にプログラム テキストがない場合)、コメントは次のようになります。
コメントがコード ブロック内にない場合は、コメントが見つかった列にインデントされます。 の
その場合、そのようなコメントはそのブロックのインデントされたコードと位置合わせされます (ただし、
コメントは最初の列から始まります)。 この位置合わせは「-d」オプションの影響を受ける可能性があります。
このようなコメントを 、またはインデントなし。
たとえば、「-d2」は、コメントをコードの XNUMX スペース左側に配置します。 デフォルトでは、コメント
最初の列で始まる場合を除いて、コードと位置合わせされます。最初の列で始まる場合は、そのままになります。
デフォルトではそこにあります --- コードと一致させるには、「-fc1」を指定します。

コードの右側のコメントは、デフォルトで列 33 に表示されます。これは変更される可能性があります。
XNUMX つのオプションのいずれかを使用します。 「-c」はコードに続くコメントの列を指定します。
「-cd」は宣言に続くコメントの列を指定し、「-cp」は
プリプロセッサディレクティブに続くコメントの列 #その他 & #endif。 「-dj」も一緒に
「-cd0」を使用すると、宣言の右側のコメントの配置を抑制できます。
コメントは宣言の終わりから 0 タブストップ後に続きます。 通常は「-cdXNUMX」
「-c」が有効になります。

コメントの左側のコードが先頭列を超える場合、コメント列は
コードの終わりを越えた次のタブストップ列まで拡張されます。または、
プリプロセッサ ディレクティブは、ディレクティブの末尾の XNUMX つ後ろのスペースに追加します。 この延長は続く
その特定のコメントの出力のみ。

「-cdb」オプションは、空白行にコメント区切り文字を配置します。 したがって、単一行
みたいなコメント /* 愛する 抱擁 */ は次のように変換できます。

/*
愛ある抱擁
*/

「-sc」オプションを使用すると、複数行のコメントの先頭にスターを付けることができます。 したがって、
上記の XNUMX 行のコメントは (「-cdb -sc」を使用して) 次のように変換できます。

/*
*愛情たっぷりのハグ
*/

声明


「-br」または「-bl」オプションは、中括弧のフォーマット方法を指定します。

「-br」オプションはステートメントの中括弧を次のようにフォーマットします。

if (x > 0) {
バツ - ;
}

「-bl」オプションは次のようにフォーマットします。

if (x > 0)
{
バツ - ;
}

「-bl」オプションを使用する場合は、「-bli」オプションも指定することをお勧めします。 このオプション
中括弧をインデントするスペースの数を指定します。 デフォルトの「-bli2」は次のようになります。
上に示した結果。 「-bli0」の結果は次のようになります。

if (x > 0)
{
バツ - ;
}

「-br」オプションを使用している場合は、「-ce」オプションも使用することをお勧めします。 これ
を引き起こす ほかに if-then-else 構造内で直前の構造に寄り添う
「}」。 たとえば、「-br -ce」を使用すると、次のようになります。

if (x > 0) {
バツ - ;
場合} else {
fprintf (stderr, "...何か問題がありますか?\n");
}

「-br -nce」を使用すると、コードは次のようになります。

if (x > 0) {
バツ - ;
}
他{
fprintf (stderr, "...何か問題がありますか?\n");
}

これにより、 while do-while ループ内で直前の '}' に寄り添います。
たとえば、「-cdw」を使用すると、次のようになります。

する
バツ - ;
一方 (x);

「-ncdw」を使用すると、コードは次のようになります。

する
バツ - ;
}
一方 (x);

「-cli」オプションは、ケースラベルをインデントするスペースの数を指定します。
含むものの権利 スイッチ 声明。

デフォルトでは次のようなコードが与えられます。

スイッチ(i)
{
ケース0:
破る;
ケース1:
{
++i;
}
デフォルト:
破る;
}

「-cli2」を使用すると、次のようになります。

スイッチ(i)
{
ケース0:
破る;
ケース1:
{
++i;
}
デフォルト:
破る;
}

case ステートメントの下の中括弧のインデントは、「-cbi」で制御できます。n'
オプション。 たとえば、「-cli2 -cbi0」を使用すると、次の結果になります。

スイッチ(i)
{
ケース0:
破る;
ケース1:
{
++i;
}
デフォルト:
破る;
}

セミコロンが同じ行にある場合、 for or while ステートメントでは、「-ss」オプションは
セミコロンの前にスペースが置かれるようになります。 これによりセミコロンが強調され、
の本体であることは明らかです for or while ステートメントは空のステートメントです。 「-nss」は無効にします
この機能。

「-pcs」オプションを指定すると、プロシージャ名の間にスペースが挿入されます。
と '(' (たとえば、 置く ("やあ");。 「-npcs」オプションを指定すると、
put("こんにちは");).

「-cs」オプションが指定されている場合、 インデント キャスト演算子と
キャストされるオブジェクト。 「-ncs」は、キャスト演算子とキャストの間にスペースがないことを保証します。
オブジェクト。 覚えておいてください インデント 標準の C データ型についてのみ知っているため、次のことはできません。
キャスト内のユーザー定義型を認識します。 したがって (私のタイプ)もの キャストとして扱われません。

「-bs」オプションを使用すると、キーワードの間に必ずスペースが入ります。 のサイズ とその
口論。 一部のバージョンでは、これは「Bill_Shannon」オプションとして知られています。

「-saf」オプションは、文字の間にスペースを強制します。 for そして次の括弧。 これは
デフォルト。

「-sai」オプションは、文字の間にスペースを強制します。 if そして次の括弧。 これは
デフォルト。

「-saw」オプションは、文字と文字の間にスペースを強制します。 while そして次の括弧。 これは
デフォルト。

「-prs」オプションを使用すると、すべての括弧がスペースで区切られます。
それらの間の。 たとえば、「-prs」を使用すると、次のようなコードになります。

while ( ( e_code - s_code ) < ( dec_ind - 1 ) )
{
set_buf_break ( bb_dec_ind );
*e_code++ = ' ';
}

宣言


デフォルトでは インデント '-di' オプションで指定された列に識別子を並べます。
たとえば、「-di16」を指定すると次のようになります。

int foo;
char *bar;

「-di」オプションに小さい値 (XNUMX または XNUMX など) を使用すると、
最初の利用可能な位置に配置される識別子。 例えば:

int foo;
char *bar;

「-di」オプションに指定された値は、別個の変数に影響を与えます。
タイプからの行、たとえば「-di2」は次のようになります。

int型
ふー;

「-bc」オプションが指定されている場合、宣言内の各カンマの後に改行が強制的に挿入されます。
たとえば、

整数、
b,
c;

「-nbc」オプションを使用すると、次のようになります。

int a、b、c;

「-bfda」オプションを使用すると、引数を区切るカンマの後に強制的に改行が挿入されます。
関数宣言の。 引数は、より XNUMX つ深いインデント レベルに表示されます。
関数宣言。 これは、長い引数を持つ関数の場合に特に役立ちます。
リスト。 オプション「-bfde」を使用すると、右括弧の前に改行が強制的に挿入されます。
関数宣言。 どちらのオプションでも、「n」設定はデフォルトです: -nbdfa と -nbdfe。

たとえば、

void foo (int arg1, char arg2, int *arg3, long arg4, char arg5);
「-bfda」オプションを使用すると、次のようになります。

void foo (
整数引数1、
文字引数2、
int *arg3,
長い引数4、
文字 arg5);

さらに、「-bfde」オプションを使用すると、次のようになります。

void foo (
整数引数1、
文字引数2、
int *arg3,
長い引数4、
文字引数5
);

「-psl」オプションを使用すると、定義されているプロシージャのタイプが行に配置されます。
プロシージャの名前の前に。 このスタイルは、 イータグ 動作するプログラム
正しく、また一部の Cモード Emacsの機能。

伝えるには「-T」オプションを使用する必要があります インデント プログラム内のすべての型名の名前
によって定義される typedef。 「-T」は複数回指定でき、すべての名前を指定できます。
指定されたものが使用されます。 たとえば、プログラムに次のものが含まれている場合、

typedef unsigned long CODE_ADDR;
typedef enum {赤、青、緑} COLOR;

オプション「-T CODE_ADDR -T COLOR」を使用します。

'-brs' または '-bls' オプションは、構造体宣言の中括弧をフォーマットする方法を指定します。 の
「-brs」オプションは中括弧を次のようにフォーマットします。

構造体 foo {
int x;
};

「-bls」オプションは次のようにフォーマットします。

構造体 foo
{
int x;
};

構造中括弧 '-brs' および '-bls' オプションと同様に、
関数の中括弧オプション '-brf' または '-blf' は、関数内の中括弧の形式を指定します
定義。 「-brf」オプションは中括弧を次のようにフォーマットします。

int XNUMX(void) {
1リターン;
};

「-blf」オプションは次のようにフォーマットします。

int XNUMX(無効)
{
1リターン;
};

インデント


コードの書式設定における問題の XNUMX つは、各行を左からどれだけインデントするかということです。
マージン。 次のようなステートメントの始まりのとき if or for 遭遇すると、
インデント レベルは、「-i」オプションで指定された値だけ増加します。 例えば、
「-i8」を使用して、各レベルに XNUMX 文字のインデントを指定します。 ステートメントが
XNUMX 行にまたがる場合、XNUMX 行目は追加のスペースによってインデントされます。
「-ci」オプションで指定します。 「-ci」のデフォルトは 0 です。ただし、「-lp」オプションが
が指定されており、行に閉じられていない左括弧がある場合、
継続行は左の直後の文字位置から始まるように整列します。
括弧。 この処理は「[」にも適用され、「{」が発生した場合には適用されます。
初期化リスト。 たとえば、継続コードは次のようになります。
「-nlp -ci3」が有効です:

p1 = 最初のプロシージャ (2 番目のプロシージャ (p3、pXNUMX)、
third_procedure (p4、p5));

「-lp」を有効にすると、コードがいくらかわかりやすくなります。

p1 = 最初のプロシージャ (2 番目のプロシージャ (p3、pXNUMX)、
third_procedure (p4、p5));

ステートメントが XNUMX つ以上の括弧のペア (...) の間で分割されている場合、追加の各ペアは
インデントレベルが余分にインデントされます。

if ((((i < 2 &&
k > 0) || p == 0) &&
q == 1) ||
n = 0)

オプション「-ip」N' を使用すると、括弧ごとに追加のオフセットを設定できます。 たとえば、「-ip0」
上記は次のようにフォーマットされます。

if ((((i < 2 &&
k > 0) || p == 0) &&
q == 1) ||
n = 0)

インデント 入力と出力の両方でタブが一定の間隔で配置されることを前提としています
文字ストリーム。 これらの間隔はデフォルトで 8 列幅ですが、(バージョン 1.2 以降)
'-ts' オプションで変更できます。 タブは、同じ数のスペースとして扱われます。

古いスタイルの関数定義における型宣言のインデントは、次のように制御されます。
「-ip」パラメータ。 これは、インデントするスペースの数を指定する数値パラメータです。
型宣言。 たとえば、デフォルトの「-ip5」では定義は次のようになります。

文字 *
create_world (x、y、スケール)
int x;
int y;
フロートスケール。
{
。 。 。
}

他のバージョンの indent との互換性を保つために、オプション '-nip' が提供されています。
「-ip0」と同等。

ANSI C では、プリプロセッサ コマンド ラインの文字と文字の間に空白を入れることができます。
「#」とコマンド名。 デフォルトでは、 インデント このスペースは削除されますが、
「-lps」オプションは指示します インデント このスペースを変更しないままにします。 オプション「-ppi」はオーバーライドします
「-nlps」と「-lps」。

このオプションを使用すると、プリプロセッサの条件文を次のように指定できるように要求できます。
たとえば、オプション「-ppi 3」を使用すると、指定された数のスペースでインデントされます。

#if X
#Yの場合
#定義 Z 1
#その他
#定義 Z 0
#endif
#endif
になる
#if X
# Y の場合
# Z 1 を定義
# それ以外
# Z 0 を定義
#endif
#endif

このオプションは、ラベル (ケース ラベルを除く) が配置されるオフセットを設定します。 もしも
ゼロまたは正の数値に設定されます。これは、左マージンからどれだけ離れているかを示します。
ラベルをインデントします。 負の数値に設定した場合、これは、現在の状態からどれだけ離れているかを示します。
ラベルを配置する現在のインデントレベル。 デフォルト設定は -2 で、これは
以前のバージョンの indent の動作。 このパラメータは、
ケースラベルの配置。 これについては「-cli」パラメータを参照してください。 たとえばオプションを使用すると、
「-イル1」

グループヘッド
関数()
{
if (do_stuff1() == エラー)
後藤クリーンアップ1;

if (do_stuff2() == エラー)
後藤クリーンアップ2;

成功を返します。

クリーンアップ2:
do_cleanup2();

クリーンアップ1:
do_cleanup1();

エラーを返します。
}
になる
グループヘッド
関数()
{
if (do_stuff1() == エラー)
後藤クリーンアップ1;

if (do_stuff2() == エラー)
後藤クリーンアップ2;

成功を返します。

クリーンアップ2:
do_cleanup2();

クリーンアップ1:
do_cleanup1();

エラーを返します。
}

BREAKING 長いです LINES


オプション「-l」を使用すると、n'、または '--行の長さn'、最大長を指定することが可能です
C コードの行の一部。これに続くコメントは含まれません。

行が指定された行の長さよりも長くなった場合、GNU インデント を壊そうとする
論理的な場所にある行。 ただし、これはバージョン 2.1 の新機能であり、あまりインテリジェントではありません
またはまだ柔軟です。

現在、アルゴリズムに干渉できるオプションが XNUMX つあります。
どこで改行するかを決定します。

「-bbo」オプションを指定すると、GNU が インデント ブール値の前で長い行を分割することを好む
演算子 && & ||。 「-nbbo」オプションを指定すると、GNU が インデント その好みはありません。 ために
たとえば、デフォルトのオプション「-bbo」(「--line-length60」および「--ignore-」と併用)
newlines') コードは次のようになります。

if (マスク
&& ((マスク[0] == '\0')
|| (マスク[1] == '\0'
&& ((マスク[0] == '0') || (マスク[0] == '*')))))

オプション「-nbbo」を使用すると、次のようになります。

if (マスク&&
((マスク[0] == '\0') ||
(マスク[1] == '\0' &&
((マスク[0] == '0') || (マスク[0] == '*'))))

ただし、デフォルトの「-hnl」は、入力ファイル内の改行に最高の値を与えて尊重します。
改行の可能な優先順位。 たとえば、入力ファイルが次のような場合:

if (マスク
&& ((マスク[0] == '\0')
|| (マスク[1] == '\0' && ((マスク[0] == '0') || (マスク[0] == '*'))))

次に、オプション「-hnl」または「--honour-newlines」を以前のオプションと一緒に使用します。
'-nbbo' と '--line-length60' を指定すると、出力が次のとおりにならなくなります。
最後の例ですが、代わりに、コードがあった位置で中断することを好みます。
入力ファイルが壊れています:

if (マスク
&& ((マスク[0] == '\0')
|| (マスク[1] == '\0' &&
((マスク[0] == '0') || (マスク[0] == '*'))))

このオプションの背後にある考え方は、長すぎる行はすでに分割されており、
GNU には影響されません インデント。 本当に厄介なコードは実行する必要があります インデント at
ただし、少なくとも XNUMX 回は「--ignore-newlines」オプションを使用します。

無効化 フォーマット


C コードのフォーマットは、特別なコードを埋め込むことによってプログラムの一部で無効になる場合があります。
コントロール 注釈 プログラム内で。 プログラムのセクションの書式設定をオフにするには、
無効化コントロールのコメント /* *インデントオフ* */ その直前に単独の行で
セクション。 この制御コメントの後にスキャンされたプログラム テキストが入力として正確に出力される
対応する有効化コメントが XNUMX 行でスキャンされるまで、変更は加えられません。
自体。 無効化制御のコメントは次のとおりです。 /* *インデントオン* */、およびそれに続くテキスト
行のコメントも書式なしで出力されます。 フォーマットは再び入力から始まります
有効化制御コメントに続く行。

より正確に、 インデント 終了区切り文字 (*/) これらの C について
コメント、行上の空白は完全に透明になります。

これらのコントロール コメントは、C++ 形式でも機能します。 // *インデントオフ* & //
*インデントオン*.

なお、内部状態は、 インデント ~の間変化しないままである
フォーマットされていないセクション。 したがって、たとえば、フォーマットの途中でフォーマットをオフにすると、
関数を実行し、関数の終了後にそれを続行すると、奇妙な結果が生じる可能性があります。 それ
したがって、フォーマットしないままにするコードを選択する際には、ある程度モジュール化することが賢明です。

歴史的なメモとして、一部の以前のバージョンでは、 インデント 生成されたエラーメッセージの始まり
  *インデント**。 これらのバージョンの インデント 入力テキスト行を無視するように記述されています
このようなエラーメッセージから始まりました。 この近親相姦機能を GNU から削除しました
インデント.

雑則 OPTIONS


のバージョンを確認するには インデント 持っているので、コマンドを使用してください インデント -バージョン。 この意志
~のバージョン番号を報告する インデント、通常の処理を何も行わずに。

「-v」オプションを使用すると、冗長モードをオンにすることができます。 詳細モードの場合、 インデント レポート
XNUMX 行の入力をさらに XNUMX 行の出力に分割し、ある程度のサイズを与える場合
完了時の統計。

「-pmt」オプションにより、 インデント のアクセス時間と変更時間を保存するため、
出力ファイル。 このオプションを使用すると、すべてのソースでインデントを実行し、
プロジェクト内のヘッダー ファイルによって引き起こされることはありません make すべてのターゲットを再構築します。 このオプションはあくまで
POSIX を搭載したオペレーティング システムで利用可能 いつでも(2) 機能。

onworks.net サービスを使用してオンラインでインデントを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad