【Windows】Visual Studio Codeを使ったPHP開発環境を整える

Visual Studio Code」を使ったPHPの開発環境を構築する方法。(OS:Windows)

  1. Visual Studio Code(VSCode)とは?
  2. VS Codeのインストール
  3. PHPのインストール
  4. Gitのインストール
  5. Composerのインストール
  6. 開発環境の構築
  7. VS Codeの設定
  8. PHPをデバッグする

Visual Studio Code(VSCode)とは?

  • Microsoftが開発したソースコードエディタ
  • Visual StudioのようなIDEではなく、あくまでエディタなので動作が軽い
  • エディタとは言え、拡張機能でコンパイルもデバッグも出来る
  • PHPのようなスクリプト言語のコーディングに適している

※ちなみに、Visual Studio(IDE)とは共存出来る

VS Codeのインストール

VS Codeのダウンロードは下記サイトから行える。

Visual Studio Code – Code Editing. Redefined
https://code.visualstudio.com/

Visual Studio Codeのダウンロード

「Download for Windows」をクリックしてダウンロード。

Visual Studio Codeインストーラアイコン

ダウンロードしたファイルを「右クリック」→「管理者として実行」して、インストール開始。

Visual Studio Codeインストール画面

後は画面の指示に従って進める。

Visual Studio Codeインストール先のデフォルト

途中インストール先を指定する画面では、何故かユーザフォルダ以下がデフォルトになっているが、特に理由がなければ、そのままの方が無難。

ひとつのPCを複数ユーザで共有して使いたい場合は、全ユーザがアクセス可能な別フォルダを指定すること。

Visual Studio Codeインストール直後の起動 言語パックの適用

インストール後、起動すると最初は英語で表示されている。
画面に言語パックのインストール案内が表示されるので、日本語で使いたい人は言語パックをインストールできる。

拡張機能のインストール

次に拡張機能をインストールする。

まず、PHP開発に適したプラグイン一式をインストールするため、ようこそ画面にある「カスタマイズ」の「PHP」をクリックする。

VSCode PHP拡張機能をインストール

これで、以下の3つのプラグインがインストールされる。

VSCode PHPパッケージでインストールされる拡張機能

  • PHP Debug
    PHPデバッグ用のプラグイン。(要Xdebug)
  • PHP IntelliSense
    オートコンプリートやリファクタリングなどPHPコーディングのサポート機能。
  • PHP Extension Pack
    上記2つのプラグインを含んだパック。正直インストール後はいらない。

ここからさらに、以下の拡張機能をインストールする。

  • phpcs
    PHP CodeSniffer。コード規約のチェックを行う。
  • php cs fixer
    コード規約に合わせた修正やインデントなどの修正を行う。
  • PHP Mess Detector
    PHPの静的解析ツール。

どうでもいいけど、Marketplaceって類似拡張機能が多くて迷う…。

拡張機能はVS Codeを再起動しないと使えないので、一旦終了しておく。

PHPのインストール

XAMPPなどローカル開発環境をインストールすると、PHPも一緒にインストールされるので、そちらを使うことも出来るが、今回はVS Code用に開発環境とは切り離してPHPをインストールする。

PHP: Downloads
http://php.net/downloads.php

今回はWindowsなので、インストールしたいバージョンの「Windows downloads」をクリック。

ページ遷移後、1つのバージョンにつき4種類あるので、当てはまるものを選んでダウンロードする。

x64 / x86 OSのバージョン。
x64:64bitかx86:32bitを選択する。
Thread Safe /
Non Thread Safe
マルチスレッド対応か非対応か。
開発対象のWebサーバに合わせて選択する。
(例:Apache2系はマルチスレッド対応、Apache1系は非対応など)
Zip /
Debug Pack
VS Codeでデバッグする場合、PDBファイルはいらないのでZip一択。

ダウンロードしたファイルを任意の場所に解凍する。
(今回は、C:\php\php7.2.9フォルダの下に解凍した)

次に、「php.ini-development」をコピー、リネームして「php.ini」にする。

php.iniファイルを開き、以下のコメントアウトを解除する。

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"
 :
extension=mbstring
extension=openssl

Gitのインストール

Git for Windowsキャプチャ

Gitが使えるように、Git for Windowsをインストールする。

Git for Windowshttps://gitforwindows.org/

上記サイトにアクセスして、「Download」をクリック。

Git for Windowsインストール01

コンポーネント選択はデフォルトのまま。

Git for Windowsインストール02

デフォルトエディタを選択できるが、Visual Studio Codeにすると、なぜか「Next」が死ぬ。
2.19.0で直るかと思ったけど、そのままだった。

この場合、一度「Back」をクリックして、再度進むと「Next」が押せるようになる。

Git for Windowsインストール03

「Use Git from the Windows Command Prompt」を選択して次へ。

Git for Windowsインストール04

