54
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Xcodeのショートカットを使おう! 〜Xcode Effective Tips gif操作画像付き〜

Last updated at Posted at 2015-10-01

Xcode Effective Tips

Xcodeは効率的に使いたいですよね。個々人でいろいろと工夫をして自分にとって使いやすい環境を作っているとは思うのですが、この記事では僕が効率を上げようと思って好きで使っているショートカットやプラグインを紹介したいと思います。

本当によく使うものだけをピックアップしているので「そんなの知ってるぜ!」ってものだらけだと思いますが、Xcodeを使い始めたばかりの人にも是非使っていただきたいものを集めいてます。

ショートカットキー篇

ショートカットはいろいろあるのですが、個人的に絶対に押さえておくべきだと思ったものをまとめました。

飛びたいファイルにジャンプ - command + Shift + o

command + Shift + oで任意のファイルにジャンプすることができます。
command_shift_o.gif

ちょっと定義を確かめたい時などに利用しています。後述するcontrol + 6をこれと合わせて使ったりします。

ファイルをブラウザみたいに移動する - command + option + 上下左右キー

ブラウザのように戻る、進むをしたい場合は以下のようにできます。Swiftにはヘッダファイルはないのでできませんが、Objective-Cであればcommand + option + ↑ or ↓でヘッダと.mファイルを簡単に移動することが可能になります。

  • 戻る
    • command + option + ←
  • 進む
    • command + option + →
  • .h, .mへ移動(Objective-Cのみ)
    • command + option + ↑ or ↓

ファイル内のメソッド一覧表示、検索、ジャンプ - control + 6

ファイル内のメソッドの定義まで飛ぶことができるのがcontrol + 6control + 6を押した後に、文字を入力することで補完してくれるので目当てものを見つけやすいです。

control_6.gif

control + 6をでメソッドの一覧がソースコード中の並び順で表示されます。ソースをSwiftの場合はMARK:、Objective-Cの場合は#pragma markなどでマークしておくとコードの見通しが非常に良くなると思います。

選択している行のメソッド定義までひとっ飛び - command + control + j

「このメソッド、どこでどんな風に定義されているんだ?」と思った時はcommand + control + jで確かめましょう。

command_shift_j.gif

確認し終わったら、上述したcommand + option + ←でジャンプする前のファイルに戻りましょう。

インデントを一発修正 - control + i

control + iでインデントを一発で修正することができます。
control_i.gif

特にクロージャ、ブロックでネストが深くなってしまったりしたコードを書いている時に重宝します。

文字選択を簡単にする - option + 左右キー

これはXcodeではなくMacのショートカットなんですが、option + 左右キーで、単語区切りでジャンプが可能になるので移動や文字選択がすごく楽になります。
option_arrow.gif

ただし残念ながら日本語ではうまく機能しません。

コメントアウト - command + /

選択したコードをコメントアウト。
command_slash.gif

Build, Run, Test, Stop, Clean - command + b,r,u,., command + shift + k

自然に覚えるのではないかと思います。

  • Build -> command + b
  • Run -> command + r
  • Test -> command + u
  • Stop -> command + .
  • Clean -> command + shift + k

その他

この辺を覚えておくとデバッグ時にちょっとだけ楽になります。

  • Debug Area表示 -> command + shift + y
  • Clear Console -> command + k
  • Breakpointのアクティブ切り替え -> command + y

Xcodeで定義されているショートカット確認アプリ - CheatSheet

ショートカットを覚えるまではCheatSheetというアプリを入れておくと良いと思います。

Xcodeを開いている状態でCommandキーを押し続けている間だけショートカットの一覧を表示してくれます。

cheatsheet.gif

Xcodeに限らず使えるので、ショートカットをバンバン使っていきたい人はかなり重宝すると思います。

コードの補足篇

以下の説明はSwiftがメインなので、Objective-Cで書いている場合は若干異なります。

TODO:, FIXME:

コードを書いている時に、とりあえず後回しにしようと思ったらすぐにTODO:や、ちょっと後でリファクタしようと思った部分はFIXME:を入れるようにしています。

