40

私は Xcode/Objective-C/Cocoa の完全な初心者ですが、新しい言語、プラットフォーム、パラダイムを理解するのが本当に楽しくなり始めています。

ただし、Visual Studio と R# を長い間使用してきたため、リファクタリングや補完などのコーディング ツールに甘んじていました。私が知る限り、Xcode にはかなり限定的なサポートが組み込まれています。もの。

その点で、クラスインターフェイス定義から実装スケルトンを自動的に生成するなどのコーディングヘルパーを追加するアドインまたはXcode環境で利用できるものがあるかどうか、誰かが知っていますか?

ないと思いますが、聞いても仕方がないと思います。

4

5 に答える 5

39

コード テンプレート、リファクタリング ツール、オートコンプリートという 3 つの主要なものを探しているように聞こえます。

良いニュースは、Xcode 3 以降には優れたオートコンプリートとテンプレートのサポートが付属していることです。デフォルトでは、エスケープ キーを押して明示的に完了を要求する必要があります。(これは実際にはすべてNSTextViewの s で機能します。試してみてください!) 補完を自動的に表示したい場合は、 [設定] -> [コードセンス] に移動し、ポップアップが数秒後に自動的に表示されるように設定できます。C および Objective-C コードの適切な補完と、C++ のかなり適切な補完が見つかるはずです。

Xcode には、使用できるしっかりしたテンプレート/スケルトン システムもあります。[編集] -> [テキスト マクロの挿入] に移動すると、デフォルトで使用可能なテンプレートを確認できます。もちろん、マウスでテキスト マクロを挿入したくはありません。それはポイントを打ち負かします。代わりに、次の 2 つのオプションがあります。

  1. Preferencesに戻り、Key Bindingsに移動し、 Menu Key Bindingsの下で、頻繁に使用するマクロに特定のショートカットを割り当てます。私は個人的にこれを行うことを気にしませんが、そうしている偉大な Mac 開発者をたくさん知っています。
  2. を使用しCompletionPrefixます。デフォルトでは、ほとんどすべてのテンプレートに特別なプレフィックスがあり、入力してからエスケープ キーを押すと、テンプレートが挿入されます。Control-/ を使用して、補完フィールド間を移動できます。

    Xcode のデフォルト マクロとそれに関連するマクロの完全なリストは、 CompletionPrefixCrooked Spinで確認できます。

    独自のマクロを追加したり、デフォルトを変更したりすることもできます。これを行うには、ファイルを編集します/Developer/Library/Xcode/Specifications/{C,HTML}.xctxtmacro。構文は、それほど友好的ではないにしても、自明であるべきです。

残念ながら、R# にハマっている場合は、リファクタリング オプションにがっかりするでしょう。基本的なリファクタリングは、コンテキスト メニューを使用するか、Shift-Apple-J を押すことによって、Xcode 内で提供されます。そこから、メソッドを抽出して名前を変更し、クラス階層を介してそれらを昇格および降格し、その他のいくつかの一般的な操作を行うことができます。残念ながら、Xcode もサードパーティのユーティリティも、Resharper に近づくものを提供していません。ありがたいことに、Apple は、リファクタリング機能を大幅に改善した Xcode のバージョンを既に実証しているので、状況が改善し始めるまでそれほど長く待たなくても済むことを願っています。

于 2008-08-21T20:33:18.150 に答える
23

JetBrainsがObjective-Cコーダー用のまともなIDEを作成することを決定したことを嬉しく思います。

これはAppCodeと呼ばれ、RubyMineやResharperなどの他のツールに基づいています。ネイティブのCocoaではありませんが、生のリファクタリングパワーがたくさんあります。

http://www.jetbrains.com/objc/index.html

私はメインのObjectiveCプロジェクトでそれを使い始めましたが、すでに恋をしています。それはまだ初期段階ですが、コードの編集とリファクタリングのために、それはすでにXcodeを吹き飛ばします。

アップデート

今では完全に使用可能な速度になっています。私はフルタイムでそれに切り替えましたが、それでもXcodeと比較して驚くべきリファクタリングとコーディングがどれほど素晴らしいかを頭に浮かびます。自動インポート、ほぼ無限のカスタマイズなど、非常に多くのことを処理します。Xcodeをおもちゃのように見せます。

于 2011-04-11T16:53:38.373 に答える
5

Xcode には、C および Objective-C のリファクタリングが組み込まれています。リファクタリングしたいものを選択し、メニュー バーまたはコンテキスト メニューから [リファクタリング...] を選択すると、利用可能なリファクタリングを含むウィンドウが表示されます。そしてプレビューエリア。

Xcode には現在、パブリック プラグイン API がありません。Apple に有効にしてもらいたい特定の種類のプラグインがある場合は、Bug Reporterで機能強化リクエストを提出してください。そうすれば、Apple はそのようなリクエストを数えて追跡することができます。

ただし、さまざまな開発タスクを高速化するために使用できるAccessorizermogenerator(最新リリースは)などのサードパーティ ツールがあります。Accessorizer は、 Xcode のモデリング ツールを使用してモデル化された Core Data マネージド オブジェクト クラスのより高度なコード生成を行いmogenerator 1.10ながら、クラスのアクセサー メソッドを作成するのに役立ちます。mogenerator

于 2008-08-21T20:04:09.407 に答える
3

ご存知のように、Accessorizerはアクセサー (1.0 と 2.0 のプロパティの両方) を生成するだけでなく、非標準属性を永続化するための Core Data コード、カスタム対多関係用の NSSet アクセサーも生成します。

実際、Accessorizerは、init、keypath、keyed-archiving、indexed アクセサー、NSSet、copyWithZone、KVO、key-validation、singleton overrides、dealloc、setNilForKey、非標準属性永続化などの順序付けられていないコレクションのアクセサーを提供するのに役立ちます ( Core Data)、ロック、headerdoc、セレクターへの変換メソッド、NSUndoManager メソッドなど。

于 2009-02-18T20:58:52.213 に答える
0

Xcode.app パッケージにいくつかの xtmacro ファイルが見つかりました: /Developer/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources

Xcode版をインストール。3.2.5.

于 2010-12-14T22:13:41.053 に答える