Xcodeの隠し機能


338

Xcodeへの初心者の膨大な流入により、共有すべきXcodeのヒントやコツがたくさんあると確信しています。

あなたは何ですか?

回答:


343

ヘッダー/ソースファイルに切り替え

  • Option ⌥ Command ⌘ Up Arrow ↑

  • 表示 > ヘッダー/ソースファイルに切り替え

.m.hファイルを切り替えます。

  • Xcode 4ではこれは ctrl Command ⌘ Up Arrow ↑

7
これも絶対に大好きです。常用しています。cppとhについて話しているときにも機能します。mだけじゃない!:)
害虫駆除09/09/30

24
Macでは「オプション」と呼ばれ、「alt」ではありません。派手なシンボルが必要な場合は、次のように書くことができます⌥⌘↑
Brian Campbell

2
さらに良いのは、ヘッダーを開き、⌘⌥⇡で同じウィンドウで.mを開き、次に、/⇢でそれらを切り替えることです。
Peter Hosey、

4
Xcode 3.2では、⌘⌥⇠/⇢をswitch-fileに復元するには、キーバインディングを変更する必要があることに注意してください。彼らはデフォルトを変更して、同じファイル内の位置間を移動しました。
Peter Hosey、

71
3本の指でタッチパッドを上にスワイプするのも、同じ操作のもう1つのショートカットです。
Nathan、

158

⌘ Command+ Double-Click on a symbol:シンボルの定義にジャンプします。

⌥ Option+ Double-Click on a symbol:シンボルのドキュメンテーションでテキストを検索します。(シンボルのドキュメントセットがインストールされている場合にのみ機能します。)

お気に入りバー:

お気に入りバーは、Safariでお気に入りを保存するのと同じです。現在使用しているファイルへのショートカット(ドラッグアンドドロップで実行可能)を保存する場所としてよく使用します。一般的に、これは私が大規模なプロジェクトやなじみのないプロジェクトで作業しているときに役立ちます。

お気に入りバーを表示するには、次のメニューオプションを選択します。

  • View> Layout>Show Favorites Bar

11
ギャスプ!お気に入りバーを表示します。私の人生はどこですか。
willc2 2009年

@ Mr.Gando-ファイルをお気に入りバーにドラッグアンドドロップできます。
James Sun、

4
Xcode 4では、お気に入りバーが永続的なタブに「置き換え」られました。
アセンダント2011

127

オートコンプリートキーボードショートカット

Tab ⇥またはControl ⌃ /:次のオートコンプリート引数を選択します。

Shift ⇧ Tab ⇥またはShift ⇧ Control ⌃ /:前のオートコンプリート引数を選択します。

Escape ⎋:自動補完ポップアップリストを表示します。


Control- /のおかげで、次の引数にジャンプする方法を常に考えていました
Dan McClain

私も神聖ながらくた。これまで、これはXcodeの最も厄介な「機能」でした。ありがとう!
pix0r 2009年

うん、指摘してくれてありがとう... ctrl- /を知らなかったのが私を殺した
Andy White

Shift-Ctrl- /は前の引数に進みます。
クリントンブラックモア

18
新しいXCodeはTabを使用して補完の引数間を移動することに注意してください。より流動的です。
ジャブ

119

「最後のポイントを超えて元に戻す」警告をオフにする

保存後に元に戻すと、次のプロンプトが表示されます。

「このファイルが保存された最後のポイントを過ぎると元に戻そうとしています。これを実行しますか?」

この警告を取り除くには、ターミナルウィンドウに次のように入力します。

defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO

テンプレートファイルの会社名を変更する

これをターミナルアプリケーションに貼り付けます。

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Microsoft";}'

com.yourcompanynameすべてのテンプレートで「」を変更します。

  1. ディレクトリを見つけます。 /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
  2. お気に入りの複数ファイルの検索および置換ツールをcom.yourcompany使用して、デバイスのビルドに通常使用する値に変更します。ディレクトリ全体を開いた後、BBEditの複数の検索と置換を使用しました。すべてのinfo.plistファイルの値を置き換える必要があります。変更するファイルが8つ見つかりました。この文字列を変更するのを忘れたためにビルドが失敗した回数はばかげています。

