それPhpStormで出来るよ #phpstudy

71
株式会社nanapi 遠山 (@Vexus2) 「それ、PhpStormでできるよ」

Transcript of それPhpStormで出来るよ #phpstudy

Page 1: それPhpStormで出来るよ #phpstudy

株式会社nanapi 遠山 晃(@Vexus2)

「それ、PhpStormでできるよ」

Page 2: それPhpStormで出来るよ #phpstudy

自己紹介

遠山 晃

株式会社 nanapi エンジニア

最近はRuby, Objective-Cとか書いてます

(もちろんRubyMine, AppCodeで)

https://github.com/vexus2

Page 3: それPhpStormで出来るよ #phpstudy
Page 4: それPhpStormで出来るよ #phpstudy

PhpStormとは JetBrains社が開発しているPHP用IDE

$99(Personal License)

$199(Commercial License)

兄弟製品いっぱい。

IntelliJ IDEA, RubyMine etc

㈱サムライズムが国内代理店

Page 5: それPhpStormで出来るよ #phpstudy

みなさん、エディタなに使ってますか?

Page 6: それPhpStormで出来るよ #phpstudy

なにつかってるの

PhpStorm

Vim

Emacs

Sublime Text

その他

Page 7: それPhpStormで出来るよ #phpstudy

それ、PhpStormでできるよ

Page 8: それPhpStormで出来るよ #phpstudy

「カッコいいカラースキーマが使いたい」

Page 9: それPhpStormで出来るよ #phpstudy

カラーテーマは2つ

DraculaとDefaultテーマの2種類

Page 10: それPhpStormで出来るよ #phpstudy

カラースキーマはたくさん

デフォルト以外にもWebからDL可能 http://www.phpstorm-themes.com/

Page 11: それPhpStormで出来るよ #phpstudy

「機能多すぎて覚えられない」

Page 12: それPhpStormで出来るよ #phpstudy

真・最強コマンドあるよ

「Search Everywhere」

Shift2回(覚えやすい!)

入力された文字列に対応するファイル、アクション、定数、設定項目などを全部表示

各機能のショートカットを覚えなくても、とりあえずこれを押さえればおk

Page 13: それPhpStormで出来るよ #phpstudy

Search Everywhere

Page 14: それPhpStormで出来るよ #phpstudy

Search Everywhere

Page 15: それPhpStormで出来るよ #phpstudy

「指がVimに馴染んじゃってるんだよねぇ」

Page 16: それPhpStormで出来るよ #phpstudy

IdeaVimでできるよ - hjklなど各種移動 - undo/redo, macro - Insert Mode, Visual Mode - /からの検索、:sからの置換 - TextObject - 一部の:setオプション

結構ちゃんと動く

Page 17: それPhpStormで出来るよ #phpstudy

「めんどくさい設定したくない」

Page 18: それPhpStormで出来るよ #phpstudy

設定わりと楽だよ

設定は全てGUI 変更が動的に見えてカスタマイズが楽

Page 19: それPhpStormで出来るよ #phpstudy

「Sublime Textみたいにコードフォーマット掛けたい」

Page 20: それPhpStormで出来るよ #phpstudy

カスタマイズできるよ

インデント数やスペースの有無 改行位置やalignなど細かく設定可

Page 21: それPhpStormで出来るよ #phpstudy

「GitとかでTerminalとか行き来が面倒」

Page 22: それPhpStormで出来るよ #phpstudy

PhpStorm内でできるよ

Git操作は全てPhpStorm内で完結

Page 23: それPhpStormで出来るよ #phpstudy

PhpStorm内でできるよ

コード差分を見ながらCommit Message

コミット前に コードフォーマット

Page 24: それPhpStormで出来るよ #phpstudy

PhpStorm内でできるよ

グラフも見やすく表示

Page 25: それPhpStormで出来るよ #phpstudy

内蔵Terminalあるよ

ちょっとした細かい作業やlog tail向け

Page 26: それPhpStormで出来るよ #phpstudy

「Sublime Text2の”Multiple Selections”が便利過ぎて離れられない」

Page 27: それPhpStormで出来るよ #phpstudy

それプラグインでできるよ

同一文言を動的に書き換え可能

Page 28: それPhpStormで出来るよ #phpstudy

「今使ってるエディタがフレームワークと相性いいから乗り換えたくないんだよねー」

Page 29: それPhpStormで出来るよ #phpstudy

Symfony2

Symfony2 Plugin http://plugins.jetbrains.com/plugin/7219

強力なコード補完

プロジェクト専用ビュー

Page 30: それPhpStormで出来るよ #phpstudy

Symfony2

serviceに登録されたパラメータを コード補完してくれる

Page 31: それPhpStormで出来るよ #phpstudy

Symfony2

コンテナから取得したオブジェクトも コード補完してくれる

Page 32: それPhpStormで出来るよ #phpstudy

CakePHP

CakeStorm https://github.com/nanapi/cake-storm

ファイル間ジャンプをサポート

コード補完をサポート予定

Page 33: それPhpStormで出来るよ #phpstudy

CakePHP

Page 34: それPhpStormで出来るよ #phpstudy

CakePHP

