Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>FileFuseNew to Visual Studio Code? Get it now.
FileFuse

FileFuse

devsai

|
13 installs
| (0) | Free
Select files/folders from a tree and pack them into a single LLM-ready text file with folder structure.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

FileFuse

Pack any local project into a single, AI-ready file — without leaving VS Code.

FileFuse lets you visually select exactly the files and folders you want, then bundles them into one clean, structured document ready to paste or upload into ChatGPT, Claude, Gemini, or any other AI assistant. No terminal commands, no manual copy-pasting, no GitHub repository required — it works on any folder open in VS Code.


Why FileFuse?

Giving an AI assistant the right context across multiple files is usually painful. You end up opening files one by one, copying their contents, and manually labeling which file is which — and if your project has dozens of files, that process becomes tedious fast.

FileFuse solves this with a simple workflow: open the sidebar, tick the files and folders you want, click Pack Files, and you get a single text file containing your selected files' full structure and contents — properly labeled and ready to share.


Panel Reference

Control What it does
✅ Select All Selects every file in the workspace (gitignored items are automatically skipped when the toggle is on).
❌ Clear All Deselects everything.
📦 Pack Files Packs your current selection into a numbered output file inside FuseFiles/.
🌳 Export Tree Saves only the directory structure of your selection, without file contents.
Include files under Sets the maximum file size to include content for.
Filter files or folders Live text search across the file tree.
Respect .gitignore Toggles gitignore-aware selection. Hidden automatically when no Git repository is found.
Markdown output Switches packed output between plain text (.txt) and markdown (.md) format.
Saved selections Save, reload, and delete named presets of your current file selection.
Recent outputs Browse, open, copy, or delete your last 10 packed files.

Key Features

🌳 Visual File Tree

A full explorer-style sidebar showing your entire workspace, with a checkbox beside every file and folder. Click a folder to expand or collapse it; click its checkbox to select or deselect everything inside.

📁 Smart Recursive Selection

Ticking a folder selects every file and subfolder inside it. Folders automatically reflect the state of their contents — a folder shows as checked only when everything selectable inside it is checked.

🚫 Gitignore-Aware Selection

Why this exists: when handing your codebase to an AI assistant, it's easy to accidentally sweep up files you never meant to share — .env files with API keys, credentials, local config, build output. A careless "Select All" could leak something sensitive into a chat log. This feature exists to prevent that mistake by default.

When FileFuse detects a Git repository, it reads your .gitignore files (including nested ones) and treats every ignored file or folder as invisible to selection — dimmed, disabled, and automatically skipped by Select All. Toggle Respect .gitignore off whenever you deliberately need to include something normally ignored — an explicit choice, not the default.

🔒 Automatic Output Folder Protection

Why this exists: the files FileFuse generates are working files, not project source — they shouldn't end up tracked in your Git history or pushed to a remote, especially since they're often a concentrated dump of your codebase in one place.

The first time you pack files, export a tree, or save a preset in a Git repository, FileFuse automatically makes sure FuseFiles/ is excluded in your .gitignore — adding the entry, or creating the file entirely, if needed. This happens silently in the background so you never have to remember to do it yourself.

🔍 Live Search and Filtering

Type into the filter bar to instantly narrow the tree to matching files and folders. Matching folders automatically expand to reveal their contents.

🎛️ File Size Limiting

Drag the Include files under slider (50 KB to 100 MB) to set a size cap. Files over the limit still appear in the output's file structure for context, but their contents are skipped — keeping large binaries or generated files from bloating your output.

🏷️ File Size and Token Estimates

Every file shows its size in the tree, along with an estimated token count. A running total at the top of the panel shows your full selection's estimated token usage, so you can stay within your AI assistant's context window before you even click Pack.

📦 Two Output Formats

