PhpStormを最高のSymfony2開発環境にする設定

 ツイート 57  シェア 11  Hatena 88

phpstorm-symfony-logo

PhpStorm で Symfony2 の開発するときにいつも設定していることをまとめました。たまに設定を初期化するとデフォルトから何を変更していたか分からなくなるので備忘録として。Symfony2 以外のプロジェクトもほとんど同じ設定で開発しているので Symfony2 を使っていない方も参考になると思います。

個人的によく使う PhpStorm の便利機能もまとめました。併せてどうぞ。

動作確認環境

  • Mac OS X El Capitan
  • PhpStorm 2016.1
  • PHP 5.4
  • Symfony 2.3

目次

  1. プロジェクトを作成する
  2. Symfony2 View を有効にする
  3. cache, log, vendor ディレクトリをプロジェクトから除外する
  4. vendor ディレクトリを Include path に追加する
  5. Symfony2 Plugin で入力補完を強化する
  6. Symfony2 の console コマンドを PhpStorm から実行する
  7. エディタの行末で折り返す
  8. 選択範囲を記号で囲めるようにする
  9. エディタに行番号、空白文字を表示する
  10. エディタのカラースキームを変更する
  11. エディタのフォントを変更する
  12. コンソールのフォントを変更する
  13. タブを1行で表示する
  14. メソッドを折りたたみむ
  15. Symfony2 Coding Sytle を適用する
  16. Typo 警告を表示しないようにする
  17. PHP のバージョンと実行ファイルを設定
  18. Composer からインストールした PHPUnit を実行できるようにする
  19. Xdebug でブレークポイントを張ってデバッグする
  20. Git を設定する
  21. MySQL に接続する
  22. メモリ使用量の表示
  23. メモリ使用量の上限数を増やす
  24. ツールバーを削除してエディタの領域を広げる
  25. メニューや設定ウィンドウのフォントを変更する

プロジェクトを作成する

PhpStorm を開き、ダッシュボードから「Create New Project」を選択してプロジェクトを作成します。Location には Symfony2 プロジェクトのルートディレクトリを指定します。「Open Directory」から Symfony2 のプロジェクトルートを指定しても OK です。

create-project

PhpStorm のプロジェクトルートを Symfony2 のプロジェクトルートと同じにしておくと、各種設定が自動で行われるので、何かと便利です。

Symfony2 View を有効にする

Symfony2 のプロジェクトを起動すると、右上に Framework MVC Structure Support のダイアログが表示されます。ダイアログの中の Framework integration のリンクをクリックして、Symfony2 View の設定を行います。ダイアログが消えてしまった場合は PhpStorm を再起動すれば表示されます。

symfony2-view-notice

リンクをクリックすると Framework integration の設定ウィンドウが立ち上がります。そのまま OK をクリックします。

symfony2-view-setting-dialog

Symfony2 View が有効になります。

symfony2-view

Preferences(Settings) > Project Settings > PHP > Framework Integration にもこれと同じ設定がありますが、ここから設定すると Symfony2 View が有効にならないことがあります。バグかもしれません。

cache, log, vendor ディレクトリをプロジェクトから除外する

Symfony2 の app/cache, app/log, vendor ディレクトリをプロジェクトから除外します。その他 IDE で扱わないものは適宜除外します。

Preferences(Settings) > Directories

  1. .idea ディレクトリを選択して Excluded ボタンをクリック
  2. app/cache ディレクトリを選択して Excluded ボタンをクリック
  3. app/logs ディレクトリを選択して Excluded ボタンをクリック
  4. vendor ディレクトリを選択して Excluded ボタンをクリック

directories

vendor をプロジェクトから除外している理由は、Navigate Class で Symfony2 の標準クラスを検索対象からはずすためです。例えば vendor を除外せずに Navigate Class で「User」と検索すると 次のように Symfony2 標準クラスが大量にヒットします。

navigate-class-default

Navigate Class では、自身で書いたアプリケーションのコードだけヒットしてほしいので、vendor ディレクトリをプロジェクトから除外します。すると 今度は Symfony2 標準クラスの入力補完ができなくなるので、この次のセクションで vendor を Include path に追加して入力補完できるようにします。

vendor ディレクトリを Include path に追加する

ひとつ前のセクションでvendor をプロジェクトから除外しました。このままだと Symfony2 標準クラスの入力補完ができないので vendor ディレクトリを Include path に追加します。こうしておくと Navigate Class では Symfony2 標準クラスはヒットさせないようにして、入力補完だけ機能させることができます。

Preferences(Settings) > Languages & Frameworks > PHP

php-include-path

