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 が解釈される。