phpStorm windowsショートカット

ファイル名から検索
ctrl + shift + n

クラス名から検索
ctrl + n

行削除
ctrl + x

行複製
ctrl + d

単語選択
ctrl + w

ブロックの自動作成
ctrl + shift + Enter

開いたファイル履歴表示
ctrl + e

指定行にジャンプ
ctrl + g

コードの自動成型
ctrl + alt + l

ライブテンプレート
ctrl + j

タブを閉じる
ctrl + F4 (使いづらいけど変更方法がわからない)

phpstorm9 – xdebugが使えなくなった (cakephp)

下記のようなエラーが出る。

Error: Fatal Error (4): syntax error, unexpected ‘;’ in [xdebug://debug-eval, line 1]
Error: [FatalErrorException] syntax error, unexpected ‘;’
Request URL: /hogehoge
Stack Trace:
#0 /Applications/XAMPP/xamppfiles/htdocs/hogehoge/cgi/lib/Cake/Error/ErrorHandler.php(205): ErrorHandler::handleFatalError(4, ‘syntax error, u…’, ‘xdebug://debug-…’, 1)
#1 [internal function]: ErrorHandler::handleError(4, ‘syntax error, u…’, ‘xdebug://debug-…’, 1, Array)
#2 /Applications/XAMPP/xamppfiles/htdocs/hogehoge/cgi/lib/Cake/Core/App.php(931): call_user_func(‘ErrorHandler::h…’, 4, ‘syntax error, u…’, ‘xdebug://debug-…’, 1, Array)
#3 /Applications/XAMPP/xamppfiles/htdocs/hogehoge/cgi/lib/Cake/Core/App.php(904): App::_checkFatalError()
#4 [internal function]: App::shutdown()
#5 {main}

ここに同じようなエラーが出ているが、解決策などは書いてない。
Avoide debug eval error

下記に、Are you watching any variables in Netbeans/Xdebug? I had some weird errors like that until I cleared my watch list. とかいてあって、watchしてる変数を削除したらいいのかなと思った。watch変数を削除して、ブラウザのセッションを削除したら、とりあえずなおった。ブラウザ(chrome)のセッション削除だけでなおったのかもしれない。

http://www.yiiframework.com/forum/index.php/topic/50746-getting-unknown-property-yiiwebapplicationvalue/

vagrant – phpstormでxdebug使う(2)

参考:phpstorm vagrantの仮想マシンをXdebugでデバッグする

上記で、xdebug使えるようになったのですが、Vagrantfileで下記のように設定する場合は、remote_hostが変わるし、あとどうも動かないと思ってたら、マカフィーにとめられていた。

config.vm.network "private_network", ip: "192.168.33.10"

だから下記のようにしつつ、マカフィーのファイアウォールをゆるめる必要がありました。
$ sudo vim /etc/php.d/xdebug.ini

xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_host = 192.168.33.1
xdebug.remote_port = 9000

あと、autostartを1にすると、ブラウザのお気に入りをクリックして、デバッグ開始したり停止したりしなくてよくなるから便利だった。

phpStormのショートカットーキーを設定する

私のキーマップは、MaxOS X 10.5+です。

今よく使ってるショットカッとキーを書いてみます。
command+x 行切り取り・切り取り
command+d 行複製
command+v はりつけ
command+c コピー
command+k コミット
command+o クラス名など検索して開く
command+shift+o ファイル名検索して開く
command+f ファイル内文字列検索
command+r ファイル内文字列置換
command+; s cakeStorm:Viewとかに移動
tab インデント
shift+tab 逆インデント
command+z 戻る
command+/ コメント
command+l 行指定移動
command+b 定義元に移動
command+alt+左 定義先に戻る(前のフィアルに戻る?)

多分これだけです。
やりたいのは、単語選択と、空白行追加です。あと、カーソルから行末まで削除もしたいです。
あと行頭、行末移動もしたいです。
あと下記ページをみて、便利そうなやつを覚えます。
Mac版PhpStormのキーボードショートカット

× command+w 単語選択 –> alt+上下矢印だった
○ shift+Enter 空白行追加
○ command + alt + l コードをフォーマット
× command + alt + i 自動インデント –> contrl + alt + i だった
○ command + shift + c ファイルパスコピー
○ alt + → 単語移動
○ command + → 行末移動
× control + ↓ メソッド単位移動 –> control + fにしてみた。
○ command + shift + e ファイル更新履歴を開く
× F2 エラーに移動 –> alt + eにしてみた。前のエラーはalt + control + eにしてみた。
○ command + shift + f Find in Path
○ command + shift + r Replace in Path
○ control + v バージョン管理メニュー表示
○ command + , セッティング画面表示

これらは知らなかった。単語選択、自動インデント、メソッド単位移動、F2は動かない。
むむ、command+shift+上下矢印でカーソル行を上下に移動できた。これも面白い。
カーソルから行末まで削除は、command+shift+左右矢印で選択して消す感じかのう。
あと、vimのctr+fみたいな次のページに行くのもやりたい。指がすれちゃうからね。
ブックマークも便利かもしれないな。よく忘れちゃうやつとかブックマークしておいたりするといいかも。
あと、command+iと、command+shift+iというすごい押しやすいところに何も割り当てられていないのでなんかいいやつを割り当てたい。
ちなみにvimのcontrol+fに当てはまる機能がどれかわからない。

動かないやつを上記の通り変更してみた。
あと、スクロールトップと、スクロールボトムを、それぞれ、control+s bとcontrol+s tに割り当ててみた。
あとは、コードのフォーマットの仕様を俺俺仕様に変更したい。
あとはブックマークを調べてみよう。

コードフォーマットの仕様を調整してみた。調整しつつ僕自身の書き方もちょっと変えることにした。
ブックマークは今度使ってみるか。

phpstorm vagrantの仮想マシンをXdebugでデバッグする

前回できたと思ったのですが、残念ながら寝て起きたら動かなくなってました。
再度調べてリモートデバッグ機能を復活させたいと思います。

vagrant仮想マシンの環境は下記になります。
・CentOS6.5
・Apache/2.2.15 (Unix)
・PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57)

