web-dev-qa-db-ja.com

コードの自動フォーマット用にXcodeプラグインを設定する方法

XCode内でObjective-Cコードを自動フォーマットするプラグインを探しています。オプションのスタイリングフォーマットのセットがあると非常に役立ちます。

私はGoogleのコード規約に従うことを目指しています: http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml はじめに、どんな助けでも感謝。

43
Carlos Barbosa

2013年4月更新

Roger Nolanとrcw3が示唆したように、 ncrustify を使用すると、さらに多くのことを実行できます。最新のリリースバージョンをダウンロードできます ここ


Xcodeへの統合

Xcodeへの統合は、インストールされているXcodeのバージョンによって異なります。

  • Xcode 4.6以降

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.x

ジョナ・ウィリアムズの Xcode 4のコードフォーマット

  • Xcode 3.x

ジョナ・ウィリアムズの Xcodeでのコードのフォーマット


Uncrustify構成ファイルの例

私がObjective-Cに使用するUncrustify 0.60構成ファイルは here にあります。


Uncrustifyの新しいバージョンのUncrustify構成ファイルを更新する

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構成ファイルの文書化されたバージョンを表示するには、ターミナルを起動して次のように入力します。

uncrustify -c uncrustify.cfg --show-config
44
mmorris

XCodeにはコードフォーマッタが組み込まれています。これは少し基本的ですが、コードをインデントすることができます。最初にXcodeでインデント設定を設定します( mouvicielが示唆するように )。次に、再表示するソースを選択し、[編集]、[選択]の順に選択します。フォーマット|再インデント。

さらに進めたい場合は、HackertoysがXcodeに nrustifyサポートを追加 する手順を説明しています。私はこれを試していません。

8
Rog

JetbrainsのAppCodeには、非常に優れたコードフォーマッタがあります。私の好みのために、unrustifyはあまりにもハッキリ過ぎるように感じます。

3
brainray

複数の外部フォーマッターと弱い内部xcodeフォーマッターをいじってから、ようやくuncrustifyで解決しました。 Uncrustifyはかなり良いObjective-Cサポートを備えており、ユーザースクリプトとしてxcodeと簡単に統合でき、xcodeがネイティブでサポートするほとんどすべての言語に一元化されたフォーマッターを提供します。

Xcodeの最大のハードルは、困難な設定ファイルです。私の推奨は、提供されているサンプル構成の1つ(ben2.cfgは非常に優れています)を使用し、objc.cfgサンプルにマージして、必要に応じてTweakします。

2
rcw3

伝えられるところによると、 bcpp はobj-cで正常に動作し、 TextMate プラグインも備えています。

1
mkb