PhpStormと僕

日々周りを巻き込むことをモットーに。気まぐれでJetBrains製のIDEネタとか書いてます。

CakeStormに参照ジャンプ機能を追加しました

こんばんは。7月の頭くらいから急激に暑くなりましたね。 ボク元々インドアなので、例年夏でも日に焼けず真っ白なんですが、 今年は自転車にやたら乗っているので結構黒かったりします。

そんな暑い夏を吹っ飛ばすために、CakeStormに"参照ジャンプ"の機能を追加しました。

http://plugins.jetbrains.com/plugin/7277

f:id:rinrin900:20130724180022g:plain

いつもどおり、インストールするだけで他に設定は必要ないです。

参照ジャンプとはなにかというと、配列とか文字列を既存の解析して、ディレクトリ内の他のModelやView、Elementファイルに紐付けるような仕組みです。

それにより、各文字列の上でCtrl+B(Go to Decralation)でジャンプが出来るようになってます。

今まで以上にビュンビュン飛び回ってください。良いCakePHPライフを!

PhpStormのCakePHPプラグイン、CakeStormのver0.2にアップデートしました

PhpStormのCakePHPプラグイン、CakeStormを作ってみました http://nanapi.co.jp/blog/2013/07/02/phpstorm-cakestorm/

こちらの続きです。 CakePHPのコントリビューターの方からPull Requestを頂いたり、Facebookコミュニティでも好評だったりと中々良い評判を頂いており嬉しい限りです。

そんなわけで、CakeStorm 0.2を公開しました。

http://plugins.jetbrains.com/plugin/7277

f:id:rinrin900:20130705161727g:plain

変更点は以下のとおりです。

  • SmartJumpをCakePHP SmartJumpに名称変更。これに伴い[Find Action]にて「Cake」と入力すればSmart Jumpがサジェストされます。
  • View→Elementへのジャンプを追加(Smart Jumpにて実行可能)。
  • SmartJumpを共通にし、どのファイルからでもポップアップが表示されるように変更。
  • Jump to Viewを実行した際、自身のいるアクションをリストの最上部に表示されるように変更。
  • SmartJumpにFixture⇔Model⇔ModelTestCaseへ相互にジャンプ機能を追加。
  • renderに第二引数が含まれている場合に正しくジャンプ出来ない箇所を修正。

次のアップデートではオートコンプリートを追加出来るようにがんばります。

PhpStormの「Open in GitHub」っていうプラグインを作ってみた

エディタ上で表示しているソースコードをGitHub上で開けるようなプラグインを作ってみました。

http://plugins.jetbrains.com/plugin?pr=&pluginId=7190

IntelliJ IdeaとPhpStormで動作確認済。たぶんAppCodeとかPyCharmとかRubymineでも動くはず。

f:id:rinrin900:20130310225310p:plain

つかいかたはかんたん。上のプラグインをインストールするだけ。 あとは[Find Action]-[Open in GitHub]で実行すれば、デフォルトブラウザでGitHubが開く。

※Open in GitHubのデフォルトキーマップは[Ctrl+Shift+g]に設定してます。

複数行を選択した状態でOpen in GitHubを実行すると行が選択された状態で開きます。

f:id:rinrin900:20130310225251p:plain

f:id:rinrin900:20130310225208p:plain

ちなみにGitHub Enterpriseは未対応。要望があれば対応するかも。

そういえば、公式で公開されてる「GitHub」っていうプラグインにも[Open in browser]っていうコマンドがあるけど、こっちは自身のリポジトリ上のファイルしか開けないらしい。

PhpStormのマクロが便利すぎてヤバい

PhpStormでマクロを初めて使ってみたけど便利な使い方出来て、捗りそうだなーっていうお話。

CakePHPとかのフレームワークを使ってると、テンプレート→別テンプレートに飛ぶことが多くて、その度にファイル名入力してジャンプするけど若干煩わしい。

そんなわけで、『GotoFileアクションにシングルクォーテーション内のファイル名を送る』マクロを作ってみた。

