*

Xcode5を軽快に利用するためのショートカット[基本編]

公開日: : 最終更新日:2014/04/04 Objective-C ,


スポンサードリンク



「Xcode5のエディタエリアの説明 [前編]」
「Xcode5のエディタエリアの説明 [中編]」
「Xcode5のエディタエリアの説明 [後編]」

とエディタエリアの使い方の説明をさせていただきましたが、本エントリーでは
Xcode5(iOS7対応バージョンのアプリケーション開発用の統合開発環境)で活用すべき便利なショートカットキーを紹介させていただきます。是非とも覚えていただいて、実際のアプリ開発時にも利用していただければと思います。

利用しているXcodeはXcode5(5.0.2)となります。

マウスに一旦手を動かし、再びキーボード、またマウスみたいなことをしていると時間かかりますよね。

と言いつつ、普通のレベルのプログラマだと、キーボードをずっと打ち続けることは不可能です。
コーディングって、頭で考えた処理をコードに落としていく作業です。でも頭でどこまで考え、整理できているかは、まあ個人差はあるといえますが、手を止めずに数時間もずっとキーボードを打ち続けるなんてことはあり得ないですよね。

少しレベルが高くなると、コーディングしながら同時に考えること(まあ難しくない事ですけど)も出来るようになります。
コーディング自体が難しいとの局面も確かにありますが、大抵のコーディング作業は、ある程度の知識があれば本当に手を動かすだけです。コードがある程度出来上がってくると、逆に頭で考えていた処理が細かい所で破綻をきたしたり、大きく勘違いしていたりすることが見えてきます。後者になってくると手が完全に止まりますが・・・

じゃあ、ショートカットなんか使わなくても良いのでは?、とのツッコミたくなると思います。
そのツッコミに対する答えは、Noです。ショートカットには大きな意味があります。
コーディングを行う上でのリズム感と言うか、グルーヴ感が大きく異なります。アプリ開発にはグルーヴ感が命だ!

グルーヴと言えば外せないのがエアグルーヴ・・・、アプリ開発とは全く関係ありませんが・・・

かなり言葉足らずですが、こんな感じでコードを打ち込みたいのに、マウスに手を動かして、キーボードに戻って、またマウス、みたいな動作ってとってもグルーヴ感が削ぎ落とされます。
またまた?が数個飛んでいるとは思いますが、前置きはここまでといたします。

絶対に覚えておきたいショートカット

必ず覚えておいて、常に利用すると生産性の向上間違いなしなショートカットをご紹介いたします。
なお、「Master-Detail」テンプレートのプロジェクトを作成し、検証と画面画像のキャプチャを行っています。

コード補完系

「option」ボタン+「Esc」ボタン

Xcodeはもとより、他の統合開発環境でもコード補完機能は有ってあたりまえの物です。
Xcodeでは、一旦確定したコードの後ろにカーソルを移動させ、この組み合わせのボタンを押すと再度コード補完機能が呼び出せます。
一度コード補完でコードを確定したけど、いやいや、って時にご利用ください。

コード補完機能に関しては
「Xcode5のエディタエリアの使い方[後編]」
のコード補完の利用をご覧ください。

カーソル移動系

マウスとキーボードの行き来を激減させるショートカットですので、絶対利用することをお勧めします。

「Command」ボタン+「←」

選択している行の行頭へ移動しますが、これってとっても残念なんですよね、だって本当に行頭に移動ですもん。
私的には、インデントで空白が入った直後の場所に移動して欲しいのですが・・・
スクリーンショット 2014-03-01 14.26.53

「Control」ボタン+「A」ボタンでも同じ動きとなります。私は直感的な操作を好みますので「←」を先に記載しております。

「Command」ボタン+「→」

選択している行の行端に移動します。以下の画像では先頭から行端ですが、先頭でなくても行端に移動します。
スクリーンショット 2014-03-01 14.33.29

「Control」ボタン+「E」ボタンでも同じ動きとなります、

「Control」ボタン+「D」ボタン

右の1文字を削除を削除します。Windowsだとキーボードにこの動作をするボタンがあるので、Winユーザには、?って物ですが、Mac上で動作するXcodeではすごく便利です。

「Option」ボタン+「→」ボタン

