Skip to content

Releases: microsoft/vscode-cpptools

1.5.0

08 Jul 23:40
1405554

Choose a tag to compare

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 Feature

  • Add the "Inline macro" code action. #4183
  • Add a Windows ARM64 debugger. PR #7798

Enhancements

  • Add auto-detection of clang compilers on Windows. #6718
  • Stop adding .cu files to files.associations (switch to using setTextDocumentLanguage). #7359
  • Add "Symbol Options" for CppVsdbg to configure symbol settings PR #7680
  • Update CppVsdbg to use newer CppEE and msdia.

Bug Fixes

  • Fix switch header/source not checking files.exclude. #4429
  • Fix code folding causing } else if lines to be hidden. #5521
  • Add abort handling to recursive includes directory iteration. #6461
  • Fix include completion with recursive includes in header files. #6842
  • Add the get-task-allow entitlement to macOS binaries to enable call stacks to be obtained when SIP is enabled. #7412
  • Fix Find All References reporting certain references in headers as inactive. #7609
  • Fix IntelliSense process crash and tag parser failure with columns > 65535. #7621
  • Fix incorrect localization translations.
  • Fix autocompleteAddParentheses for some template argument deduction cases. #7626
  • Fix some incorrect IntelliSense errors. #6639, #7630
  • Change references of "OS X" to "macOS".
  • Prevent the root path from being added to the browse.path. #7648
  • Fix a configuration squiggle when ${workspaceFolder} is used with compilerPath. #7649
  • Fix an issue causing editorConfig not to be used or cached. PR #7666
  • Fix document symbols nesting with templates. #7673
  • Fix include paths not being found when the paths start with /D or /I. #7701, #7757
  • Fix Find All References on a global variable giving incorrect references to local variables. #7702
  • Fix vcFormat not working near the end of the file with UTF-8 characters > 1 byte. #7704
  • Fix a configuration squiggle for a recursively resolved forcedInclude. PR #7722
  • Fix Build and Debug Active File for certain file extensions (.cu, .cp, etc.).
  • Fix browse.path being incorrect if an invalid compileCommands is set. #7737
  • Fix an incorrect error message when C_Cpp.errorSquiggles is "Enabled". #7744
  • Fix compiler querying sometimes not working with Cygwin. #7751
  • Fix a duplicate IntelliSense update when a new C/C++ file is opened and after switching from a non-C/C++ file and back.
  • Fix a potential IntelliSense process crash on shutdown.

Known Issues

  • None so far.

1.5.0-insiders3 (release candidate)

02 Jul 00:59
7ad30da

Choose a tag to compare

Pre-release

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

Enhancement

  • Add auto-detection of clang compilers on Windows (and different versions of cl.exe). #6718
  • Stop adding .cu files to files.associations (switch to using setTextDocumentLanguage). #7359

Bug Fixes

  • Add abort handling to recursive includes directory iteration. #6461
  • Fix include completion with recursive includes in header files. #6842
  • Add the get-task-allow entitlement to macOS binaries to enable call stacks to be obtained when SIP is enabled. #7412
  • Fix browse.path being incorrect if an invalid compileCommands is set. #7737
  • Fix incorrect error message when C_Cpp.errorSquiggles is "Enabled". #7744
  • Fix compiler querying sometimes not working with Cygwin. #7751

Known Issues

  • Compilers under C:\Program Files\LLVM\bin aren't auto-detected on Windows. #7767

1.5.0-insiders2

22 Jun 00:47
857bce9

Choose a tag to compare

1.5.0-insiders2 Pre-release
Pre-release

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 Feature

  • Add "Inline macro" code action. #4183

Bug Fixes

  • Fix code folding causing } else if lines to be hidden. #5521
  • Fix Find All References on a global variable giving incorrect references to local variables. #7702
  • Fix vcFormat not working near the end of the file with UTF-8 characters > 1 byte. #7704
  • Fix configuration squiggle on a recursively resolved forcedInclude. PR #7722
  • Fix Build and Debug Active File for certain file extensions (.cu, .cp, etc.).
  • Fix an infinite loop when importing a module with a template.

Known Issues

  • None so far.

1.5.0-insiders

15 Jun 00:00
49b8160

Choose a tag to compare

1.5.0-insiders Pre-release
Pre-release

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 "Symbol Options" for CppVsdbg to configure symbol settings PR #7680
  • Update CppVsdbg to use newer CppEE and msdia.

Bug Fixes

  • Fix switch header/source not checking files.exclude. #4429
  • Fix Find All References reporting certain references in headers as inactive. #7609
  • Fix IntelliSense process crash and tag parser failure with columns > 65535. #7621
  • Fix incorrect localization translations.
  • Fix autocompleteAddParentheses for some template argument deduction cases. #7626
  • Fix some incorrect IntelliSense errors. #6639, #7630
  • Change references of "OS X" to "macOS".
  • Prevent the root path from being added to the browse.path. #7648
  • Fix configuration squiggle when ${workspaceFolder} is used with compilerPath. #7649
  • Fix an issue causing editorConfig not to be used or cached. PR #7666
  • Fix document symbols nesting with templates. #7673
  • Fix a duplicate IntelliSense update when a new C/C++ file is opened and after switching from a non-C/C++ file and back.
  • Fix a potential IntelliSense process crash on shutdown.

Known Issues

  • None so far.

1.4.1

08 Jun 21:28
54bf446

Choose a tag to compare

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

28 May 00:08
1ad52f9

Choose a tag to compare

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 private or protected scope labels to class symbols. #7120
  • Fix file:line path for $FILEPOS #7193
  • Add stopAtConnect and hardwareBreakpoints launch options PR #7449
    • stopAtConnect stops the debugger on connection to a remote target PR MIEngine#1109
    • hardwareBreakpoints controls 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 #include are 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.exclude ending 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
  • 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 linux to macos if __unix__ is defined but __linux__ is not. #7525
  • Fix enabling of the ms_extensions flag for clang on Windows. #7529
  • Fix autocompleteAddParentheses with 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)

26 May 00:18
18ac98a

Choose a tag to compare

Pre-release

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 private or protected scope 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_extensions flag for clang on Windows. #7529
  • Fix autocompleteAddParentheses with 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

18 May 00:06
3512a08

Choose a tag to compare

1.4.0-insiders2 Pre-release
Pre-release

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": true is set with VS Code Insiders.

Bug Fixes

  • Fix an incorrect IntelliSense error with object initialization. #3212
  • Fix macros getting undefined when duplicate #include are 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 linux to macos if __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

11 May 00:13
905f8dc

Choose a tag to compare

1.4.0-insiders Pre-release
Pre-release

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 stopAtConnect and hardwareBreakpoints launch options PR #7449
    • stopAtConnect stops the debugger on connection to a remote target PR MIEngine#1109
    • hardwareBreakpoints controls 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
  • 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

19 Apr 23:51
1246f5a

Choose a tag to compare

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.json exists 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.