コードが完成に近づいたら、gitでcommitしようとしているファイルを開き、control + 6を押してTODO:FIXME:がないか確認したりしています。

入力させたいものにはコレ - <# #>

<# #>を使用すると、スコープ内にいる時にタブでジャンプすることができます。

  func doSomething() {
    <# write some code #>
  }

何か必ず入れたいものはこれを使用しています。
support.gif

snippetに登録する際に必ず入力してほしい場所にはこれを使います。
register_snippet.gif

また、snippetにはよく使うものを保存しています。個人的に用意しているものは以下のようなものです。

  • UserDefaults
  • ローカライズ

こんな感じで使っています。
snippet.gif

登録したsnippetにはショートカットをつけることができます。

snippet_save_with_shortcut.gif

snippet_execute.gif

ただしsnippetを登録している最中にXcodeがよくクラッシュしてしまいます。また、ショートカットを登録しても何で登録したのかよく忘れてしまうので、実際にはSnippet Libraryから検索して使うことが多いです。

最近になってちゃんと使おうと思い始めて、これから増やしていこうと思っています。最近は個人的に書いたコードは自分のGistにちょっとずつためるように意識しています。

プラグイン篇

Alcatraz

まずは使っている方も多いと思いますが、Xcodeのプラグインを圧倒的に使いやすくするAlcatrazです。

というかプラグインを入れるにはまずこのパッケージマネージャを入れないと始まらない感じです。

これがあれば欲しいプラグインをすぐに検索できます。
スクリーンショット 2015-09-29 23.55.31.png

カラースキームもアッという間にダウンロード可能です。
スクリーンショット 2015-09-29 23.54.26.png

個人的にはカラースキームは(テンション的に)大事なので、ここで一覧して探すことができるのにかなり助けられています。僕はfruitsというカラースキームを使用しています。

コードをキレイに整えるXAlign

XAlignはコードをキレイにフォーマットしてくれる便利なプラグインです。コードを整えたいところを選択してCommand + Shift + xを押すだけ。

xalign.gif

好みのあると思いますが、コードをきれいに揃えられます。揃っていた方がコードが整頓されていて心地が良いのでとても重宝しています。

個人的には精神的にもコードの見通しの良さと作業効率は直結するのでとっても重要です。

メソッドの説明を圧倒的に書きやすくするVVDocumenter-Xcode

VVDocumenter-Xcodeは定義されているメソッドの上の行で/を3回入力するだけでメソッドに対する説明、仮引数の説明のフォーマットを用意してくれます。

VVDocumenter-Xcode.gif

これがあれば面倒な記述もあっという間に終わります。メソッドをoption + click することで記述したコメントを閲覧することができるので、いちいち定義した場所に飛ばなくてもよくなります。

VVDocumenter-Xcode2.gif

Realmを使っているのであれば是非とも入れたいRealmPlugin

Realmを使っている人限定になってしまうのですが、RealmPluginを入れておくとモデルクラスの作成がめちゃくちゃ楽になります。

スクリーンショット 2015-09-30 0.31.07.png

RealmのRLMObjectを継承したクラス用のテンプレートが用意されているので手間を省くことができます。

まとめ

きっとまだまだ便利なものがたくさんあって、そういったものがちょっとずつ集まって、塵も積もれば山となる的な感じで効率が大きく上がっていくのではないかと思います。

「いやいや、こんな便利なものがあるよ!」というオススメがあれば是非教えていただきたいです。

補足

この記事の内容は会社で開催している勉強会で発表しました。発表に使用したスライドはこちらにあげています。

いろいろと他の方々の意見を聞けたので面白かったのですが、「snippetは便利だなぁと思いつつもメンテナンスが大変そうなので...」といった意見が出て「確かにそうだな...」なんて感じたり、意外とみなさんAlcatrazとか入れずに運用していることが分かって面白かったです。

まとめる必要もないかな?と思っていたのですが、自分のちょっとした工夫を共有できたのでちょいちょいまとめるのもいいなと思いました。

なお、gifの作成にはGifGrabberを、コマンドの表示にはKeyCastを使用しています。

54
45
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?