Visual Studio CodeでPHP

お問い合わせ

当サイトはVisual Studio CodeでのPHP開発環境の構築、使い方、その他もろもろを紹介しています。

コード補完/コード整形のインストール・設定

Visual Studio Code ver1.14.2(2017/07/23現在)では、コード補完/コード整形/コード実行は「PHP IntelliSense」を使うようになりました。 前バージョンのコード補完/コード整形を行う拡張機能「PHP,Perl,ASM,Bash Code Format」は公開を中止してしまったようで、拡張機能の一覧から入手不可となっています。

PHP IntelliSenseのダウンロード・インストール

  1. VSCodeを起動し、以下の拡張機能のアイコンをクリックしてください。
    拡張機能
  2. 「PHP IntelliSense」と検索し、「インストール」ボタンを押して当該拡張機能をインストールしてください。

PHP7のダウンロード・インストール

「PHP IntelliSense」はPHP7環境を必要としますので、PHP7をダウンロード・インストールします。 2017年07月23日現在、PHP 7.2だと「phptokenizer」関連でのバグが発生しますので、PHP 7.1を利用してください。

  1. 32ビットのOSはX86の、64ビットのOSはx64の「Thread Safe」のzipファイルを ここ からダウンロードしてください。
    筆者環境ではPHP7.1 VC15 Thread Safeを利用しています。
  2. ダウンロードしたファイルを展開し、フォルダ名を「PHP7」とリネームし、Cドライブ直下に置いてください。 (「C:\PHP7」にするこということです)

PHP7設定

PHP7の設定で、後に入れる「Composer」が適切にインストールできるように設定します。

  1. PHP7フォルダの中にある「php.ini-development」をコピーし、「php.ini」として保存してください。
  2. 「php.ini」を開き、以下の行をコメントアウト(行頭の「;」を削除すること)してください。
extension=openssl
extension_dir = "ext"
        

Visual Studio Code設定

Visual Studio CodeからPHPを起動できるように設定します。

  1. 「ファイル」→「基本設定」→「設定」を開き、settings.jsonの編集画面に入ります。
  2. 左側にデフォルト設定が、右側にユーザ設定が表示されますので、右側に以下を記入し保存します。
{
    "php.validate.executablePath": "C:\\PHP7\\php.exe",
    "php.suggest.basic": false,
}
        

Composerのインストール・設定

「PHP IntelliSense」はlunguage-serverを利用するため、まずはComposerをインストール・設定します。
ここからComposer-Setup.exeをダウンロードし、実行してください。
インストールの途中で先に進めなくなった場合、PHP7の設定でopensslが有効になっていませんので、PHP7の設定からやり直してください。

language-serverのインストール・設定

lunguage-server本体と必要なモジュール群をインストール・設定します。
「C:\Users\ユーザ名\AppData\Roaming\Composer\composer.json」を作成し、以下のように記入します。

{
    "require": {
        "felixfbecker/language-server": "*"
    }
}
        
さらに、管理者権限でコマンドプロンプトを立ち上げ、「composer global upodate」とコマンドを入力します。これでlunguage-serverがインストールされます。

コード補完・コード整形機能を確認する

お疲れ様でした。これで「PHP IntelliSense」が利用できるようになりました。 任意のPHPファイルを開き、右クリックすると「ドキュメントのフォーマット(Alt+Shift+F)」という項目が追加されていますので、クリックすればコードが整形されます。

バグが発生?

前述の通り2017年07月23日現在では、最新のPHP7.2を利用すると、「phptokenizer」関連のバグが発生し、正しく整形してくれない問題が発生します。 これの解決方法はPHPインストール時に当該モジュールを不使用とすることなのですが、Windowsでのやり方がわからなかったため、 今回はPHP7自体のダウングレードで対応させていただきました。

生活・資格・勉強

はじめてのシリーズ

株関連サイト

口コミサイト

ページのトップに戻る