[グループとファイル]ペインでグループにすばやくジャンプする

  • Control ⌃ Option ⌥ Shift ⇧ + <グループ名の最初の文字>

上記の3つのキーを押したままにすると、グループ名の最初の文字を押すことで、左側の(グループとファイル)ページのグループにすばやくジャンプできます。たとえば、Control ⌃Option ⌥Shift ⇧Tが表示されます目標Control ⌃Option ⌥Shift ⇧Sするソース。もう一度押すとSCMにジャンプします。これが機能するまでに数回の試行が必要な場合があります(理由はわかりません)。


オートコンプリートの選択間のサイクリング

  • Control ⌃ .

  • Shift ⇧ Control ⌃ .:オートコンプリートの選択を逆方向に循環します。

Control ⌃.(Control-Period)単語がオートコンプリートメニューから最初の選択を自動的に受け入れた後。log次に入力してみてください。Control ⌃. そうすれば、すばらしいNSLog文が得られます。もう一度押すと、選択肢が循環します。変更可能なすべての選択肢を表示するには、NSMu次にと入力しControl ⌃.ます。


クイックヘルプ

  • Control ⌃ Command ⌘ ? (カーソルがシンボル内にある間)

  • Option ⌥ + <シンボルをダブルクリック>

  • ヘルプ>クイックヘルプ

クイックヘルプウィンドウからドキュメントにアクセスするには、右上のブックアイコンをクリックします。


シンボルのドキュメントを参照してください

  • Command ⌘ Option ⌥ + <シンボルをダブルクリック>

完全なドキュメントに直接移動します。


隣接していないテキストを選択する

  • Command ⌘ Control ⌃ + <エディターでダブルクリック>

複数の単語を選択する奇妙な方法については、上記のショートカットを使用してください。まったく別の場所で単語を選択し、一度に削除またはコピーできます。これが役立つかどうかはわかりません。私の知る限り、それはXcodeです。


Emacsキーバインディングを使用してコードを移動する

このトリックは、Mac上のすべてのCocoaアプリケーション(TextEdit、Mailなど)で機能し、おそらく知っておくと便利なことの1つです。

  • Command ⌘ Left ArrowまたはCommand ⌘ Right Arrow行の先頭と末尾に移動します。
  • Control ^ aそしてControl ^ e同じことをします
  • Control ^ nそしてControl ^ p1行上または下にカーソルを移動します。
  • Control ^ fそして、Control ^ bカーソルの背中を移動または1つのスペースを転送

Shift ⇧これらのいずれかを押すと、移動ポイント間のテキストが選択されます。カーソルを行の中央に置いてを押すShift ⇧ Control ^ eと、行の終わりまで選択できます。

を押すOption ⌥と、キーボードで単語間を移動できます。Option ⌥ Control ^ f現在の単語の最後までスキップします。Option ⌥ Control ^ b現在の単語の先頭にスキップします。Option ⌥左右の矢印キーを使用して、1単語ずつ移動することもできます。

  • Control ^ Left ArrowControl ^ Right Arrow単語のキャメルケースの部分の間でカーソルを移動します。

でお試しくださいNSMutableArray。のNSArray後にカーソルを置き、次にをNS押すとShift ⇧ Control ^ Right Arrow、すぐにに変更できますDelete


ありがとう、「Are you sure ...」というメッセージは嫌いです。そもそもなぜそこにあるのですか?
ruipacheco 2009年

4
Xcodeは不連続な単語の選択以外の目的でCommand-double-clickを使用するため、Control-Command-double-clickが必要なだけです。ほとんどのCocoaアプリでは、コマンド修飾子だけで不連続な選択を行うことができます。
ニコラスライリー

テンプレートの会社名について:XCodeはそれをAddressBookからアドレスカードから取り出します。そのため、そこで変更すると、XCodeがそれを使用します。
dertoni 2010

また、アドレス帳カードに会社名を設定して、会社名を変更することもできます。
macserv 2012

99

すばやく開く...

  • Command ⌘ Shift ⇧ D

  • ファイル > すばやく開く...

