web-dev-qa-db-ja.com

Xcodeで#importsを自動的に整理する方法

ソースファイルにインポートされたクラスを暗黙的に追加および削除するEclipseの「OrganizeImports」コマンドが大好きです(JavaまたはActionScriptのように)。

ファイル内で参照されているクラスに基づいて、.m Objective-Cファイルの先頭にある#importディレクティブを更新するコマンドがXcodeにありますか?

45
Arrel

これを行うには、Automatorアクションを作成し、XcodeだけでなくMac OS Xのあらゆる場所で使用します。これを行うには、次の手順を実行します。

  1. Automatorを起動->新規
  2. 「サービス」を選択
  3. 「シェルスクリプトの実行」アクションを追加します
  4. 使用する sort | uniqスクリプトとして、[出力が選択したテキストを置き換える]チェックボックスをオンにします
  5. 保存して名前を付けます(例:「並べ替えと一意」)
  6. 「出力が選択したテキストを置き換える」にチェックを入れます

保存したら、Xcodeでインポートを選択し、右クリックして「並べ替えと一意」アクションを選択するだけで、インポートを整理できます。

これは、未使用のものなどを削除しないため、EclipseやIntelliJのインポートアクションの整理ほど良くはありませんが、何もないよりはましです。

PS:WWDC 2012セッションからそれを得ました-セッション402 Xcodeで効率的に動作します(6:15から開始)

[〜#〜]編集[〜#〜]

私はAppCode、Objective-C IDE from JetBrainsを使い始めました、そしてそれは「インポートの整理」のような機能を持っています。あなたはそれをチェックするべきです: http://www.jetbrains。 com/objc /

69
Tim Büthe

私はこれを現在Xcodeの機能ではないとして解決しています:(

4
Arrel

CedarShortcutsは少なくとも使用可能であることがわかりました。 Eclipseのインポート機能(インポートを整理しない)ほど良くはありませんが、クラスファイルの先頭に移動してインポートステートメントを入力する必要がなくなります。このプラグインを使用すると、インポートが必要なクラスにカーソルを置き、Ctrl + Option + Iを押すだけです。これがgithubプロジェクトです。 https://github.com/cppforlife/CedarShortcuts

3
jstewart379

ヘッダーを並べ替え、ショートカットを使用してファイルの重複を削除するための小さなXcodeプラグインを作成しました。チェックしてください! - https://github.com/insanoid/CleanHeaders-Xcode

2
insanoid

JetbrainsのAppCode これを行うことができます。

1
Tim Büthe

Devon TechnologiesのWordService (フリーウェア)は、(とりわけ)行をソートできるCocoaアプリで使用できるサービスを提供します。

0
Johan Kool

または、 Imp などのXcode拡張機能を使用することもできます。

0
ethamine

うん。 Eclipseと同様に、これは素晴らしい機能です。XCode(Cocoa Touch)での開発には、覚えにくいクラスのインポートがかなり必要であり、Android Eclipseでの開発はこれを次のように分類します。時間を大幅に節約するシンプルなキーストロークの組み合わせ!XCodeでこれをすぐに行う方法があることを願っています!

0
Rajive Jain