Releases: microsoft/vscode-cpptools
1.4.1
Instructions
To use the "offline" .vsix (that doesn't download OS-based dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code (don't double-click the .vsix or another app like VS might try to open it incorrectly).
Requirements
- VS Code 1.53.0 or later.
Changes
Bug Fix
- Fix the configuration UI sometimes not populating initially with VS Code 1.56 or later. #7641
Known Issues
- None so far.
1.4.0
Instructions
To use the "offline" .vsix (that doesn't download OS-based dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code (don't double-click the .vsix or another app like VS might try to open it incorrectly).
Requirements
- VS Code 1.53.0 or later.
Changes
New Features
- Add a C++ walkthrough to the "Getting Started" page. #7273
- Note: VS Code may only make this available to a subset of users while they continue working on the feature.
Enhancements
- Update to clang-format 12. #6434
- Add
privateorprotectedscope labels to class symbols. #7120 - Fix file:line path for $FILEPOS #7193
- Add
stopAtConnectandhardwareBreakpointslaunch options PR #7449stopAtConnectstops the debugger on connection to a remote target PR MIEngine#1109hardwareBreakpointscontrols usage and number of remote hardware breakpoints PR MIEngine#1128
- Add support for loading Concord extensions to the cppvsdbg debug adapter (see documentation for more information)
- Add support for exception conditions to cppvsdbg (see documentation for more information)
Bug Fixes
- Fix an incorrect IntelliSense error with object initialization. #3212
- Fix IntelliSense errors with designated initializers. #3491, #5500
- Fix IntelliSense configuration with cl.exe compiler args
/external:I,/Zc:preprocessor, and others. #4980, #6531, #7259 - Switch to showing no document symbols instead of random symbols for
files.exclude'd documents. #5142 - Fix macros getting undefined when duplicate
#includeare used. #5182, #7270 - Fix provider failed error logging. #5487
- Fix an IntelliSense crash with
#pragma GCC target. #6698, #7377 - Fix bitness detection for compilers targeting esp32. #7034
- Fix -idirafter directories being included too early. #7129
- Fix issue with the cpptools process lingering when no longer needed. #7262
- Filter out C++ std when querying the compiler as C (and vice versa). #7269
- Fix
files.excludeending with/folder/**not excluding/folder. #7331 - Fix VS Code UI freezing when hovering over very large literals. #7334, #7577
- Fix clang-format formatting bug when new lines are removed. #7360
- Change default cwd in launch.json to
${fileDirname}. #7362- Syed Ahmad (@HackintoshwithUbuntu) PR #7363
- Fix the compile commands entry not being used when -Werror is used. #7388
- Fix some potential race conditions during vsix installation. #7405
- Fix completion at the end of a file. #7472
- Fix completion of constructors. #7505
- Fix typos.
- Fix an IntelliSense crash with the arrow library. #7518
- Fix the configuration UI randomly being blank (more frequently when remote). #7523
- Fix IntelliSense mode switching from
linuxtomacosif__unix__is defined but__linux__is not. #7525 - Fix enabling of the
ms_extensionsflag for clang on Windows. #7529 - Fix
autocompleteAddParentheseswith no argument const/non-const overloads and deduction guides. #7540, #7541 - Fix the browse configuration not being preserved when the configuration provider is auto-detected. #7542
- Fix clang-format failure on macOS 10.13 or older. #7561
- Fix an IntelliSense crash with std::ranges::unique. #7576
- Prevent 'Configuration Warnings' output when a custom configuration provider omits optional fields.
- Prevent 'Configuration Warnings' caused by corrections to auto-detected default configuration values.
- Reduce IntelliSense memory and CPU usage in certain scenarios (e.g. large files).
- Fix a crash on Linux with a
/**includePath.
Known Issues
- None so far.
1.4.0-insiders3 (release candidate)
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.53.0 or later.
Changes
Enhancements
- Add
privateorprotectedscope labels to class symbols. #7120 - Improvements to the C++ "Getting Started" walkthrough. PR #7554
Bug Fixes
- Switch to showing no document symbols instead of random symbols for
files.exclude'd documents. #5142 - Fix bitness detection for compilers targeting esp32. #7034
- Fix issue with cpptools process lingering when no longer needed. #7262
- Fix typos.
- Fix enabling of the
ms_extensionsflag for clang on Windows. #7529 - Fix
autocompleteAddParentheseswith no argument const/non-const overloads and deduction guides. #7540, #7541 - Fix the browse configuration not being preserved when the configuration provider is auto-detected. #7542
- Fix clang-format failure on macOS 10.13 or older. #7561
- Fix the walkthrough for remote targets. PR #7582
- Prevent 'Configuration Warnings' output when a custom configuration provider omits optional fields.
- Prevent 'Configuration Warnings' caused by corrections to auto-detected default configuration values.
Known Issues
- None so far.
1.4.0-insiders2
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.53.0 or later.
Changes
New Features
- Add a C++ walkthrough to the "Getting Started" page. #7273
- Currently, it's only usable when
"workbench.welcomePage.experimental.extensionContributions": trueis set with VS Code Insiders.
- Currently, it's only usable when
Bug Fixes
- Fix an incorrect IntelliSense error with object initialization. #3212
- Fix macros getting undefined when duplicate
#includeare used. #5182, #7270 - Fix IntelliSense crash with
#pragma GCC target. #6698, #7377 - Fix completion at the end of a file. #7472
- Fix completion of constructors. #7505
- Fix IntelliSense crash with the arrow library. #7518
- Fix the configuration UI randomly being blank (more frequently when remote). #7523
- Fix IntelliSense mode switching from
linuxtomacosif__unix__is defined but__linux__is not. #7525 - Reduce IntelliSense memory and CPU usage in certain scenarios.
Known Issues
- None so far.
1.4.0-insiders
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.53.0 or later.
Enhancements
- Update to clang-format 12. #6434
- Fix file:line path for $FILEPOS #7193
- Add
stopAtConnectandhardwareBreakpointslaunch options PR #7449stopAtConnectstops the debugger on connection to a remote target PR MIEngine#1109hardwareBreakpointscontrols usage and number of remote hardware breakpoints PR MIEngine#1128
- Add support for loading Concord extensions to the cppvsdbg debug adapter (see documentation for more information)
- Add support for exception conditions to cppvsdbg (see documentation for more information)
Bug Fixes
- Fix IntelliSense errors with designated initializers. #3491, #5500
- Fix IntelliSense configuration with cl.exe compiler args
/external:I,/Zc:preprocessor, and others. #4980, #6531, #7259 - Fix provider failed error logging. #5487
- Fix -idirafter directories being included too early. #7129
- Filter out C++ std when querying the compiler as C (and vice versa). #7269
- Fix files.exclude ending with
/folder/**not excluding/folder. #7331 - Fix VS Code UI freezing when hovering over very large literals. #7334
- Fix clang-format formatting bug when new lines are removed. #7360
- Change default cwd in launch.json to
${fileDirname}. #7362- Syed Ahmad (@HackintoshwithUbuntu) PR #7363
- Fix a crash on Linux with a
/**includePath. - Fix the compile commands entry not being used when -Werror is used. #7388
- Fix some potential race conditions during vsix installation. #7405
Known Issues
- Some issues marked as "fixed (pending releaes)" (but not in the list above) did not make into this release and will be available in 1.4.0-insiders2.
1.3.1
Instructions
To use the "offline" .vsix (that doesn't download OS-based dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code (don't double-click the .vsix or another app like VS might try to open it incorrectly).
Requirements
- VS Code 1.53.0 or later.
Changes
Bug Fixes
- Fix extension not activating when
/.vscode/c_cpp_properties.jsonexists but no C/C++ file is open. #7344 - Fix logging for an invalid provider configuration.
- Fix extension activation with 32-bit Windows. #7368
Known Issues
- None so far.
1.3.0
Instructions
To use the "offline" .vsix (that doesn't download OS-based dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code (don't double-click the .vsix or another app like VS might try to open it incorrectly).
Requirements
- VS Code 1.53.0 or later.
Changes
New Features
- Add language service support for CUDA.
- Add highlighting of matching conditional preprocessor statements. #2565
- Add commands for navigating to matching preprocessor directives in conditional groups. #4779
- Add native language service binaries for ARM64 Mac. #6595
Enhancements
- Add parentheses to function calls when
C_Cpp.autocompleteAddParenthesesistrue. #882 - Add @RetVal support to the simplified view of doc comments. #6816
- Add auto-closing of include completion brackets. #7054
- Add support for nodeAddonIncludes with Yarn PnP.
- Mestery (@Mesterry) PR #7123
- Add a
C_Cpp.files.excludesetting, which is identical tofiles.excludeexcept items aren't excluded from the Explorer view. PR #7285
Bug Fixes
- Display integer values for char and unsigned char on hover instead of character symbols. #1552
- Fix directory iteration to check files.exclude and symlinks and use less memory. #3123, #4206, #6864
- Fix an issue with stale IntelliSense due to moving or renaming header files. #3849
- Fix go to definition on large macros. #4306
- Fix a spurious asterisk being inserted on a new line if the previous line starts with an asterisk. #5733
- Fix bug with placement new on Windows with gcc mode. #6246
- Fix size_t and placement new squiggles with clang on Windows. #6573, #7106
- Fix an incorrect IntelliSense error squiggle when assigning to std::variant in clang mode. #6623
- Fix incorrect squiggle with range-v3 library. #6639
- Fix incorrect squiggle with auto parameters. #6714
- Fix (reimplement) nested document symbols. #6830, #7023, #7024
- Fix detection of bitness for compilers targeting esp32. #7034
- Fix include completion not working after creating a new header with a non-standard extension until a reload is done. #6987, #7061
- Fix endless CPU/memory usage in cpptools-srv when certain templated type aliases are used. #7085
- Fix "No symbols found" sometimes occurring when a document first opens. #7103
- Fix vcFormat formatting after typing brackets and a newline. #7125
- Fix a performance bug after formatting a document. #7159
- Fix random crashes of cpptools-srv during shutdown. #7161
- Fix a bug with relative "." paths in compile commands. #7221
- Fix configuration issues with Unreal Engine projects. #7222
- Fix bug when
${workspaceFolder}is used incompileCommands. #7241- Aleksa Pavlovic (@aleksa2808) PR #7242
- Fix field requirements for custom configurations. PR #7295
- Fix integrity hash checking of downloaded packages for the extension. PR #7300
- Fix a bug preventing successful validation and receipt of browse configurations from custom configuration providers. PR# 7131
- Fix a potential crash when editing at the end of a document.
- Fix "Configure Task" selection to show root folder names for multiroot workspace PR #7315
Known Issues
- The extension won't activate on 32-bit Windows. #7368
1.3.0-insiders5
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.53.0 or later.
Bug Fixes
- Display integer values for char and unsigned char on hover instead of character symbols. #1552
- Fix a crash (and other bugs) caused by resolving symlinks when processing recursive includes. #7306
- Fix bug preventing successful validation and receipt of browse configurations from custom configuration providers. PR# 7131
- Fix a potential crash on shutdown and when editing at the end of a document.
1.3.0-insiders4
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.53.0 or later.
New Features
- Add native language service binaries for ARM64 Mac. #6595
Enhancements
- Add auto-closing of include completion brackets. #7054
- Add a
C_Cpp.files.excludesetting, which is identical tofiles.excludeexcept items aren't excluded from the Explorer view. PR #7285
Bug Fixes
- Fix directory iteration to check files.exclude and symlinks and use less memory. #3123, #4206, #6864
- Fix bug with placement new on Windows with gcc mode. #6246
- Fix
GoToNextDirectiveInGroupcommand for multiroot. #7283 - Fix field requirements for custom configurations. PR #7295
- Fix integrity hash checking of downloaded packages for the extension. PR #7300
1.3.0-insiders3
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.53.0 or later.
Changes
New Features
- Add commands for navigating to matching preprocessor directives in conditional groups. #7256
Bug Fixes
- Fix detection of bitness for compilers targeting esp32. #7034
- Fix comment continuations. PR #7238
- Fix bug when
${workspaceFolder}is used incompileCommands. #7241- Aleksa Pavlovic (@aleksa2808) PR #7242