順番を整理します。
1.vagrantにlocalhost:8080で接続できるようにしておきます。
Vagrantfileに、下記を追記します。実際はコメントアウトされているのでそれを解除します。自分のVagrantfileでは22行目。

config.vm.network :forwarded_port, guest: 80, host: 8080

2.Xdebugをインストールします。

$ sudo yum --enablerepo=epel install php-pecl-xdebug

3.php.iniの設定をします。
まずxdebug.soの位置を確認しておきます。

$ sudo -i
$ find / -name xdebug.so
/usr/lib64/php/modules/xdebug.so

次に、vimなどでphp.iniを開いて編集します。

$ vim /etc/php.ini

php.iniに下記を追記します。

[xdebug]
zend_extension="/usr/lib64/php/modules/xdebug.so"
xdebug.default_enable = 1
xdebug.idekey = "sns"
xdebug.remote_enable = 1
xdebug.remote_port=9000
xdebug.remote_host=10.0.2.2

xdebug.idekeyは、xdebugがデバッグのときに使用する、セッションの識別子になりますので、任意の値を設定します。今回SNSサイトを作成する必要があるので、snsとしております。

また、remote_hostを設定しないと、デバッグが動きません。$_SERVER[‘REMOTE_ADDR’]をみると私の場合、10.0.2.2になっております。どうもVirtualboxの標準値のようです。

また、remote_portを9000以外にする場合は、phpstormの設定で、Prefereces > PHP > Debugで、Xdebugのdebug portを変更する必要があります。

あと、xdebugをインストールしたら、私の場合、/etc/php.d/xdebug.iniというものが作成されておりまして、そこでもzend_extensionの設定がされていました。設定が重複すると、エラーがでますので、xdebug.iniの記載を削除するか、上記のxdebugの設定をxdebug.iniに記載するなど対処する必要があります。

追記したらhttpdを再起動しておきます。

service httpd restart

4.phpstormのpreferenses > PHP > serversを下記のように設定して、サーバ情報を追加します。
スクリーンショット 2014-03-03 5.09.26

5.Run > Edit Configurationsをクリックして、Defaults > PHP Remote Debugに進み、そこでServerを選択し、id keyを入力します。これは先程php.iniに設定したxdebug.idekeyと同じです。
スクリーンショット 2014-03-03 5.11.14

