VSCode does not mark current application target blue. Slow switching between build configurations. Etc.

Hi, here comes a few VSCode plugin bugs, it's really the first one that is the main one, but thought I might as well "dump" the rest of the quirks and bugs I have with it, do what you want with the info.

Since the latest (or last few) updates to nRF VSCode plugin the build configuration UI does not work as good anymore.

It's very slow, changing between targets is slow and I can hear my quite fast CPU start to work a lot when changing between build configs.

Also the VSCode plugin does not highlight the selected build target/config anymore. it used to be blue when highlighted. You can see it being blue straight after selecting another.

Attached video.

Another thing, should it really say "3rd Party" here? Feels strange as I use nRF Connect SDK and nothing else.

// IMPORTANT: The following data can contain sensitive or confidential information about your environment.
// If you do not want others to see this information, make sure to remove it before sharing the data.

// For help and support, visit Nordic Semiconductor's DevZone at https://devzone.nordicsemi.com/.

{
  "platform": {
    "os": "linux",
    "osVersion": "#29~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Aug 14 16:52:50 UTC 2",
    "osKernel": "6.14.0-29-generic",
    "vscode": "1.103.2",
    "electron": "37.2.3",
    "node": "v22.17.0",
    "name": "Ubuntu",
    "id": "ubuntu",
    "version": "24.04.3 LTS (Noble Numbat)",
    "versionId": "24.04",
    "appName": "Visual Studio Code",
    "appHost": "desktop"
  },
  "system": {
    "date": "2025-09-18T15:03:25.545Z",
    "vscodeRoot": "/snap/code/205/usr/share/code/resources/app",
    "nrfConnectForDesktopInstalled": "unknown",
    "vscodeUptime": "03:25:44",
    "osUptime": "67:53:19",
    "cpu": "AMD Ryzen 9 9950X 16-Core Processor"
  },
  "workspace": {
    "name": "ZSWatch",
    "workspaceFile": null,
    "folders": [
      "/home/jakkra/Documents/ZSWatch"
    ]
  },
  "sdks": [
    {
      "version": "v2.9.2",
      "path": "/home/jakkra/ncs/v2.9.2"
    },
    {
      "version": "v0.7.0-0",
      "path": "/home/jakkra/Documents/ZSWatch"
    }
  ],
  "activeBuild": "/home/jakkra/Documents/ZSWatch/app/build_dbg_dk",
  "apps": [
    {
      "workspace": "/home/jakkra/Documents/ZSWatch",
      "uri": "/home/jakkra/Documents/ZSWatch/app",
      "buildConfigurations": [
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build",
          "name": "build",
          "type": "Sysbuild",
          "isChild": false,
          "isStale": true,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build/app",
          "name": "build/app",
          "type": "Zephyr",
          "isChild": true,
          "isStale": true,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_dk",
          "name": "build_dbg_dk",
          "boardId": "watchdk@1/nrf5340/cpuapp",
          "type": "Sysbuild",
          "isChild": false,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_dk/app",
          "name": "build_dbg_dk/app",
          "boardId": "watchdk@1/nrf5340/cpuapp",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_dk/b0n",
          "name": "build_dbg_dk/b0n",
          "boardId": "watchdk@1/nrf5340/cpunet",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_dk/ipc_radio",
          "name": "build_dbg_dk/ipc_radio",
          "boardId": "watchdk@1/nrf5340/cpunet",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_dk/mcuboot",
          "name": "build_dbg_dk/mcuboot",
          "boardId": "watchdk@1/nrf5340/cpuapp",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_leg_v5",
          "name": "build_dbg_leg_v5",
          "boardId": "zswatch_legacy@5/nrf5340/cpuapp",
          "type": "Sysbuild",
          "isChild": false,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_leg_v5/app",
          "name": "build_dbg_leg_v5/app",
          "boardId": "zswatch_legacy@5/nrf5340/cpuapp",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_leg_v5/b0n",
          "name": "build_dbg_leg_v5/b0n",
          "boardId": "zswatch_legacy@5/nrf5340/cpunet",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_leg_v5/ipc_radio",
          "name": "build_dbg_leg_v5/ipc_radio",
          "boardId": "zswatch_legacy@5/nrf5340/cpunet",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_leg_v5/mcuboot",
          "name": "build_dbg_leg_v5/mcuboot",
          "boardId": "zswatch_legacy@5/nrf5340/cpuapp",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dbg_v5",
          "name": "build_dbg_v5",
          "type": "Zephyr",
          "isChild": false,
          "isStale": true,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dk_v5",
          "name": "build_dk_v5",
          "type": "Zephyr",
          "isChild": false,
          "isStale": true,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v2.6.0"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_dk_v5/hci_ipc",
          "name": "build_dk_v5/hci_ipc",
          "type": "Zephyr",
          "isChild": true,
          "isStale": true,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v2.6.0"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_nrf_dk",
          "name": "build_nrf_dk",
          "boardId": "nrf5340dk/nrf5340/cpuapp",
          "type": "Sysbuild",
          "isChild": false,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_nrf_dk/app",
          "name": "build_nrf_dk/app",
          "boardId": "nrf5340dk/nrf5340/cpuapp",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_nrf_dk/b0n",
          "name": "build_nrf_dk/b0n",
          "boardId": "nrf5340dk/nrf5340/cpunet",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_nrf_dk/ipc_radio",
          "name": "build_nrf_dk/ipc_radio",
          "boardId": "nrf5340dk/nrf5340/cpunet",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        },
        {
          "id": "/home/jakkra/Documents/ZSWatch/app/build_nrf_dk/mcuboot",
          "name": "build_nrf_dk/mcuboot",
          "boardId": "nrf5340dk/nrf5340/cpuapp",
          "type": "Zephyr",
          "isChild": true,
          "isStale": false,
          "taskBindings": {
            "build": [],
            "pristineBuild": [],
            "flash": [],
            "eraseAndFlash": []
          },
          "sdk": "/home/jakkra/Documents/ZSWatch",
          "toolchain": "nRF Connect SDK Toolchain v3.0.2"
        }
      ]
    }
  ],
  "toolchains": [
    {
      "version": "3.0.2",
      "path": "/home/jakkra/ncs/toolchains/7cbc0036f4",
      "displayName": "nRF Connect SDK Toolchain v3.0.2",
      "compilerTools": [
        "Zephyr SDK (arm) 0.17.0",
        "Zephyr SDK (riscv) 0.17.0"
      ]
    },
    {
      "version": "2.6.0",
      "path": "/home/jakkra/ncs/toolchains/2be090971e",
      "displayName": "nRF Connect SDK Toolchain v2.6.0",
      "compilerTools": [
        "Zephyr SDK (arm) 0.16.5",
        "Zephyr SDK (riscv) 0.16.5"
      ]
    }
  ],
  "connectedDevices": [
    {
      "serialNumber": "000051022722",
      "deviceFamily": "NRF53_FAMILY",
      "deviceName": "nRF5340",
      "deviceVersion": "NRF5340_xxAA_REV1",
      "jlinkObFirmwareVersion": "J-Link V11 compiled Apr  1 2025 10:02:30",
      "protectionStatus": "NRFDL_PROTECTION_STATUS_NONE",
      "protectionStatusCore": "NRFDL_DEVICE_CORE_APPLICATION"
    }
  ],
  "tools": {
    "/home/jakkra/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc": "0.17.0",
    "/opt/SEGGER/JLink/JLinkExe": "8.56a",
    "/usr/local/bin/nrfjprog": "10.24.2",
    "/usr/bin/nrfutil": "8.0.0",
    "/home/jakkra/ncs/toolchains/7cbc0036f4/usr/local/bin/cmake": "3.21.0",
    "/home/jakkra/ncs/toolchains/7cbc0036f4/usr/local/bin/west": "1.2.0",
    "/home/jakkra/ncs/toolchains/7cbc0036f4/usr/local/bin/python3": "3.12.4",
    "/home/jakkra/ncs/toolchains/7cbc0036f4/usr/local/bin/ninja": "1.10.2",
    "/home/jakkra/ncs/toolchains/7cbc0036f4/usr/bin/gperf": "3.1",
    "/home/jakkra/ncs/toolchains/7cbc0036f4/usr/bin/dtc": "1.5.0",
    "/home/jakkra/ncs/toolchains/7cbc0036f4/opt/bin/gn": "2132",
    "/home/jakkra/ncs/toolchains/7cbc0036f4/usr/local/bin/git": "git version 2.37.3",
    "debugger (arm)": "/home/jakkra/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb",
    "debugger (riscv)": "/home/jakkra/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk/riscv64-zephyr-elf/bin/riscv64-zephyr-elf-gdb"
  },
  "nrfutil": {
    "nrfutil-device": {
      "version": "2.13.1",
      "binPath": "/home/jakkra/.vscode/extensions/nordic-semiconductor.nrf-connect-2025.9.798-linux-x64/platform/nrfutil/bin/nrfutil-device",
      "jlinkInfo": {
        "description": "This version of SEGGER J-Link is different from the J-Link version that was used to test nrfutil device commands",
        "expectedVersion": {
          "version": "JLink_V8.60",
          "versionFormat": "string"
        },
        "name": "JlinkARM",
        "version": "JLink_V8.56a",
        "versionFormat": "string"
      }
    },
    "nrfutil-sdk-manager": {
      "version": "1.6.2",
      "binPath": "/home/jakkra/.vscode/extensions/nordic-semiconductor.nrf-connect-2025.9.798-linux-x64/platform/nrfutil/bin/nrfutil-sdk-manager"
    }
  },
  "environment": {
    "westEnv": {
      "GIT_EXEC_PATH": "/home/jakkra/ncs/toolchains/7cbc0036f4/usr/local/libexec/git-core",
      "HOME": "/home/jakkra",
      "PATH": "/home/jakkra/ncs/toolchains/7cbc0036f4/usr/bin:/home/jakkra/ncs/toolchains/7cbc0036f4/usr/bin:/home/jakkra/ncs/toolchains/7cbc0036f4/usr/local/bin:/home/jakkra/ncs/toolchains/7cbc0036f4/opt/bin:/home/jakkra/ncs/toolchains/7cbc0036f4/opt/nanopb/generator-bin:/home/jakkra/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk/arm-zephyr-eabi/bin:/home/jakkra/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk/riscv64-zephyr-elf/bin:/home/jakkra/.local/bin:/home/jakkra/.nvm/versions/node/v24.5.0/bin:/home/jakkra/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/jakkra/.local/bin:/home/jakkra/.local/bin:/home/jakkra/.local/bin:/home/jakkra/.local/bin:/home/jakkra/.nvm/versions/node/v24.5.0/bin:/home/jakkra/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/jakkra/.local/bin:/home/jakkra/.local/bin:/home/jakkra/.local/bin",
      "ZEPHYR_BASE": "/home/jakkra/Documents/ZSWatch/zephyr",
      "ZEPHYR_TOOLCHAIN_VARIANT": "zephyr",
      "ZEPHYR_SDK_INSTALL_DIR": "/home/jakkra/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk",
      "PYTHONPATH": "/home/jakkra/ncs/toolchains/7cbc0036f4/usr/local/lib/python3.12:/home/jakkra/ncs/toolchains/7cbc0036f4/usr/local/lib/python3.12/site-packages",
      "USER": "jakkra"
    },
    "inherited": {
      "ELECTRON_RUN_AS_NODE": "1",
      "HOME": "/home/jakkra",
      "PATH": "/home/jakkra/.local/bin:/home/jakkra/.nvm/versions/node/v24.5.0/bin:/home/jakkra/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/jakkra/.local/bin:/home/jakkra/.local/bin:/home/jakkra/.local/bin",
      "USER": "jakkra"
    }
  },
  "terminal": {
    "defaultProfile": null
  },
  "config": {
    "nordic-semiconductor.nrf-connect": {
      "ozonePath": "",
      "applications": [
        "${workspaceFolder}/app",
        "${workspaceFolder}\\app"
      ],
      "applicationOptions": {},
      "kconfig": {
        "interface": "kconfig"
      },
      "west": {
        "env": {
          "$base": "terminal"
        }
      },
      "boardRoots": [
        "${workspaceFolder}/app",
        "${workspaceFolder}\\app",
        "${workspaceFolder}/zephyr",
        "${workspaceFolder}\\zephyr"
      ],
      "taskBindings": {},
      "debugging": {
        "flash": false,
        "bindings": {
          "${workspaceFolder}/app/build": "Launch build"
        },
        "justMyCode": false
      },
      "activeAppFollowActiveEditor": true,
      "flash": {
        "softreset": false,
        "erase": false,
        "recover": false
      },
      "enableTelemetry": true,
      "thirdpartyIntegration": {},
      "toolchainManager": {
        "indexURL": null,
        "installDirectory": null
      },
      "nrfutil": {
        "home": null
      },
      "defaultOpenAction": "ask",
      "terminalProfile": {
        "shell": null
      }
    },
    "nordic-semiconductor.nrf-terminal": {
      "terminalMode": "character",
      "localEcho": false
    }
  },
  "extensions": {
    "internal": {
      "nordic-semiconductor.nrf-connect": {
        "version": "2025.9.798",
        "path": "/home/jakkra/.vscode/extensions/nordic-semiconductor.nrf-connect-2025.9.798-linux-x64",
        "isActive": true
      },
      "nordic-semiconductor.nrf-terminal": {
        "version": "2025.8.103",
        "path": "/home/jakkra/.vscode/extensions/nordic-semiconductor.nrf-terminal-2025.8.103",
        "isActive": true
      },
      "nordic-semiconductor.nrf-devicetree": {
        "version": "2025.8.140",
        "path": "/home/jakkra/.vscode/extensions/nordic-semiconductor.nrf-devicetree-2025.8.140",
        "isActive": true
      },
      "nordic-semiconductor.nrf-kconfig": {
        "version": "2025.9.123",
        "path": "/home/jakkra/.vscode/extensions/nordic-semiconductor.nrf-kconfig-2025.9.123",
        "isActive": true
      }
    },
    "external": {
      "marus25.cortex-debug": null,
      "ms-vscode.cpptools": "1.26.5",
      "ms-vscode.js-debug": "1.102.0",
      "ms-vscode.js-debug-companion": "1.1.3",
      "ms-vscode.vscode-js-profile-table": "1.0.10",
      "bradlc.vscode-tailwindcss": "0.14.26",
      "GitHub.copilot": "1.372.0",
      "GitHub.copilot-chat": "0.30.3",
      "github.vscode-github-actions": "0.27.2",
      "ms-python.debugpy": "2025.10.0",
      "ms-python.python": "2025.14.0",
      "ms-python.vscode-pylance": "2025.8.1",
      "ms-python.vscode-python-envs": "1.2.0",
      "ms-vscode.vscode-speech": "0.16.0",
      "trond-snekvik.gnu-mapfiles": "1.1.0",
      "twxs.cmake": "0.0.17"
    }
  }
}

A minor thing: Builds for native_sim_64 board in VSCode always shows the pristine build, never just "build". I know it's not officially a Nordic board, but it used to work a few months ago. And it's convenient to have the build button in the plugin as it was before.

Every now and then the plugin looses the ability to show the targets within a build config. Only way to get it back is to reload VScode.

After a reload app/mcuboot etc. shows.

I always get this popup when starting debug. As far as I know I have the normal DEBUG configs enabled. Either there is a bug or I am missing the one it looks for, which config does it want? It's a bit annoying it's popping up every time, perhaps you should have a "don't show again" or similar.

I have those, among others also

CONFIG_DEBUG_OPTIMIZATIONS=y
CONFIG_DEBUG=y

Related