Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>File Tree SmartNew to Visual Studio Code? Get it now.
File Tree Smart

File Tree Smart

PlayRood

| (0) | Free
Generate beautiful Markdown file trees from folders with optional icons.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

File Tree Smart

Generate clean, professional Markdown file trees from any folder in VS Code, with optional icons and .gitignore awareness.

GitHub

Project repository: File Tree Smart on GitHub This project is open source and publicly available on GitHub.

Created by PlayRood. GitHub: PlayRood32.

Features

  • Generate Markdown tree with icons.
  • Generate Markdown tree without icons.
  • Smart quick action to choose mode on demand.
  • Works from both:
    • Explorer folder right-click menu
    • Command Palette
  • Respects .gitignore from root and nested folders.
  • Uses a large fallback ignore list when .gitignore is missing.
  • Supports a large icon map for common filenames and extensions.
  • Handles empty folders after filtering.

Commands

  • Generate Markdown Tree (with icons)
  • Generate Markdown Tree (no icons)
  • Generate Markdown Tree... (quick pick: with/without icons)

Explorer Context Menu

All three commands are available when right-clicking a folder in the Explorer (explorerResourceIsFolder).

Extension Settings

  • fileTreeSmart.defaultWithIcons (default: true)
  • fileTreeSmart.maxDepth (default: 12)
  • fileTreeSmart.showHiddenFiles (default: false)
  • fileTreeSmart.respectGitignore (default: true)

Output Format

The extension generates output in this structure:

# File Tree: awesome-web-app

**Generated:** 23/02/2026, 16:05:12
**Root Path:** `/home/user/projects/awesome-web-app`

```
├── 📁 app
│   ├── ⚛️ page.tsx
│   ├── ⚛️ layout.tsx
│   └── 🎨 globals.css
├── 📁 components
│   ├── ⚛️ header.tsx
│   └── ⚛️ footer.tsx
├── ⚙️ next.config.ts
├── ⚙️ tsconfig.json
├── 📦 package.json
└── 🔒📦 yarn.lock
```

---
*Generated by File Tree Smart*

If a folder is empty after filtering, it is rendered as:

└── (empty folder)

Full Icon List (Categorized)

All mapped extensions are grouped by category for easier browsing. Total extensions: 992.

Programming Languages (114)
Extension Icon
.beam 🧪
.c 🔵
.cc 🔵
.cjs 🟨
.class ☕
.clj ☕
.cljc ☕
.cljs ☕
.cpp 🔵
.cpython-311.pyc 🐍
.cr 💎
.crystal 💎
.cs 🟪
.csproj 🟪
.csv 📊
.csx 🟪
.cts 🟦
.cxx 🔵
.d.ts 🟦
.dart 🎯
.ear ☕
.elm 🌳
.erb 💎
.erl 🧪
.es 🟨
.es6 🟨
.ex 🧪
.exs 🧪
.fs 🟦
.fsi 🟦
.fsproj 🟦
.fsx 🟦
.gemspec 💎
.go 🐹
.gradle ☕
.groovy ☕
.h 🔵
.hh 🔵
.hpp 🔵
.hrl 🧪
.hs 🐬
.hxx 🔵
.ino 🔵
.jar ☕
.java ☕
.jl ⭐
.js 🟨
.jsm 🟨
.jsx ⚛️
.kt 🥚
.kts 🥚
.lhs 🐬
.lua 🌙
.luau 🌙
.mjs 🟨
.mod 🐹
.mts 🟦
.nim 🐍
.nimble 🐍
.odin 🐉
.pac 🟨
.phar 🐘
.php 🐘
.php3 🐘
.php4 🐘
.php5 🐘
.php7 🐘
.php8 🐘
.phtml 🐘
.pl 🐪
.pm 🐪
.pod 🐪
.podspec 💎
.psv 📊
.pubspec.yaml 🎯
.pxd 🐍
.pxi 🐍
.py 🐍
.pyd 🐍
.pyi 🐍
.pyo 🐍
.pyw 🐍
.pyx 🐍
.r 📊
.R 📊
.rake 💎
.rb 💎
.Rmd 📊
.Rproj 📊
.rs 🦀
.ru 💎
.sbt ☕
.sc ☕
.scala ☕
.sln 🟦
.sum 🐹
.swift 🕊️
.t 🐪
.tab 📊
.ts 🟦
.tsv 📊
.tsx ⚛️
.tsx.d.ts 🟦
.v 🟩
.vb 🟦
.vbproj 🟦
.vbs 🟦
.vsh 🟩
.vue 🟩
.war ☕
.xaml 🟦
.xcodeproj 🕊️
.xcworkspace 🕊️
.zig ⚡

⬆ Back to Programming Languages

Web, Markup, and Styling (31)
Extension Icon
.comp 🌐
.css 🎨
.ejs 🌐
.frag 🌐
.geom 🌐
.glsl 🌐
.handlebars 🌐
.hbs 🌐
.hlsl 🌐
.htm 🌐
.html 🌐
.jade 🌐
.less 🎨
.liquid 🌐
.metal 🌐
.mustache 🌐
.njk 🌐
.pcss 🎨
.postcss 🎨
.pug 🌐
.sass 🎨
.scss 🎨
.shader 🌐
.shtml 🌐
.styl 🎨
.tesc 🌐
.tese 🌐
.twig 🌐
.vert 🌐
.wgsl 🌐
.xhtml 🌐

⬆ Back to Web, Markup, and Styling

Configuration, Build, and DevOps (39)
Extension Icon
.babelrc 🛠️
.babelrc.js 🛠️
.babelrc.json 🛠️
.cfg ⚙️
.clang-format ⚙️
.clang-tidy ⚙️
.cnf ⚙️
.conf ⚙️
.coveragerc ⚙️
.cue ☁️
.dockerfile 🐳
.editorconfig ⚙️
.gitlab-ci.yml 🔄
.hcl ☁️
.helm 🧭
.hjson ⚙️
.ini ⚙️
.json ⚙️
.json5 ⚙️
.jsonc ⚙️
.kube 🧭
.node-version ⚙️
.nomad ☁️
.npmrc ⚙️
.nvmrc ⚙️
.opts ⚙️
.properties ⚙️
.python-version ⚙️
.tf ☁️
.tfstate ☁️
.tfstate.backup ☁️
.tfvars ☁️
.toml ⚙️
.tool-versions ⚙️
.travis.yml 🔄
.yaml ⚙️
.yarnrc ⚙️
.yarnrc.yml ⚙️
.yml ⚙️

⬆ Back to Configuration, Build, and DevOps

Data, API, and Databases (16)
Extension Icon
.accdb 💾
.avro 📡
.db 💾
.gql 🧬
.gqls 🧬
.graphql 🧬
.mdb 💾
.mysql 🗄️
.orc 🧱
.parquet 🧱
.pgsql 🗄️
.proto 📡
.psql 🗄️
.sql 🗄️
.sqlite 💾
.sqlite3 💾

⬆ Back to Data, API, and Databases

Documentation and Office (23)
Extension Icon
.a 📚
.adoc 📝
.asciidoc 📝
.bib 📚
.doc 📘
.docx 📘
.epub 📚
.lib 📚
.markdown 📝
.md 📝
.mdx 📝
.odp 📙
.ods 📗
.odt 📘
.pdf 📕
.ppt 📙
.pptx 📙
.rst 📝
.rtf 📘
.tex 📚
.txt 📝
.xls 📗
.xlsx 📗

⬆ Back to Documentation and Office

Media Assets (55)
Extension Icon
.3gp 🎥
.aac 🎵
.ai 🖼️
.aiff 🎵
.alac 🎵
.amr 🎵
.arw 🖼️
.avi 🎥
.avif 🖼️
.bmp 🖼️
.caf 🎵
.cr2 🖼️
.dng 🖼️
.eps 🖼️
.fig 🖼️
.flac 🎵
.flv 🎥
.gif 🖼️
.heic 🖼️
.heif 🖼️
.ico 🖼️
.indd 🖼️
.jpeg 🖼️
.jpg 🖼️
.m2ts 🎥
.m4a 🎵
.m4v 🎥
.mid 🎵
.midi 🎵
.mkv 🎥
.mov 🎥
.mp3 🎵
.mp4 🎥
.mpeg 🎥
.mpg 🎥
.nef 🖼️
.ogg 🎵
.ogv 🎥
.opus 🎵
.orf 🖼️
.png 🖼️
.psd 🖼️
.raw 🖼️
.rw2 🖼️
.sf2 🎵
.sketch 🖼️
.svg 🖼️
.tif 🖼️
.tiff 🖼️
.wav 🎵
.webm 🎥
.webp 🖼️
.wma 🎵
.wmv 🎥
.xcf 🖼️

⬆ Back to Media Assets

Fonts (16)
Extension Icon
.afm 🔤
.bdf 🔤
.designspace 🔤
.dfont 🔤
.eot 🔤
.glyphs 🔤
.otf 🔤
.pcf 🔤
.pfa 🔤
.pfb 🔤
.pfm 🔤
.ttc 🔤
.ttf 🔤
.ufo 🔤
.woff 🔤
.woff2 🔤

⬆ Back to Fonts

Archives and Packages (24)
Extension Icon
.7z 📦
.aab 📦
.apk 📦
.bz2 📦
.cab 📦
.deb 📦
.dmg 📦
.gz 📦
.img 💿
.ipa 📦
.iso 📦
.lz 📦
.lz4 📦
.pkg 📦
.rar 📦
.rpm 📦
.tar 📦
.tar.gz 📦
.tgz 📦
.vhd 💿
.vmdk 💿
.xz 📦
.zip 📦
.zst 📦

⬆ Back to Archives and Packages

Security and Environment (8)
Extension Icon
.dockerignore 🐳🚫
.env 🔐
.env.development 🔐
.env.example 🔐
.env.local 🔐
.env.production 🔐
.env.test 🔐
.gitignore 🚫

⬆ Back to Security and Environment

Binaries and Libraries (6)
Extension Icon
.appimage ▶️
.dll 🔧
.dylib 🔧
.exe ▶️
.msi ▶️
.so 🔧

⬆ Back to Binaries and Libraries

Logs and Temporary (20)
Extension Icon
.bak 📋
.cache 📋
.err 📋
.lock 📋
.log 📋
.old 📋
.orig 📋
.out 📋
.pid 📋
.rej 📋
.seed 📋
.swo 📋
.swp 📋
.temp 📋
.tmp 📋
.wsdl 📋
.xml 📋
.xsd 📋
.xsl 📋
.xslt 📋

⬆ Back to Logs and Temporary

