作者:watermelo37 CSDN优质创作者、华为云云享专家、阿里云专家博主、腾讯云“创作之星”特邀作者、火山KOL、支付宝合作作者,全平台博客昵称watermelo37。 一个假装是giser的coder,做不只专注于业务逻辑的前端工程师,Java、Docker、Python、LLM均有涉猎。 --------------------------------------------------------------------- 温柔地对待温柔的人,包容的三观就是最大的温柔。 ---------------------------------------------------------------------


在日常开发中,无论是前端 Vue 项目、后端 SpringBoot 工程,还是基于 Docker 的微服务架构,我们经常需要“导出项目目录结构”。具体有哪些常见场景,又要如何操作呢?
仅我个人,就遇到过以下几类典型的场景:
当你想让其他开发者快速理解一个项目的模块拆分、业务边界、基础设施层次时,整棵项目树非常直观。一张清晰的目录结构比千言万语更有说服力。
比如 Vue 前端的 /components、/views、/composables组织方式;SpringBoot 的 /controller、/service、/domain 分层方式;Docker 多服务如何在 /deploy、/docker 中安排等等。都需要结合具体的项目目录来进行分享。
仅我个人,经常在博文内容中分享具体的项目结构(或者局部结构),引导读者理解代码结构,来帮助读者快速理解场景、问题或者解决方案。
项目文档中也是一样,项目目录的作用与技术博文内容相似。
一些复杂的项目需求,经常需要给大语言模型输入项目结构作为参考,否则大模型哪怕给出正确的解决方案,也经常无法满足项目的实际需求。
这些场景都需要方便地导出 VS Code 的文件/目录结构。那么,具体怎么做呢?来看下面的几种方案。
以下所有方法我都实践过,并附上优缺点,让你能快速选到最适合的一种。
这是 VS Code 生态中常用的方案,可以在编辑器中直接生成树形结构。
使用方式:
①在 VS Code 拓展中搜索 file-tree-generator,下载该拓展。

②右键要生成的目录,点击 Generate to Tree 即可生成对应的项目结构了:


这种方法简单易用,图形化操作,树结构清晰,能识别文件类型,但是输入目录过大时可能稍慢,不适合做自动化(CI、脚本)。
此外还有一些类似的拓展,比如 projecct-tree,这个拓展支持生成 Markdown 格式的项目目录,在某些场景使用起来更加方便。

这是最经典、最常用、最灵活的方法。要先安装:
macOS: brew install tree Ubuntu: sudo apt install tree Windows: 原生不支持,需要使用 Git Bash 的内置 tree
然后就可以使用命令:
tree -I "node_modules|dist|.git" -L 3 > tree.txt这里的 -I:排除目录,-L:深度限制,其他的参数可以自行了解。
这个方法最灵活、最快,支持脚本,可大量自定义格式、过滤规则,但是需要终端操作并且默认输出格式比较丑。
这个方法适合自动生成目录树、做项目分析、自动文档化。但是需要配置node环境。
给个简单的示例脚本吧,将下面的代码保存为 tree.js 文件。
const fs = require('fs');
const path = require('path');
function generateTree(dir, prefix = '') {
const files = fs.readdirSync(dir);
let result = '';
files.forEach((file, idx) => {
const isLast = idx === files.length - 1;
const fullPath = path.join(dir, file);
const stats = fs.statSync(fullPath);
result += `${prefix}${isLast ? '└── ' : '├── '}${file}\n`;
if (stats.isDirectory()) {
result += generateTree(fullPath, `${prefix}${isLast ? ' ' : '│ '}`);
}
});
return result;
}
console.log(generateTree(process.argv[2] || '.'));然后在存放 tree.js 的文件夹中打开终端,运行下列命令就可以将当前文件夹的目录生成并导出到 tree.txt 文件中:
node tree.js > tree.txt也可以手动传入具体的地址,比如加一个相对路径:
node tree.js ./src > src_tree.txt这个方案优点是可完全定制(过滤、深度、输出格式等),可集成到 npm script,可在多项目中复用。缺点就是需要写脚本,相对更麻烦,而且效率一般不如 tree 命令高。
导出 VS Code 目录结构看似是一个“小需求”,但在实际工程、写文档、团队协作、LLM 助力开发等场景中,它是非常重要的“结构化表达工具”。在某些时刻一个简单的项目目录结构图,会大大增加沟通效率和展示效果。
只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~