Edited at

[ObjC][AppCode] yidev第十五回でデモしたAppCodeの内容

More than 5 years have passed since last update.

2014.6.14 yidev第十五回 でデモをしたAppCodeの内容です。(一部加筆)

っていうか、「AppCodeの良さって文字で伝わるようなもんじゃねーな」とおもいつつも、一応書きました的なヤーツです。


元スライド

Slide Share : AppCodeについて


クラス自動生成

Command + Return : Intention Actions


メソッド自動生成。編集。

Command + Return : Intention Actions :


  • 自動メソッド生成(クラスメソッド インスタンスメソッド self でも他のクラス内でも)

  • .h .m の連携 (自動生成、変更の連動)

  • 引数の変更 Command + F6 : Change Signature

  • とりあえず Control + T 押す


プロパティ/変数の自動生成



  • カーソルのある位置を起点に範囲を指定して変数化

    Command + Option + V: Variable




  • 変数をインライン化

    Command + Option + N: inline




  • [応用] 複数行 ←→ 単一行にさくっと変更。

    よくあるNSBundle とかNSURLとかをサクッと1行にしたり複数行にしたりできる




デリゲートメソッドを挿入



  • Command + Control + O : Override Methods


  • Command + Control + I : Implements Methods


自動インポート整理



  • 自動インポート 

    Command + Return : Intention Actions




  • 不要なインポートを一括削除

    Command + Option + O




ライブテンプレート

強力で柔軟なスニペット。

Edit Variablesを駆使することでいろんなテンプレートが作れる。

チャカチャカ打ってTABを押す。



  • logvの例

    expresionFormatCode() とか




  • オレオレライブテンプレートの紹介(bundle/delegate/singleton) の例

    enum(..)を利用するとプルダウンが作れたりとか。

    fileNameWithoutExtention()で現在のファイル名がとれたりとか。



  • とりあえず command + J 押す



復数カーソル選択

Shift + Option + Click

使いこなせるやつにオレは会いに行く。


formatter の設定 


  • [Preference] > [Code Style]

- [TIPS] 特定のタグで囲んだ領域はformatterを無視するようにできる

  [Preference] > [Code Style] > [General] > [Fromatter Control]をチェックして下記のタグで囲む。(囲むタグはカスタマイズできるみたい)


//@formatter:off

//ここにかいたコードはふぉーまっとされないぜヒャッハー!!!

//@formatter:on


その他便利なTips



  • Dash も開けるよ

[Preference] > [External Document] で設定

Keymap のExternalDocumentで任意のショートカットを設定

(例:Option + Clickなど)


  • Injectioin プラグインも使えるよ


  • Reveal も使えるよ


  • Call hearerchy Option + Control + H


メソッドがどこから呼ばれているのか、どこを読んでいるのか辿れる!



  • Find Usage Setting... Commnd + Option + Shift + F7

変数 がどこからよばれているのかわかる。参照なのか代入なのかとか。



  • ブラケット記法とドットシンタックス記法の切り替えなど

    Command + Return: Intention Actions




  • 行の操作


    • 行の削除 Command + Option + Delete

    • 行の複製 Command + D
       

      ※個人的にこれらは対になるようなキーに変更している

    • 行の移動(上) Move Line Up :Option + Shift + [

    • 行の移動(下) Move Line Down :Option + Shift + ]




  • 選択領域を色んなパターンでサクッと囲う

    Surround cord command+option+Tifとかwhileとか




  • コピー履歴からペースト Command + Shift + V

    ClipMenu みたいな機能。コピー履歴を複数選択して結合してペーストとか謎機能もある。



  • 開いているタブのリスト表示 Control + Tab


  • Recentry Changed File Control + 4


 最後に編集したファイル一覧をポップアップ表示、で選択して移動


  • Export Inport Setting

IDEの設定ファイルを簡単にインポート・エクスポートできる。

 File > Export Setting などから、Live Template やFormatterなどの各種設定が書き出せる。チーム共有や、複数マシンでの設定作業が楽。



  • StoryBoardも対応しているよ

    個人的にはまだ微妙。今後に期待




  • Swift も対応したよ(3.0.1)

    3.0.1ではまだ、「プロジェクトが作れてコンパイルが通りますよ」という感じのレベル。


    • まだフォーマッタがない

    • コンパイルエラーになる箇所を教えてくれない

    • Swiftプロジェクト内でObjcをつくってもbredge-headerが追加されない

    など今後に期待!




神ショートカット



  • Show Intention Actions Command + Return

    問題のある箇所にカーソルを合わせて実行すると空気をよんで色々提案してくれる

    とりあえず押す




  • Find Action Command + Shift + A

    わからなくなったらとりあえずコレ

    Appcode 内の全アクションをインクリメンタルで検索、実行。




  • Completion Control + Space

    いい感じに空気読んで補完



  • Generate Code Command + N


いい感じに空気よんでメソッド挿入


git まわり

ここみるといいかも Git integration in AppCode


  • 選択部分が一発でgitsにあげれるという謎機能

  • 差分確認


チートシート

わからなくなったらとりあえずコレ

[Help] > [Default Keymap Reference]


Appcode プラグインサイト

AppCode Plugins

 いろんなプラグインがある。

※プラグインってつくれるのかな?つくってみたい。