phpstorm 无内置“一键生成目录树”功能,需通过集成终端执行系统 tree 命令实现;推荐在 terminal 中运行 tree /f(windows)或 tree -a(macos/linux),可重定向输出至文件,简洁高效且不依赖 php 环境。

PhpStorm 本身不提供“一键生成目录树”的内置功能,也没有菜单项或快捷键能直接输出类似 tree 命令那样的结构化文本。所谓“一键”,实际是组合外部命令 + PhpStorm 集成终端 + 少量配置达成的高效操作。
用 tree 命令在 PhpStorm 终端里快速生成
这是最轻量、最可靠的方式,适用于 Windows/macOS/Linux,且无需写 PHP 脚本或装插件。
- 确保项目根目录下有
composer.json或index.php等标识文件(非必需,但方便定位) - 在 PhpStorm 底部点击
Terminal标签页,它默认打开的就是项目根目录 - 执行以下任一命令:
— 只显示目录结构:tree
— 显示目录 + 所有文件:tree /F(Windows)或tree -a(macOS/Linux)
— 输出到文件便于粘贴进文档:tree /F > structure.txt - 生成的
structure.txt可直接拖进 Markdown 编辑器,或复制为代码块
为什么不用 PHP 脚本在 PhpStorm 里跑?
虽然知识库中提到了 create_dir_tree 这类函数,但它存在几个硬伤,不适合日常文档使用:
- 路径硬编码(如
D:\phpstudy_pro\WWW\www.com),每次都要改,违背“一键”初衷 - 没过滤
vendor、node_modules、.git等干扰项,输出冗长难读 - PHP 脚本需手动执行、浏览器访问或另存为文件,步骤多于终端命令
- 如果项目没配好 PHP 解释器,脚本根本跑不起来 —— 而
tree是系统命令,不依赖项目环境
别被“Project Structure”窗口误导
很多人点开 File → Project Structure → Modules,以为能导出结构,其实那里只显示 PhpStorm 内部的模块标记(比如哪些是 Sources Root),不是文件系统真实树状图。
- 它不会列出文件名,也不展示嵌套层级关系
- 标记错目录(比如把
public误标为Sources Root)反而会导致 Go to Declaration 失效,得不偿失 - 这个界面的作用是告诉 PhpStorm “哪里是代码起点”,不是用来生成文档素材的
需要自动过滤和美化?加个简单 shell 包装
如果经常要排除 vendor、node_modules、.idea,可以建一个 tree-clean.sh(macOS/Linux)或 tree-clean.bat(Windows)放在项目根目录:
tree /F /A /I / exclude:node_modules;vendor;.git;.idea
然后在 Terminal 里运行 tree-clean.bat 即可。不需要 PhpStorm 插件,不污染项目,下次换机器照用。
真正容易被忽略的是:目录树不是越全越好。文档里放一个干净、聚焦业务代码的结构(比如只含 src、config、migrations)比堆满第三方依赖的原始输出更有价值。动手前先想清楚——你要这棵树,到底是给谁看、解决什么问题。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










