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

2013年8月5日

PhpStorm

PhpStorm で Symfony2 のアプリケーションを開発していると「ここの入力補完ができれば・・」と思うことがあります。たとえば、サービスコンテナに登録されているサービス名の入力補完ができなかったり、サービスコンテナから取得したオブジェクトの入力補完ができなかったり。Symfony2 Plugin をインストールすると、このあたりの入力補完ができるようになり、他にも様々な便利機能を利用できるようになります。PhpStorm で Symfony2 を開発するならぜひ利用したいプラグインです。

動作確認環境

  • PhpStorm 6.0.3
  • Symfony2 Plugin 0.9.14
  • Symfony 2.3

目次

  1. Container の入力補完
  2. Repository の入力補完
  3. Parameter の入力補完
  4. Twig テンプレート名の入力補完
  5. Twig の入力補完
  6. FormType の入力補完
  7. Symfony2 Plugin のインストール方法
  8. Symfony2 Plugin の初期設定
  9. 補完ができない場合

Container の入力補完

Symfony2 Plugin をインストールすると、以下のような入力補完ができるようになります。

サービスコンテナ名の入力補完ができます。

completion-container

サービスコンテナから取得したオブジェクトの入力補完ができます。

completion-container-method

その他にも

  • サービスコンテナの名前にカーソルをあわせて、サービスクラスの定義にジャンプできます。
  • service.yml に独自に追加したサービスも補完できます。

Repository の入力補完

リポジトリ名の入力補完ができます。

completion-repository

リポジトリオブジェクトの入力補完ができます。

completion-repository-method

その他にも

  • リポジトリ名にカーソルをあわせ、定義にジャンプできます。
  • リポジトリクラスに独自に追加したメソッドも補完できます。

Parameter の入力補完

services.yml, parameters.yml に登録された Parameter 情報を取得できます。

completion-parameter

Twig テンプレート名の入力補完

Template アノテーションの入力補完ができます。
completion-template

render, renderView メソッドの入力補完ができます。

completion-render

その他にも

  • Twig名にカーソルをあわせ、Twigファイルにジャンプできます。

Twig の入力補完

継承可能な block 名の補完ができます。

completion-block

ルーティングの補完ができます。

completion-path

関数の補完ができます。

completion-twig-method

画像や CSS のパスの補完ができます。

completion-assert

CSS や JS のファイルにジャンプすることもできます。

FormType の入力補完

FormBuilder の FormType の補完ができます。add メソッドの第3引数のオプションの補完がすごく便利です。

completion-form

Symfony2 Plugin のインストール方法

便利な機能をひと通り紹介したところで、Symfony2 Plugin をインストール方法です。

  1. 設定ウィンドウ > IDE Settings > Plugins をクリック
  2. Browse repositories ボタンをクリック
  3. 右上の検索ウィンドウに symfony と入力
  4. プラグイン一覧から Symfony2 Plugin を選択
  5. 右クリックして Download and Install を選択
download-symfony2-plugin
  1. ダイアログの裏側にある PhpStorm のツールバーに、ダウンロードの進行状況が表示されるので、プラグインのダウンロードが完了するまで待つ
  2. ダウンロードが完了すると、Apply ボタンがクリック可能になるので、クリック
  3. PhpStorm の再起動を促されるので、Restart ボタンをクリックして再起動

Symfony2 Plugin の初期設定

Symfony2 Plugin を有効化し、各種設定を行います。各種設定のパスは、プロジェクトのルートディレクトリ(.idea ディレクトリがあるディレクトリ)からの相対パスとなります。

  1. 設定ウィンドウ > Project Settings > Symfony2 Plugin をクリック
  2. Enable Plugin for this Project にチェック
  3. urlGenerator.php のパスや、app ディレクトリへのパスを設定
setting-basic

次に、container の xml ファイルのパスを指定します。

  1. 設定ウィンドウ > Project Settings > Symfony2 Plugin > Container をクリック
  2. 左下の+ボタンをクリック
  3. キャッシュディレクトリにある、appDevDebugProjectContainer.xml を登録
setting-container

Twig テンプレートの補完用の設定を確認します。

  1. 設定ウィンドウ > Project Settings > Symfony2 Plugin > Twig をクリック
  2. すべて有効になっていることを確認
setting-twig

補完ができない場合

キャッシュが生成されているか確認

Symfony2 Plugin は Symfony2 が生成するキャッシュを利用しています。キャッシュが生成されていないと補完ができないので、一度ブラウザからアプリケーションにアクセスしてキャッシュを作成してください。

各種設定のパスを確認

各種設定のパスは、PhpStorm のプロジェクトルートからの相対パスです。PhpStorm のプロジェクトルートと Symfony2 のアプリケーションルートが異なる場合、デフォルトの相対パスでは補完が有効にならないので、絶対パスで指定してください。

詳細は公式ドキュメントをご確認ください。

idea-php-symfony2-plugin - GitHub

まとめ

いかがでしたか。PhpStorm で Symfony2 の開発するならぜひ試してみてください。紹介していない機能もありますので、詳細は公式のドキュメントをご確認ください。

Symfony2 PhpStorm Plugin Documentation

-技術ブログ
-,