Configuration
Global Settings (User/Workspace)
Configure these in User Settings (Ctrl+,) or Workspace Settings:
onsemi.repositories
Type: object
Default: {}
Description: Repository configurations indexed by repository path.
Example:
{
"onsemi.repositories": {
"c:\\workspace\\zsdk": {
"projectType": "zephyr",
"tools": [
{
"id": "zephyr-sdk",
"installPath": "C:\\Users\\username\\AppData\\Local\\onsemi\\tools\\zephyr-sdk\\0.17.4",
"version": "0.17.4",
"isToolchain": true
},
{
"id": "cmake",
"installPath": "C:\\Users\\username\\AppData\\Local\\onsemi\\tools\\cmake\\4.0.3\\bin",
"version": "4.0.3",
"isToolchain": false
},
]
},
"c:\\cmake-project": {
"projectType": "cmake",
"tools": [
{
"id": "cmake",
"installPath": "C:\\Users\\username\\AppData\\Local\\onsemi\\tools\\cmake\\4.0.3\\bin",
"version": "4.0.3",
"isToolchain": false
},
{
"id": "arm-none-eabi-gcc",
"installPath": "C:\\Users\\username\\AppData\\Local\\onsemi\\tools\\arm-none-eabi-gcc\\14.3.1\\bin",
"version": "14.3.1",
"isToolchain": true
}
]
}
}
}
Properties:
projectType: Repository/project type -"zephyr","cmake", or"unknown"tools: Array of tool configurationsid: Tool identifier (e.g.,"arm-none-eabi-gcc","zephyr-sdk")version: Tool version stringinstallPath: Absolute path to tool installation directoryisToolchain: Boolean indicating if tool is a toolchain
onsemi.certificatePath
Type: string
Default: ""
Description: Path to a custom self-signed certificate file for HTTPS requests (useful for corporate proxies).
Example:
{
"onsemi.certificatePath": "C:/certs/corporate-ca.crt"
}
onsemi.allowInsecureTls
Type: boolean
Default: false
Description: Disable TLS verification (not recommended for production).
Project-Specific Settings (Folder/Resource)
These settings apply to individual project folders and are typically stored in .vscode/settings.json:
onsemi.workspacePath
Type: string
Default: ""
Description: Absolute path to the workspace/repository containing this project.
onsemi.toolchain
Type: string
Default: ""
Description: Absolute path to the toolchain directory.
Example: "C:\\Users\\username\\AppData\\Local\\onsemi\\tools\\zephyr-sdk\\0.17.4"
onsemi.venv.path
Type: string
Default: ""
Description: Path to Python virtual environment.
Example: "C:\\zephyr-workspace\\.venv"
onsemi.args
Type: array
Default: []
Scope: resource
Description: Additional command-line arguments for build commands.
Example:
{
"onsemi.args": ["--args1", "--args2"]
}
onsemi.envVars
Type: array
Default: []
Scope: resource
Description: Additional environment variables for build commands.
Example:
{
"onsemi.envVars": [
{
"name": "ZEPHYR_BASE",
"value": "C:/zephyr-workspace/zephyr"
},
{
"name": "CMAKE_BUILD_PARALLEL_LEVEL",
"value": "8"
}
]
}
onsemi.build.configurations
Type: array
Default: []
Scope: resource
Description: Build configurations for the project.
Common Properties (all project types):
name(required): Configuration nameactive: Whether this is the active configurationargs: Array of additional argumentsenvs: Array of environment variables (same format asonsemi.envVars)
Zephyr-Specific Properties:
boardName: Target board identifiersysbuild: Enable sysbuild mode (true/false)pristine: Pristine build mode ("auto","always", or"never")arch: Target architecture (e.g.,"arm","riscv64")
Zephyr-Specific Configuration Example:
{
"onsemi.build.configurations": [
{
"name": "debug",
"active": true,
"boardName": "evb",
"sysbuild": false,
"pristine": "auto",
"args": ["--", "-DCONFIG_DEBUG_OPTIMIZATIONS=y"],
"envs": [
{
"name": "CONF_FILE",
"value": "prj_debug.conf"
}
]
},
{
"name": "release",
"active": false,
"boardName": "evb",
"sysbuild": true,
"args": ["--", "-DCONFIG_SIZE_OPTIMIZATIONS=y"],
"envs": [
{
"name": "CONF_FILE",
"value": "prj_release.conf"
},
{
"name": "EXTRA_DTC_OVERLAY_FILE",
"value": "boards/onnn_rsl15_evb.overlay"
}
]
}
]
}
CMake-Specific Properties:
buildType: CMake build type ("Debug","Release","RelWithDebInfo","MinSizeRel")generator: CMake generator (e.g.,"Ninja")toolchainFile: Path to CMake toolchain filecacheVars: Array of CMake cache variablesname: Variable namevalue: Variable value
configurationPreset: CMake configuration preset namebuildPreset: CMake build preset name
CMake-Specific Configuration Example:
{
"onsemi.build.configurations": [
{
"name": "Debug",
"active": true,
"buildType": "Debug",
"generator": "Ninja",
"toolchainFile": "C:/cmake-toolchains/arm-none-eabi.cmake",
"cacheVars": [
{
"name": "CMAKE_EXPORT_COMPILE_COMMANDS",
"value": "ON"
},
{
"name": "BUILD_TESTING",
"value": "OFF"
}
]
},
{
"name": "Release",
"active": false,
"buildType": "Release",
"generator": "Ninja",
"configurationPreset": "release-preset",
"buildPreset": "release-build"
}
]
}
IntelliSense Settings
onsemi.intelliSenseProvider
Type: string
Default: "mscpp"
Options: "clangd" | "mscpp"
Scope: resource
Description: Select IntelliSense provider.
Example:
{
"onsemi.intelliSenseProvider": "clangd"
}
onsemi.autoGenerateClangdConfig
Type: boolean
Default: true
Scope: resource
Description: Automatically generate .clangd configuration file.
onsemi.disableIntelliSense
Type: boolean
Default: true
Scope: resource
Description: Disable automatic IntelliSense configuration.
Complete Project Settings Example
Zephyr Project (.vscode/settings.json):
{
"onsemi.workspacePath": "C:\\workspace\\zephyr",
"onsemi.toolchain": "C:\\Users\\username\\AppData\\Local\\onsemi\\tools\\zephyr-sdk\\0.17.4",
"onsemi.venv.path": "c:\\workspace\\zephyr\\.venv",
"onsemi.build.configurations": [
{
"name": "debug",
"active": true,
"boardName": "evb",
"pristine": "auto",
"envs": [
{ "name": "CONF_FILE", "value": "prj_debug.conf" },
{ "name": "DTC_OVERLAY_FILE", "value": "C:/boards/evb.overlay" }
]
},
{
"name": "release",
"active": false,
"boardName": "evb",
"sysbuild": true,
"envs": [{ "name": "CONF_FILE", "value": "prj_release.conf" }]
}
]
}
CMake Project (.vscode/settings.json):
{
"onsemi.workspacePath": "C:\\workspace\\cmake-project",
"onsemi.toolchain": "C:\\Users\\username\\AppData\\Local\\onsemi\\tools\\arm-none-eabi-gcc\\14.3.1\\bin",
"onsemi.build.configurations": [
{
"name": "Debug",
"active": true,
"args": [],
"envVars": [],
"buildType": "",
"generator": "Ninja",
"targets": [],
"configurationPreset": "Debug-CM33",
"buildPreset": "",
"toolchainFile": "",
"cacheVars": [
{ "name": "CMAKE_EXPORT_COMPILE_COMMANDS", "value": "ON" },
{ "name": "BUILD_TESTING", "value": "OFF" }
]
},
{
"name": "Release",
"active": false,
"args": [],
"envVars": [],
"buildType": "",
"generator": "Ninja",
"targets": [],
"configurationPreset": "MinSizeRel-CM33",
"buildPreset": "",
"toolchainFile": "",
"cacheVars": [
{ "name": "CMAKE_EXPORT_COMPILE_COMMANDS", "value": "ON" }
]
}
]
}