Skip to content

Releases: microsoft/vscode-cpptools

1.30.1

13 Jan 20:14
3e3c93b

Choose a tag to compare

1.30.1 Pre-release
Pre-release

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.67.0 or later (April 2022).
  • Windows 7+ (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.

Changes

Enhancements

  • Add IntelliSense support for C23/C++26 #embed. #13705
  • Add IntelliSense support for C++23 multidimensional subscript operators for gcc/clang modes (not msvc yet).
  • Add IntelliSense support for C++23 static operator[].

Bug Fixes

  • Fix an incorrect IntelliSense error on an overridden method. #13729
  • Fix an IntelliSense error with std::countl_zero. #13876
  • Fix an IntelliSense squiggle on the wrong identifier when assigning to a constant member variable. #14018
  • Fix IntelliSense with clang mode C++23 deduced type construction with auto. #14041
  • Fix an IntelliSense error with std::popcount. #14105
  • Fix GitHub Copilot hover. #14114
  • Fix headers sometimes using a header-only configuration from a configuration provider instead of the source file's configuration. #14126
  • Fix a reference in a #define not being found if it's directly after a #include. #14130
  • Fix a bug that could cause IntelliSense operations to fail when a document is closed during processing.
  • Fix a bug with internal buffer handling that could cause some IntelliSense operations to fail.

1.30.0

16 Dec 00:03
fcaadd8

Choose a tag to compare

1.30.0 Pre-release
Pre-release

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.67.0 or later (April 2022).
  • Windows 7+ (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.

Changes

Enhancements

  • Change C completion behavior to automatically trigger after the struct/union/enum keyword and to filter based on the keyword. #13634
  • Change C++ completions after using namespace to filter to include only namespaces and namespace aliases. #14091

Bug Fixes

  • Fix C_Cpp.commentContinuationPatterns not working after the 2nd line (for non-/** patterns). #8998
  • Fix ${userHome} not resolving in C_Cpp path settings. #10350
  • Fix completion not automatically triggering if invoked on the last column of a line when the previous token is an identifier. #14086
  • Fix changes to C_Cpp.commentContinuationPatterns not taking effect until the extension restarts. #14079
  • Fix C_Cpp.commentContinuationPatterns not working correctly for a pattern if it's a prefix of a pattern that is later in the list. #14081
  • Fix an IntelliSense crash in a_completion_symbol_manager::handle_function when Copilot is enabled.

1.29.3 (patch update)

09 Dec 15:16
70fbfd7

Choose a tag to compare

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.67.0 or later (April 2022).
  • Windows 7+ (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.

Change

Bug Fix

  • Remove NETFXSDKDir from the developer environment check. #14084

1.29.2

03 Dec 23:11
8de8679

Choose a tag to compare

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.67.0 or later (April 2022).
  • Windows 7+ (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.

Changes

New Feature

  • Enable setting the VS developer environment without running VS Code from the developer command prompt. #4742

Enhancements

  • Add built-in file associations for C++ extensionless system headers and set C_Cpp.autoAddFileAssociations to false by default. #4077
  • Add IntelliSense support for c23 enums with an underlying type. #13675

Bug Fixes

  • Fix 'Find All References' and 'Rename' on #define macro definitions. #6194
  • Fix anonymous enums not working in gcc/clang modes. #10436
  • Fix Doxygen comments at the end of a function. #13725
  • Fix mac framework search path detection to include paths passed in the includePath from a configuration provider, and fix omission of unpopulated Mac framework paths. #13993
  • Fix formatting with clang-tidy randomly getting stuck on Windows (on a call to GetOverlappedResult). #14025
  • Fix IntelliSense with MSVC mode C++23 deduced type construction with auto. #14041
  • Fix code analysis re-running automatically after a settings change when diagnostics already exist if it was manually instead of automatically invoked.
  • Reduce the memory usage in a couple cases to reduce the chance of a bad_alloc in cpptools.
  • Update clang-format and clang-tidy from 21.1.3 to 21.1.4 (fixes some formatting bugs).
  • Fix the handling of the cl.exe /external:I argument for IntelliSense configuration.
  • Fix a case where a large file could cause a bad_alloc in cpptools-srv on Windows.
  • Update the default compiler search to include newer versions of clang/gcc.
  • Fix a potential memory corruption crash of cpptools-srv (related to PCH).
  • Fix a crash in detect_encoding.

1.29.1

24 Nov 17:06
2b24151

Choose a tag to compare

1.29.1 Pre-release
Pre-release

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.67.0 or later (April 2022).
  • Windows 7+ (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.

Changes

Bug Fixes

  • Fix omission of unpopulated Mac framework paths. #13993
  • Fix IntelliSense with MSVC mode C++23 deduced type construction with auto. #14041
  • Fix the handling of the cl.exe /external:I argument for IntelliSense configuration.
  • Fix a potential memory corruption crash of cpptools-srv (related to PCH).
  • Add translations of strings added in 1.29.0.

1.29.0

04 Nov 23:33
e75c760

Choose a tag to compare

1.29.0 Pre-release
Pre-release

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.67.0 or later (April 2022).
  • Windows 7+ (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.

Changes

Enhancements

  • Add built-in file associations for C++ extensionless system headers and set C_Cpp.autoAddFileAssociations to false by default. #4077
  • Enable setting the VS developer environment without running VS Code from the developer command prompt. #4742
  • Add IntelliSense support for c23 enums with an underlying type. #13675

Bug Fixes

  • Fix 'Find All References' and 'Rename' on #define macro definitions. #6194
  • Fix anonymous enums not working in gcc/clang modes. #10436
  • Fix Doxygen comments at the end of a function. #13725
  • Fix mac framework search path detection to include paths passed in the includePath from a configuration provider. #13993
  • Fix formatting with clang-tidy randomly getting stuck on Windows (on a call to GetOverlappedResult). #14025
  • Fix code analysis re-running automatically after a settings change when diagnostics already exist if it was manually instead of automatically invoked.
  • Reduce the memory usage in a couple cases to reduce the chance of a bad_alloc in cpptools.
  • Update clang-format and clang-tidy from 21.1.3 to 21.1.4 (fixes some formatting bugs).
  • Fix a case where a large file could cause a bad_alloc in cpptools-srv on Windows.
  • Update the default compiler search to include newer versions of clang/gcc.
  • Fix a crash in detect_encoding.

1.28.3

16 Oct 19:30
0ae864f

Choose a tag to compare

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.67.0 or later (April 2022).
  • Windows 7+ (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.

Changes

Enhancements

  • Add IntelliSense support for c23 bool, true, and false. #13737
  • Add missing C/C++ keyword completions for newer language standards. #13982
  • Update the bundled clang-tidy and clang-format from 20.1.7 to 21.1.3.

Bug Fixes

  • Fix cpptools getting stuck when clang-format is invoked on a file in a .clang-format-ignore. #13937
  • Fix the C/C++ Properties Schema Reference link in the configuration UI editor. #13949
  • Fix a crash with preReleaseCheck. #13953
  • Fix extension activation getting stuck when certain SSH config files are processed (by the SSH targets view feature). #13966
  • Fix document symbols randomly showing previous versions of symbols after they are modified. #13967
  • Prevent tag parsing of .js files to avoid a crash. #13980
  • Fix some invalid assumptions for cppbuild tasks. PR #13989
  • Fix a random crash after changing settings while code analysis is running.
  • Fix a random memory corruption and deadlock (involving task_deque).
  • A potential fix for a crash (involving line_offset_t).

1.28.2 (release candidate 2)

14 Oct 17:17
97d3735

Choose a tag to compare

Pre-release

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.67.0 or later (April 2022).
  • Windows 7+ (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.

Changes

Enhancements

  • Add IntelliSense support for c23 bool, true, and false. #13737
  • Add missing C/C++ keyword completions for newer language standards. #13982
  • Update the bundled clang-tidy and clang-format from 20.1.7 to 21.1.3.

Bug Fixes

  • Fix cpptools getting stuck when clang-format is invoked on a file in a .clang-format-ignore. #13937
  • Fix the C/C++ Properties Schema Reference link in the configuration UI editor. #13949
  • Fix a crash with preReleaseCheck. #13953
  • Fix extension activation getting stuck when certain SSH config files are processed (by the SSH targets view feature). #13966
  • Fix document symbols randomly showing previous versions of symbols after they are modified. #13967
  • Prevent tag parsing of .js files to avoid a crash. #13980
  • Fix some invalid assumptions for cppbuild tasks. PR #13989
  • Fix a random memory corruption and deadlock (involving task_deque).
  • A potential fix for a crash (involving line_offset_t).

1.28.1 (release candidate)

08 Oct 00:58
f33c3b6

Choose a tag to compare

Pre-release

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.67.0 or later (April 2022).
  • Windows 7+ (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.

Changes

Bug Fixes

  • Fix extension activation getting stuck when certain SSH config files are processed (by the SSH targets view feature). #13966
  • Fix document symbols randomly showing previous versions of symbols after they are modified. #13967
  • Prevent .js files from being tag parsed to avoid a crash. #13980
  • A potential fix for a crash.

1.28.0

25 Sep 22:12
52620d6

Choose a tag to compare

1.28.0 Pre-release
Pre-release

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.67.0 or later (April 2022).
  • Windows 7+ (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.

Changes

Enhancements

  • Add IntelliSense support for c23 bool, true, and false. #13737
  • Update the bundled clang-tidy and clang-format from 20.1.7 to 21.1.2.

Bug Fixes

  • Fix cpptools getting stuck when clang-format is invoked on a file in a .clang-format-ignore. #13937
  • Fix the C/C++ Properties Schema Reference link in the configuration UI editor. #13949
  • Fix a crash with preReleaseCheck. #13953