Releases: microsoft/vscode-cpptools
Releases · microsoft/vscode-cpptools
Release list
1.34.2
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
Enhancements
- Improve C/C++ file classification by supporting extensionless headers and additional extensions such as
.hipthroughout extension features. PR #14711 - Update the bundled
clang-tidyandclang-formatfrom 22.1.3 to 23.1.0, including availableclang-tidycheck suggestions and documentation. PR #14713
Bug Fixes
- Fix high CPU and memory usage in workspaces with multiple symbolic links that point to ancestor directories. #14689
- Fix include completion and symbol navigation using stale recursive include data after files are replaced by directories or symbolic link roots change.
- Fix 'Find All References' misclassifying references in inactive preprocessor regions after falling back to header-only IntelliSense.
1.34.1
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
Bug Fixes
- Fix formatting not inserting the final newline requested by
InsertNewlineAtEOF. #12680 - Fix nested quoted
#includedirectives failing to resolve source-relative headers when-iquotepaths are used. #13606 - Fix incorrect semantic highlighting for explicit function template specializations. #14491
- Fix IntelliSense using
c17instead of GCC's default GNU C language standard. #14560 - Fix unnecessary IntelliSense reparsing after unrelated settings changes and incorrect language updates after
files.associationschanges. - Fix custom C/C++
files.associationsentries with certain non-ASCII characters being ignored on Windows. - Fix
cpptools-srvcrashes under memory pressure while reading or processing RPC messages.
1.34.0
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
Enhancements
- Add folding support for C++
public,private, andprotectedaccess sections. #14645- Thanks for the contribution. @8prashant (Prashant Kumar Rai) PR #14675
- Improve workspace indexing performance and reduce memory usage by deduplicating browse paths from
compile_commands.json, excluding unrelated files from the browse database, and avoiding unnecessary tag parsing of non-included extensionless files. #14693 - Reduce language server memory usage and RPC overhead for large messages and browse database snapshots.
- Add IntelliSense support for C23
_BitInt, C++26 pack indexing, and C++26 structured binding packs.
Bug Fixes
- Fix inactive code being dimmed from the wrong column when a preprocessor directive is preceded by a comment. #12882
- Thanks for the contribution. @8prashant (Prashant Kumar Rai) PR #14666
- Fix enum member completion in a
switchlabel before the trailing:. #14605 - Fix extension crashes caused by events communicating with the language client before it is ready. PR #14617
- Fix configuration path diagnostics for paths containing regular expression metacharacters and for incorrect source ranges. PR #14674, PR #14679
- Prevent browse database crashes on filesystems that do not support SQLite WAL shared memory, and warn when no compatible database location is available. PR #14683
- Fix runaway CPU and memory usage caused by cyclic document symbol data, and prevent
cpptoolsfrom remaining active after VS Code exits. #14689 - Fix several language server crashes during startup, shutdown, diagnostic processing, and concurrent code model updates.
- Fix various IntelliSense completion, navigation, false error, code analysis, formatting, and colorization issues.
- Fix a potential language server deadlock caused by inconsistent lock ordering.
- Harden temporary file storage on Linux and macOS.
- Various localization updates.
- Update dependencies.
1.33.8
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.
1.33.7 (release candidate)
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
Bug Fixes
- Fix another crash when reading files saved in certain multibyte encodings such as GB18030 or EUC-JP.
- Fix newly created files not being associated with the correct configuration in the browse database.
- Fix the language server becoming unresponsive during browse database initialization.
- Fix stale diagnostics and missing code actions after editing visible headers.
- Fix
/ZW:nostdlibnot being processed correctly by IntelliSense. - Update dependencies.
1.33.6
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
Bug Fixes
- 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 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 potential browse database corruption when the same workspace is opened by multiple processes on Linux and macOS.
- Fix a crash when reading files saved in certain multibyte encodings such as GB18030 or EUC-JP.
- Fix an incorrect file path in an error message on Windows.
- Other potential crash fixes.
- Update dependencies.
1.33.5
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
Bug Fixes
- 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
- 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 empty database folders being created in every folder of a multi-root workspace.
- Fix 'Rescan Workspace' triggering a full database reset instead of only a rescan.
- Fix several potential deadlocks and data races in the language server.
- Reduce memory usage to help avoid out-of-memory crashes.
- Fix an incorrect
#includecasing error on Linux. - Fix an IntelliSense crash.
- Various localization updates.
- Update dependencies.
1.33.4
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
Bug Fixes
- Fix the wording for the
#includeerrors detected message. #8227 - Fix another "directory_cache" crash.
- Update some localization.
1.33.3
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.12+, 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
Enhancement
- Allow platform overrides in
cppbuildtasks. #11601
Bug Fixes
- Fix
[[no_unique_address]]empty-base layoutsizeofbeing computed too large. #14524 - Fix C/C++ debug data-tips on members of a dereferenced expression. PR #14540
- Thanks for the contribution. @tieo
- Fix
clang-format/clang-tidyversion check failing on Windows. PR #14552 - Fix Windows backslash paths being mangled when adding an SSH target. PR #14554
- Fix "directory_cache" crashes.
- Fix spurious IntelliSense error on
std::variantbrace-initialization.
1.33.2
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.12+, 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
Bug Fixes
- Fix a regression with 'Find All References' with functions that exist in both C and C++ files. #14546
- Fix some regression crashes.