Page 35: それPhpStormで出来るよ #phpstudy

CakePHP

render上でCtrl+B

Page 36: それPhpStormで出来るよ #phpstudy

Laravel

対応プラグインはないが、補完ヘルパー有 https://github.com/jonphipps/laravel4-idehelper-generator

コード補完可能

Page 37: それPhpStormで出来るよ #phpstudy

Laravel

コアからコード補完してくれる

Page 38: それPhpStormで出来るよ #phpstudy

フレームワーク対応していなくても

Page 39: それPhpStormで出来るよ #phpstudy

コード補完

Annotationをちゃんと書けば コード補完してくれる

Page 40: それPhpStormで出来るよ #phpstudy

「Vagrant内の環境で開発したい」

Page 41: それPhpStormで出来るよ #phpstudy

それPhpStormでできるよ

PhpStorm7からVagrant対応! Init、Up、Reloadなど可能

Page 42: それPhpStormで出来るよ #phpstudy

「画面分割して開発したいんだよねー」

Page 43: それPhpStormで出来るよ #phpstudy

画面分割できるよ

Vertical, Horizontal自由に分割可

Page 44: それPhpStormで出来るよ #phpstudy

それ、PhpStormでできないよ・・・

Page 45: それPhpStormで出来るよ #phpstudy

「SSHしてサーバ上でエディタを立ちあげて開発したい」

Page 46: それPhpStormで出来るよ #phpstudy

IDEとエディタは別物

根本的な思想や大枠での役割が違うので無理なものは無理

SSHしてサーバ上でエディタを立ち上げる必要性があるかを検討する

Page 47: それPhpStormで出来るよ #phpstudy

代替案として・・・

Page 48: それPhpStormで出来るよ #phpstudy

アップロード

開発用サーバ

ローカル

開発

自動アップロード

ファイル変更時に 自動アップロード

Branch移動時、 差分のみアップロード

Page 49: それPhpStormで出来るよ #phpstudy

「VimScriptが動かない」「Elispが動かない」

Page 50: それPhpStormで出来るよ #phpstudy

\((^^oo^^))/

Page 51: それPhpStormで出来るよ #phpstudy

PhpStormのちょっと便利な機能

Page 52: それPhpStormで出来るよ #phpstudy

PhpStormさんの分かってらっしゃる感が伝わる細かい機能をいくつか紹介します

Page 53: それPhpStormで出来るよ #phpstudy

Jump to Class/File

Ctrl+N / Ctrl+Shift+N

ファイル名やクラス名を指定して、直にファイルへジャンプできる

PhpStorm7で動作が超高速に

Page 54: それPhpStormで出来るよ #phpstudy

Jump to Class/File

Page 55: それPhpStormで出来るよ #phpstudy

Jump to Class/File

Page 56: それPhpStormで出来るよ #phpstudy

Jump to Class/File

Page 57: それPhpStormで出来るよ #phpstudy

Jump to Class/File Jump to File

Jump to Class

Page 58: それPhpStormで出来るよ #phpstudy

Go to Decralation

Ctrl+B

クラスや変数、メソッドの定義元にジャンプできる

Page 59: それPhpStormで出来るよ #phpstudy

Go to Decralation

定義元クラスへ

Page 60: それPhpStormで出来るよ #phpstudy

Go to Decralation

定義元メソッドへ

Page 61: それPhpStormで出来るよ #phpstudy

Cursor Back/Forward

1つ前に”カーソルがあった箇所”まで戻る機能

Goto Declarationで飛んだ後やファイルジャンプで飛んだ後に戻りたいときに便利

Page 62: それPhpStormで出来るよ #phpstudy

Recent Files

Ctrl+E

エディタ上で開いたファイル履歴を表示

Page 63: それPhpStormで出来るよ #phpstudy

Speed Search

プロジェクトツリー上でマッチ箇所をハイライトしてくれる

Page 64: それPhpStormで出来るよ #phpstudy

Local History

PhpStorm上で編集したファイルを、ファイルごとに履歴を保持

擬似VCSのようなもの

Page 65: それPhpStormで出来るよ #phpstudy

Local History

ファイル差分を時系列で表示

Page 66: それPhpStormで出来るよ #phpstudy

リモートデバッグ

面倒な設定はほぼ不要

変数の書き換え可

コードの動的実行可

Page 67: それPhpStormで出来るよ #phpstudy

リモートデバッグ

複雑なコードの前後でストップさせて コードを動的実行すると…

Page 68: それPhpStormで出来るよ #phpstudy

リモートデバッグ

実行結果が即時確認可能!

Page 69: それPhpStormで出来るよ #phpstudy

Paste from History

PhpStorm内でCtrl+Cした内容を保持 絞り込み検索からの貼付けも可能

Page 70: それPhpStormで出来るよ #phpstudy

他にも

SASS/CofeeScript対応

LiveEdit,Emmet

Live Template etc..

Page 71: それPhpStormで出来るよ #phpstudy

最後に

30日無料の体験版あるよ!

個人ライセンスが2/25(火)まで600円引き! 2/26(水)~2/28(金)まで500円引き!#だいぶ雪のせいだhttp://samuraism.com/2014/02/14/2208