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 Features
- Add the opt-in
C_Cpp.hoverShowIntegralValuesInHexadecimalsetting to display integral constants in hexadecimal in IntelliSense hovers. #7281 - Add 'Fold All Inactive Regions' and 'Unfold All Inactive Regions' commands and the opt-in
C_Cpp.autoFoldInactiveRegionssetting. #8992 - Dim unused local variables and parameters when
editor.showUnusedis enabled. #10490 - Dim unreachable code when
editor.showUnusedis enabled. #12902 - Show C++ type size and alignment in hovers, with the
C_Cpp.hoverShowTypeSizeAndAlignmentsetting and 'Toggle Type Size and Alignment in Hovers' command to control them. #13034, #14820 - Add the 'Select a Translation Unit...' command to choose which source file provides IntelliSense context for the active header file. PR #14688
- Add the opt-in
C_Cpp.codeAnalysis.clangTidy.includeCleanerMappingssetting to mapmisc-include-cleanersymbols to public headers. PR #14788 - Dim unused
#includedirectives wheneditor.showUnusedis enabled, respecting per-file Include Cleanup preferences from.editorconfigfiles. PR #14808
Enhancements
- Add support for formatting multiple selections with
clang-formatandvcFormat. #12082 - Improve IntelliSense responsiveness in multi-root workspaces that use independent
compile_commands.jsondatabases. - Increase the per-file IntelliSense diagnostic limit from 250 to 1,000 and prioritize errors over unused-code hints.
- Improve IntelliSense configuration lookup performance for symbolic links to
compile_commands.json. - Reduce language server memory usage in workspaces with many interconnected symbolic links.
- Reduce custom-configuration processing overhead in workspaces with many requested files.
- Improve workspace indexing performance by reducing repeated language-mode processing.
- Improve code folding performance in files with many inactive preprocessor regions.
- Update the bundled
clang-tidyandclang-formatfrom 23.1.0 to 23.1.1. - Reduce CPU usage when resolving headers in large Windows workspaces.
- Improve performance when pruning large IntelliSense caches.
Bug Fixes
- Fix
/Uand-Ucompiler arguments not undefining macros for IntelliSense and code analysis. [#13786](https://githu