Choose how your packed file is structured with the Markdown output toggle:

  • Off (default): Plain text with clear FILE: path/to/file headers and dividers. Saved as .txt.
  • On: Markdown with ## headings and fenced, syntax-highlighted code blocks — ideal for pasting directly into an AI chat or viewing with formatting in any markdown reader. Saved as .md.

🌳 Selected-Only Tree Export

Click Export Tree to save just the directory structure of your current selection, without file contents — useful for quickly sharing your project's layout or double-checking what you've selected.

📜 Recent Outputs History

Your last 10 packed files are listed with their size and creation date. Click an entry to open it, use the copy icon to send its contents straight to your clipboard, or delete it when you're done.

💾 Saved Selections (Presets)

Save your current file selection under a name you choose, and reload it instantly any time — ideal if you repeatedly pack the same set of files across sessions, such as a core set of source files you regularly hand to an AI assistant.


Getting Started

Step 1 — Open FileFuse

Click the FileFuse icon in the VS Code Activity Bar on the left-hand side. The sidebar opens showing your full workspace as a file tree.

Step 2 — (Optional) Adjust Your Filters

  • Drag the Include files under slider if you want to exclude large files from the packed output.
  • Type into the Filter files or folders box to quickly locate specific files in a large project.
  • If a Git repository is detected, Respect .gitignore is enabled by default — toggle it off if you need to include normally-ignored files.

Step 3 — Select Your Files

Click the checkboxes next to the files and folders you want. Use Select All to grab everything not excluded by .gitignore, or build your selection manually file by file. The selection count and estimated token total update live as you go.

Step 4 — Pack Your Files

Click Pack Files. FileFuse writes a single structured output file into a FuseFiles/ folder at the root of your workspace.

Step 5 — Use Your Output

Open your new file from the Recent outputs panel, then either:

  • Click the 📋 copy icon to send the full contents straight to your clipboard, or
  • Open the file directly and copy/paste or drag-and-drop it into your AI assistant of choice.

Output Format Reference

Plain text (default)

FILEFUSE OUTPUT
Generated: 16/06/2026, 10:00:00 AM
Workspace: C:\Users\you\my-project
Total files: 4
Files with content: 4
Gitignore respected: yes
============================================================
SELECTED FILE STRUCTURE
============================================================
my-project/
├── src/
│   ├── index.ts
│   └── utils.ts
├── package.json
└── README.md
============================================================
FILE CONTENTS
============================================================
------------------------------------------------------------
FILE: src/index.ts
------------------------------------------------------------

... full file content ...

------------------------------------------------------------
FILE: src/utils.ts
------------------------------------------------------------

[File too large: 650.0 KB — exceeds limit, content skipped]
------------------------------------------------------------

Markdown

With Markdown output enabled, the same selection produces a .md file using headings and fenced, language-tagged code blocks instead:

## src/index.ts

```ts
... full file content ...
```

## src/utils.ts

[File too large: 650.0 KB — exceeds limit, content skipped]

Customizing Excluded Folders and Files

By default, FileFuse hides node_modules, .git, FuseFiles, out, and .vscode from the tree, and excludes .vsix files. Customize both from VS Code's settings:

  1. Open File → Preferences → Settings (or press Ctrl+, / Cmd+,).
  2. Search for FileFuse.
  3. Adjust Excluded Folders or Excluded Files to fit your project.
{
  "filefuse.excludedFolders": [
    "node_modules",
    ".git",
    "FuseFiles",
    "out",
    ".vscode"
  ],
  "filefuse.excludedFiles": [
    "*.vsix"
  ]
}

You can also set your preferred default output format here:

{
  "filefuse.outputFormat": "markdown"
}

Where Your Files Are Saved

Every packed file and tree export is written to a FuseFiles/ folder created at the root of your workspace:

your-project/
└── FuseFiles/
    ├── output1.txt
    ├── output2.md
    └── tree1.txt

Output files are numbered sequentially and never overwritten — each new pack or export simply gets the next available number, regardless of format.


License

MIT License.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft