Express MapVisual route, middleware, and template navigation for Express.js apps inside VS Code and IDEs forked from VSC. Express Map statically analyses your Express application and renders an interactive tree of every route, middleware layer, and template file. No running server needed, no configuration required - just open your project and the map appears. FeaturesRoute TreeAll routes are grouped by path prefix and displayed with their HTTP method, resolved path, source file, and middleware chain. Click any route to jump to its definition. Template Navigation
CodeLensRoute metadata appears inline above each handler function:
Click the CodeLens label to reveal that route in the Express Map panel. Auto-RevealAs you move the cursor through a route file, the corresponding route is highlighted in the tree automatically — but only when the Express Map panel is already the active sidebar view. The sidebar will never switch away from the File Explorer (or any other panel) on its own. When you manually switch to Express Map, the tree immediately snaps to the route under the current cursor position. Broken Reference DetectionRoutes that call
Potential IssuesAsync route handlers that have no Orphaned TemplatesTemplate files that are never referenced by any Duplicate RoutesMultiple handlers registered for the same Multi-Project / Monorepo SupportExpress Map works whether you open a single Express project, a multi-root VS Code workspace, or a parent directory containing several Express apps. All Express projects found are analysed and each project becomes a top-level folder in the tree. Every section — Routes, Templates, Middleware, Catch-all Handlers, Orphaned Templates, Duplicate Routes, Broken References, and Potential Issues — is grouped under its own project:
Single-project windows show the existing flat layout unchanged. Route GroupingClick the $(list-filter) grouping icon in the panel header to cycle between three route-grouping modes:
Example — By File:
Example — By Method:
The selected mode is saved and restored across VS Code sessions. Route SearchPress Cmd+Shift+F (macOS) / Ctrl+Shift+F (Windows/Linux) with the Express Map panel focused, or click the $(search) search icon in the panel header, to open a fuzzy Quick Pick over all routes. You can search by:
Selecting a result opens the source file at the route definition and reveals it in the tree. Copilot IntegrationExpress Map registers a Copilot language model tool that gives the AI a structured understanding of your entire Express app — routes, templates, broken refs, async issues, duplicates, and orphans — without you having to describe any of it manually. Privacy-first by design. The tool only runs when you explicitly reference it in a Copilot Chat message:
It will never send your app's data to the model automatically or in the background. Your route paths, file structure, and template names stay local until you choose to share them with the AI. What it sends when invoked:
What it never sends: source code content, environment variables, secrets, or any runtime data. Supported Template EnginesEJS, Pug/Jade, Handlebars/HBS, Mustache, Nunjucks, Twig, Liquid, Eta. Unknown engines are detected automatically by inspecting the views directory. Requirements
No configuration is needed. Express Map discovers your app's entry point, views directory, and template engine automatically via Express Version Compatibility
The detected Express version is shown in the status bar tooltip. If you are on Express 4 and want to suppress the async-without-try/catch warnings, install Extension SettingsExpress Map has no user-configurable settings. How It WorksExpress Map uses Babel's parser to perform static AST analysis — it reads your source files but never executes them. It:
Known Limitations
Release NotesSee CHANGELOG.md for the full history. LicenseMIT — see LICENSE |