phpstorm打开项目慢主因是vendor和node_modules被全量索引;应右键mark as→excluded(非ignored),并关闭composer自动导入、禁用vendor内未定义符号检查、调高inotify上限。

打开项目慢,90% 是因为 vendor 和 node_modules 被全量索引了——不是 PHPStorm 本身慢,是它在默默解析几万个文件。
为什么右键 Mark as → Excluded 才管用
很多人试过把 vendor 加进 .gitignore,但 PhpStorm 完全不认这个;也有人点了 “Ignored”,结果发现补全还是卡、跳转还是慢。关键区别在于:Ignored 只影响版本控制提示,Excluded 才真正从索引、搜索、类型推导中移除目录语义。
- 右键
vendor→Mark Directory as→Excluded(图标变红灰色) - 同理处理
node_modules、storage/logs、bootstrap/cache、dist、build - 确认生效:进入
File > Settings > Directories,检查这些路径是否列在Excluded区域 - ⚠️ 坑:如果目录仍是黄色图标,说明只被
Ignored,没真正排除——必须选Excluded
排除 vendor 后怎么还能跳转 Laravel 类
全量排除 vendor 的代价是 use Illuminate\Support\Str 点不了跳转。解决办法不是“不排”,而是“精准排”:
- 先整体把
vendor设为Excluded - 再手动添加关键子路径,例如
vendor/laravel/framework或vendor/symfony/console - 对这个子路径右键 →
Mark as > Sources Root(图标变蓝) - 路径必须精确:大小写敏感,不能写成
vendor/laravel(少包名),也不能漏掉framework - 如果用了 Composer path repository,还要去
Settings > Project > Project Structure > Modules把本地包路径设为Sources
排除后还在后台扫描?查这三个隐藏开关
即使标了 Excluded,PhpStorm 仍可能偷偷啃 vendor,大概率是下面三处开了后门:
-
Settings > PHP > Composer里勾了Enable auto-import for Composer packages—— 关掉 -
Settings > Editor > Inspections > PHP > Undefined class / function中启用了Report undefined symbols in vendor directories—— 关掉 - 项目根目录下
.idea/misc.xml里残留旧配置:<option name="excludedPaths" value=""></option>—— 直接删掉整行比 GUI 操作更可靠
Linux 下 inotify 耗尽会让排除失效
就算你把 node_modules 排除了,Linux 默认的 inotify 句柄上限(8192)也可能被撑爆,导致 PhpStorm 卡在“正在扫描文件”,连排除状态都同步不了。
- 查当前值:
cat /proc/sys/fs/inotify/max_user_watches - 临时调高:
sudo sysctl -w fs.inotify.max_user_watches=524288 - 永久生效:写入
/etc/sysctl.d/60-jetbrains.conf,内容为fs.inotify.max_user_watches=524288,再运行sudo sysctl -p --system - 顺手在
Settings > Editor > File Types > Ignore files and folders里补上node_modules;(注意分号)
真正卡住的点往往不在“做没做排除”,而在于 Excluded 是否生效、inotify 是否够用、以及那几个藏得深的自动导入和检查开关有没有关干净。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