6.下記サイトで、idekeyを入れてgenerateしたjavascriptでブックマークレットをつくる。generateすると下にリンクがでてくるので、そのリンク先に指定されているjavascriptをブックマークに保存します。Start debuggerがデバッグ開始する際のブックマークレットで、Stop debuggerがデバッグを停止する際のブックマークレットです。
http://www.jetbrains.com/phpstorm/marklets/
スクリーンショット 2014-03-03 7.46.16

7.phpstormの赤い電話みたいなマークをクリックして青くします。
スクリーンショット 2014-03-03 7.49.45

Vagrant – phpstormでデバッグする CentOS6.5

共有ディレクトリあるし簡単に出来たりして。出来ないねやっぱ。
リモートデバッグを調べる。

PhpStormでXdebugのリモートデバッグを設定する方法

ちなみにVagrantのCentos6.5サーバです。
サーバに、Xdebugをインストールしてみる。

$ sudo yum --enablerepo=epel install php-pecl-xdebug

php-pecl-xdebug.x86_64 0:2.1.4-1.el6がインストールできた。

phpstormの設定

できない!php.iniに設定かかないといけないのか。
To use PhpStorm with Ubuntu Vagrant install Xdebug for PHP

xdebug.soの場所を探す。

$ sudo -i
$ cd /
$ find -name xdebug.so
./usr/lib64/php/modules/xdebug.so

php.iniに追加


zend_extension="/usr/lib64/php/modules/xdebug.so"
xdebug.default_enable = 1
xdebug.idekey = "centos65"
xdebug.remote_enable = 1

うおーできた!

その他phpstormの設定でやったこと。
Xdebugの設定 XAMPP macこれに書いたことやった。

便利すぎるPhpStormのXdebug

printデバッグ離れできるようになるために試してほしいPhpStorm+Xdebug用例集(1)参考

これ読んで感動した。

・variablesからwatchesにはドラッグアンドドロップで移動できる。
・関数を実行した結果も、watchesで監視できる。
・ブレーク中に任意のPHPコードを実行させることができる! これは、Evaluate Expressionでできる。

Xdebugの設定 XAMPP mac

Mac OS X 10.5 + XAMPP で xdebug を有効にする参考

php.iniにXdebugを有効化する為の記述を追加

[xdebug]
zend_extension="/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.remote_enable=1
xdebug.idekey = "mydebug"

xdebug.idekeyは、任意の文字列。
あとはapache再起動するだけ。簡単だ。

phpStormの設定

・Priferences->PHP->DebugはデフォルトでOKだった。
 Portとかを変える場合、違う場合はそれに合わせて設定する。
・Priferences->PHP->Serversで、localhost:80、Xdebugを設定しておいて、
・Run->Edit configurations->Defaults->PHP Remote Debugで、上記で設定したServerを選択し、ide Keyを入力して、設定を保存する。

その後、
http://www.jetbrains.com/phpstorm/marklets/で、idekeyを入れてgenerateしたjavascriptでブックマークレットをつくる。

そして、
・Run->Start Risten PHP Debug ConnectionsをONする。
・デバッグしたいページをブラウザに表示させて、先程のブックマークレットをクリックする。

これで、Xdebugは動きますので、breakpoint設定していれば、そこでとまります!便利だ。。

プロファイラを取得する機能も便利らしいので、今度やってみる。

PhpStorm ショートカットキー

KyeMap は Mac

command + j -> Live templates
command + k -> VCS commit
command + q -> 終了
command + n -> 新規作成
command + l -> 行番号にジャンプ
command + m -> 最少化
command + x -> 行切り取り
command + d -> 現在の行を複製
command + e -> 最近開いたファイル一覧を表示
command + w -> 保存してファイルを閉じる
command + r -> 検索・置換ボックス表示
command + o -> class検索ボックス表示
command + @ -> 過去編集した順番に編集箇所を表示してくれている模様
command + g -> 次を探す
command + f -> 検索ボックス表示
command + < -> 設定画面表示
command + 1 -> Projectサイドバーの表示切替(フォーカスも移動)
command + 2 -> favoritesの表示切替(フォーカスも移動)
commnad + / -> コメントアウト切り替え
command + shift + s -> ファイルの複製
command + shift + e -> 最近編集したファイルの一覧表示
command + shift + o -> ファイル名でファイル検索
command + shift + x -> コマンドラインツールの表示
command + shift + v -> クリップボードから選択してはりつけ

