CakeStormのSmartJumpに「水平/垂直タブで開く」機能を追加しました
こんばんは。 早いもので、もう7月も終わりそうです。
最近自転車で500km/月を目標に走りこんでるんですが、5月、6月共に450km弱で未達。 7月から急激に暑くなったので距離もだいぶ落ちるなーとおもいきや、今日時点で既に490kmちょい走ってるのでめでたく達成出来そうです。
暑いの苦手だと思ってたけど、その分の爽快感があるからいいのかも、ってちょっと思ったりしてます。
さて、最近自分でも意外なくらいマメに更新しているCakeStormですが、 自分は割とエディタを分割して使うことが多いので、ファイルを開いていちいち分割したファイルに移動しなきゃいけなかったりがめんどくさかったので、 SmartJumpに「水平/垂直タブで開く」機能をつけてみました。
http://plugins.jetbrains.com/plugin/7277
CakeStormってなに?って方はこちらを。
PhpStormのCakePHPプラグイン、CakeStormを作ってみました http://nanapi.co.jp/blog/2013/07/02/phpstorm-cakestorm/
ファイルを開くときに、それぞれ「水平で開く」「垂直で開く」用のSmartJumpから開くことで、エディタを分割して新しいタブでファイルを開いてくれます。
キーマップはそれぞれ
- SmartJump→Ctrl+; S (既存のまま)
- 水平で開くSmartJump→Ctrl+; H
- 垂直で開くSmartJump→Ctrl+; V
VはVertical、HはHorizontalの略で覚えると良いです。 頻繁にエディタ分割をする人には結構役に立つと思います。
CakeStormに参照ジャンプ機能を追加しました
こんばんは。7月の頭くらいから急激に暑くなりましたね。 ボク元々インドアなので、例年夏でも日に焼けず真っ白なんですが、 今年は自転車にやたら乗っているので結構黒かったりします。
そんな暑い夏を吹っ飛ばすために、CakeStormに"参照ジャンプ"の機能を追加しました。
http://plugins.jetbrains.com/plugin/7277
いつもどおり、インストールするだけで他に設定は必要ないです。
参照ジャンプとはなにかというと、配列とか文字列を既存の解析して、ディレクトリ内の他の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
変更点は以下のとおりです。
- 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でも動くはず。
つかいかたはかんたん。上のプラグインをインストールするだけ。 あとは[Find Action]-[Open in GitHub]で実行すれば、デフォルトブラウザでGitHubが開く。
※Open in GitHubのデフォルトキーマップは[Ctrl+Shift+g]に設定してます。
複数行を選択した状態でOpen in GitHubを実行すると行が選択された状態で開きます。
ちなみにGitHub Enterpriseは未対応。要望があれば対応するかも。
そういえば、公式で公開されてる「GitHub」っていうプラグインにも[Open in browser]っていうコマンドがあるけど、こっちは自身のリポジトリ上のファイルしか開けないらしい。
PhpStormのマクロが便利すぎてヤバい
PhpStormでマクロを初めて使ってみたけど便利な使い方出来て、捗りそうだなーっていうお話。
CakePHPとかのフレームワークを使ってると、テンプレート→別テンプレートに飛ぶことが多くて、その度にファイル名入力してジャンプするけど若干煩わしい。
そんなわけで、『GotoFileアクションにシングルクォーテーション内のファイル名を送る』マクロを作ってみた。
※以下はIdeaVimプラグインを入れてVimキーバインドになっている想定です。
手順は以下の通り。
1) [Edit]-[Macro]-[Start Macro Recording]を選択
2) エディタ上に任意の箇所で[vi']-[Ctrl+Shift+A(GotoFile)]の順に入力
3) [Edit]-[Macro]-[Stop Macro Recording]を選択
4) 任意のマクロ名を指定して保存
これでマクロが完成。
次に、作成したマクロに任意のショートカットを割り当てる。
あとは、ジャンプしたいファイル名が書かれているシングルクォート内で、先ほど作成したマクロを実行するだけ。
こんな感じ。
PhpStorm上のエディタ機能だけでなく、自前でインストールしたプラグインとも組み合わせてマクロが組めるみたい。頻繁にやる操作をマクロ化しておけば効率も桁違いに上がるはずなので、積極的につかってみようとおもう。
PhpStormでちょっと便利な『ソースコードの階層まで自動的にスクロール』する機能
最近知ったPhpStormのちょっと便利機能を紹介。 今時のフレームワークとか使ってて、コードが多いと意外と面倒なのがディレクトリ移動。 基本的にファイル移動はファイルとかクラス名指定でジャンプするけど、ディレクトリツリーからファイルを辿りたくなることもしばしば。
この設定をしておくと、「常に開いているファイルまでディレクトリツリーが自動的に開いてスクロールする」というスグレモノ。Find Actionにも出てこないし、Preferencesからも設定出来ないので、知らない人も多そう。
設定方法はとても簡単。Tool Windowの[Project]上で右クリック→[Autoscroll from Source]にチェックを入れるだけ。
チェックをしてある状態だと、Project内のディレクトリツリーが開いているファイルまで自動的にスクロールしてくれるようになる。
こんな感じ。 ちなみに同じ設定欄にある[Autoscroll to Source]はディレクトリツリー上で選択したファイルを自動的に開くという設定。こっちの設定は正直使い道が分からない・・・。
AppCode+Dashでドキュメント検索を超快適にする
アプリ開発でAppCodeを使っててもどかしいのがドキュメント検索。
Quick Documentationで開いてもクラス名程度しか書いてなくて欲しい情報が全くない。 どうにかならんかなーって思ってたら、Dashっていうドキュメントビューアが快適と聞いたので連携させてみた。
Dash参考:
http://www.key-p.com/blog/staff/archives/1337 http://d.hatena.ne.jp/naoya/20130218
Dash単体でショートカット設定出来るみたいだけど、「選択している文字列をドキュメント検索」のショートカットがJavaの制限?とかで、AppCode内からは上手く機能しない。
なので、別途AppCodeのプラグインを入れる必要がある。
Github上からjarファイルをダウンロードしてAppCode上からプラグインとしてインストールするだけ。
PreferencesのKeymapに「Search in Dash」っていう項目が追加されてるので、任意のショートカットを割り当てて完了。
後は検索したい任意のワードの下でショートカットを押すだけ。Dash本体にもショートカットを割り当てておいて、表示/非表示を切り替えられるようにしておくともっと快適かも。