再度「User」と検索した結果です。自身のプロジェクトのクラスのみヒットします。Symfony2 標準クラスはヒットしません。

navigate-class

標準クラスはヒットしませんと書きましたが、実は標準クラスの優先順位が下がっているだけです。標準クラスを検索したいときは検索ワードを工夫してみてください。
PEAR でインストールした PHPUnit のように、プロジェクトに含まれていないライブラリを入力補完対象にしたい場合も Include path に追加すれば OK です。

Symfony2 Plugin で入力補完を強化する

completion-container

Symfony2 Plugin は PhpStorm 標準では補完できない Symfony2 特有の入力補完を強化してくれるプラグインです。Symfony2 開発には必須です。機能の紹介と導入方法は過去に書いた記事が参考になると思います。

PhpStormのSymfony2 Pluginによる入力補完が便利すぎる

Symfony2 の console コマンドを PhpStorm から実行する

Symfony2 のコマンドを PhpStorm から実行できるように設定します。

Preferences(Settings) > Tools > Command Line Tool Support

+ボタンをクリックし、Choose tool に Symfony を設定します。

command-choose

Path to Symfony に Symfony2 の app/console 実行ファイルの PATH を設定します。

command-path

Menu Bar > Tools > Run Command

コマンド入力ボックスに console コマンドを入力します。入力補完されます。

command-console

コマンド入力ボックスに s と入力すると Symfony2 の console コマンドが一覧表示されます。s はエイリアスで、任意の文字に変更できます。

command-alias

エディタの行末で折り返す

行末で折り返しをする設定です。ディスプレイの小さい PC や、横に長いソースコードを読むときに便利です。

Preferences(Settings) > Editor > General

  1. Use soft wraps in editor にチェック

editor-wrap

選択範囲を記号で囲めるようにする

文字列を選択してシングルクォートやカッコを入力すると、文字列の前後を記号で囲えるようにします。イメージはこんな感じ。


text
↓
'text'

Preferences(Settings) > Editor > General > Smart Keys

  1. Surround selection on typing quote or brace にチェック

editor-surround

エディタに行番号、空白文字を表示する

エディタに行番号と、全角スペースやタブ記号を表示します。

Preferences(Settings) > Editor > General > Appearance

  1. Show line numbers にチェック
  2. Show whitespaces にチェック

editor-line-number

エディタのカラースキームを変更する

エディタの文字色や背景色を変更します。Railscasts がお気に入り。

Preferences(Settings) > Editor > Colors & Fonts

  1. Scheme name を Railscasts に設定します。
  2. SaveAs ボタンをクリック。
  3. 好きな名前を設定します。

editor-color

エディタのフォントを変更する

エディタのフォントとサイズを変更します。

Preferences(Settings) > Editor > Colors & Fonts > Font

  1. エディタのカラースキームを変更するで作成した Scheme name を選択
  2. 作成した Scheme name を選択する
  3. Font, Size を設定

editor-font

コンソールのフォントを変更する

コンソールウィンドウのフォントとサイズを変更します。Find in Path の結果や PhpUnit の実行結果などのコンソールのフォントが文字化けするとき、適切なフォントに変更します。

Preferences(Settings) > Editor > Colors & Fonts > Console Font

  1. エディタのフォントの設定で設定したテーマを選択
  2. Font, Size を設定

editor-console-font

タブを1行で表示する

デフォルトではタブは多段表示です。キーボードによるタブ移動は左右にしか移動できないので1行の表示に変更します。

Preferences(Settings) > Editor > General > Editor Tabs

  1. Show tabs in single row にチェック

editor-tabs

メソッドを折りたたみむ

メソッドと PHPDoc コメントを折りたたんで表示します。

Preferences(Settings) > Editor > General > Code Folding

  1. Documentation comments にチェック
  2. Method bodies にチェック
  3. PHP method body にチェック

editor-folding

PHP function body にチェックを入れると、無名関数やクロージャが折りたたみされてしまうのでチェックを入れません。

Symfony2 Coding Sytle を適用する

Symfony2 のコーディング規約を設定します。インデント、制御構文の前後のスペース、改行ルールなどが適用されます。

Preferences(Settings) > Editor > Code Style > PHP

  1. Set from リンクをクリック
  2. Predifined Style を Symfony2 に選択

code-style

参考
コーディング規約 | Symfony2日本語ドキュメント

Typo 警告を表示しないようにする

PhpStorm は Typo を自動検出してくれる機能がありますが、業務用語を Typo と判断することが多く、うっとおしいので無効にします。

Preferences(Settings) > Editor > Inspections

  1. Spelling > Typo をオフにします

inspections-typo

PHP のバージョンと実行ファイルを設定

