15

私はやや乱雑にフォーマットされたObjective-Cコードベースを持っています。コーディング標準に準拠するように Xcode でプロジェクト全体を再フォーマットする方法はありますか (つまり、適切なインデント、スペースとタブなど)。これを達成できる他のツールはありますか?

4

8 に答える 8

22

Uncrustify: http: //uncrustify.sourceforge.net/

C、C ++、C#、ObjectiveC、D、Java、Pawn、VALAのソースコードビューティファイア

より単純なものが必要な場合は、空白/改行をすべて削除し、に新しい改行を追加して; { }、コードを手動で再インデントするだけで、おそらく何らかの方法が得られます。完全にレイアウトされたコードにはほど遠いものであり、大きなコードでは再インデントが苦痛になる可能性がありますが、一貫性はあります。

于 2008-10-04T16:44:02.060 に答える
8

シンプルですが限定的な解決策は、Xcode で Edit->Format->Re-Indent を使用することです。これにより、現在のインデント設定が適用されます (Xcode->Preferences…->Indentation)。

于 2008-10-04T19:09:18.693 に答える
7

このブログ投稿によると、bcppはObjective-Cで動作します。

さらに、ツールのインデントが役立つ場合があります。プレーンCを対象としていますが、役立つ可能性のある膨大な数のオプションがあります。ただし、OSXにデフォルトで付属しているかどうかはわかりません。

NAME
       indent - changes the appearance of a C program by inserting or deleting
       whitespace.

SYNOPSIS
       indent [options] [input-files]

       indent [options] [single-input-file] [-o output-file]

       indent --version

DESCRIPTION
       This man page is generated from the file indent.texinfo.  This is  Ediâ
       tion  of "The indent Manual", for Indent Version , last updated .

       The  indent  program  can  be used to make code easier to read.  It can
       also convert from one style of writing C to another.

       indent understands a substantial amount about the syntax of C,  but  it
       also attempts to cope with incomplete and misformed syntax.
于 2008-10-04T16:36:17.363 に答える
5

Xcode から:

1) 必要に応じてインデントの設定を変更します。

2) 作業するファイルを選択し、すべて選択 (cmd-A)

3) すべての行がウィンドウの左端に来るまで、左にシフト (cmd-[) を数回行います。

4) 再インデント選択を使用します ([編集] -> [書式] -> または右クリックのコンテキスト メニューから)

プロジェクト全体ではなく、一度に 1 つのファイルに対してのみ機能します。また、インデントのみを扱います。

于 2008-10-04T19:20:19.983 に答える
0

「GTMXcodePlugin」、別名Google Toolbox For Mac Xcode Pluginの唯一の機能は、 空白を効果的かつ安全にトリミングすることで、Objective-C コードを整理する素晴らしい仕事をします。

GTM Xcode 4 プラグインは現在、テキスト ファイルから行末の不要な空白を削除するために、[編集] メニューの最後に [空白のクリーンアップ] メニュー項目のみを追加します。うまくいけば、すぐにさらに多くの機能を追加できます。Xcode 4.2 に対してのみテストされています。

于 2012-09-13T17:41:08.997 に答える
0

これを書いている時点で、これを行うための最新かつ最良の方法はSpaceCommanderです。これは clang の上に基づいており、他にも多くの優れた機能を備えており、この記事の執筆時点で維持され、アクティブになっています。

于 2017-05-31T16:30:27.887 に答える
0

uncrustify を別のコンテキストで使用する 1 つの方法は、

http://universalindent.sourceforge.net/

于 2011-01-02T21:20:45.547 に答える