9

ソースに対して必要なさまざまなオプションを指定してインデントを実行すると、必要なことは実行されますが、ポインター型の * の配置も混乱します。

  -int send_pkt(tpkt_t* pkt, void* opt_data);
  -void dump(tpkt_t* bp);
  +int send_pkt(tpkt_t * pkt, void *opt_data);
  +void dump(tpkt * bp);

変数ではなく型の横に *s を配置するのは型にはまらないことはわかっていますが、どうすればそれらをそのままにしておくためにインデントを取得できますか? または、私が望むことを行う別のツールはありますか? man ページ、info ページを調べ、Google が提案した 6 つのページにアクセスしましたが、これを行うオプションが見つかりません。

Artistic Style (別名 AStyle) を試しましたが、4 の倍数でインデントする方法がわかりませんが、8 つごとにタブを作成します。あれは:

if ( ... ) {
<4spaces>if ( ... ) {
<tab>...some code here...
<4spaces>}
}
4

2 に答える 2

18

殻をむく

Uncrustify には、ファイルのインデント方法に関するいくつかのオプションがあります。

構成ファイルから:

indent_with_tabs                           
  コードのインデント時にタブを使用する方法  
  0=スペースのみ  
  1=タブでインデント、スペースで整列  
  2=インデントしてタブに揃える

ここで見つけることができます。

BCPP
Web サイトから: 「bcpp は C/C++ ソース プログラムをインデントし、タブをスペースに置き換えるか、その逆にします。インデントとは異なり、(設計により) 長いステートメントをラップしようとしません。」
ここで見つけてください

UniversalIndentGUI
いくつかのビューティファイア/フォーマッタをサポートするツールです。さらに多くの選択肢につながる可能性があります。
ここで見つけてください

Artistic Style代わりにArtistic Style 別名 AStyle
を 試すこともできます (必要な機能を実行しない場合でも、他の誰かが役立つ場合に備えてここに残しておきます)。

于 2008-09-19T13:32:49.627 に答える
2

ハックして、コードを編集して動作を変更します。結局のところ、それはGNUです。;-)

おそらくあなたが望んでいた答えではないので、ここに別のリンクがあります: http://www.fnal.gov/docs/working-groups/c++wg/indenting.html

于 2008-09-19T13:39:14.120 に答える