Skip to content

VS Code settings

All settings live under containerlab.. Open them with Containerlab: Open Settings from the command palette, or the gear in the explorer title bar.

The settings tab edits User or Workspace scope and stays in sync with VS Code's own settings. Reset removes an override. Appearance changes apply right away; runtime settings tell you when a window reload is needed.

Appearance

Setting Default What it does
appearance.colorScheme vscode Follow VS Code, or force light or dark in containerlab views.
appearance.fontSize 0 Interface font size, 10–24 px. 0 follows VS Code. Topology labels and terminals keep their size.
appearance.fontFamily empty Interface font. Empty follows VS Code.
appearance.reduceMotion false Minimize animations and transitions.

Runtime

Setting Default What it does
binaryPath empty Absolute path to containerlab. Empty looks it up in PATH.
runtime docker Container runtime: docker or podman.
dockerSocketPath /var/run/docker.sock Docker or Podman socket, e.g. /run/user/1000/podman/podman.sock.
refreshMode events events follows containerlab events live. polling runs containerlab inspect every pollInterval.
pollInterval 5000 Polling interval in ms.
enableInterfaceStats true Interface counters in the explorer. Turn off to save resources.
deploy.extraArgs empty Extra flags for every deploy and redeploy.
destroy.extraArgs empty Extra flags for every destroy.
skipCleanupWarning false Skip the confirmation for cleanup actions.
skipUpdateCheck false Do not check for containerlab updates at start.
showWelcomePage true Show the welcome page when the extension starts.

Editor

Setting Default What it does
editor.customNodes SR Linux and Network Multitool Your node templates.
editor.lockLabByDefault true Open labs locked.
editor.updateLinkEndpointsOnKindChange true Rename link endpoints when a node's kind changes.

A template can hold a full node definition:

{
  "containerlab.editor.customNodes": [
    {
      "name": "SR Linux",
      "kind": "nokia_srlinux",
      "type": "ixr-d1",
      "image": "ghcr.io/nokia/srlinux:latest",
      "icon": "router",
      "baseName": "srl",
      "interfacePattern": "e1-{n}",
      "setDefault": true
    }
  ]
}

Node actions

Setting Default What it does
node.execCommandMapping {} Command to run per kind when you open a shell.
node.sshUserMapping {} SSH user per kind. A credentials username in the topology takes precedence.
node.telnetPort 5000 Port for the Telnet action.
{
  "containerlab.node.execCommandMapping": { "nokia_srlinux": "sr_cli", "arista_ceos": "Cli" },
  "containerlab.node.sshUserMapping": { "nokia_srlinux": "admin", "cisco_xrd": "clab" }
}

Packet capture

Setting Default What it does
capture.preferredAction Wireshark VNC What the capture action does: Wireshark VNC or Edgeshark.
capture.remoteHostname empty Host name or IP your machine uses to reach Edgeshark on the lab host.
capture.packetflixPort 5001 Packetflix WebSocket port used by Edgeshark.
capture.wireshark.dockerImage ghcr.io/srl-labs/wireshark-vnc-docker:latest Image for Wireshark VNC sessions.
capture.wireshark.pullPolicy always always, missing, or never.
capture.wireshark.theme Follow VS Code theme Wireshark color scheme.
capture.wireshark.stayOpenInBackground true Keep sessions alive in background tabs. Uses more memory.
capture.wireshark.vncCaptureHostname empty Host name override for VNC capture URIs only.
capture.edgeshark.extraEnvironmentVars HTTP_PROXY=, http_proxy= Comma-separated variables for the Edgeshark containers.

Extras

Setting Default What it does
drawioDefaultTheme nokia_modern Draw.io theme: nokia_modern, nokia, or grafana.
gotty.port 8080 Port for GoTTY terminal sharing.
extras.fcli.extraDockerArgs empty Extra Docker or Podman flags for fcli.