私はOpen Quickly機能の大ファンで、Xcode 3.1以降で特に優れています。プロジェクトまたはフレームワークにあるファイルまたはシンボル定義を開く場合は、キーボードショートカットを押し、ファイルまたはシンボルの名前を少し入力し、Up Arrow ↑Down Arrow ↓を使用して正しい結果を選択します(必要な場合)。その後、ヒットReturn ↩シンボル定義へのファイルまたはナビゲートを開くために。

Xcode 4の場合:

  • Command ⌘ Shift ⇧ o

Open Quicklyは現在の単語を検索語として使用します

また、2分前まで(schwaがコメントで指摘したとき)Xcodeについて知らなかったのは、Open Quicklyが呼び出されたときにエディターのテキストキャレットが単語の中にある場合、その単語がすばやく検索用語を開きます。


ああ、Open Quicklyは今とてもうまく動いている。また、#include /#import行のファイルにテキストキャレットを置くだけで、そのファイルをすばやく開くことができます。
schwa

あなたが話しているこれらの「テキストキャレット」は何ですか?
ivanTheTerrible 2009年

9
Macでは、「カーソル」はマウスの位置を示します。点滅する縦棒は「挿入ポイント」です。
ニコラスライリー

1
@Nicholas Riley:Caretは正しい言葉です、AFAIK-私たちのMac開発者は、私がソフトウェア会社で働いていたとき、それを常にそれと呼んでいました
Polsonby

3
@Flubba:キャレットは確かにこれに使用されます。これは、Macでのユーザー中心または開発中心の一般的な用語ではありません。Googleで「caret site:developer.apple.com」を検索すると、TrueTypeドキュメントと、最近作成された単一のiPadドキュメントでヒットが見つかります。
ニコラスライリー

78

組織には#pragmaを使用します

以下を使用できます。

#pragma mark Foo

...ソースファイルのメソッドを整理する方法として。ポップアップメニューからシンボルを参照すると、配置したものFooはすべてリストで太字で表示されます。

セパレーター(つまり、水平線)を表示するには、以下を使用します。

#pragma mark -

これは、特にデリゲートメソッドまたは他のメソッドグループをグループ化する場合に非常に役立ちます。


9
#pを入力すると、通常、ラベル部分をすばやく追加するためのコード補完 '#pragma mark <LABEL>'がトリガーされます。
willc2 2009年

1
また、# TODOステートメントを取得します。# XXX私が取り組んでいるコードベースで一般的に使用されているグラブも行われるとしたら...
asmeurer

7
Xcode 4は、マークとセパレータを同時に追加する「#pragma mark-Foo」もサポートしています。
typeoneerror 2011

77

1.「objc_exception_throw」のブレークポイント

常にブレークポイントが必要ですobjc_exception_throwです。

2.「ゾンビ」変数を使用した保持/解放の問題のデバッグ

次のコードを使用します。

NSZombieEnabled = YES;
NSDeallocateZombies = NO;

...保持とリリースの問題をデバッグします。詳細については、アップルのデバッグアプリケーションドキュメントの「メモリリークの検索」セクションを参照してください。

3. Interface BuilderからXcodeのクラスにジャンプする

Command ⌘+ Double-clickInterface BuilderのドキュメントウィンドウのオブジェクトをXcodeでそのクラスにジャンプします。これは、ファイルの所有者にとって非常に便利です。

4. Interface Builderでカスタマイズされたオブジェクトを再利用する

後で再利用するために、カスタマイズしたオブジェクトをInterface Builderのライブラリにドラッグして戻します。

5. Interface Builderで重複するアイテムを選択する

Control ⌃ Shift ⇧+ Clickマウスの下にあるすべてのオブジェクトのメニューを表示するには、Interface Builderでオブジェクトを選択します。

6. Interface Builderジェスチャーガイド

インターフェイスビルダージェスチャーガイド


3
すばらしい答えです!以前知らなかった(3)と(4)に2つの賛成票を与えます。
ニコライルーエ

75

Ctrl+ 2:現在のファイルのメソッドとシンボルのポップアップリストにアクセスします。