「Checkout Windows-style, commit Unix-style line endings」を選択して次へ。
これは改行コードをどうするかって質問。
実行環境がUNIXだったり、バージョン管理をMac OSの人とかとやるならこれ。

Git for Windowsインストール05

「Use MinTTY (the default terminal of MSYS2)」を選択して次へ。

Git for Windowsインストール06

とりあえずここもデフォルトで次へ。

Git for Windowsインストール07

2.19.0から増えたウィザード項目。

Enable experimental, built-in rebase … ビルトインリベース機能を有効にする(テスト版)
Enable experimental, built-in stash … ビルトインスタッシュ機能を有効にする(テスト版)

よく分からないので「Install」でインストール開始。

Composerのインストール

PHPのパッケージ管理システムであるComposerをインストールする。

Composerダウンロードサイト

Composer
https://getcomposer.org/

上記サイトにアクセスし、「Download」をクリック。

Composer Downloadボタン

ページ遷移後、ダウンロードファイルのリンクをクリックしてダウンロードする。

Composer Downloadリンク

ダウンロードしたファイルをダブルクリックするとインストール開始。

Composerインストール画面01

「Developer Mode」は上級者モード的な意味かな?
必要ファイルのみでアンインストーラは入れないから、自分で消せるならチェック入れなってことらしい。
別にストレージがギリギリとかじゃなければチェック入れる必要ないかと。

Composerインストール画面02

PHPの実行ファイル(php.exe)を聞かれるので、先ほど入れたPHPを指定。

Composerインストール画面03

必要な設定がなかったりすると、php.iniファイルの変更確認が入る。
バックアップも自動で取ってくれるので、「Update this php.ini」にチェックを入れた状態で「Next」。

Composerインストール画面04

プロキシ使ってなければそのまま、プロキシ設定がある場合は入力して「Next」。

Composerインストール画面05

確認画面。
環境変数にパスも追加してくれるそう。
「Install」をクリックしてインストールする。

Composerインストール画面06

環境変数を触ったことによる注意事項が表示される。
「Next」をクリックして次へ。

Composerインストール画面07

Composerのインストールは以上で完了。

必要な機能のインストール

VS Codeにインストールした各種機能を動かすため、Composerからいくつかの機能をインストールする。
コマンドプロンプトを起動し、以下のコマンドを実行していく。

phpcs(PHP CodeSniffer)のインストール

composer global require squizlabs/php_codesniffer=*

php-cs-fixerのインストール

composer require --dev friendsofphp/php-cs-fixer

phpmd(PHP Mess Detector)のインストール

composer global require phpmd/phpmd:"@stable"

開発環境の構築

任意の開発環境を構築する。

VS Codeの設定

VS Codeの設定は、ファイルで行う。
Ctrl + ,」(コントロール+カンマ)を入力すると、設定ファイルが開く。

設定ファイルには、以下のように記述する。

{
    "php.validate.executablePath": "php-win.exeのパス",
    "php.executablePath": "php-win.exeのパス",
    "php.suggest.basic": false,
    "phpcs.enable": true,
    "phpcs.standard": "PSR2",
    "php-cs-fixer.executablePath": "${extensionPath}\\php-cs-fixer.phar"
}

phpcsで使用できるコーディング規約

  • PSR2
  • WordPress
  • 独自ルールの場合xmlファイルのパス

※WordPressをコーディング規約で指定したい場合は、以下の手順が必要
【Windows】VSCodeのPHPCSでWordPressを指定する

PHPをデバッグする

VS Codeを使ってPHPをデバッグするには、VS Codeの拡張機能「PHP Debug」と、実行環境の「XDebug」が必要となる。

XDebugのインストールと設定

実行環境にXDebugがインストールされていない場合、以下のコマンドでインストールする。(例.CentOSの場合)

sudo yum --enablerepo=remi-php71 -y install php-pecl-xdebug

次に以下のファイルを編集してXDebugの設定を行う。

/etc/php.d/15-xdebug.ini
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_host = [リモート側のIPアドレス]
xdebug.remote_port = [リモート側のポート]

上記でリモート側となっているのは、VS Codeが動く側のPCのこと。
ローカル環境で構築している場合、特に設定せずに、デフォルトのlocalhost、9000で問題ない。

VS Codeのリモートデバッグ設定

まず、左端のデバッグアイコンをクリックし、その次に設定アイコンをクリックし、「PHP」を選択する。

Visual Studio Codeのリモートデバッグ設定01

すると、設定ファイルが開くので、以下の通り追記する。

"configurations": [
{
  "name": "Listen for XDebug",
  "type": "php",
  "request": "launch",
  "port": 9000,
  "pathMappings": {
    "/var/www/html" : "${workspaceRoot}"
  }
},

pathMappingsには、サーバ側とリモート側のディレクトリを結びつける必要がある。
${workspaceRoot}には、VS Codeで開いているフォルダが当たる。

これでデバッグも出来るようになる。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

「【Windows】Visual Studio Codeを使ったPHP開発環境を整える」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください