Skip to content

Code-XRCode analysis you can walk through

Code-XR is a VS Code extension that analyzes your code and turns the metrics into a 3D scene you can explore in your browser: walk your codebase like a city, inspect its dependency graph, compare two points of its Git history, or replay its whole evolution. No VR headset required.

Loading

Active installs

Marketplace API

Loading

Approx. total downloads

Approximate

Loading

Marketplace downloads

Marketplace API

Loading

Rating

2025

Distinguished Artifact Award

IEEE VISSOFT

v1.2.0

Now live

VS Code Marketplace

Overview

What is Code-XR?

Code-XR is a Visual Studio Code extension that turns static analysis into a place you can explore. It measures your code (complexity, size, structure, dependencies and history) and serves the result as a live 3D scene in the browser you already have.

Walk your codebase like a city and watch it update as you save. Step inside the dependency graph to see the architecture rather than the files, compare two points of your Git history on one table, or replay the whole evolution as a film.

No VR headset required: a normal desktop is enough, and the same scene becomes immersive when you want it. Everything runs on your machine, with local analysis, local servers, no telemetry and no account.

  • Classic analysis: one building per file, live metrics
  • Dependency graph: the architecture in three layouts
  • Historical comparison: two points in time, one table
  • Project evolution: your Git history as a film

Each one answers a different question, and each has a page of its own.

Never used it? There is a complete walkthrough of the extension, sidebar included.

Code-XR 3D code city rendered from a real project
1 / 40

The carousel is a sample. Every screenshot and all eight walkthrough videos are further down, in the Gallery.

Browse the Gallery

Release

What's new in v1.2.0

Threads, Timelines & Global Networks

Threads are the new dependency graph: the lines that tie your codebase together. Timelines are the two Git analyses, one that compares two points of your history and one that replays the whole thing. Global Networks are the sessions you can now open to someone who is not on your network at all.

One table, four analyses

The same pedestal now serves four different analyses, and you switch between them from inside the scene without losing the state of any of them.

Meet the four analyses

Classic analysis: change the chart without re-running it

The analysis CodeXR started with, and still where most sessions begin: one building per file, sized and coloured by the metrics you choose. What 1.2.0 changed is that you no longer have to re-run it to see it another way.

  • Swap the chart type from the Field Mapping panel mid-session, without relaunching the analysis.
  • The chart types that used to present incorrectly now render properly, and big projects stay readable by showing the top files per metric.
Explore the classic analysis
The code city on the cyan table, with the in-room guide and the Field Mapping panel around it
1 / 4

Watch the demo: Classic analysis in XR

Dependency graph: see the architecture, not just the files

A new analysis that answers what depends on what, and what happens if you touch it. Relations are extracted statically from your working directory and rendered as a navigable 3D graph.

  • Three layouts: force-3d, hierarchical, and metric-space with real axes.
  • Any node metric (fan-in, fan-out, cycle size, blast radius) can drive size, height, colour or position.
  • Click a node to pin its metric card; large projects open in group view and you drill in.
Explore the dependency graph
The dependency graph in the force-3d layout
1 / 6

Watch the demo: Dependency graph in XR

Historical comparison: what changed between two points in time

Pick two sources, a working copy, a branch, a tag or a commit, and both states land on one dual table with the same chart, the same mapping and the same scale, so a height difference is a real difference.

  • A comparison card reports added, removed and modified counts plus per-metric deltas.
  • It never runs checkout or fetch, and never writes inside .git: your branch and files stay where you left them.
  • It talks to your local git, so it works the same on GitHub, GitLab, Bitbucket or a self-hosted server.
Explore historical comparison
The dual table: two revisions of the same project side by side on one shared scale
1 / 4

Watch the demo: Historical comparison in XR

Project Evolution: your Git history as a film

Where the comparison shows two photographs, Project Evolution plays the movie: the chart walks your history commit by commit, from the first revision to the current state of the branch.

  • The timeline is sampled evenly in time, favouring merges and tags, or you pick a range or the exact commits.
  • Play, pause, step, change speed, jump anywhere on the timeline.
  • Every frame is a full analysis, stamped with its commit and date.
Explore project evolution
A frame of the evolution movie on the amber table
1 / 4

Watch the demo: Project Evolution in XR

And the rest of 1.2.0

Collaboration 2.0 and cross-network sessions

Persistent identities, host and guest roles with automatic promotion, and a bundled animated avatar that works offline, each participant in their own colour. Sessions can now reach someone outside your network through an outbound Cloudflare tunnel that opens with the server, gated by a six-digit pairing code and switchable off in Server Configuration: the full walkthrough is in the Collaboration section below.

A shared Code-XR room with the analysis on the table

A tuned XR experience, debugged in an emulator

This release's immersive behaviour was debugged end to end with a browser extension, Meta's Immersive Web Emulator, which drives real WebXR sessions from the desktop. That is how the XR side got tuned this time, unlike in v1.1.0. Walking, turning and flying now run off the thumbsticks; you enter VR and AR at your real height and come back to exactly where you were; AR recenters the pedestal a step in front of you and no longer looks dim; and you can grab a screen and push or pull it with the stick.

A VR session with the code city on the table
1 / 6

A user guide inside the room

The answer to "what am I looking at" no longer requires taking the headset off. Six tabs, each in the colour of its analysis, plus a 24-term metric glossary generated from the real analysis contracts. It behaves like any other screen: drag it, resize it, minimise it when you are done. The same guide is served as guide.html for reading outside XR.

The in-room user guide on its Start tab
1 / 12

A panel for every analysis

Each analysis brings its own controls into the scene. Field Mapping decides which metric drives area, height and colour; the dependency, comparison and evolution panels each add their own; and the Analyses button routes between the four modes without losing the state of any of them. The virtual screens controller shares and joins screens in a session.

The in-scene analysis selector with the four colour-coded analyses
1 / 8

LivePanel caught up with the room

The 2D panel inside VS Code now carries the same analytics you get in the room. Alongside the file analysis it gained a Dependency Summary (counters, top fan-in and fan-out, cycles) and a Historical Comparison with a searchable table of per-item deltas, so the file, dependency and history analyses are all there without leaving the editor.

LivePanel showing a file analysis inside VS Code
1 / 3

Much lighter, and much more

The packaged extension went from 39.2 MB to 6.1 MB: production builds no longer ship webpack source maps (they stay in dev builds for debugging) and an unused icon set is out of the package.

39.2 MB6.1 MB

  • The Code-XR mark assembles itself in 3D over the table while no analysis is loaded, and takes itself apart when one arrives. It holds still if the frame rate drops or the system asks for reduced motion.
  • Collision bumpers: screens stop at the room walls and at each other instead of passing through.
  • The Analyses button wears the colour of the analysis you are in, so the panel tells you where you are before you open it.
  • Servers really stop and leave the list, even when the shutdown fails.
  • Server dialogs are readable native dialogs instead of printing raw escape characters.
  • A new setting decides whether cross-network connections appear at all, and the whole interface is now in English.

That is all of 1.2.0. One install, then about 11 minutes to your first analysis.

Install it and run it

Tutorial

The whole extension, in twelve minutes

The complete tour, from the Visual Studio Code sidebar to the four analyses inside the XR room. Watch it, or read the same walkthrough step by step.

What it covers

  1. Setting up: The sidebar, top to bottom: servers, identity, analysis defaults and environment.
  2. Inside the room: Your first analysis, then the furniture every scene shares: screens, guide, controller.
The CodeXR room: the pedestal table with an analysis on it, two avatars, the guide screen and a shared virtual screen

Getting started with CodeXR: the complete tutorial

12 minutes
Watch on YouTube

The written version carries the same twelve steps, with the screenshots beside each one.

Read the full tutorial

Collaboration