このショートカットを使用すると、キーボードを使用してファイル全体をナビゲートできるため、これは非常に便利です。リストに到達したら、文字の入力を開始すると、リストは探している記号をタイプ選択します。


19
スペースを使用する(CTRL-2はスペース#2に移動する)ため、キーバインディングを再マップしました。「Pop Symbols PopUp」の「Text Key Bindings」にあります。
bbrown 2009

1
いいヒント。Control-1がファイル履歴リストを表示することを発見しました。
tmadsen

2
XCode5では、CTRL + 6です私は信じている

1
XCode 4でこれにキーバインドはありますか?Spacesを使用しているので、これを再バインドしたいのですが、見つかりません。
Geoffrey Wiseman

5
XCode4では^ 6です。これは「ドキュメント項目の表示」と呼ばれます。
WBlasko

74

エディタをズームイン

ウィンドウに詳細ビューとエディタービューの両方が表示されている場合は、エディターをズームインして、エディタービューをウィンドウの高さいっぱいに拡大できます。(これはかなり簡単に見つけることができますが、多くは見落としているようです。)

これを行うには、次のいずれかの方法を使用します。

  • Command ⌘ Shift ⇧ E

  • 表示 > エディタを拡大

  • スプリッター(エディターウィンドウとその上のファイルリストの間)を上にドラッグします。


18
ツリーを非表示にする方法を見つけるまで、AGESを必要としました-Command-Option-Shift-E。ああ、甘い安心。私はこれを知らせてくれたMacMacDev Glasgowグループに永遠に感謝しています。
ジョンギャラガー、


52

キーボードショートカットはそれほど多くありませんが、ソースのTODOコメントは、エディタ上部のメソッド/関数ドロップダウンに表示されます。

だから例えば:

// TODO: Some task that needs to be done.

メソッドと関数のドロップダウンリストに表示されるので、直接ジャンプできます。

ほとんどのJava IDEはスクロールバーにこれらのタスクタグのマーカーを表示しますが、これはより良いですが、これも機能します。


13
// FIXMEでも機能します。
2009年

4
// MARK:を試したところ、#pragma markとまったく同じ効果があります。// MARK:をダッシュ​​とともに使用して、セパレーターを取得することもできます。
Rose Perrone、2010

1
キャッチするもののリストにマーカーを追加できればいいのにと思います。私が取り組んでいるコードベースにはがたくさんありますが# XXX、それらは表示されません。
asmeurer 2010

@ゴンザロ・ラルラルデなに?// TODOと書くことではなく、ドロップダウンバーにすべてのTODOコメントを表示することを意味します。#failatfailing
ingh.am、

5
Xcode 3では、TODOコメントをコードのどこにでも配置でき、関数ポップアップに表示されます。Xcode 4では、何らかの理由でTODOコメントを表示するには、関数/メソッド本体の外側に配置する必要があります。それはバグです。
SteveCaine 2009

51

⌘-[および⌘-]は、選択したテキストをインデントまたはインデント解除します。ソースコードのクリーンアップがはるかに簡単になります。


テキストを切り取って貼り付けると、魔法のように適切に再インデントされます。:)
Neo42 09/09/17

14
または単にそれを選択して、control-I(タブのようですが、実際にはそうではありません)を押します。
ニコラスライリー

それはコントロールシフトですか?またはコントロールl(lは小文字)?
VxJasonxV

43

オプションを押したままウィンドウを分割すると、水平方向ではなく垂直方向に分割されます。


4
30インチモニターで非常に素晴らしい。ありがとう!
Rob


36

コマンドラインからXcodeのテキストエディターを制御する:xed

> xed -x                # open a new untitled document
> xed -xc foo.txt       # create foo.txt and open it
> xed -l 2000 foo.txt   # open foo.txt and go to line 2000

# set Xcode to be your EDITOR for command line tools
# e.g. for subversion commit
> echo 'export EDITOR="xed -wcx"' >> ~/.profile

> man xed               # there's a man page, too