※以下はIdeaVimプラグインを入れてVimキーバインドになっている想定です。

f:id:rinrin900:20130306191546p:plain

手順は以下の通り。

1) [Edit]-[Macro]-[Start Macro Recording]を選択

2) エディタ上に任意の箇所で[vi']-[Ctrl+Shift+A(GotoFile)]の順に入力

3) [Edit]-[Macro]-[Stop Macro Recording]を選択

4) 任意のマクロ名を指定して保存

これでマクロが完成。

次に、作成したマクロに任意のショートカットを割り当てる。

f:id:rinrin900:20130306192027p:plain

あとは、ジャンプしたいファイル名が書かれているシングルクォート内で、先ほど作成したマクロを実行するだけ。

f:id:rinrin900:20130306192239p:plain

f:id:rinrin900:20130306192357p:plain

こんな感じ。

PhpStorm上のエディタ機能だけでなく、自前でインストールしたプラグインとも組み合わせてマクロが組めるみたい。頻繁にやる操作をマクロ化しておけば効率も桁違いに上がるはずなので、積極的につかってみようとおもう。

PhpStormでちょっと便利な『ソースコードの階層まで自動的にスクロール』する機能

最近知ったPhpStormのちょっと便利機能を紹介。 今時のフレームワークとか使ってて、コードが多いと意外と面倒なのがディレクトリ移動。 基本的にファイル移動はファイルとかクラス名指定でジャンプするけど、ディレクトリツリーからファイルを辿りたくなることもしばしば。

この設定をしておくと、「常に開いているファイルまでディレクトリツリーが自動的に開いてスクロールする」というスグレモノ。Find Actionにも出てこないし、Preferencesからも設定出来ないので、知らない人も多そう。

設定方法はとても簡単。Tool Windowの[Project]上で右クリック→[Autoscroll from Source]にチェックを入れるだけ。

f:id:rinrin900:20130227213102p:plain

チェックをしてある状態だと、Project内のディレクトリツリーが開いているファイルまで自動的にスクロールしてくれるようになる。

f:id:rinrin900:20130227213329p:plain

こんな感じ。 ちなみに同じ設定欄にある[Autoscroll to Source]はディレクトリツリー上で選択したファイルを自動的に開くという設定。こっちの設定は正直使い道が分からない・・・。

AppCode+Dashでドキュメント検索を超快適にする

アプリ開発でAppCodeを使っててもどかしいのがドキュメント検索。

f:id:rinrin900:20130218224606p:plain

Quick Documentationで開いてもクラス名程度しか書いてなくて欲しい情報が全くない。 どうにかならんかなーって思ってたら、Dashっていうドキュメントビューアが快適と聞いたので連携させてみた。

Dash参考:

http://www.key-p.com/blog/staff/archives/1337 http://d.hatena.ne.jp/naoya/20130218

Dash単体でショートカット設定出来るみたいだけど、「選択している文字列をドキュメント検索」のショートカットがJavaの制限?とかで、AppCode内からは上手く機能しない。

なので、別途AppCodeのプラグインを入れる必要がある。

AppCodeDashSearch

Github上からjarファイルをダウンロードしてAppCode上からプラグインとしてインストールするだけ。

PreferencesのKeymapに「Search in Dash」っていう項目が追加されてるので、任意のショートカットを割り当てて完了。

f:id:rinrin900:20130218224629p:plain

後は検索したい任意のワードの下でショートカットを押すだけ。Dash本体にもショートカットを割り当てておいて、表示/非表示を切り替えられるようにしておくともっと快適かも。

f:id:rinrin900:20130218224616p:plain

RetinaのMacでPHPStormが異常に重いときの対策

環境周りでハマったのでメモ。

RetinaのMacbookでPHPStormを起動してて、エディタでなんらかのファイルを開くと、毎回15秒〜30秒くらいフリーズする始末。。

いろいろ試した結果、[低解像度モード]で起動すれば起動すれば解決!

手順は以下の通り。

Finder上でApplicationディレクトリを表示して
右クリック->情報を見る->低解像度で実行 にチェックを入れて実行。