Cross-network Collaboration 2.0

CodeXR can share an XR session with someone who is not on your network, through an outbound Cloudflare tunnel. There are two roles, and they never blur: the host runs the analysis in VS Code and owns the session; the guest joins from a browser, anywhere.

The link is never enough

Whoever opens the invitation link still has to receive a six-digit code from the host, over a separate channel the two of you trust. Anyone who intercepts the link alone stays in the waiting room.

Host

Start the server, the tunnel follows

Cross-network connections are on by default, so the tunnel opens together with your analysis server. The first time, CodeXR offers to download cloudflared once and remembers your answer. If you stopped the connection, "Start remote access" on the server row brings it back.

The tunnel is outbound: your router accepts no incoming connections and your IP is never published. The sidebar shows the cross-network address, an https://…trycloudflare.com/join link that also lands on your clipboard, ready to send to your guest through any channel you like. It stays valid for as long as you keep sharing.

The fine print

  • The tunnel is a Cloudflare Quick Tunnel: free, no account, and explicitly best effort. No SLA, no Server-Sent Events, and the address changes every time.
  • cloudflared is pinned to version 2026.5.2, downloaded only with your explicit consent, and verified by SHA-256 before it ever runs.
  • None of this is needed for VR on your own network: a headset on the same wifi opens the scene directly. Cross-network is on by default, and turning it off in Server Configuration stops every tunnel and deletes the cloudflared copy CodeXR downloaded.

Tested projects

Run against real codebases

CodeXR has been exercised on mature open source repositories to check it holds up across different architectures, languages and sizes. Open any project to see the demo and the dashboard its analysis produced.

Requirements

What it needs, and what it is built on

Everything above runs from your editor, on your machine. No account, no service in the middle, and no hardware you do not already own.

Local by default

Analysis and servers run on your machine. No telemetry, no account, and nothing is downloaded without asking you first.

No headset required

Mouse and keyboard in any desktop browser, and the 2D LivePanel never leaves VS Code. With a WebXR headset the same scene simply becomes immersive.

24 languages, plus the DOM

JavaScript, TypeScript, Python, C and C++, C#, Java, Go, Ruby, PHP, Swift, Kotlin and more, with cyclomatic complexity measured through Lizard.

Live as you edit

Save a file and the scene updates by itself. The analysis follows the working directory, not a snapshot you have to regenerate.

Any metric, any channel

Field Mapping puts every metric behind area, height, colour or position, so a question you care about becomes something you can see across the room.

Open source, GPLv3

The extension and its analysis pipeline are public, and the artifact behind it was recognised at IEEE VISSOFT 2025.

What you need

  • VS Code 1.98 or newer
  • Node.js 16+
  • Python 3.7+, set up for you on first use

Install

Install it, then run your first analysis

Three ways in, and a four-step first run. Nothing to configure to get a scene on screen: the Python environment and the local certificates are set up on first use.

Check what you need before installing

Install

VS Code Marketplace

Recommended

The normal route. Installs the latest published version and keeps it updated with the rest of your extensions.

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X)
  3. Search for "CodeXR"
  4. Click Install, then restart VS Code

Command line

The same Marketplace build, installed from a terminal. Useful for scripted or repeatable setups.

code --install-extension aMonteSl.code-xr
  1. Open a terminal
  2. Run the command
  3. Restart VS Code
  4. The extension is ready

Manual VSIX

Download the packaged extension from GitHub releases, for offline machines or to pin an exact version.

  1. Download the .vsix from releases
  2. Open VS Code
  3. Extensions, then Install from VSIX
  4. Pick the downloaded file

Your first analysis

About 11 minutes in total

Four steps from a fresh install to a workflow you can repeat.

Step 12 min

Install and open

Get CodeXR into VS Code and let it prepare itself.

What you will do

  1. Install from the Marketplace and restart VS Code.
  2. On first use CodeXR creates its own isolated Python environment; you do not have to install anything for it.
  3. Local HTTPS certificates are generated on that first start and kept in the extension storage, which is what lets the immersive mode work later.