これは特定のバージョンのXcodeに固有ですか?xedが私には存在しないようです(
SnowLeopard

マニュアルページから:xed was introduced in Mac OS X 10.5 with Xcode 3.0.
スティーブンフィッシャー

31

「Ctrl +左/右矢印」で単語内のテキストナビゲーションを実行します。この機能を使用して、変数内の「ラクダのこぶ」から次のカーソルにジャンプします。


10
Spacesを無効にしている限り、すばらしいことです。\
jbrennan

Option-f、Option-b、Option-dなども試してください。これらはすべてemacsスタイルのキーバインディングです。
ustun

2
@jbrennanスペースが⌥+⌥+ to +⌘に割り当てられている編集:スペースを⌃ +⌥+⇧+⌘に設定するには、「スペースを切り替える:」と「スペースに直接切り替える:」ポップアップを選択し、 Control、Option、Shift、およびCommandキーを押したままにします。
jrtc27 2010

しばらくこれを探していました。マットに感謝し、スペースのヒントをくれたjtc27に感謝します!
Reed Olsen

@ustun:Option-f for meタイプƒ。
asmeurer 2010

30

Xcode は、[ 編集 ]メニューの最後にある[ テキストマクロ挿入 ]メニューから呼び出すことができるテキストマクロをサポートしています。Xcodeのコード補完テクノロジーであるCode Senseを使用して呼び出すこともできます。

たとえば、キーシーケンスp i m control-periodを入力すると、コード補完#import "file"file同様に、編集可能なトークンとしてコードに挿入されます。


30

関数内の変数を右クリックし、スコープ内の[すべて編集]をクリックします。これを見つけてからずっと使っていました。

ctrl T


非常に便利でした。そのコンテキストメニューは間違いなく探索する価値があります。
ruipacheco

7
編集したい単語の上でCtrl-Command-Tを使用してこれにアクセスできます。厄介なメニューよりもはるかに高速です!
ジョンギャラガー、

MacではCtrl +クリックと呼ばれます。

3
デフォルトのショートカットはXcode 4でCtrl + Command + Eに変更され、キー割り当ての設定で変更できます。
Dov

28

XcodeでInfo.plistファイルに対してプリプロセッサを実行することができます。

        <key> CFBundleShortVersionString </ key>
    #ifdef DEBUG
        <string> 1.0(デバッグ)</ string>
    #そうしないと
        <string> 1.0 </ string>
    #endif

詳細については、http://developer.apple.com/technotes/tn2007/tn2175.htmlを参照してください。


16
この場合、Info.plistは常にテキストとして編集する必要があることに注意してください。正しいキーと値のタイプを使用して保持する素敵なプロパティリストエディターで編集することはできません。
Chris Hanson、

27

デバッグ-GDBの使用方法

私はまだこれまでにないので、障害を捕らえて特定することはかなり困難な仕事だと思います。コンソールは、強力なツールであるにもかかわらず、通常は非常に直感的な結果が得られず、デバッガーで何を見ているかを理解することも同様に理解するのが難しい場合があります。Stack Overflowの彼らの何人かの助けを借りて、Cocoa With Loveで見つけられるデバッグについての良い記事 は、もう少し親しみやすくなります。


26

開いているファイル間を
移動する:⌥⌘←
⌥⌘→


5
キーはMacの「オプション」(⌥)であり、「alt」ではありません。
Chris Hanson、

7
白いAppleキーボードは確かにオプションキーにaltが書かれています。
Chris Lundie、2008年

19
Chris、「alt」ラベルはスイッチャー用です。古い学校のMacの人はそれをオプションとして知っています。神が意図したように。
willc2 2009年

1
トラックパッドジェスチャーのファンなら、3本指で左右にスワイプして同じ効果を得ることができます。
リードオルセン

25

技術的には、Interface Builderのヒントですが、それらは本にマッチしたペアなので、これはトピックから外れているとは思いません...

コントロールの1つをShift +右クリックすると、オブジェクト階層の優れた選択リストが表示されます。これ以上クリック、クリック、クリック、フラストレーションはありません!


22

トラックパッド付き:

  • 3本指で上にスワイプ-ヘッダーとソースファイルを切り替えます。これはCmd+ Opt+ より簡単Upです。
  • 3本の指で下にスワイプ-クラスまたはメソッドを選択するときに、宣言と定義を切り替えます。現在、これらの2種類が見つかりました。
  • 3本の指で左にスワイプ-戻る(Cmd+ Opt+ Left);
  • 3本の指を右にスワイプ-前進(Cmd+ Opt+ Right);

Xcode 3.2.5でテスト済み。


21

Xcode のクラスブラウザshift+ +をc押して到達しました。スコープを縮小して、アクティブなプロジェクトのみを表示できます。クラス階層のみを参照したい限り、雑然としたビューを提供します。


うわー!これを知らなかった...これが私のメインの「作業」ウィンドウになるかもしれません。ほぼVisualAge(良い部分)のように感じます:D
rcw3

AAARRGGHH古いObjectMasterのファンとして、XCode4で削除されたことに気づくまで、私は喜んでこれについて読んでいましたが、このIDEの大きな一歩は信じられません。私はまだXcodeの3を使用して、アップル内部の人々のトンがあります賭け
アンディデント

19

を使用][て正しい場所に自動的に挿入する

私は.NETの出身なので、シンボルを入力してからそのメソッド名の1つを入力するのに慣れています。その[ため、オブジェクト名の入力を開始する前に、常にを忘れてしまいます。通常、これは行の先頭に移動して[手動で追加する必要があることを意味しました。]現在のカーソル位置で押すだけだとは知らなかったので、自動的に追加されます。

これを使用する方法があります。関数の名前を入力した後、または関数の名前を入力する直前。

方法1:関数名の後

myObject testMethod]

...になる:

[myObject testMethod]

...の後ろにキャレットを配置します]

