diff --git a/scripts/lib/devtool/ide_plugins/ide_code.py b/scripts/lib/devtool/ide_plugins/ide_code.py
index 85f286335f..95ef472ed4 100644
--- a/scripts/lib/devtool/ide_plugins/ide_code.py
+++ b/scripts/lib/devtool/ide_plugins/ide_code.py
@@ -352,16 +352,16 @@ class IdeVSCode(IdeBase):
         properties_dict = {
             "name": modified_recipe.recipe_id_pretty,
         }
+        arch_map = {
+            'aarch64': 'arm64', 'x86_64': 'x64', 'arm': 'arm',
+            'i686': 'x86', 'i586': 'x86', 'riscv64': 'x64', 'riscv32': 'x86',
+        }
         if modified_recipe.build_tool is BuildTool.CMAKE:
             properties_dict["configurationProvider"] = "ms-vscode.cmake-tools"
         elif modified_recipe.build_tool is BuildTool.MESON:
             # configurationProvider = "mesonbuild.mesonbuild" does not work because
             # the cross-compiler is not in PATH and omits the sysroot by default.
             compiler_type = 'clang' if modified_recipe.toolchain == 'clang' else 'gcc'
-            arch_map = {
-                'aarch64': 'arm64', 'x86_64': 'x64', 'arm': 'arm',
-                'i686': 'x86', 'i586': 'x86', 'riscv64': 'x64', 'riscv32': 'x86',
-            }
             intelli_arch = arch_map.get(modified_recipe.target_arch, 'x64')
             properties_dict["compilerPath"] = os.path.join(
                 modified_recipe.staging_bindir_toolchain,