右へ1単語分移動します。”{“、”.”、”;”などは当然ながら無視します。
これは本当に便利です。しかし、このショートカットorマウスに手をのばした方が早いかの判断は当然必要です。当然ですが、後者の方が早い場合もあります。
1点、残念な事は、コメントを無視してくれないことです。コメント内で1単語ずつ移動しても・・・
日本語コメントの場合は、やはりAppleですね、形態素を1単語として移動しますのでやっぱり残念・・・

実際の動作例として、以下のソースの先頭にカーソルが存在する状態での動作を記載いたします。

以下の画像が「Option」ボタン+「→」ボタンを押すたびにカーソルが移動する場所を示した画像となります。
赤い数値の回数だけ「Option」ボタン+「→」ボタンを押すと、赤い数値のさす矢印の先にカーソルが移動することを示していますので、1行目の先頭が0となっております。
スクリーンショット 2014-03-01 16.48.41

「Option」ボタン+「←」ボタン

「Option」ボタン+「→」ボタンの逆方向バージョンです。左へ1単語分移動します。

「Option」ボタン+「Shift」ボタン+「→」ボタン

「Option」ボタン+「→」ボタンのに「Shift」ボタンを追加しているので、ああ、これは選択だな!と直感的にわかりますよね。右へ1単語分ずつ選択移動するショートカットです。
「Option」ボタン+「→」ボタンの説明画像で・・・、やっぱり新しい説明画像作成しました。
スクリーンショット 2014-03-01 17.40.42

「Option」ボタン+「Shift」ボタン+「←」ボタン

「Option」ボタン+「Shift」ボタン+「→」ボタンの逆の動きとなります。

「Command」ボタン+「↓」ボタン

ファイルの終端へ移動します。

「Command」ボタン+「↑」ボタン

ファイルの先端へ移動します。

「fn」ボタン+「option」ボタン+「PageDown」ボタン

1ページ下へ移動します。
「Control」ボタン+「V」ボタンでも同様の動作が可能です。
しかし、1ページ上に移動に相当するショートカットが「fn」ボタン+「option」ボタン+「PageUp」ボタンしか存在しないため、「fn」ボタン+「option」ボタン+「PageDown」ボタンを利用することをお勧めいたします。

「fn」ボタン+「option」ボタン+「PageUp」ボタン

1ページ上へ移動します。

「Command」ボタン+「L」ボタン

ボタンを押した後に行番号指定の画面が表示されますので、行番号を指定しリターンを入力します。すると指定行に移動します。

ファイル操作系

「Control」ボタン+「Command」ボタン+「→」

1つ前に開いたファイルをテキストエディタに表示する。
「Jump Bar」の「The related items」の右側にある右矢印ボタン相当の動作をします。

「Control」ボタン+「Command」ボタン+「←」

1つ後に開いたファイルをテキストエディタに表示する。
「Jump Bar」の「The related items」の右側にある左矢印ボタン相当の動作をします。

検索系

検索を素早く行うためのショートカットです。うー、そのままですね。

検索したい文字列を選択+「Command」ボタン+「E」ボタン

この操作により検索対象文字列がバッファにセットされますが、これだけでは何も起こりません。

「Command」ボタン+「G」ボタン

バッファにセットされている文字列を検索(次へ)します。

「Shift」ボタン+「Command」ボタン+「G」ボタン

バッファにセットされている文字列を検索(前へ)します。

「Command」ボタン+「F」ボタン

ファイル内検索を行います。

「Command」ボタン+「Shift」ボタン+「F」ボタン

ナビゲーションエリアのナビゲータをファイル検索ナビゲータに切り替えて、バッファにセットされている文字列を検索欄にセットした状態にします。

上述の説明だけでも問題無いとは思いますが、絵的な物を入れたいので、
って冗談ですが、実際の検索時のイメージを掴んでいただけるよう画像と説明を記載させていただきます。
イメージを掴み損ねることがあるかもしれませんが、ご了承ください。

動作確認用に作成しているプロジェクトのAppDelegate.mをエディタエリアに開いた状態にします。
スクリーンショット 2014-03-01 22.28.54

14行目のコメント内のUesを検索対象の文字列にセットします。
Uesを選択し「Command」ボタン+「E」ボタンです。
スクリーンショット 2014-03-01 22.32.11

検索(次へ)を実行してみます。
「Command」ボタン+「G」ボタンです。
すると次の文字列”use”が選択されます。「Command」ボタン+「G」ボタンを押すたびに次の”use”に移動していきます、
スクリーンショット 2014-03-01 22.38.24

逆方向の検索の画像は省略いたします。
次はファイル内検索を行います。「Command」ボタン+「F」ボタンを押してください。
検索文字列は引き続き”use”のままです。すると以下の画像の様な画面が表示されます。
文字列useが黄色にハイライトされていることが確認できます。
スクリーンショット 2014-03-02 12.59.01

注目していただきたいのは、以下の画像の3つの赤枠部分です。
1つ目の「Find」は検索モード、2つ目の赤枠は検索対象の文字列、3つ目の赤枠はヒットした件数を表しています。
スクリーンショット 2014-03-02 12.54.29

「Find」をクリックすると以下のメニューが表示され、「Find」と「Replace」の切り替えが行えます。
スクリーンショット 2014-03-02 13.01.59

検索(次へ)、検索(前へ)は以下の赤枠の矢印の部分をクリックすることで実行できます。
検索を終了する場合は、矢印の右にある「Done」ボタンをクリックしてください。
スクリーンショット 2014-03-02 13.04.55

検索の最後は、「Command」ボタン+「Shift」ボタン+「F」ボタンの動きの確認です。
「Command」ボタン+「Shift」ボタン+「F」ボタンを押してください。
するとナビゲーションエリアが検索ナビゲータに切り替わり、検索ワードに”Use”がセット状態に変わります。
スクリーンショット 2014-03-02 13.15.45

リターンボタン押すとプロジェクト内検索が実行されます。
スクリーンショット 2014-03-02 13.21.01

コード編集系

「Control」ボタン+「i」ボタン

現在の行、もしくは選択されている行のインデントを正しくします。
任意のファイルの全ての行のインデントを正しくしたい場合は、
任意のフィアルをエディタで開き「Command」ボタン+Aボタンを押し、全行を選択状態にした後「Control」ボタン+「i」ボタンでインデントを正しくできます。

「Control」ボタン+「K」ボタン

現在の場所から行末までのコードを削除します。これも今までの流れ通りですがコメント内でも有効です。

「Command」ボタン+「/」ボタン

コメントアウト/コメントアウト解除を行います。

アプリケーションの実行&デバッグ系

デバッグ実行を行うときに覚えておくと生産性が上がるショートカットを紹介させていただきます。
なお、デバッグ作業が最もショートカットの効果が高い作業であると個人的には考えています。
各ショートカットの説明をさせていただいた後、簡単なデバッグ方法の説明も記載いたします。
簡単でないデバッグ方法は別エントリーで記載させていただく予定です。

「Command」ボタン+「R」ボタン

選択しているSchemeを実行します。

「Command」ボタン+「B」ボタン

選択しているSchemeをビルドします。Xcodeではファイル変更時に自動ビルドを行わないので、ビルドも意識して実行する頻度が高くなります。

「Command」ボタン+「.」ボタン

実行を停止します。

「Command」ボタン+「¥」ボタン

ブレークポイントの挿入/削除を行います。

「Control」ボタン+「Command」ボタン+「Y」ボタン

デバッグでステップ実行している状態をやめて、アプリケーションの実行を続行します。
続行後の処理にデバッグポイントが存在する場合は、その箇所で止まります。
存在しない場合は、アプリケーションを人が操作できる状態になります。

「F6」ボタン

ステップオーバー(現在の処理対象の行を実行し、処理対象行を次行に移動します。)に相当する処理を行います。
Eclipseだと「F5」、「F6」、「F7」のバインディングなんでEclipse使いの方には違和感有りまくりですね・・・

「F7」ボタン

ステップイン(現在の処理対象の行にメソッドが存在する場合はそのメソッドの内部に入った状態で中断します。)に相当する処理を行います。

「F8」ボタン

ステップアウト(現在の処理対象メソッドを全て処理し、その呼び出し元に戻った状態で中断します。)に相当する処理を行います。

ショートカットを用いたデバッグ

検証用に作成している「Master-Detail」テンプレートのプロジェクトのMasterViewController.mを利用してデバッグを行います。

デバッグを行う前にhogeHogeメソッドの追加と呼び出しを記載しました。
MasterViewController.hには

MasterViewController.mには

呼び出しはviewDidLoadメソッドの最後に記載しました。

実際にデバッグもどきを行ってみます。
[手順1]デバッグポイント1の追加
awakeFromNibメソッドの[super awakeFromNib];の行にデバッグポイントを追加します。
以下の画像22行目で「Command」ボタン+「¥」ボタンを入力します。
スクリーンショット 2014-03-02 19.22.58

ブレイクポイントが追加できました。
スクリーンショット 2014-03-02 19.24.00

[手順2]デバッグポイント2の追加
viewDidLoadメソッドの[self hogeHoge];の行にデバックポイントを追加します。
追加後の画面イメージは以下の通りです。このイメージでは33行目となっています。
スクリーンショット 2014-03-02 19.19.10

[手順3]アプリケーションの実行
「Command」ボタン+「R」ボタンで実行します。
するとデバッグポイント1で停止します。
スクリーンショット 2014-03-02 19.30.49

[手順4]ステップオーバーを実行
「F6」ボタンボタンを押します。するとステップオーバーして1行進みます。
スクリーンショット 2014-03-02 19.33.21

[手順5]再度ステップオーバーを実行
「F6」ボタンボタンを押します。するとステップオーバーして1行進みまが先ほどとは少し感じの異なる画面になります。いかにもアセンブリ言語って感じですね、フレームワークの処理内に入ると全てこの様に表示されます。
スクリーンショット 2014-03-02 19.34.59

Windows上で動作するアプリケーションのデバッグをする時には、天下のMicrosoft様から提供されてシンボルファイルを用意することで、OSの処理も高級言語で追いかけることができますが、Objective-Cではできないのでしょうか?

[手順6]アプリケーションを継続実行
「Control」ボタン+「Command」ボタン+「Y」ボタンを押し、アプリケーションを継続実行します。
するとブレークポイント2で処理が止まるはずです。
スクリーンショット 2014-03-02 19.47.29

[手順7]ステップインを行う
「F7」ボタンを押してhogeHogeメソッドにステップインします。
スクリーンショット 2014-03-02 19.51.14

「F7」ではなく「F6」でステップオーバーすると、hogeHogeメソッドは実行されますが、メソッドの内部に入ってデバッグを行うことはできません。

[手順8]ステップオーバーを行う
せっかく作ったhogeHogeメソッドなので、1行だけステップオーバーしてみます。
「F6」でステップオーバーすると以下の画面の様になるはずです。
スクリーンショット 2014-03-02 20.06.27

[手順8]ステップアウトを行う
hogeHogeメソッドのデバッグはもういいので、hogeHogeメソッドを抜けたいと思った時はステップアウトです。
「F8」でステップアウトすると以下の画像の様になるはずです。
string = @”コパすげー、凄すぎ!”;で止まらずにhogeHogeから抜けてます。
スクリーンショット 2014-03-02 20.10.14

[手順8]デバッグの停止を行う
デバッグに限った事ではないです。単にアプリケーションの実行を停止するだけです。
「Command」ボタン+「.」ボタンで停止します。

「Xcode5を軽快に利用するためのショートカット[基本編]」は以上です。実際のアプリ開発時にもご利用いただければ幸いです。


スポンサードリンク

Googleアドセンス

Googleアドセンス




関連記事

Xcode5の「Auto Layout」機能の使い方[Pin制約の設定方法]

「基礎知識と制約(Align:アライメント)の設定方法」に引き続き、「Auto Layout」に必要

記事を読む

Xcode5の「Auto Layout」機能の使い方[制約の編集方法]

Xcode5の「Auto Layout」機能の使い方と Xcode5の「Auto Layout

記事を読む

Xcode(Objective-C)のデリゲートとプロトコルの使い方[前編]

Xcode(Xcode5でも同様)でアプリ開発をしていて、少し複雑な事をしようとするとデリゲートと言

記事を読む

Xcodeのユーティリティエリアの使い方[ソースファイル表示時]

本エントリーでは、Xcodeの「ユーティリティエリア」の使い方を説明させていただきます。 利用

記事を読む

Xcode5の「Auto Layout」機能の使い方[簡単な画面レイアウトを構成してみる。]

「基礎知識と制約(Align:アライメント)の設定方法」 で「Auto Layout」機能の利

記事を読む

Xcode5でイメージ(画像)を表示&操作する[後編]

Xcodeでアプリ開発を行う時に、イメージ(画像)の表示とイメージ操作時のイベント処理は必須とまでは

記事を読む

Xcode5でSchemeを利用する。[前編]

Xcode5の「Scheme」の作成方法や使い方のエントリーとなります。 思った以上に内容が多くな

記事を読む

Xcodeの使い方[エディタエリアの環境設定]

「Xcodeの使い方」に引き続き「Xcodeの使い方[エディタエリアの環境設定]」となります。

記事を読む

Xcode(Objective-C)のデリゲートとプロトコルの使い方[後編]

ではXcodeが既に用意しているデリゲートを利用した実装例について説明させていただきました。

記事を読む

no image

Xcode5のナビゲーションエリア[問題ナビゲータ]の使い方

Xcode5のナビゲーションエリアの使い方では、アプリ開発に最も不可欠は、プロジェクトとシンボルナビ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

動画で英語を学習できるiOSの無料アプリCapTubeをリリースいたしました。

個人では初となるiOSアプリをリリースいたしました。 何度もリジ

no image
Ruby on rails4系でBootstrapを利用するためのtips

MacでRuby on rails4系のBootstrapを利用しよう

no image
Java、Eclipse、JUnit関連のエントリーの移行のお知らせ

Java、Eclipse、JUnit関連のエントリーは http:/

iOS8開発者向けお勧め本紹介[詳細! Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応]

iOS7開発者向けお勧め本紹介を以前に紹介させていただきまいたが、今回

Swift入門(Xcode6のXCTestフレームワークで学ぶ) 第二回「関数(メソッド)とクロージャーの利用方法」

前回はSwiftの概要をザックリと説明させていただきました。 今

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