XCode内でObjective-Cコードを自動フォーマットするプラグインを探しています。オプションのスタイリングフォーマットのセットがあると非常に役立ちます。
私はGoogleのコード規約に従うことを目指しています: http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml はじめに、どんな助けでも感謝。
2013年4月更新
Roger Nolanとrcw3が示唆したように、 ncrustify を使用すると、さらに多くのことを実行できます。最新のリリースバージョンをダウンロードできます ここ 。
Xcodeへの統合は、インストールされているXcodeのバージョンによって異なります。
BenoîtBourdon's BBUncrustifyPlugin-Xcode
このプラグインは、Xcodeの「編集」メニューから「Uncrustify」へのアクセスを提供します(「Uncrustify Selected Files」、「Uncrustify Active File」、および「Uncrustify Selected Lines」)。プロジェクトをビルドするだけで、プラグインがコンパイルされてインストールされます。
2013年4月2日の時点で、Uncrustify 0.60およびUncrustify構成ファイルがプラグインに含まれています。カスタムUncrustify構成ファイルを使用するには、「Uncrustify構成をカスタマイズする方法」というタイトルのセクションを必ずお読みください。 README.md の。
注:コマンドラインから、たとえばgitフックの一部としてUncrustifyを使用するには、 ncrustify を個別にビルドしてインストールすることをお勧めします。一貫性を保つために、プラグインに付属するUncrustifyのバージョンを、独立してビルドおよびインストールされたバージョンのUncrustifyへのリンクに置き換えることもお勧めします。以下はその方法です:
cd ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/UncrustifyPlugin.xcplugin/Contents/Resources
mv uncrustify uncrustify.orig
ln -s /usr/local/bin/uncrustify uncrustify
ジョナ・ウィリアムズの Xcode 4のコードフォーマット
ジョナ・ウィリアムズの Xcodeでのコードのフォーマット
私がObjective-Cに使用するUncrustify 0.60構成ファイルは here にあります。
Uncrustifyの新しいバージョンのUncrustify構成ファイルを更新するには、ターミナルを起動して次のように入力します。
mv uncrustify.cfg uncrustify.cfg.old
uncrustify -c uncrustify.cfg.old --update-config > uncrustify.cfg
Uncrustify構成に加えられた変更を確認するには、ターミナルで次のように入力します。
diff uncrustify.cfg.old uncrustify.cfg
Uncrustify構成ファイルの文書化されたバージョンを表示するには、ターミナルを起動して次のように入力します。
uncrustify -c uncrustify.cfg --show-config
XCodeにはコードフォーマッタが組み込まれています。これは少し基本的ですが、コードをインデントすることができます。最初にXcodeでインデント設定を設定します( mouvicielが示唆するように )。次に、再表示するソースを選択し、[編集]、[選択]の順に選択します。フォーマット|再インデント。
さらに進めたい場合は、HackertoysがXcodeに nrustifyサポートを追加 する手順を説明しています。私はこれを試していません。
JetbrainsのAppCodeには、非常に優れたコードフォーマッタがあります。私の好みのために、unrustifyはあまりにもハッキリ過ぎるように感じます。
複数の外部フォーマッターと弱い内部xcodeフォーマッターをいじってから、ようやくuncrustifyで解決しました。 Uncrustifyはかなり良いObjective-Cサポートを備えており、ユーザースクリプトとしてxcodeと簡単に統合でき、xcodeがネイティブでサポートするほとんどすべての言語に一元化されたフォーマッターを提供します。
Xcodeの最大のハードルは、困難な設定ファイルです。私の推奨は、提供されているサンプル構成の1つ(ben2.cfgは非常に優れています)を使用し、objc.cfgサンプルにマージして、必要に応じてTweakします。