Skip to content

Releases: microsoft/vscode-cpptools

1.34.2

1.34.2 Pre-release
Pre-release

Choose a tag to compare

@sean-mcmanus sean-mcmanus released this 01 Sep 03:20
5adebc9

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 .hip throughout extension features. PR #14711
  • Update the bundled clang-tidy and clang-format from 22.1.3 to 23.1.0, including available clang-tidy check 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

1.34.1 Pre-release
Pre-release

Choose a tag to compare

@sean-mcmanus sean-mcmanus released this 29 Aug 01:01
ddb9e5f

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 #include directives failing to resolve source-relative headers when -iquote paths are used. #13606
  • Fix incorrect semantic highlighting for explicit function template specializations. #14491
  • Fix IntelliSense using c17 instead of GCC's default GNU C language standard. #14560
  • Fix unnecessary IntelliSense reparsing after unrelated settings changes and incorrect language updates after files.associations changes.
  • Fix custom C/C++ files.associations entries with certain non-ASCII characters being ignored on Windows.
  • Fix cpptools-srv crashes under memory pressure while reading or processing RPC messages.

1.34.0

1.34.0 Pre-release
Pre-release

Choose a tag to compare

@sean-mcmanus sean-mcmanus released this 26 Aug 21:52
50a2146

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, and protected access sections. #14645
  • 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
  • Fix enum member completion in a switch label 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 cpptools from 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

Choose a tag to compare

@sean-mcmanus sean-mcmanus released this 17 Aug 19:25
ca5da8d

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-srv2 processes. PR #14426

Enhancements

  • Allow platform overrides in cppbuild tasks. #11601
  • Add the debuginfod launch option to the cppdbg debugger schema. #14458, #14460, PR #14471, PR #14506, MIEngine#1562
  • Add the ignoreRunWithoutDebuggingWarnings property to allow 'Run without debugging' warnings to be suppressed. #14515

Bug Fixes

  • Fix the wording for the #include errors detected message. #8227
  • Fix an incorrect invalid type conversion IntelliSense 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 from c_cpp_properties.json when C_Cpp.mergeConfigurations is enabled. #14125
  • 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 ps command not working with some shells. #14442
  • Fix a spurious IntelliSense error with class template argument deduction (CTAD). #14453, #14459, #14504
  • Add important to C_Cpp.doxygen.sectionTags. PR #14473
  • Update the minimum supported VS Code version to 1.77. PR #14502
  • Fix issues with the debugger launch.json schema. PR #14523
  • Fix [[no_unique_address]] empty-base layout sizeof being 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
  • 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
  • Fix the build tools walkthrough for Visual Studio 2026. PR #14589
  • Fix custom configurations being discarded when C_Cpp.mergeConfigurations is enabled and a provider supplies the file uri as a vscode.Uri. #14621
  • 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 #include files 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.includeHeader setting not honoring always.
  • Fix spurious IntelliSense error on std::variant brace-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 #include casing error on Linux.
  • Various other fixes found internally.
  • Various localization updates.
  • Fix an IntelliSense crash.
  • Update dependencies.

1.33.7 (release candidate)

Pre-release

Choose a tag to compare

@sean-mcmanus sean-mcmanus released this 12 Aug 01:21
733fcbb

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:nostdlib not being processed correctly by IntelliSense.
  • Update dependencies.

1.33.6

1.33.6 Pre-release
Pre-release

Choose a tag to compare

@sean-mcmanus sean-mcmanus released this 05 Aug 20:28
19b8e4c

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 from c_cpp_properties.json when C_Cpp.mergeConfigurations is enabled. #14125
  • Fix custom configurations being discarded when C_Cpp.mergeConfigurations is enabled and a provider supplies the file uri as a vscode.Uri. #14621
  • 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

1.33.5 Pre-release
Pre-release

Choose a tag to compare

@sean-mcmanus sean-mcmanus released this 29 Jul 02:03
a3d2457

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 ps command not working with some shells. #14442
  • 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
  • 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 #include casing error on Linux.
  • Fix an IntelliSense crash.
  • Various localization updates.
  • Update dependencies.

1.33.4

1.33.4 Pre-release
Pre-release

Choose a tag to compare

@sean-mcmanus sean-mcmanus released this 09 Jul 00:35
db1b1ce

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 wording for the #include errors detected message. #8227
  • Fix another "directory_cache" crash.
  • Update some localization.

1.33.3

1.33.3 Pre-release
Pre-release

Choose a tag to compare

@sean-mcmanus sean-mcmanus released this 07 Jul 00:56
c4d61f6

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.12+, 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

  • Allow platform overrides in cppbuild tasks. #11601

Bug Fixes

  • Fix [[no_unique_address]] empty-base layout sizeof being computed too large. #14524
  • Fix C/C++ debug data-tips on members of a dereferenced expression. PR #14540
    • Thanks for the contribution. @tieo
  • Fix clang-format/clang-tidy version check failing on Windows. PR #14552
  • Fix Windows backslash paths being mangled when adding an SSH target. PR #14554
  • Fix "directory_cache" crashes.
  • Fix spurious IntelliSense error on std::variant brace-initialization.

1.33.2

1.33.2 Pre-release
Pre-release

Choose a tag to compare

@sean-mcmanus sean-mcmanus released this 27 Jun 00:04
915f1b1

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.12+, 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 regression with 'Find All References' with functions that exist in both C and C++ files. #14546
  • Fix some regression crashes.