方法2:関数名の前

myObject]

...になる:

[myObject ]

...右の位置にキャレットを持つ前に]

後者(2)の利点は、コード補完がオブジェクトのメソッドでフィルタリングされることです。一方、前者(1)myObjectでは、の直後にコード補完を呼び出そうとすると、フィルターされません。(2)のもう1つの利点は、ドット表記を使用する他のプログラミング言語のように動作することです。次に、メソッドにアクセスする]代わりに、オブジェクトの名前を入力します.


17

テキストのブロックを選択し、cmd- /と入力してコメント化します。コメント文字を削除するには、もう一度実行してください。

これは、バランスの取れた文字(括弧、中括弧、大括弧)をダブルクリックして中括弧マッチングと組み合わせる場合に特に役立ちます。


Xcodeのコメント/コメント解除は、前回チェックしたときに完全に壊れていました。それは残念だ。
Joe

16

スーパークラスからオーバーライドできるすべてのメソッドをすばやく確認できる。たとえば、UITableViewControllerを拡張するときは、実装に入力するだけです。

- ta

次に、ESCを押して、「ta」で始まるスーパークラスのすべてのメソッドを確認します。

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

これはプロトコルを採用するときにも機能します。


14

Command ⌘ alt ⌥ shift T :プロジェクトツリーで現在編集されているファイルを表示します。


素晴らしいヒント、ありがとうございます。これは、プロジェクトがしばらく開発された後にプロジェクトで作業するために呼び出される場合など、他の誰かのコードで作業する場合に非常に便利です。
Aran Mulholland

14

ctrl+ alt+ + rログをクリアするには


1
興味深いことに、私はAppleが実行に両手を必要とするショートカットに眉をひそめたと思いましたか?
Tejaswi Yerukalapudi 2011

13

クラスブラウザを使用して継承されたメソッドを表示する

AppleのAPIリファレンスドキュメントには、スーパークラスから継承されたメソッドは示されていません。時には、しかし。独自のカスタムクラスを含め、クラスで使用できるすべての機能を確認できると便利です。([プロジェクト]メニューの)クラスブラウザーを使用して、現在のプロジェクトに関連するすべてのクラスのフラットなリストまたは階層的なリストを表示できます。ブラウザウィンドウの右側の上部ペインには、ブラウザで選択されたオブジェクトに関連付けられているメソッドのリストが表示されます。[オプションの構成]シートを使用して[継承されたメンバーの表示]を選択すると、継承されたメソッドと、選択されたクラス自体によって定義されたメソッドが表示されます。小さな本の記号をクリックすると、対応するドキュメントに移動します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.