PHP のバージョンとコマンドライン用 PHP の実行ファイルの PATH を設定します。このあと紹介する Xdebug によるデバッグや、PHPUnit によるテストの実行のために設定が必要です。

Preferences(Settings) > Languages & Frameworks > PHP

  1. PHP language level を 5.4 に設定
  2. Interpreter の右側のボタンをクリック

php-interpreter-before

  1. コマンドライン用 PHP の実行ファイルを設定
  2. Debugger に Xdebug を選択

php-interpreter-dialog

Composer からインストールした PHPUnit を実行できるようにする

Composer からインストールした PHPUnit を PhpStorm から実行できるようにします。Composer から PHPUnit をインストールする方法は Composerを使ったSymfony2.1のインストール方法 で紹介しています。

Preferences(Settings) > Languages & Frameworks > PHP > PHPUnit

  1. 事前にコンソール版 PHP の実行ファイルを設定しておきます
  2. PHPUnit library は Use custom loader を選択します
  3. Path to script は vendor 以下にある PHPUnit の Autoload.php を指定します
  4. Default configration file は app/phpunit.xml(.dist) のパスを指定します
  5. Default bootstrap file は必要に応じて設定します

phpunit

次に、Run メニューから テスト実行の設定を行います。

Menu Bar > Run > Edit Configurations

run-phpunit

テストの実行は Run メニューや、画面上部の矢印ボタンをクリックして実行します。キーボードショートカットから実行するのが手軽でオススメです。

run-icon

テスト実行結果です。左下に OK, NG のように表示されます。

run-phpunit-result

IDE からテストを実行できるようにすると、開発リズムが格段にあがります。ぜひ設定しましょう。

Xdebug でブレークポイントを張ってデバッグする

debug

IDE ではおなじみのブレークポイントを張ったステップデバッグ実行をできるようにします。手順は過去に書いた記事にまとめてあります。

PhpStorm + Xdebug でブレークポイントを張ってデバッグする方法

デバッガを起動するよりテストを書きましょう。「print デバッグしたくなったら、それはテストの書き時」by TDD Boot Camp。

Git を設定する

Git の設定は、プロジェクトの作成時に .git のあるディレクトリをプロジェクトルートにしていれば、ほとんど自動でやってくれます。できていない場合は手動で設定します。

Preferences(Settings) > Version Control > Git

  1. Path to Git executable に Git コマンドの場所を指定します。

git-bin

Preferences(Settings) > Version Control

Directory の+ボタンをクリックしてプロジェクトの .git があるディレクトリを指定します。Symfony2 の案件の場合 Symfony2 のプロジェクトルートに .git があることが多いと思います。

git-root

MySQL に接続する

sql-codecomplete

PhpStorm から MySQL に接続します。SQL の入力補完が強力です。表形式でデータを操作することもできます。設定方法は過去に書いた記事が参考になると思います。

SQLが書きやすい!PhpStormからMySQLに接続する方法

メモリ使用量の表示

メモリ上限設定を調整するため、メモリの使用量を表示しておきます。

Preferences(Settings) > Appearance & Behavior > Appearance

  1. 少し下のほう Window Options までスクロール
  2. Show memory indicator にチェック
  3. 右下にメモリ使用量が表示される

memory-indicator

メモリ使用量の上限数を増やす

memory-view

PhpStorm のデフォルトのメモリ使用量の上限は、800MB 付近に設定されていますが、上限を増やすことができます。過去に書いた記事が参考になると思います。

PhpStormのメモリ使用量を増やして高速化

ツールバーを削除してエディタの領域を広げる

上のほうにあるツールバー(保存ボタン)を削除します。MacBook Air などで開発しているとエディタ領域が狭く感じるので、少しでも広くします。

Menu Bar > View > Toolbar

  1. Toolbar のチェックをはずす

menu-toolbar

メニューや設定ウィンドウのフォントを変更する

メニューや設定ウィンドウのフォントを変更します。Linux で Keymap が文字化けしているときに設定することが多いです。not recommended なので、メニューが文字化けしている時以外は使わないようにしています。

Preferences(Settings) Appearance & Behavior > Appearance

  1. Override default fonts by (not recommended) にチェック
  2. Name で font を設定

appearance-window-font

Windows7 なら Meiriyo UI。Mac は Helvetica。Linux は IPAPGothic あたりを選択しておくのが無難です。

終わりに

以上、PhpStorm で Symfony2 の開発するときにいつも設定している 28 の設定を紹介しました。他にもいろいろな設定がありますが、利用頻度の低いものはあえて外してあります。この設定を参考に、ご自身の最適な設定を見つけましょう。

 ツイート 57  シェア 11  Hatena 88