Qt Project Manager and BuildQt Project Manager and Build (QPM) provides a project-oriented Qt/C++ workflow in Visual Studio Code. Projects can use QPM's direct Version 0.15.2 — EPERM-safe deferred cleanVersion 0.15.2 removes the last Windows clean race. Clean Project no longer recreates Version 0.15.1 — Qt Designer module inference and reliable cleanVersion 0.15.1 detects module requirements introduced by Direct-build cleanup stops matching applications launched by QPM and atomically moves the previous mode directory aside. The initial 0.15.1 implementation recreated Version 0.15.0 — Publication and application updatesVersion 0.15.0 adds a complete desktop release-publication layer on top of QPM packaging and installer workflows. Projects can generate Windows MSIX packages, A dedicated Qt Publication & Updates view reports product identity, release channel, tool readiness, output paths and blocking configuration issues. The same actions are available from Qt Project Settings and the consolidated editor/Explorer context menus. Manifest schema v15Schema v15 adds a top-level The publication workflow supports:
Version 0.14.0 — Apple platformsVersion 0.14.0 adds project-local macOS, iOS Simulator and iOS Device platform profiles. QPM detects Xcode and its command-line tools, generates isolated CMake/Xcode projects for iOS, builds with A dedicated Qt Apple Platforms view reports host/tool readiness and provides configuration, build, deployment, DMG, signature, notarization, simulator and output-management commands. Apple actions remain visible on non-macOS hosts but are reported as unavailable instead of attempting unsupported commands. Manifest schema v14Schema v14 extends platform profiles with Xcode paths, bundle identity, deployment target, architectures, development team, signing identity, provisioning, entitlements, simulator/device selection, DMG options, hardened runtime, timestamping, The Apple workflow supports:
Version 0.13.2 — Last active workspace restorationVersion 0.13.2 corrects QPM startup persistence. The workspace explicitly loaded most recently in the current VS Code window is now restored before QPM evaluates project-folder association markers. An older project folder that remains in the VS Code window can therefore no longer replace the active Qt Quick workspace after an application restart. QPM persists the selected Version 0.13.1 — qmlls client compatibilityVersion 0.13.1 hardens the QML Language Server client introduced in 0.13.0. QPM now accepts the dotted QML Language Server startup is serialized, the Start QPM qmlls anyway action continues the current startup operation, and generated Version 0.13.0 — QML Language Server and modulesVersion 0.13.0 adds project-scoped QML code intelligence through Qt's A dedicated QML Language & Modules view exposes server state, readiness, duplicate-server protection, Manifest schema v13Schema v13 adds a top-level The QML workflow supports:
Version 0.12.3 — Unified opaque settings headerVersion 0.12.3 refines the Qt Project Settings scrolling experience after the dynamic-height correction introduced in 0.12.2. The action toolbar and filter/navigation row now live inside one opaque sticky container. This removes the transparent interstice that previously allowed settings cards to remain visible between the two fixed rows while scrolling. The complete sticky container is measured with Version 0.12.2 — Qt deployment and settings navigationVersion 0.12.2 selects the Version 0.12.1 — Desktop installers, updates and signingVersion 0.12.1 retains the desktop distribution workflow introduced in 0.12.0 and corrects Windows build-directory preparation, A dedicated Qt Installers & Signing view reports backend readiness and provides installer generation, source generation, repository creation, signing, verification, report and cleanup actions. The same commands are grouped under QPM → Installers / signing in editor and Explorer context menus. Manifest schema v12Schema v12 adds The installer workflow supports:
Certificate passwords are referenced by environment-variable name only. QPM does not write the secret into the project manifest, reports or command previews. Version 0.11.0 — Android and devicesVersion 0.11.0 adds project-local Qt for Android profiles, environment detection and device workflows. QPM detects Android SDK/NDK/JDK installations, Qt Android kits, CMake/Ninja, Android builds use an isolated CMake project under Manifest schema v11Schema v11 extends platform and kit profiles with Android SDK/NDK/JDK paths, ABIs, API levels, package metadata, device/AVD selection, ADB/logcat behavior and signing references. Existing schema-v1 through schema-v10 projects migrate automatically with a sibling backup. Desktop remains the default platform, so existing projects retain their current workflow. Android workflow
Version 0.10.0 — Extended testingVersion 0.10.0 extends the native VS Code Testing integration with CTest and Boost.Test while preserving Qt Test, Qt Quick Test, GoogleTest and Catch2. CTest test inventories are read from Boost.Test macros are discovered directly in C++ sources, including nested suites and fixture/data test cases. QPM runs selected Boost.Test cases with a JUnit log sink and project-local log/report/randomization settings. Failed tests can be rerun from the Qt Tests & Quality view, and compact execution history is stored below Manifest schema v10Schema v10 extends Version 0.9.0 — Profiling and diagnosticsVersion 0.9.0 adds project-local profiling and diagnostic workflows. The active manifest now stores QML Profiler, CPU, memory, Cppcheck and system-trace settings, while a dedicated Qt Profiling & Diagnostics view exposes tool readiness and the common actions. QPM can start Manifest schema v9Schema v9 adds the Version 0.8.0 — Packaging and product metadataVersion 0.8.0 adds project-local product identity and portable packaging. The native manifest now stores the product name/version, publisher, application identifier, description, copyright, icon, license/readme files, distribution directory, archive naming pattern and runtime-content policy. QPM can generate Windows version resources and manifests, Linux desktop entries and a machine-readable package manifest. With the direct MinGW backend, Portable packages can be produced as a directory, ZIP or Manifest schema v8Schema v8 adds the Version 0.7.3 — Consolidated menus and settings UXVersion 0.7.3 consolidates every editor and Explorer right-click action behind a single QPM submenu. Project/configuration, build/run/debug, Qt tools, tests/quality, documentation, snippets and utilities are separated into contextual subgroups instead of appearing as a long flat command list. The Qt Project Settings webview is now a searchable control center with section navigation, contextual fields, file/folder browsers, preset suggestions, unsaved-change feedback and keyboard-accessible help icons. Platform-, backend- and debugger-specific controls are shown only when relevant, while specialist profile and kit editors remain directly accessible from the same page. The accompanying functional audit originally identified packaging, extended testing, profiling, Android and QML language-server integration as the main gaps. These workflows are now covered; the remaining emphasis is physical Apple/Android toolchain validation, store publication and deeper platform-specific debugging. Version 0.7.2 — Build-mode toolbar and categorized snippetsVersion 0.7.2 makes the D32/R32/D64/R64 item in the QPM workspace toolbar interactive: clicking the current mode now opens the complete build-mode selector, just like the target-type item, while the dedicated palette commands remain available for direct selection. The editor context menu now organizes snippets under Qt, classic C, classic C++, Windows/communication, documentation and saved-user categories. The generic Insert snippet command uses the same two-stage category picker and the built-in library now includes Qt Widgets/Core entry points, type-safe signal/slot connections, QObject and Q_PROPERTY skeletons, QTimer, QSettings, QFile, resources, logging, Qt Test and QML type registration. Version 0.7.1 — Persistent project configurationVersion 0.7.1 makes the native Manifest schema v7Schema v7 adds Version 0.7.0 — PlatformsVersion 0.7.0 adds project-local platform profiles and a dedicated Qt Platforms view. A native Qt project can target the local desktop, local Linux, a Remote Linux device, a Docker container or Qt for WebAssembly without replacing its existing kit, build, run, deploy and debug profiles. Platform profiles record the platform-specific environment and toolchain details: sysroot and environment for local Linux; SSH, rsync/SCP, remote build/deploy/run directories and optional gdbserver for Remote Linux; image, container workspace, Docker options and custom commands for containers; Emscripten SDK, HTML entry point, web server and browser behavior for WebAssembly. The platform service provides Build, Deploy, Run and Build + Deploy + Run workflows, capability detection, Remote Linux terminals, Docker shells and WebAssembly serving. Platform readiness is also exposed in Qt Project Health, the quick actions summary and the central Qt Project Settings page. Manifest schema v6Schema v6 adds Supported platform workflows
Version 0.6.0 — Advanced debuggingVersion 0.6.0 adds project-local debug profiles and a dedicated Qt Debugging view. A profile can launch a native target, attach to a local process, connect to a remote GDB Server, open a core/dump file, attach the QML debugger, or combine native C++ and QML debugging. Debug profiles record the build and run profiles they depend on, debugger selection, program/arguments/working directory, environment, source mappings, shared-library search paths, core-dump path, remote host/port, optional SSH gdbserver startup, Qt pretty-printing preferences and QML debugger settings. QPM can export the profiles to The active kit selects GDB, LLDB or the Visual Studio debugger automatically. GNU sessions enable pretty printing, optional breaks on Qt fatal/assert helpers and installed Qt source lookup. MSVC sessions use For Qt Quick projects, mixed profiles add Manifest schema v5Schema v5 adds Version 0.5.2 — Workspace-state and IntelliSense cleanupVersion 0.5.2 hardens QPM startup when test projects or workspaces have been deleted. Stale project associations are removed, missing last-used workspaces now fall back to the blank QPM home page, and automatic discovery no longer scans broad parent directories recursively. The activation cleanup also removes obsolete QPM-managed Version 0.5.1 — Direct-link response-file fixVersion 0.5.1 fixes a Windows/MinGW regression introduced by the 0.5.0 direct backend. GNU response files treat backslashes as escape characters, so drive-qualified object, Qt library and output paths could lose every directory separator during linking. QPM now serializes Windows paths with GNU-safe forward slashes, escapes the remaining response-file characters correctly, and only creates Version 0.5.0 — Backends and named kitsVersion 0.5.0 turns the project-local kit/build profile model into an operational multi-backend workflow. Named Qt kitsQPM stores reusable kits in its global storage and can assign them to any native project. A named kit records:
The Qt Kits & Backends view detects, updates, renames, deletes and assigns kits. Assigning a kit updates every build profile in the active project while preserving project-local copies. Direct, qmake and CMake backendsEach Debug or Release profile can select one of three backends:
The generated qmake and CMake projects preserve the native manifest's source lists, Qt modules, forms, resources, translations, include/library directories, definitions, target kind and output location. MSVC and debugger selectionMSVC kits resolve The direct backend remains intentionally limited to GCC/MinGW and Clang. MSVC projects use qmake or CMake. Build performance and project generationBuild profiles now support:
CMake publishes its authoritative Manifest schema v4Schema v4 adds complete named-kit metadata and backend configuration to every build profile. Schema-v1 through schema-v3 manifests are migrated automatically with a sibling backup. Version 0.4.0 — Tests and qualityVersion 0.4.0 integrates native Qt/C++ test discovery and quality workflows with the project-local kit, build, run and deployment profile model. VS Code Test ExplorerQPM publishes discovered tests through the VS Code Testing API. The active workspace is scanned automatically and the following frameworks are recognized:
Tests can be run from Test Explorer, from the Qt Tests & Quality view, or directly under the cursor. Qt Test and Qt Quick Test results are read from JUnit XML output; GoogleTest XML and Catch2-compatible selection are also supported. A dedicated debug profile starts the selected test in the VS Code C++ debugger. New native templates include Qt Test application, Qt Quick Test application, Qt Test class and Qt Quick TestCase. Project settings expose framework selection, test timeout, build-before-run, extra arguments, environment variables and the optional Qt offscreen platform. Static analysisThe active compilation database drives project- and file-level analysis:
Diagnostics are published in the Problems panel and linked to source locations. QPM resolves tools from explicit settings, the selected Qt toolchain, Qt's Tools directories or Sanitizers and coverageQPM can create project-local Debug profiles for:
The Test Explorer coverage profile and Run All Tests with Coverage command force an instrumented build, run the selected tests, invoke Manifest schema v3Native manifests now include explicit Version 0.3.2 — QRC resource opening fixThe graphical QRC editor now opens referenced resources with the editor registered by VS Code. Image resources such as PNG, JPEG, SVG and ICO files therefore open in the image preview, while text and QML resources continue to open in their normal editors. Relative paths are resolved from the Version 0.3.0 — Qt toolsVersion 0.3.0 adds a project-aware Qt tool layer on top of the native direct-build workflow. The active project profile and selected Qt kit now drive Qt Linguist, resource editing, QML quality tools and official Qt documentation access. Qt Linguist and translationsQPM can create Commands include:
Graphical Qt resource editorOpening a QML toolsThe selected Qt kit supplies Qt documentation and tool healthThe selected editor symbol can be searched directly in the official documentation for the active Qt major version. A new Qt Tools view groups translations, resources, QML and documentation actions. Qt Project Health now reports the availability of Linguist, resource and QML tools. Version 0.2.9 — Home workspace actionsVersion 0.2.9 completes the home-page workspace workflow. A new workspace and native Qt project can now be created even while another workspace is already loaded, and an additional native Qt project can be added directly to the current Immediate project readinessCreating either a standalone native project or a workspace with a native project now performs the following sequence:
This means starter files can resolve both Qt headers such as Automatic synchronization is also triggered when:
A successful build requests another C/C++ rescan so newly generated MOC/UIC/RCC files are visible immediately. The settings Version 0.2.6 — ConsolidationVersion 0.2.6 consolidates the native Qt workflow introduced in the 0.2.x series. It adds project-local profiles, exact compiler dependency tracking, a project health view and a smaller embedded JC Lib catalog while preserving compatibility with existing manifests and Manifest schema v3 and project profilesNative projects now use schema version 3. The schema-v2 profile model remains unchanged and is extended with test and quality configuration. The manifest contains four explicit profile families:
Each project selects its own active Debug, Release, run and deploy profiles. The command Qt Project Manager: Manage Project Profiles changes the active profiles or duplicates an existing build, run or deploy profile. A version 1 manifest is migrated automatically when loaded. QPM writes a sibling backup before changing the file:
The legacy top-level Exact incremental buildsFor GCC and Clang toolchains, QPM now emits one dependency file per object:
The next build reads the compiler-produced dependency graph and recompiles only the translation units affected by a changed or missing included header. This replaces the previous project-wide header timestamp heuristic. The direct build sequence remains:
Qt Project HealthThe Qt Project Health view checks the active native project before a build. It reports:
Actions in the view open the relevant repair, settings, build-plan or synchronization command. A Markdown report can also be opened from the view toolbar. Qt kit and compiler safetyA native Qt project uses the compiler associated with the selected kit, not a stale generic CPM/QPM compiler. QPM probes the compiler target and rejects incompatible combinations, such as a 32-bit MinGW compiler with a Qt For a layout such as:
QPM resolves the toolchain from the surrounding Qt installation. Use Qt Project Manager: Repair / Select Matching Qt Compiler for a custom installation. Managed C++ IntelliSenseQPM writes project-local IntelliSense files beside the native manifest:
The generated configuration uses the active Qt kit compiler, module include directories, project includes, generated MOC/UIC/RCC paths, defines and C++ standard. Qt Widgets DesignerClicking a Native project templatesQt Project Manager: Create Workspace and Native Qt Project creates a
The Create New File or Starter... menu includes Qt entry points, Embedded JC Lib catalogQPM embeds the JC Lib 0.8.27 hierarchy model and ships only the six base packs relevant to this extension:
The Qt pack groups Qt language, QML, Multimedia, SQL/Test and PySide6 content under the canonical Compatibility projectsLegacy Principal commands
Build, rebuild, clean, run and debug are also available from the QPM activity bar and project context menus. Current validated scopeThe primary physically validated workflow is Qt 6 dynamic desktop development on Windows with MinGW 64-bit. The direct backend supports Widgets, Console, Quick, shared-library and static-library project models. qmake, CMake, MSVC, Android, macOS/iOS, remote Linux, WebAssembly, QML debugging/language tooling, portable packaging and desktop installers are implemented, with platform-specific workflows requiring the corresponding external SDKs and tools. Development
The full test suite uses simulated Qt tools and toolchains for deterministic regression coverage. A physical Windows Qt installation remains necessary for final platform validation. Automatic workspace restorationWhen QPM adds a native Qt project directory to the VS Code workspace for IntelliSense, it stores a small |