Releases: microsoft/vscode-cpptools
Releases · microsoft/vscode-cpptools
Release list
1.35.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
Enhancement
- Improve workspace indexing performance.
Bug Fixes
- Fix false IntelliSense errors when initializing a variable with a value from the same unnamed enum. #14726
- Fix the workspace parsing status briefly reporting completion while a newer parse is still running.
- Fix 'Create Declaration/Definition' incorrectly being offered for explicit template instantiations.
- Fix tag parser hangs when database initialization fails or shutdown interrupts a pending request.
- Various localization updates.
1.34.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
Enhancements
- Add folding support for C++
public,private, andprotectedaccess sections. #14645- Thanks for the contribution. @8prashant (Prashant Kumar Rai) PR #14675
- Add the
processFilterlaunch option to filter or automatically select processes for remotecppdbgattach configurations. #14682- Thanks for the contribution. @afreof (Adrian Freihofer) PR #14684
- 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 - 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 - 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 'C/C++: Edit Configurations (UI)' not fully respecting custom theme colors. #11263
- Thanks for the contribution. @8prashant (Prashant Kumar Rai) PR #14692
- Fix formatting not inserting the final newline requested by
InsertNewlineAtEOF. #12680 - 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 'Run/Debug C/C++ File' buttons being hidden when
C_Cpp.intelliSenseEngineis set todisabled. #13001- Thanks for the contribution. @8prashant (Prashant Kumar Rai) PR #14719
- Fix nested quoted
#includedirectives failing to resolve source-relative headers when-iquotepaths are used. #13606 - Fix false IntelliSense errors for EnTT multi-component views caused by heterogeneous
autonon-type template parameter packs. #14456 - Fix false IntelliSense errors for GNU ARM stack-pointer clobbers, including CMSIS
__set_PSPand__set_MSP. #14486 - Fix incorrect semantic highlighting for explicit function template specializations. #14491
- Fix IntelliSense using
c17instead of GCC's default GNU C language standard. #14560 - 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 in workspaces with cyclic document symbol data or multiple symbolic links that point to ancestor directories, and prevent
cpptoolsfrom remaining active after VS Code exits. #14689 - Fix false IntelliSense errors for constrained hidden friend function templates that use
requiresexpressions. #14696 - Fix include completion and symbol navigation using stale recursive include data after files are replaced by directories or symbolic link roots change.
- Fix unnecessary IntelliSense reparsing after unrelated settings changes and incorrect language updates after
files.associationschanges. - Fix 'Find All References' misclassifying references in inactive preprocessor regions after falling back to header-only IntelliSense.
- 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 custom C/C++
files.associationsentries with certain non-ASCII characters being ignored on Windows. - 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.34.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.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
Enhancement
- Add the
processFilterlaunch option to filter or automatically select processes for remotecppdbgattach configurations. #14682- Thanks for the contribution. @afreof (Adrian Freihofer) PR #14684
Bug Fixes
- Fix 'C/C++: Edit Configurations (UI)' not fully respecting custom theme colors. #11263
- Thanks for the contribution. @8prashant (Prashant Kumar Rai) PR #14692
- Fix 'Run/Debug C/C++ File' buttons being hidden when
C_Cpp.intelliSenseEngineis set todisabled. #13001- Thanks for the contribution. @8prashant (Prashant Kumar Rai) PR #14719
- Fix false IntelliSense errors for EnTT multi-component views caused by heterogeneous
autonon-type template parameter packs. #14456 - Fix false IntelliSense errors for GNU ARM stack-pointer clobbers, including CMSIS
__set_PSPand__set_MSP. #14486 - Fix false IntelliSense errors for constrained hidden friend function templates that use
requiresexpressions. #14696 - Fix compiler and include paths from some custom configuration providers being ignored. #14724
- Fix a
cpptools-srv2crash when tag parsing a C macro that stringizes__VA_OPT__. - Various localization updates.
- Update dependencies.
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.