在技术文档、PR描述或团队交接材料中,快速呈现项目结构看似简单,但手动编写目录树往往既耗时又容易出错——漏层级、缩进混乱、大小写不统一等问题频频出现,着实令人头疼。
因此,今天直接分享两种最可靠的解决方案:一种借助VSCode插件实现零命令操作,另一种通过系统命令获取完整的磁盘层级信息。
用Fitten Code直接生成结构文本
这个操作极为省心,甚至无需敲入一行命令。打开VSCode,确认已安装并登录Fitten Code插件(若未安装,直接在扩展市场搜索“Fitten Code”即可)。
随后,在左侧资源管理器中右键点击项目根目录,选择“Fitten Code – 生成项目结构”。大约等待3秒,右侧便会弹出预览窗口,其中呈现的是带缩进的纯文本目录树,整洁直观。
这里有一个关键限制必须说明:该功能【仅识别当前VSCode工作区已加载的文件和文件夹】。那些被files.exclude隐藏但物理存在的dist/等子目录,不会出现在结果中。换句话说,它基于VSCode的“视角”,而非磁盘的真实全貌。
确认内容无误后,点击预览窗口右上角的“复制”按钮,直接粘贴到Markdown文档或飞书笔记即可。输出格式非常清爽——缩进为4个空格,目录名末尾不带斜杠,无多余符号。
用tree命令导出真实磁盘结构(推荐用于交付物)
当你需要完整的物理结构,比如包含node_modules、.git、build等系统实际存在的目录时,必须绕过VSCode的“美化视图”,直接与操作系统交互。此时在终端中执行tree命令是最可靠的选择——不会卡顿、不会遗漏文件、格式完全可控。
第一步,在VSCode内置终端中先敲pwd回车,确认当前路径确实是项目根目录。如果不对,通过cd切换过去。
第二步,运行以下命令(Windows/macOS/Linux通用):tree -I "node_modules|.git|.DS_Store|dist|build" --dirsfirst -o tree-output.txt
这条命令会将所有目录排在文件前面,层级关系一目了然,同时过滤掉常见的干扰项。运行后检查生成的tree-output.txt文件,如果发现遗漏了某个本应存在的目录,说明该目录实际并未创建,并非命令问题。
需要特别提醒:-I参数后面的排除项必须用双引号整体包裹,否则shell会把竖线当成管道符,导致命令报错或输出乱码。
一键脚本固化常用导出逻辑
每次手动输入这么长的命令,难免记错参数,尤其是需要反复调整导出深度或过滤规则时。不如直接编写一个本地脚本,以后双击或使用alias即可运行。
macOS/Linux用户:新建一个gen-tree.sh文件,内容如下:
#!/bin/bash
tree -I "node_modules|.git|.DS_Store|dist|build" --dirsfirst -L 4 -o tree-$(date +%Y%m%d).txt
Windows用户(PowerShell):新建gen-tree.ps1,内容如下:
Set-Location $PSScriptRoot
tree /F /A > tree-$(Get-Date -Format 'yyyyMMdd').txt
Write-Host "✅ 已生成 tree-$(Get-Date -Format 'yyyyMMdd').txt"
保存后,在终端中为脚本赋予执行权限(macOS/Linux执行chmod +x gen-tree.sh),然后直接运行./gen-tree.sh,即可生成带日期后缀的结构文件,省心又规范。
值得注意,该脚本默认导出4层深度(-L 4),如果需要更深或更浅的层级,直接修改参数即可,比每次手动敲命令可靠得多。
