以下、GPT-5が99%書きました。
嫌いな人は、ブラウザバック。
背景
PhpStorm を WSL2 上の Linux ディストリビューションにあるプロジェクトを \\wsl$... パス経由で開いて作業していたところ、config/deploy/*.rb などの Ruby ファイルをダブルクリックすると 一瞬タブが開いたあと即座に閉じる 現象に遭遇しました。
.rb を Text files に関連付け直しても状況は変わらず、編集不能で困りました。
ログに出ていたメッセージ
idea.log に以下の WARN が記録されていました:
WARN - #c.i.o.f.i.EditorComposite - Cannot focus editor
(file=file:////wsl.localhost/Ubuntu-22.04/home/user/project/config/deploy/production.rb),
reason=preferredFocusedComponent is null
→ エディタコンポーネントを生成できず、フォーカス対象が無いためタブが閉じている状態。
切り分け
-
.rbをローカルドライブ(例:C:\temp\production.rb)にコピー → 正常に開ける - 同じファイルを
\\wsl$\Ubuntu-22.04\...経由で開く → 即閉じる - Preview タブ無効化や File Type 設定変更 → 効果なし
つまり WSL の UNC パス経由で開いた場合のみ発生していました。
解決策
「Open from WSL」で開き直す
PhpStorm には公式の WSL サポートプラグインがあり、プロジェクトを「Open from WSL」として開くと IDE が正しくリモートFSとして扱ってくれます。
手順:
File > Close Project-
File > Open from WSL...を選択 - 対象のディストリビューション(例: Ubuntu-22.04)とプロジェクトパスを選択
→/home/user/project - 再度
.rbファイルを開くと正常に編集できる
これで Capistrano の deploy.rb も問題なく開けるようになりました 🎉
パフォーマンス改善
WSL 経由で開くと IDE が少し重く感じたため、以下を調整したところかなり改善しました。
-
最大ヒープメモリを 4GB に増加
Help > Change Memory Settings -
不要ディレクトリを Exclude
例:node_modules,vendor,log,tmp -
Windows Defender の除外設定
PhpStorm キャッシュディレクトリと\\wsl$パスを除外
まとめ
-
.rbファイルが「開いた瞬間閉じる」現象は UNC (\\wsl$...) 経由で開いたプロジェクト特有の不具合 - 「Open from WSL」でプロジェクトを開き直すことで解決
- IDE が重い場合は メモリ増量 + 除外設定で改善
💡 PhpStorm で WSL を使う際は「UNC 経由で直接開く」のではなく、「Open from WSL」を選ぶのがベストプラクティスだと学びました。