こんにちは。株式会社リンクネット ソリューション事業部の吉川です。
弊社では開発に好きなエディタを使えます。
PHPの案件が多いため、私はPhpStormを主に使っています。
今回はPhpStormを使っていて困ったことがあり、ひとまず改善できたためそれをまとめようと思います。
OS: Windows11
ソースコードはWSL2のファイルシステム上に置いています。
今回のプロジェクトはすべてLaravel Sailで作られたDocker環境で開発しています。
TypeScriptで書かれたファイルを開き、型の部分にマウスオーバーしても「ドキュメントを取得中…」としか表示されなくなってしまいました。
これは特定のプロジェクトを開いた時にだけ発生していました。
私のPCにはWindows側とWSL2側にそれぞれnodeをインストールしていたのですが、プロジェクトがWSL2にあるのに使用するnodeがWindows側の物になっているのが原因でした。
設定の「言語 & フレームワーク > TypeScript」の「Node インタープリター」をUbuntuから始まるものに設定することで改善しました。
プロジェクトを開くと、コンソールにbash: /tmp/LfnGsA/bash-integration.bash: No such file or directory
のようなエラーが出ていました。
このエラーが出ていても問題なくコンソールコマンドも叩けていましたが、毎回出るのが煩わしかったです。
この事象も特定のプロジェクトを開いた時にだけ発生していました。
こちらは明確な原因がわかっていないのですが、設定の「ツール > ターミナル」の「シェルパス」に/bin/bash
が設定されており、これをwsl.exe -d Ubuntu
に変更することで発生しなくなりました。
本来であればツールウィンドウのプロジェクトにプロジェクトディレクトリ配下のフォルダ・ファイルが表示されるのですが、これがすべて表示されなくなってしまいました。
またソースフォルダ・除外フォルダなどの設定も消えてしまいました。
この事象が発生する前に「ファイル > プロジェクト名の変更」でプロジェクト名を「プロジェクト/システム名」のようにしていました。
この時に設定したプロジェクト名は.idea/modules.xml
内でも使われるらしく、中身を確認すると以下のようになっていました。
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/プロジェクト/システム名.iml" filepath="$PROJECT_DIR$/.idea/プロジェクト/システム名.iml" />
</modules>
</component>
</project>
プロジェクト名に含んでいた/
がパスの区切り文字になってしまい、.iml
ファイルが参照できなくなってしまったのがフォルダ・ファイルが表示されなくなった原因でした。
このファイル内にソースフォルダ・除外フォルダなどの設定が記述されていたためプロジェクトの設定が消えてしまったようです。
そのうえ、プロジェクト名変更のタイミングでもともとの.iml
ファイルが削除されていたため設定も復元不可能になってしまいました。
こんなところに影響するとは全く思っていなかったのですが、プロジェクト名には/
を使わないようにしましょう…
今回は以上となります。
思わぬところで詰まるときもありますが、Laravel Ideaが無償化されたこともあり、もうPhpStormは手放せなくなってしまいました。
今後も使い倒していこうと思います。