Skip to content

Releases: microsoft/vscode-cpptools

1.6.0-insiders

12 Aug 23:44
c98303b

Choose a tag to compare

1.6.0-insiders Pre-release
Pre-release

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.58.0 or later.

Changes

New Feature

  • Added support for standard .editorconfig entries when using vcFormat. #7920
  • Debug Step Granularity for cppdbg MIEngine#1169
    • Thank you for the contribution @Trass3r

Enhancements

  • Debugger now runs on .NET 5 #7858
  • When using the Default setting for C_Cpp.formatting, vcFormat will now be selected if a .editorconfig file is found with vcFormat entries and no .clang-format file was found with nearer proximity to the source file. #7929

Bug Fixes

  • Fix incorrect sizeof for packed structs (gcc/clang) #5267
  • Fix designated initializers not working at file scope. #6316
  • Fix an IntelliSense crash on template code. #7349
  • Rank existence of a custom configuration higher than filename similarity and path proximity, when choosing a TU source for a header #7396
  • Fix an IntelliSense crash when the display language is set to Italian. #7685
  • Enable the C++ status bar items to be selectively disabled. #7700
  • Fix an issue causing incorrect color selection for semantic tokens. #7773
  • Fix some cl.exe and clang installations not being detected. #7767 #7795 #7800
  • Fix an issue with recursive includes not found. #7783
  • Fix an issue with code folding of single-line blocks. #7809
  • Fix a typo in a localized string. #7823
  • Add open file parsing status when hovering over the database icon. PR #7831
  • Fix an issue with IntelliSense flame icon getting stuck on. #7838
  • Fix an issue with character position after include completion. #7856
  • Fix wrong version of clang-format being used in multi-root workspaces. #7870
  • Fix issue with setting of MS extensions when -fms-extensions is used. #7886
  • Fix an issue with support detection on Android. #7906
  • Fix a bug with handling of "C_Cpp.vcFormat.newLine.beforeOpenBrace.block": "newLine". #7926
  • Fix Disassembly view is blank on linux #7960

Known Issues

  • On x64 Windows 10, cppdbg debugging doesn't work with the cpptools-win32.vsix. The workaround is to use the cpptools-win64.vsix. #7971
  • C++20 with the execution header causes an IntelliSense crash. #7972

1.5.1

09 Jul 10:13
92384bf

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

  • Fix issue "cppvsdbg Debugging becomes no-op between 1.4.1 and 1.5.0". #7808

Known Issues

  • None so far.

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.