Tip

Nothing needs configuring to get a first scene on screen. Leave the defaults until you have run one analysis.

That was the short version. The complete walkthrough covers every panel of the sidebar and every piece of the XR room.

Watch the full tutorial

FAQ

Questions people ask

The short answers. Each one links to the part of the page that goes into it properly.

Is Code-XR free?

Yes. It is free on the VS Code Marketplace, and the extension and its analysis pipeline are open source under GPLv3.

Do I need a VR headset?

No. Mouse and keyboard in any desktop browser is enough, and the 2D LivePanel never leaves VS Code. A WebXR headset only makes the same scene immersive.

Does it support my language?

It reads 24 languages plus the HTML DOM, including JavaScript, TypeScript, Python, C and C++, C#, Java, Go, Ruby, PHP, Swift and Kotlin, with cyclomatic complexity measured through Lizard.

Does my code leave my machine?

No. Analysis and servers run locally, there is no telemetry and no account, and nothing is downloaded without asking you first. Sharing a session with someone outside your network goes through an outbound tunnel that nobody enters without a six-digit code you read out yourself, and you can turn the whole capability off in Server Configuration.

What do I need installed?

VS Code 1.98 or newer, Node.js 16 or newer, and Python 3.7 or newer. The Python environment is created for you on first use.

I found a bug. Where do I report it?

Open an issue on the CodeXR repository. Include your VS Code version, your operating system and the analysis you were running.

Report an issue on GitHub

Research

Academic resources

The work CodeXR came out of, in full: the artifact recognised at VISSOFT 2025, the thesis it was built for, and the presentation used to defend it.

Conference poster, VISSOFT 2025

The artifact presented at VISSOFT 2025, the IEEE conference on software visualization, where it received the Distinguished Artifact Award.

Distinguished Artifact Award

PDF · 960 KB

Final Degree Project (TFG)

The complete thesis behind CodeXR: the research, the development and the evaluation, with the methodology and the full analysis.

Academic thesis

PDF · 7.5 MB

Defence presentation

The interactive presentation used at the thesis defence: the findings, the demonstrations and the visual summaries of the project.

Interactive web

Opens in a new tab

Note: These materials are the academic foundation of CodeXR and go into the research methodology, the technical implementation and the evaluation behind the extension.

Published paper: Real-Time XR Visualizations of Code Metrics in the IDE

By David Moreno-Lumbreras, Gregorio Robles, Adrián Montes Linares · IEEE VISSOFT 2025

Also on IEEE Xplore

Author

Meet the author

The developer behind CodeXR, and the idea that turned a Final Degree Project into a VS Code extension.

Portrait of Adrián Montes Linares, the creator of CodeXR

Adrián Montes Linares

Telecommunications Engineering studentFirst XR experienceSpain

Telecommunications Engineering student with great motivation to learn and apply that knowledge in real environments. CodeXR is my Final Degree Project, my first experience with XR technologies, and a demonstration of how ordinary code development can be improved with immersive 3D visualization.

I have a problem-solving, analytical profile and a talent for finding creative solutions. I care about quality, I am meticulous with detail, and I am used to delivering finished work, alone and in a team. This project bridges my telecommunications background and current XR technology in an extension that changes how developers look at their own code.

Education

Telecommunications Engineering student, focused on communications and emerging technologies.

Final Degree Project

CodeXR as the project itself, exploring XR technologies for software visualization.

Approach

Creative problem-solving, attention to detail, and a commitment to shipping work that is finished.

If Code-XR was useful, say so

A rating is one of the few things the VS Code Marketplace lets people sort extensions by, which makes a review worth more to this project than any figure at the top of this page. A couple of honest sentences are plenty: what you analysed, what worked, and what got in your way.

The review opens the extension's page on the Marketplace; the star goes to the CodeXR repository. Both open in a new tab.