notepad++ 无法直接生成文件树,需借助外部命令:windows 下用 tree /f /a 导出并打开,或通过 nppexec 插件一键插入;跨平台或需过滤时推荐 powershell/python 脚本,注意编码与路径空格问题。

Notepad++ 本身不支持生成文件树结构
Notepad++ 是纯文本编辑器,没有内置命令或菜单项能扫描目录并输出 tree 格式。想“一键”实现,必须借助外部命令 + Notepad++ 的运行功能(Run → Run... 或快捷键 F5),本质是调用系统命令行工具。
Windows 下用 tree 命令快速导出(推荐)
这是最轻量、无需安装额外工具的方案,但要注意默认输出含中文乱码、带图形字符、不含文件后缀等问题:
- 按
F5打开运行框,输入:cmd /c tree /f /a "$(CURRENT_DIRECTORY)" > "$(CURRENT_DIRECTORY)dir_tree.txt" & notepad "$(CURRENT_DIRECTORY)dir_tree.txt" -
/f:显示文件名(否则只列目录) -
/a:用 ASCII 字符替代 Unicode 图形线(避免乱码,尤其中文路径) -
"$(CURRENT_DIRECTORY)"是 Notepad++ 内置变量,自动替换为当前文件所在目录 - 生成的
dir_tree.txt会自动用记事本打开——若想直接在 Notepad++ 中打开,需先确保已安装NppExec插件并配置重载逻辑
用 NppExec 插件实现真·一键插入到当前文档
这是最贴近“在 Notepad++ 里操作”的方案,但需要手动安装插件和写简单脚本:
- 通过
Plugins → Plugins Admin安装NppExec - 按
F6打开控制台,粘贴并保存为脚本(例如叫InsertDirTree):cd "$(CURRENT_DIRECTORY)" cmd /c tree /f /a > "$(FULL_CURRENT_PATH).tree.tmp" npp_open "$(FULL_CURRENT_PATH).tree.tmp" npp_menucommand "Edit\Copy All to Clipboard" npp_close "$(FULL_CURRENT_PATH).tree.tmp" npp_menucommand "Edit\Paste"
- 之后按
F6选该脚本,回车即可将树状结构插入光标位置 - 注意:
tree在某些精简版 Windows(如 Server Core)中可能缺失;若遇权限错误,说明当前目录含系统保护路径(如C:Windows),需换普通目录测试
跨平台或需过滤/排序时,改用 PowerShell 或 Python 脚本
当要排除 node_modules、只看 .py 文件、或确保 UTF-8 编码时,tree 命令力不从心:
- PowerShell 示例(保存为
gen-tree.ps1,在 NppExec 中调用):powershell -Command "Get-ChildItem -Path '.' -Recurse -Name | Sort-Object | Out-File -Encoding UTF8 -FilePath 'tree_out.txt'" - Python 更灵活,但需本地有 Python 环境;常见坑是 Notepad++ 默认以 32 位进程启动,若装的是 64 位 Python,会报
'python' is not recognized - 所有外部脚本路径含空格时,务必用英文双引号包裹,否则
cmd解析失败
真正卡住的地方往往不是语法,而是路径变量作用域和编码隐式转换——比如 tree 输出 ANSI,而 Notepad++ 新建文档默认 UTF-8,直接插入会出现乱码,必须加 /a 或用 PowerShell 显式指定 -Encoding UTF8。