command + control + f -> 全画面表示切替

control + d -> デバッグ実行
control + r -> Run実行
control + a -> 行頭にジャンプ
control + e -> 行末にジャンプ
control + v -> VCS operationを表示
control + b -> 一文字戻る
control + n -> 次の行に行く
control + p -> 前の行に行く
control + k -> カーソル位置から行末まで削除
control + f -> 一文字進む
control + t -> Refactor Thisの表示

control + shift + j -> 現在行の改行文字を削除

PhpStormの設定

PhpStormの設定です。

・ファイルの拡張子のひも付け
Preferences -> File Types

・Live Templates
Preferences -> Live Templates

・JavaScriptデバッガー
Run -> Edit Configurations で、Javascript Remort Debugを追加し、URLを入れる。
(http://localhost:63342/[project name]と入れるとビルトインサーバでデバッグができるらしい。cakePHPでやるとうまくいかなかった。)
あと、ChromeかFirefoxで利用できて、それぞれアドオンをインストールする必要がある。(FireFoxはアドオンが見当たらなかった)
デバッガーは動くしエラーも見つけてくれるが、どうもbreakpointが機能しない。なんか設定が必要な模様。

・MySQLに接続
SQLが書きやすい!PhpStormからMySQLに接続する方法ご参照
Database URLは、localhostの場合、jdbc:mysql://localhost:3306

・バージョン管理(Subversion)
main menuのVCSからごちゃごちゃやる。これは分かりやすい。

phpstorm

phpstorm入れてみた。
30日間無料トライアルで。

これから色々いじってみるが、phpStormにはテーマがあって、
http://www.phpstorm-themes.com/などで、各種テーマをダウンロードできるようだ。
でも、どうやってダウンロードしてインストールするのかわからない。まあいいや。

PHP最強IDE PhpStormここにかなり色々設定面の解説が書いてあるので読みながらやってみる。行番号表示して、文字コード設定して、あとこのLive Templatesというのがよさげ。Eclipseでもスニペットというのがあったのかしらなかった。よく使うコードを一発でだせるなんて、超便利じゃないか。あとで設定してみる。LIVE EDITというのも便利そうだ。編集がリアルタイムにブラウザに反映されるらしい。毎回更新ボタン押したりしなくていいのかもしれない。まあそれだけといえばそれだけな気もするが。ブックマーク機能やリポジトリの連携やJavascriptデバッガ、MySQLへの接続などもできるということで(まあEclipseでも大体できるけど使ってないのが多い)色々勉強して、超効率的開発環境をつくりたいのう。

にしても、zen-codingって俺しらなかったけど(聞いたとはあったけど)、HTMLを簡単に書ける仕組みなんすかね。これにもPhpStormは対応している。だから覚えるとHTMLコーディングというめんどくさいことも楽々できるということだな。

EclipseからPhpStormに乗り換えましたに、ショートカットキー一覧がのってたのでメモっておく。憧れのジャンプ履歴をたどるには、command+option+→らしい。おお試しにやってみたら、Chromeのタブをたどれることを発見。どうでもいいけど。

キー 内容
Ctrl + →← エディタータブの切り替え
Ctrl + ↑↓ 前 or 次のメソッドにジャンプ
Commnad + Shift + N ファイルを名前であいまい検索して開く
Command + D 現在行の複製
Command + Y 現在行の削除
Command + Shift + ↑↓ 選択行のコードを移動
Command + B キャレット位置にあるメソッドなどの定義にジャンプ
Command + Option + →← ジャンプした履歴を辿る
Command + Option + T 選択範囲をif,forなどで囲む
Command + Option + Shift + T 選択範囲をリファクタリング(名前変更、メソッド抽出など)
Command + J テンプレート(スニペット)呼び出し

でた、定義元にジャンプする機能が賢すぎて、コードリーディングが10倍ラクやっぱり、そうなんだな。憧れの賢いジャンプはかなりハイレベルなんだな。

PhpStorm のカラースキーム(テーマ)を RubyMine から移植したので配布しますここにテーマの適用方法が書いてあった。XMLファイルをフォルダに入れて選べばいいのか。あとでやってみようかな。とりあえずMonokaiというテーマを基にMonokai2をつくってフォント15pt、行間1.1にしてみた。でかい方が確かに目に易しい。目重要だ。14くらいでもいいかも。

かぶってるかもだが、またショートカットキー一覧があったのでメモ。
最強のJavaScript IDE「WebStorm」の姉妹品「PhpStorm」はPHP IDEとして最高だった

Ctrl+Command+A で、IDEのアクションを機能名から検索
Ctrl+P で、関数やメソッドの引数を参照できる。自作であってもコメント @param などを自動で解析して表示
Ctrl+N で、Class名を指定して、該当ファイルにジャンプ
Ctrl+Shift+N で、ファイル名を指定して、該当ファイルにジャンプ
Ctrl+O で、メソッドのオーバーライド候補を参照して選択
Ctrl+I で、インターフェイスからの実装候補を参照して選択
Ctrl+U で、スーパークラスやスーパーメソッドを参照

ほかにも色々書いてあるからメモ。

コード補完

Ctrl+Space でコード補完でき、プロジェクト内であれば自作クラスのメソッドでも利用可能
HTML編集中のZenCodingはTabキーで発動
Ctrlを押しながらカーソルを関数名やクラス名に合わせると、コメント ( PHP Document ) の情報を表示
エディタの表示系

キャレット位置のIndentifierハイライトするのは、IDE Settings の Editor の Highlight usages of element at caret でON/OFF
エディタの行番号やホワイトスペースを表示するのは、IDE Settings の Editor -> Appearance から
IDE Settings の Appearance で、いろいろなパーツを消せる
colorスキーマに、暗色背景のinvertedカラーがデフォルトにない
IDE Settings の Editor ->Colors & Fonts で、エディタの見た目をカスタマイズ
エディタの色の設定は、General ( 一般 )をカスタマイズした後に、言語ごとの設定をする
リソース管理

Tools -> Deployment -> Automatic Upload で、ファイルの更新がされたときに自動でリモートに反映
簡易なバージョン管理 ( Local History ) があり、既存のGit, CVS, Svnなども利用可能

あと、PhpStormのCakePHPプラグイン、CakeStormを作ってみましたやっぱりこれですね。これを見てphpstorm入れたいと思ったくらいで、phpstorm好きな人がcakePHPをphpstormで更に便利にできるようにとつくったものなんで、これは間違いないんじゃないでしょうか。しかも機能としては憧れのジャンプをcakePHPに最適化したものだというわけですから、これはもう言うことないです。
ということで、とりあえずインストールしておいた。

あとは、printデバッグ離れできるようになるために試してほしいPhpStorm+Xdebug用例集(1)これですかね。デバッグ。これはPhpStorm以前にどうもまさしく俺はprintデバッグというものをやっているんではないかと思う。非効率極まりない。でも要するに今の効率を圧倒的に高めることが可能だと思っている。phpstormいれつつ、一般的なハイレベルデバッグを覚えてそれをphpstormで、効率的かつ確実にできるような環境をつくるのが重要だな。

printデバッグ離れできるようになるために試してほしいPhpStorm+Xdebug用例集(2)
PhpStorm で PHPスクリプトの実行を解析する(Xdebugのプロファイラの結果を表示する)
PhpStorm で、Xdebugのリモートデバッグ環境を作る

など、色々良さげな解説を沢山書いてくれてるので、あとで全部読んで覚えよう。てゆうか、そもそもXdebug使ってないっていうのはすごいいけてないことなのかもしれない。Xdebugをそもそも覚えよう。

このくらいかな??

かっこよくジャンプして、
ショートカットキー覚えまくりつつ、色々設定してみて、
ライブテンプレートを駆使して、
そもそもデバッグを学び直して、かっこいいデバッグ環境をつくって、
データベースとかリポジトリとかそういうのも全部連携すれば、
いい感じに開発効率があがると思った。

あとは、テストだな。テストについて学んで、自動テスト、ジェンキンス、自動デプロイまで完璧になれば一旦のゴールかな?

追記:
ここにもdiffとかよさそうなことが書いてあるからメモ。
私が愛用しているphpのIDEソフトphpStormについて