PhpStormのTerminalでいろいろ使う


概要

PhpStorm の Terminal で標準のコマンドプロンプト以外を使う方法です。

検証時のバージョンはこちらです。

PhpStorm 2018.1.6
Build #PS-181.5281.35, built on June 15, 2018
JRE: 1.8.0_152-release-1136-b39 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0

はじめに

どこの設定を変更するかです。

  1. Ctrl + Alt + S で設定ダイアログを開き、
  2. Tools > Terminal を選択
  3. この画面の Shell path を変更します。
  4. 設定後に新しくTerminalを開くと反映されます。

デフォルト(コマンドプロンプト)

cmd.exe

PowerShellを使う

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

Git Bashを使う

C:\Program Files\Git\bin\bash.exe

WSL (Windows Subsystem for Linux)を使う

C:\Windows\System32\wsl.exe

起動するディストリビューションの確認と設定

起動するディストリビューションはwslconfig /listで規定になっているものです。

# wslconfig /list
Windows Subsystem for Linux ディストリビューション:
Ubuntu-18.04 (既定)
Ubuntu-16.04

変更するときは /setdefaultオプションを使います

# wslconfig /setdefault Ubuntu-16.04

確認

# wslconfig /list
Windows Subsystem for Linux ディストリビューション:
Ubuntu-16.04 (既定)
Ubuntu-18.04

おまけ

exeにパラメータ渡せばPhpStorm側の設定だけで任意のディストリビューションが起動出来ると思い試してみましたが、残念ながらエラーになりました。

"C:\Windows\System32\wsl.exe {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"

WSL (任意のディストリビューション)を使う

上で出来ないと書きましたが、直接exeファイルのパスを指定することで出来ました

"C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc\ubuntu1604.exe" 

パスの確認方法

  1. Microsoft Stroeでインストールしたディストリビューションを起動
  2. タスクマネージャを開きます(Ctrl + Shift + Esc)
  3. 起動したディストリビューションのプロセスを探して、折りたたまれているのを展開
  4. exeを右クリック→プロパティ
  5. プロパティ内の場所 と exeファイル名を組み合わせるとでフルパスになります。


  ↓

問題点(Start directoryが適用されない)

問題が一つあり、この方法ではStart directory(ログイン時の初期位置)は適用されませんでした。
(Linux形式のパスを入れるとjava.io.IOException: Couldn't create PTYになる)

これが煩わしいという人は、ひとつ前で紹介したwsl.exeを指定する方法のほうがよさそうです。