Virtual File Tree VSCode Extension for Developers

hdell491 pts1 comments

hjdesulme/virtual-tree: A virtual, custom-tailored file tree. - Codeberg.org

This website requires JavaScript.

hjdesulme/virtual-tree

Watch

Star

Fork

You've already forked virtual-tree

Code

Issues

Pull requests

Activity

A virtual, custom-tailored file tree.

25 commits

1 branch

0 tags

141 KiB

TypeScript

98.5%

JavaScript

1.5%

main

Find a file

HTTPS

Download ZIP<br>Download TAR.GZ<br>Download BUNDLE

Open with VS Code

Open with VSCodium

Open with Intellij IDEA

hjdesulme

2b26cb8e6a

chore: extension name change from 'virtual tree' to 'virtual file tree'

2026-06-01 12:29:48 -04:00

.vscode

feat: initialize virtual tree UI and TreeDataProvider

2026-05-29 20:07:59 -04:00

src

chore: extension name change from 'virtual tree' to 'virtual file tree'

2026-06-01 12:29:48 -04:00

.gitignore

chore: extension name change from 'virtual tree' to 'virtual file tree'

2026-06-01 12:29:48 -04:00

.npmrc

Initial commit for virtual-tree

2026-05-29 11:52:43 -04:00

.vscode-test.mjs

Initial commit for virtual-tree

2026-05-29 11:52:43 -04:00

.vscodeignore

Initial commit for virtual-tree

2026-05-29 11:52:43 -04:00

CHANGELOG.md

chore: extension name change from 'virtual tree' to 'virtual file tree'

2026-06-01 12:29:48 -04:00

esbuild.js

Initial commit for virtual-tree

2026-05-29 11:52:43 -04:00

eslint.config.mjs

Initial commit for virtual-tree

2026-05-29 11:52:43 -04:00

LICENSE

chore: set up LICENSE and ignore

2026-05-29 17:22:30 -04:00

logo.png

docs: add logo, update readme, package.json, bump version to 1.0.0, and remove unused files

2026-06-01 12:24:10 -04:00

package.json

chore: extension name change from 'virtual tree' to 'virtual file tree'

2026-06-01 12:29:48 -04:00

pnpm-lock.yaml

Initial commit for virtual-tree

2026-05-29 11:52:43 -04:00

README.md

chore: extension name change from 'virtual tree' to 'virtual file tree'

2026-06-01 12:29:48 -04:00

tsconfig.json

feat: implement JSON parsing, file navigation, and context menu

2026-05-30 14:49:14 -04:00

vsc-extension-quickstart.md

Initial commit for virtual-tree

2026-05-29 11:52:43 -04:00

README.md

Virtual File Tree README

A VS Code extension that lets you build custom, task-focused file trees without moving any files on disk.

Features

Virtual Folders & Files : create folders and add files by path. Drag and drop from the native Explorer. Right-click any file to add it to a virtual folder.

Group Open Tabs : bundle all open editor tabs into a new virtual folder with one command.

Profiles : switch between separate workspace setups (e.g., "Frontend", "Bug 402"). Profiles can be shared (committed to Git) or local (tied to your current branch and gitignored).

Self-Healing Paths : if you rename or move a physical file, the extension updates the virtual links automatically.

Conflict Resolution : broken links turn red. Right-click to find a new path or bulk-clean missing files.

Smart Folders : dynamic folders that update in real time:

Glob patterns (e.g., **/*.test.ts)

Git Changes (modified, added, untracked files)

Recent Files (your most recently used files)

Dependency Engine : right-click a file and choose Generate Dependency Tree… to create a folder containing:

Upstream: files the target imports

Downstream: files that import the target

Both<br>Works with any language that has an active language server.

Extension API : other extensions can register custom upstream providers for languages the built‑in scanner doesn't cover.

Requirements

VS Code 1.120.0 or later.

For the Dependency Engine, the relevant language server extension should be installed (e.g., Pylance (Python), rust-analyzer, or the built-in TypeScript language features).

Getting Started

Install the extension.

Open any workspace. The Virtual File Tree view appears in the Activity Bar.

Add files to virtual folders : use the Explorer context menu, the editor tab context menu, or the Command Palette. You can also drag files from the native Explorer into a virtual folder.

Group your open tabs into a new virtual folder through the Command Palette or by right‑clicking a folder in the virtual file tree.

Generate a dependency tree for any file: available from the Explorer context menu, the editor tab context menu, the virtual file tree context menu, or the Command Palette. Choose upstream, downstream, or both.

Explore more options based on the set of features listed above.

Extension Settings

This extension does not contribute any VS Code settings at this time.

API

To register a custom upstream dependency provider for a specific language:

import * as vscode from 'vscode';

export async function activate() {<br>const vt = vscode.extensions.getExtension('hjdesulme.virtual-file-tree');<br>const api = vt.isActive ? vt.exports : await vt.activate();

api.registerUpstreamProvider('myLang', {<br>getUpstreamDependencies: async (uri: vscode.Uri) => {<br>// return an array of vscode.Uri that this file depends on<br>return [vscode.Uri.file('/path/to/dep')];<br>});<br>Known...

virtual tree file extension files from

Related Articles