Other and Generic (640)
Extension Icon
.aar 📄
.abap 📄
.abc 📄
.ac 📄
.ada 📄
.adb 📄
.ads 📄
.ahk 📄
.am 📄
.ambr 📄
.anim 📄
.ans 📄
.ansi 📄
.ansible-lint 📄
.apkx 📄
.apl 📄
.app 📄
.applescript 📄
.approval 📄
.argocd.yaml 📄
.as 📄
.asc 📄
.asm 📄
.asmdef 📄
.asmref 📄
.ass 📄
.asset 📄
.astro 🌠
.atlas 📄
.automount 📄
.awk 📄
.aws 📄
.aws-sam 📄
.aws.json 📄
.axml 📄
.bacpac 📄
.bash 🐚
.basis 📄
.bat 🪟
.bazel 📄
.bazelignore 📄
.bazelrc 📄
.bench 📄
.bicep 📄
.bloop 📄
.browserslistrc 📄
.bson 📄
.buck 📄
.BUILD 📄
.buildkite.yml 📄
.bundle.css 📄
.bundle.js 📄
.bundleconfig 📄
.bzl 📄
.bzlmod 📄
.cache-loader 📄
.cache.json 📄
.cadl 📄
.capnp 📄
.cbl 📄
.cdk.json 📄
.cdk8s.yaml 📄
.cer 📄
.cfg.ini 📄
.cfm 📄
.changeset 📄
.chartlock 📄
.chunk.css 📄
.chunk.js 📄
.cl 📄
.clang-format.in 📄
.clangd 📄
.clangd.in 📄
.classlist 📄
.clp 📄
.cmake 📄
.cmd 🪟
.cob 📄
.code-workspace 📄
.codeql 📄
.coffee 📄
.command 📄
.commitizenrc 📄
.commitlintrc 📄
.config 📄
.containerfile 📄
.controller 📄
.core 📄
.coveragexml 📄
.cpanm 📄
.crash 📄
.creole 📄
.crt 📄
.cson 📄
.csproj.user 📄
.csr 📄
.csvs 📄
.cubemap 📄
.cue.lock 📄
.cue.mod 📄
.cypress 📄
.czrc 📄
.d 📄
.dacpac 📄
.dart_tool 📄
.dbml 📄
.dbproj 📄
.dcl 📄
.dds 📄
.demo 📄
.dependabot.yml 📄
.deps.json 📄
.der 📄
.desktop 📄
.devcontainer.json 📄
.device 📄
.dhall 📄
.di 📄
.diag 📄
.diagnostics 📄
.direnv 📄
.dmp 📄
.dockerfile.dev 📄
.dockerfile.prod 📄
.dockerfile.test 📄
.dot 📄
.dpr 📄
.drawio 📄
.drone.yml 📄
.dump 📄
.e 📄
.ecl 📄
.editor 📄
.edmx 📄
.elixir_ls 📄
.entitlements 📄
.envrc 📄
.eslintrc 🛡️
.eslintrc.cjs 🛡️
.eslintrc.js 🛡️
.eslintrc.json 🛡️
.evt 📄
.evtx 📄
.example 📄
.exp 📄
.f 📄
.f03 📄
.f08 📄
.f90 📄
.f95 📄
.factor 📄
.factory 📄
.faker 📄
.falcon 📄
.fbs 📄
.feature 📄
.feature.md 📄
.filters 📄
.fish 🐚
.fixture 📄
.fixture.json 📄
.flake8 📄
.flutter-plugins 📄
.flux.yaml 📄
.for 📄
.forth 📄
.fsproj.user 📄
.fth 📄
.gap 📄
.gc.log 📄
.gcda 📄
.gcno 📄
.gcov 📄
.gcov.json 📄
.gd 📄
.gdscript 📄
.gen 📄
.git-blame-ignore-revs 📄
.gitkeep 📄
.gml 📄
.gotmpl 📄
.gpg 📄
.graphml 📄
.gs 📄
.gv 📄
.gvimrc 📄
.hadolint.yaml 📄
.haml 📄
.har 📄
.hcl2 📄
.hclvars 📄
.heapdump 📄
.heat 📄
.helmignore 📄
.hprof 📄
.http 📄
.httpie 📄
.husky 📄
.huskyrc 📄
.hx 📄
.hypothesis 📄
.ics 📄
.idb 📄
.idea 📄
.idr 📄
.idris 📄
.ilk 📄
.iml 📄
.imz 📄
.inputrc 📄
.ioke 📄
.ion 📄
.ipr 📄
.ipynb 🐍📓
.isort.cfg 📄
.itrace 📄
.iws 📄
.j2 📄
.jam 📄
.jamfile 📄
.jamroot 📄
.janet 📄
.jfr 📄
.jinja 📄
.jinja2 📄
.journal 📄
.jshintrc 📄
.json.example 📄
.json.tmpl 📄
.julia 📄
.k 📄
.kdbx 📄
.keep 📄
.key 📄
.kpt 📄
.kql 📄
.ksh 🐚
.ktm 📄
.ktx 📄
.ktx2 📄
.kustomize 📄
.l 📄
.lagda 📄
.lagda.md 📄
.latte 📄
.lcov 📄
.lex 📄
.lfe 📄
.link 📄
.lintstagedrc 📄
.lintstagedrc.js 📄
.list 📄
.litcoffee 📄
.local 📄
.lpr 📄
.ls 📄
.lsl 📄
.lsp 📄
.lst 📄
.lsting 📄
.m 📄
.m4 📄
.mailmap 📄
.mak 📄
.manifest 📄
.map 📄
.mat 📄
.matlab 📄
.mcr 📄
.mdmp 📄
.mdown 📄
.mermaid 📄
.meson 📄
.meson.build 📄
.meta 📄
.metals 📄
.migration 📄
.min.css 📄
.min.js 📄
.mir 📄
.mk 📄
.mkd 📄
.mkdn 📄
.mkdown 📄
.ml 📄
.mli 📄
.mlx 📄
.mm 📄
.mmd 📄
.mock 📄
.modd 📄
.mojo 📄
.monkey 📄
.motoko 📄
.mount 📄
.move 📄
.mumps 📄
.mustache.html 📄
.mypy_cache 📄
.mypy.ini 📄
.n3 📄
.natvis 📄
.netdev 📄
.netlify 📄
.network 📄
.nfo 📄
.nginx 📄
.nim.cfg 📄
.nim.cfg.in 📄
.nimble-link 📄
.ninja 📄
.ninja_deps 📄
.ninja_log 📄
.nix 📄
.nixpkgs 📄
.note 📄
.nox 📄
.npmignore 📦🚫
.npmrc.local 📄
.nrrd 📄
.nsi 📄
.nu 📄
.nupkg 📄
.nuspec 📄
.nut 📄
.objc 📄
.objcpp 📄
.objdump 📄
.odinproj 📄
.opa 📄
.opal 📄
.openapi 📄
.openpolicyagent 📄
.org 📄
.orig.ts 📄
.owl 📄
.oz 📄
.p12 📄
.p8 📄
.packer.hcl 📄
.pak2 📄
.pak3 📄
.pak4 📄
.parcel-cache 📄
.pas 📄
.pascal 📄
.path 📄
.pbt 📄
.pbxproj 📄
.pcap 📄
.pcapng 📄
.pdb 📄
.pem 📄
.pfx 📄
.pgp 📄
.pig 📄
.pike 📄
.pk3 📄
.pk4 📄
.pkgdef 📄
.pkr.hcl 📄
.plantuml 📄
.playwright 📄
.plist 📄
.pnpm-store 📄
.pnpmfile.cjs 📄
.pod6 📄
.policy 📄
.pony 📄
.pov 📄
.pp 📄
.pre-commit-config.yaml 📄
.prefab 📄
.prettierrc 💄
.prettierrc.cjs 💄
.prettierrc.js 💄
.prettierrc.json 💄
.prf 📄
.pri 📄
.pro 📄
.pro.user 📄
.profdata 📄
.profile 📄
.profraw 📄
.projitems 📄
.prolog 📄
.props 📄
.props.json 📄
.prototxt 📄
.ps1 🪟
.psd1 🪟
.psl 📄
.psm1 🪟
.psqlrc 📄
.pub-cache 📄
.publishsettings 📄
.pubxml 📄
.pulumi.dev.yaml 📄
.pulumi.prod.yaml 📄
.pulumi.yaml 📄
.pulumi.yml 📄
.puml 📄
.purs 📄
.pwn 📄
.pyc 🐍🚫
.pylintrc 📄
.pytest_cache 📄
.pytest.ini 📄
.q 📄
.qbs 📄
.ql 📄
.qll 📄
.qm 📄
.qmake.conf 📄
.qml 📄
.qmltypes 📄
.qrc 📄
.raku 📄
.rakumod 📄
.raml 📄
.rdata 📄
.RData 📄
.rdf 📄
.rdoc 📄
.re 📄
.received 📄
.red 📄
.rego 📄
.rego.test 📄
.rei 📄
.rej.js 📄
.release-please-config.json 📄
.releaserc 📄
.renderTexture 📄
.renovate.json 📄
.rep 📄
.res 📄
.resjson 📄
.rest 📄
.results 📄
.resw 📄
.resx 📄
.Rhistory 📄
.rkt 📄
.rktl 📄
.robot 📄
.rollup.cache 📄
.ron 📄
.ronn 📄
.rpt 📄
.rpt2_cache 📄
.rst.txt 📄
.ruff_cache 📄
.ruff.toml 📄
.rules 📄
.runtimeconfig.json 📄
.Ruserdata 📄
.s 📄
.S 📄
.sam 📄
.sample 📄
.sarif 📄
.sas 📄
.sass-cache 📄
.sav 📄
.save 📄
.sbt.lock 📄
.scad 📄
.scala-build 📄
.sce 📄
.schema 📄
.sci 📄
.scons 📄
.scpt 📄
.scptd 📄
.sed 📄
.seed.sql 📄
.sentinel 📄
.serverless 📄
.service 📄
.sh 🐚
.shadergraph 📄
.shen 📄
.shproj 📄
.sig 📄
.skaffold.yaml 📄
.slice 📄
.slim 📄
.sln.docstates 📄
.slnf 📄
.sls 📄
.sml 📄
.snap 📄
.snap.new 📄
.snap.txt 📄
.snapshots 📄
.snk 📄
.snupkg 📄
.socket 📄
.sol 📄
.solidity 📄
.sparql 📄
.spec 📄
.spin 📄
.spl 📄
.spriteatlas 📄
.spv 📄
.spy 📄
.sqlfluff 📄
.sqlproj 📄
.srt 📄
.stack-work 📄
.stan 📄
.starlark 📄
.state 📄
.sthlp 📄
.story 📄
.storyboard 📄
.storyboardc 📄
.stub 📄
.sty 📄
.sub 📄
.sublime-project 📄
.sublime-workspace 📄
.suo 📄
.svelte 🔥
.svh 📄
.swc 📄
.t4 📄
.target 📄
.targets 📄
.targets.json 📄
.tcl 📄
.tekton.yaml 📄
.terraform 📄
.terraform.lock.hcl 📄
.terrain 📄
.test 📄
.texi 📄
.textile 📄
.tf.json 📄
.tfbackend 📄
.tfplan 📄
.thrift 📄
.tiltfile 📄
.timer 📄
.tl 📄
.tla 📄
.tm 📄
.tmpl 📄
.tmux.conf 📄
.todo 📄
.toml.example 📄
.toml.tmpl 📄
.tox 📄
.tpl 📄
.tpp 📄
.trace 📄
.trx 📄
.ts.qm 📄
.tt 📄
.ttl 📄
.ttl2 📄
.turbo 📄
.turbo-cache 📄
.uc 📄
.ui 📄
.unity 📄
.userprefs 📄
.uss 📄
.uxm 📄
.uxml 📄
.vagrant 📄
.vala 📄
.vapi 📄
.vbproj.user 📄
.vcf 📄
.vcl 📄
.vcproj 📄
.vcxproj 📄
.venv 📄
.vercel 📄
.verified 📄
.vfx 📄
.vhf 📄
.vim 📄
.vimrc 📄
.virtualenv 📄
.vite-inspect 📄
.vitest 📄
.vlang 📄
.vs 📄
.vscode 📄
.vsct 📄
.vsixmanifest 📄
.vstemplate 📄
.vtt 📄
.vue.html 📄
.vy 📄
.wad 📄
.wasm 📄
.wast 📄
.wat 📄
.webmanifest 📄
.werf.yaml 📄
.wiki 📄
.wixproj 📄
.wl 📄
.wls 📄
.woodpecker.yml 📄
.workflow 📄
.WORKSPACE 📄
.wsf 📄
.wxl 📄
.wxs 📄
.xcassets 📄
.xcconfig 📄
.xcstrings 📄
.xib 📄
.xlf 📄
.xmi 📄
.xpl 📄
.xpm 📄
.xproc 📄
.xq 📄
.xquery 📄
.xqy 📄
.y 📄
.yacc 📄
.yaml.example 📄
.yaml.tmpl 📄
.yamlfmt 📄
.yamllint 📄
.yarn 📄
.yasnippet 📄
.zep 📄
.zpl 📄
.zprofile 📄
.zsh 🐚
.zsh_history 📄

⬆ Back to Other and Generic

Usage

  1. Open a folder/workspace in VS Code.
  2. Right-click a folder in Explorer (or use Command Palette).
  3. Run one of the tree generation commands.
  4. The result opens in a new untitled Markdown editor.

Requirements

  • VS Code ^1.90.0

Release Notes

0.0.1

  • Initial release.
  • Added 3 commands and Explorer context menu support.
  • Added .gitignore parsing (root + nested).
  • Added fallback ignore patterns.
  • Added extensive icon mapping.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft