脳みそスワップアウト

揮発性なもので。おもにPHPのこととか。

PhpStormランチャ

PhpStormから実行するスクリプト環境変数を期待している場合、
PhpStormを起動するシェルで環境変数を設定する必要がある。

そして大抵それはプロジェクトごとに固有のものだったりする。
PHPバイナリだったり、BEHAT_PARAMS だったり。

環境変数を設定しつつ、プロジェクトをIDEで開くランチャスクリプトを作ることにした。

あんまり使ったことのない PowerShell にしてみた。

C:\launch\testProj1.bat

@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\");&$s" %*&goto:eof

$PHPSTORM_BIN = "c:/apps (x86)/JetBrains/PhpStorm 8/bin/PhpStorm.exe"
$PROJECT_DIR = "c:/projects/testProj1"
$PHP_BIN = "C:/xampp-5.6.8-0/php/php.exe"


$Env:PHP_BIN = $PHP_BIN
$Env:BEHAT_PARAMS = '{"extensions" : {"Behat\\MinkExtension" : {"base_url" : "http://testproj1.localhost/"}}}'

& $PHPSTORM_BIN $PROJECT_DIR

$ret = $lastexitcode
exit $ret

ダブルクリックすると環境変数が設定されつつ、プロジェクトがIDEで開かれる。
IDEからbehatを実行すれば、BEHAT_PARAMS が解釈される。