Instructions
The extension can be obtained by one of the methods below:
- Install the "C/C++" or "C/C++ Extension Pack" extension published by Microsoft from the Extensions view in VS Code.
- Download a vsix that matches your OS from the Assets section below (and install it via the method mentioned above). The previous download methods have the vsix signatures verified by the Marketplace, but for this method, you can do the verification by downloading the matching manifest and signature.p7s file and running
npx @vscode/vsce@latest verify-signature -i <.vsix> -m <.signature.manifest> -s <.signature.p7s>vscode-vsce#1044.
Requirements
- VS Code 1.77.0 or later (March 2023).
- Windows 10+ (x64, arm64), macOS 10.13+, Linux (Ubuntu 16+, etc.).
- Debugging is not supported on CentOS 7 or RHEL 7. The last supported version was 1.22.11: #13219.
- The last supported version for Windows 7 and 8 was 1.30.5.
Changes
New Feature
- Unification of tag parsing with the VS implementation. In particular, it's now done using multiple parallel
cpptools-srv2processes. PR #14426
Enhancements
- Allow platform overrides in
cppbuildtasks. #11601 - Add the
debuginfodlaunch option to thecppdbgdebugger schema. #14458, #14460, PR #14471, PR #14506, MIEngine#1562 - Add the
ignoreRunWithoutDebuggingWarningsproperty to allow 'Run without debugging' warnings to be suppressed. #14515
Bug Fixes
- Fix the wording for the
#includeerrors detected message. #8227 - Fix an incorrect
invalid type conversionIntelliSense error. #11294 - Fix include completion (with recursive includes) still suggesting headers from a deleted folder. #12636
- Fix a spurious recursive includes (
**) debug console log warning for paths merged fromc_cpp_properties.jsonwhenC_Cpp.mergeConfigurationsis enabled. #14125- Thanks for the contribution. @owevertonguedes (Weverton Guedes) PR #14620
- Fix 'Find All References' dropping valid references when a template parameter type has a typedef alias in only one translation unit. #14344
- Fix the remote process picker
pscommand not working with some shells. #14442- Thanks for the contribution. @HuzaifaAbdulRehman PR #14592
- Fix a spurious IntelliSense error with class template argument deduction (CTAD). #14453, #14459, #14504
- Add
importanttoC_Cpp.doxygen.sectionTags. PR #14473 - Update the minimum supported VS Code version to 1.77. PR #14502
- Fix issues with the debugger
launch.jsonschema. PR #14523 - Fix
[[no_unique_address]]empty-base layoutsizeofbeing computed too large. #14524 - Fix
${env:VAR}and${env.VAR}not expanding to an empty string when the environment variable is unset, to match VS Code's behavior. PR #14535- Thanks for the contribution. @notable-equivalent
- Fix C/C++ debug data-tips on members of a dereferenced expression. PR #14540
- Thanks for the contribution. @tieo
- Fix Windows backslash paths being mangled when adding an SSH target. PR #14554
- Fix 'Run C/C++ File' not running the program in PowerShell when terminal shell integration is unavailable. #14583
- Thanks for the contribution. @owevertonguedes (Weverton Guedes) PR #14585
- Fix the build tools walkthrough for Visual Studio 2026. PR #14589
- Fix custom configurations being discarded when
C_Cpp.mergeConfigurationsis enabled and a provider supplies the fileurias avscode.Uri. #14621- Thanks for the contribution. @owevertonguedes (Weverton Guedes) PR #14624
- Fix a tag parser crash when a UTF-8 string literal is concatenated with a narrow string literal containing an invalid multibyte sequence.
- Fix IntelliSense incorrectly resolving
#includefiles through a symbolic link after the target directory was deleted from disk. - Fix potential browse database corruption when the same workspace is opened by multiple processes on Linux and macOS.
- Fix crashes when reading files saved in certain multibyte encodings such as GB18030 or EUC-JP.
- Fix empty database folders being created in every folder of a multi-root workspace.
- Fix the
C_Cpp.refactoring.includeHeadersetting not honoringalways. - Fix spurious IntelliSense error on
std::variantbrace-initialization. - Fix several potential deadlocks and data races in the language server.
- Fix an incorrect file path in an error message on Windows.
- Reduce memory usage to help avoid out-of-memory crashes.
- Fix stale diagnostics after editing visible headers.
- Fix several crashes in the recursive include cache.
- Fix an incorrect
#includecasing error on Linux. - Various other fixes found internally.
- Various localization updates.
- Fix an IntelliSense crash.
- Update dependencies.