Skip to content
Back to the home page

Tutorial

Getting started with CodeXR

A complete walkthrough of the extension, from the Visual Studio Code sidebar to the four analyses inside the XR room. The video covers exactly these steps in twelve minutes; everything below is the same tour in writing.

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

What CodeXR does

CodeXR is a Visual Studio Code extension that turns your codebase into something you can walk through. It gives you four ways to look at the same project.

Everything runs on your machine and opens in the browser you already have. A VR headset is optional: with one, the same scene becomes fully immersive.

Classic analysis
Your files as a 3D city, sized and coloured by their metrics.
Dependency graph
What depends on what, as a navigable graph.
Historical comparison
Two points of your Git history, side by side on one table.
Project Evolution
Your whole history replayed as a film, commit by commit.

Setting up

The sidebar, top to bottom: servers, identity, analysis defaults and environment.

Configure your servers

The sidebar reads top to bottom, and Servers is where you decide how CodeXR serves its scenes.

Protocol
HTTPS with generated local certificates, HTTPS with your own, or plain HTTP for development. VR headsets require HTTPS: WebXR will not start over an insecure connection.
Default port
The port new servers use.
Auto-open and open mode
Whether a server opens automatically when it launches, and whether it opens in your browser or in a side panel inside VS Code.
Cross-network connections
Enabled by default, so every server you start opens a secure outbound tunnel through Cloudflare. The first time, CodeXR asks permission to download cloudflared, exactly once. Decline and the feature turns itself off; re-enable it here whenever you want and it will ask again.

Manage active servers and your identity

Active Servers has two parts: Collaboration, where you say who you are, and the list of what is running.

Local network address
For devices on your own wifi, a headset included.
Cross-network invitation link
Ready to copy and send, so several people can work inside the same instance. Guests never enter with the link alone: they also need a six-digit code that only you can give them.
Server controls
Open in browser, server information, stop.

Collaboration is where you set up how you join others. Paste an invitation link to enter a session someone shared with you, choose your display name (stay anonymous with the alias CodeXR reserves for you, or set your own), pick your avatar colour and enable the 3D avatar models.

Set your analysis defaults

Analysis is the most important section. At the top are your active analyses: click any of them for its details, to open it in the browser, to export it or to close it. Below that, the settings.

Default analysis type
One for files and one for directories.
LivePanel theme
How the 2D panels look inside VS Code.
Default chart type
For the XR experiences, separately for files and directories. This is mainly what shapes the classic analysis.
Default field mapping
Which metric drives each dimension of the chart.
Debounce and automatic re-analysis
How quickly a save triggers a re-analysis, tuned for real time by default, with automatic re-analysis on.
Sorting filters
For the Language and Project Structure trees.
Configuration profiles
So each project can keep its own setup.

Two smaller sections sit nearby: Babia Examples, a homage to BabiaXR with ready-made examples, and Visualize Data, a legacy tool that renders any JSON with Babia charts.

Check your environment and find help

The last three blocks are the ones you should rarely need.

Python Environment
Whether Python and the analysis dependencies are correctly installed. CodeXR manages its own isolated environment, so normally you never touch this.
Visualization Settings
How the scenes look, with a one-click reset.
Learn More and Support
The documentation, a little about the creator, and a way to support the project.

Inside the room

Your first analysis, then the furniture every scene shares: screens, guide, controller.

Run your first analysis

Right-click a folder and launch a project analysis in deep mode. CodeXR walks the entire codebase, every file and every function, then serves the scene locally and opens it in your browser.

Get your bearings in the room

Every analysis lives in a room with a handful of recurring pieces, and they are in the same place every time.

The people
Everyone connected appears as an avatar with their name floating above, each in their own colour.
The virtual screens
With their own panel to manage them.
The table
Also called the pedestal: where the data itself is rendered, with its controller on the corner closest to you.
The guide screen
Always within reach.

Use the screens and the guide

Create as many virtual screens as you need. Drag them, reposition them, resize them from the corners.

You can share content on them: whatever you broadcast is seen in real time by everyone else in the session, including guests connected from another network.

The guide screen is built in. Colour-coded tabs explain every analysis and include a glossary of every metric, so the answer to "what am I looking at" never requires leaving the room.

Meet the controller

On the corner of the table closest to you there is always a controller. It drives everything: the visualizations of the four analysis types, their settings, and the switch between them.

Each mode keeps its own state, so moving between analyses never resets what you were doing.

Where to go next

Tried on real codebases
BabiaXR, Express and JetUML, each toured through all four analyses.
Install it
From the VS Code Marketplace, the command line, or a VSIX you download.
Read the source
The extension is GPL-3.0 and developed in the open on GitHub.

No telemetry, no account, and nothing is downloaded without asking you first.

Everything here comes from one extension, and one install.

Install it and run it