PHPStormでテンプレートをいじっている時に、
scriptファイルのパスを指定したらタイトルの通りに怒られてしまったのでその対処方法を探しました。
イメージはこんな感じです。
検証に使ったレポジトリはこちらです。
とりあえず Cannot resolve file phpstorm js
ってぐぐってみたらここにたどり着きました。
PHPStormはデフォルトだとルートディレクトリから見たパスにファイルがなかったら
Cannot resolve file ... と言うみたいですね。
確かにscriptのパスを /js/index.js
からルートからみたパスの
/web/js/index.js
に変えたらなにもしなくても解決できるようになりました。
# ディレクトリ構成 $tree . ├── LICENSE ├── Makefile ├── README.md ├── composer.json ├── composer.lock ├── composer.phar ├── templates │ └── index.html └── web ├── index.php └── js └── index.js
当然、他にも方法はあって、
今回で言えば web
ディレクトリを Resource Root
として扱うようにPHPStormに設定すればよいみたいです。
Resource Root
にしたいディレクトリを右クリック -> Mark Directory as
-> Resource Root
で設定できるみたいです。
設定したら、解決されるようになりました。
しかも、(macなら)cmd + クリックでファイルまで辿れるようになったので、
ファイルが大量になったりしたときにはとても便利そうですね。
感想
- ファイルまで辿れるのとても便利
- 最高に便利になったので絶対やったほうがいいと思いました。
- もうPHPStormじゃないとphp書けない体になりました。