Skip to main content

Overview

Draw Folder Structure provides several configuration options to customize how your folder structures are generated. All settings can be configured through VS Code’s settings interface or by editing your settings.json file directly.

Accessing Settings

There are two ways to access and modify the extension’s configuration:
  1. Open VS Code Settings (Ctrl+, or Cmd+, on Mac)
  2. Search for “Draw Folder Structure”
  3. Modify any setting directly in the UI

Configuration Options

Exclude Patterns

Setting: draw.folder.structure.exclude Type: Array of strings Default:
[
  "**/node_modules",
  "**/.git",
  "**/dist",
  "**/.next",
  "**/out"
]
Description: File and folder patterns to exclude when generating the Markdown structure. Uses glob pattern syntax. See the Exclusion Patterns guide for detailed examples.

Style

Setting: draw.folder.structure.style Type: String (enum) Default: "EmojiDashes" Options: ClassicDashes, MinimalistDots, EmojiFun, EmojiMinimalist, EmojiDashes, Arrows, NestedCircles, BoldBlocks, SlashSeparators, ChevronIndicators, DotDashMix, Triangles, Zigzag, PipesAndHyphens, NestedSquares, CirclesAndLines, SparklesDesing, TrailDesign, FloralDesign, GalacticDesign Description: The visual style used to render the folder structure. See the Styling Options guide for visual examples of each style.

Allow Recursion

Setting: draw.folder.structure.allowRecursion Type: Boolean Default: true Description: Controls whether the extension explores subdirectories recursively.
  • true: Generates a complete project tree with all subdirectories
  • false: Only includes files and folders in the root of the selected directory

Respect Gitignore

Setting: draw.folder.structure.respectGitignore Type: Boolean Default: false Description: Determines whether to honor rules defined in your project’s .gitignore file.
  • true: Excludes files and folders that match .gitignore patterns
  • false: Includes all files regardless of .gitignore rules
When enabled, this setting helps omit dependencies and temporary files that aren’t relevant to the structure view.

Configuration Examples

Basic Configuration

Minimal configuration with default exclusions and style:
{
  "draw.folder.structure.exclude": [
    "**/node_modules",
    "**/.git",
    "**/dist"
  ],
  "draw.folder.structure.style": "EmojiDashes"
}

Shallow Structure (Non-Recursive)

Generate only the top-level structure without diving into subdirectories:
{
  "draw.folder.structure.allowRecursion": false,
  "draw.folder.structure.style": "ClassicDashes"
}

Respecting .gitignore

Exclude files based on your .gitignore rules:
{
  "draw.folder.structure.respectGitignore": true,
  "draw.folder.structure.exclude": [
    "**/node_modules",
    "**/.git"
  ]
}

Full Configuration Example

Complete configuration with all options:
{
  "draw.folder.structure.exclude": [
    "**/node_modules",
    "**/.git",
    "**/dist",
    "**/.next",
    "**/out",
    "**/coverage",
    "**/*.log"
  ],
  "draw.folder.structure.style": "EmojiDashes",
  "draw.folder.structure.allowRecursion": true,
  "draw.folder.structure.respectGitignore": false
}

Best Practices

The default exclusion patterns (node_modules, .git, dist, .next, out) are commonly used directories that bloat folder structures. Keep these in your configuration and add additional patterns as needed.
Different styles work better for different contexts:
  • Use ClassicDashes or PipesAndHyphens for traditional documentation
  • Use EmojiDashes or EmojiFun for more visual, engaging documentation
  • Use MinimalistDots for clean, simple structures
When respectGitignore is enabled, it works in addition to your exclude patterns. Use both together to have fine-grained control:
  • .gitignore for version control exclusions
  • exclude patterns for documentation-specific exclusions
For large projects, consider:
  • Setting allowRecursion: false when documenting only the top-level structure
  • Using specific exclusion patterns instead of disabling recursion when you need selective depth

Workspace vs User Settings

Settings can be configured at both the User and Workspace level. Workspace settings override User settings.
User Settings: Apply globally across all VS Code projects
  • File location: %APPDATA%\Code\User\settings.json (Windows) or ~/Library/Application Support/Code/User/settings.json (Mac)
Workspace Settings: Apply only to the current workspace
  • File location: .vscode/settings.json in your project root

Example Workspace Configuration

Create a .vscode/settings.json file in your project:
{
  "draw.folder.structure.exclude": [
    "**/node_modules",
    "**/build",
    "**/coverage"
  ],
  "draw.folder.structure.style": "ClassicDashes"
}
This allows team members to share consistent folder structure generation settings.

Next Steps

Styling Options

Explore all 20+ visual styles available

Exclusion Patterns

Learn glob pattern syntax and common exclusion patterns

Advanced Usage

Master advanced features and optimization techniques

Quick Start

Get started with basic usage

Build docs developers (and LLMs) love