Storyboard Identifier をコード補完するLin-Xcode5ライクなプラグインをつくりました
StoryboardHelper !
ヤフー vs クラスメソッド「iOS 炎の7番勝負」では負けてしまいましたが、みなさんが「いいね!」してくれた気持ちに応えるべく、StoryboardHelper を公開します!
ソースコードで Storyboard に定義される View Controller や Segue の identifier をコード補完するプラグインを作成しました。その名も StoryboardHelper !(StoryboardIdentifierHelperじゃなくなりましたw)
GitHub | hirai-yuki/StoryboardHelper |
---|---|
ライセンス | MIT |
ソースコードや動作は、全俺が感動したプラグイン Lin-Xcode5 を参考に作成しました。
StoryboardHelper の機能がそのまま Lin-Xcode5 インスパイアであることや、ソースコードが非常に綺麗に書かれていること、とくにUI周りが秀逸であることなど本当に参考になりました。
このプラグインの作成にあたり、Lin-Xcode5 のソースコードを見るまでこのプラグインが日本人の方が作成されていることを全然知りませんでしたw
Katsuma Tanaka@questbeatさん、素敵なソースコード、そしてこのプラグインの公開につきまして快く承諾していただき、本当にありがとうございます!
この方が書かれているブログ a.out も合わせてご一読ください!
StoryboardHelper の機能
StoryboardHelper は NSLocalizedString ではなく、以下のメソッドにカーソルがあるときに .storyboard ファイルで定義される identifier をポップアップ表示します。
- (id)instantiateViewControllerWithIdentifier:@"<View Controllerのidentifier>"
;- (void)performSegueWithIdentifier:@"<Segueのidentifier>" sender:(id)sender
[segue.identifier isEqualToString:@"<Segueのidentifier>"]
- instantiateViewControllerWithIdentifier: にカーソルがある場合は、View Controller の identifier がポップアップ表示されます。
- performSegueWithIdentifier:sender: メソッドや [segue.identifier isEqualToString:@"<Segueのidentifier>"] にカーソルがある場合は、Segue の identifier がポップアップ表示されます。
Lin-Xcode5 同様、設定画面より有効・無効を設定できます。
ポップアップ表示から identifier を編集したりはできませんw
要望等ありましたら、お気軽にご連絡ください(期待に応えられるかわかりませんが・・・)。
今後の課題としては、
- 上述した編集機能
- 指定に誤りがあった場合にワーニングを出す or 静的チェック機能
- Storyboard から ViewController のクラスファイルをガッツリ作成する
ってのを余力があるときにやりたいと思ってます。
みなさん是非使ってみてください!