PHPプログラミングも快適に! VS Codeの二大拡張機能:Visual Studio Code+PHPの可能性を探る(1/3 ページ)
VS CodeとPHPでWebアプリ開発はどこまで簡単になるのかを探る新連載。今回はVS Codeを利用したPHPによるアプリ開発に必須の拡張機能を2つ紹介する。
連載「Visual Studio Code+PHPの可能性を探る」
本連載では、Visual Studio Code(以下、VS Code)を使ってPHPプログラミングする際の基本事項を紹介していく。ただし、PHPの構文や文法については取り上げない予定だ。これらについては、@IT内の連載「Web業界で働くためのPHP入門」やPHP公式サイトの「PHP マニュアル」などを参考にしてほしい。また、VS CodeのGUI構成や、基本的な使い方については「Visual Studio Codeの使い方、基本の『キ』」を参照されたい。
なお、本連載ではWindows 10 Proの環境上に、XAMPPを用いて構築したPHP開発環境を使用する(PHPのバージョンは7.2.9。XAMPPのインストールは完了しているものとする)。他のOSや環境、PHPのバージョンでは、本連載の記述とは異なる部分があるかもしれないことには注意されたい(パスの記述など)。
VS CodeでPHPする?
VS Codeはマイクロソフトが主導してオープンソースでの開発が進められているテキストエディタだ。その特徴としては次のようなことが挙げられるだろう。
- クロスプラットフォーム
- さまざまな言語に対応
- 高速
- 拡張機能も豊富
特に多くの方が高速性を重視して、VS Codeを使っているようだ。Webの海を漂流していると(逃避行動ともいう)、さまざまなエディタと比較して「VS Codeのスピードに惚れた」といった意見を目にすることもよくある。筆者も最近では、C#のサンプルプログラムを.NET Frameworkベースで作成するときを除けば、基本的にサンプルプログラムはVS Codeで書くことがほとんどとなっている。
1つの言語に限らず、VS Codeがさまざまな言語をサポートし、コミュニティーによりそれらの言語でのコーディングやデバッグをより快適なものにしようと多くの拡張機能が開発されていることも、VS Codeの大きな魅力の1つだ。そして、そうした波はPHPにももちろん及んでいる。今回紹介する2つの拡張機能は、VS CodeでPHPアプリを開発していく上で必須といえるものであり、コードの記述からデバッグまでをVS Code内で完結させることが可能だ。
現在は、1つのモノを作るのに、さまざまな言語を操るのが当たり前となっている。「この言語ではこのエディタ、別の言語ではこのエディタ」ではなく、完成度が高く、高速で、さまざまな言語をサポートしている高機能なエディタが1つあれば、それで済むのであれば理想的だ。そして、VS Codeはそうしたエディタとして選択する有力候補であるといえる。本連載では、VS CodeでのPHPアプリ開発に便利な機能を紹介したり、(それほど大規模ではない)アプリを実際に作成したりしながら、VS Code+PHPの組み合わせの可能性を探っていくことにしよう。
VS CodeでPHPするのに必要なモノ
VS CodeはデフォルトでPHPをサポートしているので、拡張機能を入れなくとも構文ハイライトなどの基本機能は使用できる。それでも、以下の2つの拡張機能は入れておくのが好ましい(共にPHP 7以降が必要)。
PHP IntelliSenseは構文ハイライト、コード補完、関数やメソッドのパラメーターの提示(シグネチャヘルプ)など、VS CodeがデフォルトでサポートしているIntelliSense機能よりも高度な機能を提供してくれる。PHP DebugはPHP 7以降で使用可能なXdebug(PHPのデバッグ用拡張機能)を利用して、VS CodeからPHPコードをデバッグするために使用する拡張機能だ。
なお、VS Codeのユーザー設定/ワークスペース設定で設定可能なPHP関連項目としては以下がある。
- php.suggest.basic項目:VS Codeに組み込みのIntelliSense機能による候補の提示の有効/無効を切り替える
- php.validate.enable項目:VS Codeに組み込みのPHPコード検証機能の有効/無効を切り替える
- php.validate.executablePath項目:PHPコードの検証で使用するPHPコマンドのパス
- php.validate.run項目:PHPコードの検証を行うタイミング
PHP IntelliSense拡張機能をインストールすると、これらに加えて幾つかの設定項目が利用できるようになる。以下では、これら2つの拡張機能のインストールと幾つかの設定項目について見ていこう。
PHP IntelliSense
PHP IntelliSenseはPHPで書かれた言語サーバを利用してIntelliSense機能を提供する。ただし、これは拡張機能に含まれているので、PHP IntelliSenseのみをインストールすればよい。
PHP IntelliSense拡張機能をインストールした際には、この拡張機能とVS Codeに組み込みのIntelliSense機能とで、候補の提示などが重複しないようにユーザー設定あるいはワークスペース設定で先ほど紹介したphp.suggest.basic項目をfalse(無効)に設定することが推奨されている。また、php.validate.enable項目も必要に応じてfalse(無効)にして構わない。これら2つの項目はあくまでもVS Codeに組み込みの機能の有効/無効を切り替えるスイッチなので、falseにしても、PHP IntelliSenseによる候補の提示やエラー検出などはちゃんと行われる、
PHP IntelliSense拡張機能をインストールすると、以下の2つの設定項目を利用できるようになるので、必要に応じて設定しておこう。
- php.executablePath項目:PHPコマンドのパス
- php.memoryLimit項目:PHP言語サーバが使用するメモリの上限を指定
以下に設定例を示す。
{
"php.validate.enable": false,
"php.suggest.basic": false,
"php.executablePath": "C:\\xampp\\php\\php.exe"
}
これは、VS Codeに組み込みの検証機能やIntelliSense機能を無効化し、PHPコマンドへのパスを指定したものだ。
PHP Debug拡張機能のインストールと設定
PHP Debug拡張機能を使うには、PHPの拡張機能である「Xdebug」が必要になる。
詳細な手順はPHP Debug拡張機能のドキュメントを参照してほしいが、簡単には次の手順となる(macOSでも以下の手順により、必要な作業が表示されるので、インストール時には参考にしてほしい)。
- 「php -i | clip」コマンドを実行して、その出力結果をクリップボードにコピーする
- 「Tailored Installation Instructions」ページにあるテキストボックスに、出力結果をクリップボードからペーストする
- [Analyse my phpinfo() output]ボタンをクリックする
- 表示された指示に従って、DLLをダウンロードして、拡張機能フォルダに移動して、PHPのインストールフォルダにあるphp.iniファイルを編集する
「Tailored Installation Instructions」ページ
後ろのコマンドプロンプトでは「pip -i | clip」コマンドにより、PHPの情報をクリップボードにコピーしている。それをブラウザのテキストボックスに貼り付けて、[Analyse my phpinfo() output]ボタンをクリックする。
これに加えて、リモートデバッグを有効化するために、php.iniファイルに以下を記述する。PHP Debugのドキュメントにあるものをそのままコピー&ペーストするだけだ。
ここでは、PHPのインストールフォルダ(C:\xampp\php)にある「ext」フォルダに「php_xdebug-2.6.1-7.2-vc15.dll」ファイルを配置して、同じくインストールフォルダにあるphp.iniファイルの末尾に以下を記述した。なお、既にWebサーバが動作しているのであれば、再起動が必要になることには注意。
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
zend_extension = C:\xampp\php\ext\php_xdebug-2.6.1-7.2-vc15.dll
これでXdebugを利用したデバッグがVS Codeから可能になる。
Copyright© Digital Advantage Corp. All Rights Reserved.