Domino Blueprints

Getting started with the Domino VS Code Extension

Author

Blake Moore

Article topics

VS Code extension, SSH to Workspace, job execution, workspace management

Intended audience

Data scientists, ML engineers, platform teams

Install

Install via VS Code Marketplace

Install via Open VSX Registry

Overview and goals

The challenge

For most data scientists, the local development experience and the enterprise compute environment have always lived in two separate worlds. Enterprise data science teams depend on cloud and on-prem compute platforms for the scale, governance, and reproducibility they require. But the day-to-day workflow around the actual work is fragmented. You write and iterate in your editor of choice (i.e., Visual Studio Code, referred to here as VS Code, VS Codium or Positron), then switch context to a browser to kick off a job, monitor its status, or check on a workspace. Then back to the editor to iterate. Then back to the browser.

That back-and-forth is a tax on the work that actually matters. Every context switch adds friction. Every tab switch costs focus. For ML engineers and platform teams managing multiple projects and runs simultaneously, the overhead compounds further.

The solution

The Domino VS Code Extension, now available free on the Microsoft Marketplace and Open VSX Registry, brings project management, job execution, job monitoring, and workspace management into a dedicated sidebar panel. You can start a job, check its status, and cancel it, all from within VS Code.

When paired with Domino's SSH-to-Workspace feature, the experience goes further. Your local VS Code instance connects directly to a running Domino workspace over SSH, giving you full access to its compute, libraries, datasets, and environment as if it were running on your own machine. The compute lives in Domino. The development experience lives in your editor.

While the extension is built specifically for VS Code, SSH-to-Workspace is compatible with any IDE that supports remote SSH connections.

Image of the extension is VS Code

When should you use the Domino VS Code Extension?

If your workflow looks like this: write code locally, push to Git, open a browser to configure a run, wait, check status, download results, repeat. The Domino VS Code Extension is worth setting up.

Specifically, consider it when:

  • You spend time context switching between your editor and the Domino UI.
  • You want to run jobs without leaving VS Code.
  • You're iterating on code that requires enterprise-scale compute.
  • You need your local IDE to connect directly to a Domino workspace.
  • You're managing multiple projects or monitoring jobs across a team.

Core capabilities of the Domino VS Code Extension

The extension adds a dedicated sidebar panel to VS Code with four core capabilities:

1. Project Management. Connect to your Domino instance and navigate your projects directly from the sidebar. Projects are grouped by owner. Select a project, and the extension holds it in context. Your status bar always shows which project you're working in.

Project management VS code extension

2. Job Execution. Run any command as a Domino job without touching a browser. Right-click any file in the Explorer to run it directly as a job, or use the Jobs panel to start a new run with a custom command. Before submitting, select your hardware tier and compute environment.

Create job

3. Job Monitoring. The Jobs panel shows your full job history for the active project: status, command, who started it, and when it started. Running jobs show a live status indicator and can be cancelled directly from the panel. Completed jobs can be reopened in the Domino UI or re-run with the same configuration.

4. Workspace Management. Start, stop, and monitor Domino workspaces from VS Code. Commit workspace changes to the project repository, or open the workspace directly in a browser from the Workspaces panel. For teams using SSH-to-Workspace, this is where you’ll see workspace status before connecting.

Workspace management

How to set up the Domino VS Code Extension

Deploying the extension across your organization

The extension requires no server-side setup beyond what Domino already provides. Authentication uses the same API key mechanism as the Domino CLI and REST API. For teams enabling SSH-to-Workspace, the requirements are minimal:

  • A compute environment with openssh-server installed. Domino-provided base images include this by default; custom images can add it with a single line in the Dockerfile.
  • The Dom CLI is installed on end-user machines.
  • No changes to network policy beyond what SSH-to-Workspace already requires.
  • The Enable SSH option can be configured to be ticked by default for all workspaces.
Enable SSH

Deploying the extension locally

Prerequisites:

  • VS Code 1.104 or later
  • A Domino instance (cloud or self-hosted)
  • A Domino API key, available from your account settings
  • For SSH-to-Workspace: the Dom CLI installed, and a workspace environment with SSH support enabled. See the SSH-to Workspace documentation for detailed setup instructions.

Step 1: Install the extension

Search “Domino Data Lab” in the VS Code Extensions Marketplace, or install directly:

code --install-extension DominoDataLab.domino-data-lab-vscode-extension

Step 2: Authenticate

Open the Settings page for the Domino Data Lab extension and enter your Domino hostname. Click “Sign in” which will redirect you to your Domino instance to complete authentication.

Step 3: Select a project

Once authenticated, the Domino sidebar populates with your projects. Click any project to select it. Your status bar updates to confirm your active project, and this context carries through to all job submissions and workspace actions.

Step 4: Run your first job

Right-click any Python, R, or shell script in the Explorer and select Run as Domino Job. Choose a hardware tier, confirm, and watch the job appear live in the Jobs panel. From there, you can monitor its status, cancel it if needed, or reopen the completed run, all from within VS Code.

Step 5: Connect to a workspace via SSH (optional but highly recommended)

SSH-to-Workspace, introduced in Domino 6.1 and extended in 6.1.1, connects your local VS Code instance directly to a running Domino workspace. Remote files appear in your editor exactly like local files. You can browse, edit, run terminals, and use extensions while the compute, libraries, datasets, and environment remain entirely within Domino. While these steps cover VS Code, SSH-to-Workspace works with any IDE that supports remote SSH connections.

To connect:

  1. Select your project in the sidebar
  2. Start a workspace from the Workspaces panel. Select your hardware tier and environment.
  3. Click Connect SSH from the Workspaces panel once the workspace is running.
  4. Open the workspace in VS Code Remote Explorer. Your remote files appear as if they’re local
  5. Edit, test, and run. When you're ready to persist your work, commit directly from the Workspaces panel without leaving VS Code.
SSH workspace

What can you do with the Domino VS Code Extension and SSH enabled?

  • Large model training. Iterate on code locally while the workspace runs on a GPU-backed hardware tier.
  • Data-heavy workloads. Access Domino Datasets and Domino Data Sources directly from VS Code without downloading files to your machine.
  • Reproducible environments. Develop inside the exact compute environment that will be used for production runs with no configuration drift between development and deployment.
  • Regulated industries. All data stays within Domino's governance boundary. Nothing is pulled to a local machine.
  • Local extension compatibility. Use your own desktop configuration and installed extensions while connected to a remote compute environment.

On the roadmap

The extension is open source and actively developed. Upcoming priorities include:

  • Create a project from the extension panel
  • Richer job log streaming directly in the VS Code Output panel
  • Scheduled job support (coming in a future release)

Have a feature request or found a bug? Open an issue on GitHub.

Install the extension

Install the Domino VS Code extension and get started today.

Blake Moore

Deputy Field CTO


Blake has a deep understanding of the challenges and opportunities in transitioning from self-hosted Domino to Domino Cloud. Having worn many hats — ranging from field engineering to solutions architecture — Blake is now the Deputy Field CTO.