PhpStormでヒアドキュメント内の言語のハイライトと入力補完

heredoc-sql2
PhpStorm には、ヒアドキュメントにシンタックスカラーを適用したり、ヒアドキュメント内で入力補完できる機能があります。
ヒアドキュメントを使用するとソースコードが読みづらくなりがちなので好きではありませんが、案件によっては多用していたりするのでこの tips が有効な現場も多いと思います。

動作確認環境

  • Mac OS X Mountain Lion
  • PhpStorm 7.0
  • PHP 5.4


目次

  1. ヒアドキュメントに書いた HTML, CSS, JS のハイライトと入力補完
  2. ヒアドキュメントに書いた SQL のハイライトと入力補完

ヒアドキュメントに書いた HTML, CSS, JS のハイライトと入力補完

以下は普通にヒアドキュメントで HTML を書いているところです。ヒアドキュメントの ID は EOT にしています。PhpStorm では文字列として判定されているようで、緑色になっていますね。
heredoc-html
ヒアドキュメントの ID を HTML にすると、ハイライトと入力補完が有効になります。Emmet(ZenCoding) も使えます。
heredoc-html2
CSS の場合は ID を CSS にします。
heredoc-css
JS の場合も、ID を JS にすれば OK です。
heredoc-js

ヒアドキュメントに書いた SQL のハイライトと入力補完

SQL 文のハイライトと入力補完もできます。
以下は DB のマイグレーション用に CREATE 文をヒアドキュメントで書いているところです。ヒアドキュメントの ID を SQL にすると、キーワードがハイライトされます。
heredoc-sql
ハイライト表示されましたが、何か見づらいですね。PhpStorm が何やらアラートを発しているようです。SQL Dialect を設定して、アラートを解除します。
Preferences > Project Settings > SQL Dialects
heredoc-sql-diatects
アラートが消え、見やすくなりました。見やすくなったら SQL の構文エラーも見つかりました。カンマが多いです。こういったエラーもチェックしてくれます。
heredoc-sql2
入力補完も有効です。
heredoc-sql3

PhpStorm からデータベースに接続するように設定すると、テーブル名やカラム名の補完を行ってくれるようになります。設定方法は SQLが書きやすい!PhpStormからMySQLに接続する方法 にまとめてあります。ぜひお試しください。

おわりに

いかがでしたか。ヒアドキュメントを多用しているプロジェクトでは、この tips は有用と思います。機会があればお試しください。