Skip to content

Releases: microsoft/vscode-cpptools

1.10.6

15 Jun 01:58
77bdf4b
Compare
Choose a tag to compare

Instructions

Install it via using the Extensions view in VS Code or download a vsix that matches your OS from Assets section below (or the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.63.0 or later.

Changes

Bug Fixes

  • Fix @responseFile in compilerArgs not being handled on Linux/Mac. #9434
  • Fix debug preLaunchTask not working when C_Cpp.intelliSenseEngine is "Disabled". #9446
  • Make the C_Cpp.legacyCompilerArgsBehavior setting non-deprecated.

Known Issues

Regressions

  • Some users are seeing IntelliSense, clang-format, and clang-tidy not working, i.e. child process creation is failing (stuck with "Searching for includes" or "Updating IntelliSense"). #9431
  • Code analysis crashes in certain scenarios. #9437

By-Design Breaking Changes

  • A single string with spaces in compilerArgs is no longer supported with 1.10.5. #9432

External

  • Binary mismatch error. We believe it's a VS Code or external bug. #9433

1.10.5

13 Jun 18:46
872c86a
Compare
Choose a tag to compare

Instructions

Install it via using the Extensions view in VS Code or download a vsix that matches your OS from Assets section below (or the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.63.0 or later.

Changes

New Features

  • Add code actions to apply clang-tidy fixes (and other actions). #8476
  • Added support for setting values on top level watch window expressions. #9019
  • Make the "Run and Debug" button feature available to all users. #9306

Enhancements

  • Add C_Cpp.clangTidy.useBuildPath setting to enable using -p with clang-tidy. #8740, #8952
  • Generate launch.json when adding a new debug configuration. #9100
  • Prioritize the "folder" option when doing a #include completion. #9222
  • Add compiler path to debug configuration details. PR #9264
  • Update the bundled clang-format and clang-tidy to version 14.0.0.

Bug Fixes

  • Fix 'System.NullReferenceException when continuing after adding breakpoint.' #1297
  • Fix completion not working in #define definitions and in definition names when manually invoked. #4662, #8973, #9078
  • Fix several IntelliSense bugs. #6226, #8294, #8530, #8725, #8751, #9076, #9224, #9336.
  • Fix issue with shell processing incorrectly occurring for arguments fields in compile_commands.json files. #8649
  • Fix handling of @response files for clang-tidy on Windows. #8843, #9032, #9102
  • Fix issue with inconsistent handling of shell escaping in compiler arg fields. All compiler arg array fields are now assumed to not include shell quoting, escaping or shell variables. Added a C_Cpp.legacyCompilerArgsBehavior to restore the legacy behavior. #8963
  • Add localized strings for build tasks. #9051
  • Fix Go to Definition with C for identifiers that are C++ keywords. #9081
  • Fix the new Run/Debug Code button not working with a modified program location. #9082
  • Fix __GNUC__ system defines causing clang-tidy to undefine _Float32. #9091
  • Fix 'breakpoints set before launch in shared objects cannot be disabled/deleted' #9095
  • Fix compiler querying failing for compilers that don't output system includes. #9099
  • Fix completion occurring (when it shouldn't) after the comma in a definition list. #9101
  • Fix ; incorrectly matching for break; and continue; completion. #9115
  • Fix Go to Definition on a #include with an absolute path. #9287
  • Fix formatting issue with vcFormat when using multi-byte UTF-8 sequences. #9297
  • Fix language server disabling due to a TypeError when invalid json values are used. #9302
  • Add support for "user" level and "workspace" level debug configurations. #9319
  • Prevent language service activation for macOS older than 10.12. PR #9328
  • Fix code analysis with g++ 12 system headers. #9347
  • Enable correct symbol parsing for methods that call loop-like macros without requiring the macro be added to cpp.hint. #9378
  • Fix a code analysis error when C++23 is used. #9404
  • Fix a potential crash in cpptools (in get_identifier_at_offset).
  • Other Run and Debug button updates/fixes.

Known Issues

Regressions

  • Some users are seeing IntelliSense not working (stuck with "Searching for includes" or "Updating IntelliSense"). #9431
  • '@responseFile' in compilerArgs doesn't work on Linux/Mac with 1.10.5 (IntelliSense breaks). #9434
  • Code analysis crashes in certain scenarios. #9437
  • Debug preLaunchTask fails if C_Cpp.intelliSenseEngine is set to "Disabled". #9446

By-Design Breaking Changes

  • A single string with spaces in compilerArgs is no longer supported with 1.10.5. #9432

External

  • Binary mismatch error. We believe it's a VS Code or external bug. #9433

1.9.8

20 Apr 19:46
Compare
Choose a tag to compare

Instructions

Install it via using the Extensions view in VS Code or download a vsix that matches your OS from Assets section below (or the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.63.0 or later.

Changes

Bug Fixes

  • Fix an issue with extension activation failing if C_Cpp.intelliSenseEngine was set to Disabled. #9083

1.9.7

23 Mar 21:45
2874fd2
Compare
Choose a tag to compare

Instructions

Install it via using the Extensions view in VS Code or download a vsix that matches your OS from Assets section below (or the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.63.0 or later.

Changes

New Features

  • Add debugger support for Apple M1 (osx-arm64). #7035
    • Resolves issue "[Big Sur M1] ERROR: Unable to start debugging. Unexpected LLDB output from command "-exec-run". process exited with status -1 (attach failed ((os/kern) invalid argument))". #6779
  • Add a build and debug button when C_Cpp.debugShortcut is true. #7497
    • The "Build and Debug Active File" command has been split into "Debug C++ File" and "Run C++ File", and it has been removed from the context menu.
  • Add Alpine Linux arm64 support (VSIX).
  • Add x64 debugger for CppVsdbg on Windows x64.

Enhancements

  • Reserved identifiers with characters that match typed characters in the correct order but not contiguously are initially filtered in the auto-completion list. Doing a ctrl + space in the same location will show all auto-complete suggestions. #4939
  • Add dotConfig property to IntelliSense Configuration (c_cpp_properties.json) to use .config file created by Kconfig system.
  • Rework how cancelation is processed for semantic tokens and folding operations. PR #8739
  • Make SwitchHeaderSource use the workbench.editor.revealIfOpen setting.
  • Add tag parser error logging. #8907
  • Add error and warning messages if the VSIX for an incompatible or mismatching platform or architecture is installed. #8908
  • Add a "More Info" option when an incompatible VSIX is encountered. PR #8920
  • Add ; to break and continue completion keywords. #8932
  • Prevent stripping of format specifiers from -exec commands.
  • Improve messages for unknown breakpoints and watchpoints.

Bug Fixes

  • Fix some IntelliSense parsing bugs. #5117
  • Fix IntelliSense process crashes caused by a stack overflow on Mac. #7215, #8653
  • Fix exclusions not applying during tag parsing of non-recursive dependent includes. #8702
  • Fix issue that could cause an infinite loop when clicking on a preprocessor conditional directive. #8717
  • Fix excludes applying to cases it should not when running code analysis. #8724
  • Fix a crash when visualizing local variables for Microsoft Edge (msedge.exe) #8738
  • Fix some system defines being incorrectly removed when running code analysis. #8740
  • Prevent an error from being logged due to custom configuration processing prior to the provider being ready. #8752
  • Fix incorrect crash recovery with multiroot. #8762
  • Fix random compiler query, clang-tidy, or clang-format failure on Windows. #8764
  • Fix invoking commands before cpptools is activated. #8785
  • Fix a bug on Windows with semantic tokens updating. #8799
  • Fix tag parser failure due to missing DLL dependencies on Windows. #8851
  • Fix semantic tokens getting cleared for all other files in a TU after editing a file. #8867
  • Fix a bug and typos with cppbuild task providers.
  • Fix an issue that could cause the extension to fail to start up properly. PR #8906
  • Fix handling of -B with compiler querying. #8962
  • Fix incorrect "Running clang-tidy" status indications with multi-root workspaces. #8964
  • Fix a crash during shutdown and potential database resetting due to shutdown being aborted too soon. PR #8969
  • Fix an issue that could cause the active file to not be configured by a configuration provider when custom configurations are reset. #8974
  • Fix detection of Visual Studio 2015. #8975
  • Fix mingw clang being detected as gcc. #9024
  • Fix a random crash on file open.
  • Fix some IntelliSense crashes.
  • Fix some IntelliSense parsing bugs.
  • Fix a bug with IntelliSense updating not working if a file was closed and reopened while its TU was processing an update.
  • Fix a potential heap corruption when files.associations are changed.
  • Update translated text.

Documentation

  • Clarify how to get binaries when debugging the source from GitHub.

Note

  • This release is identical to 1.9.6 (pre-release), other than being built for the "release" channel and an updated changelog.

1.9.6-prerelease1

18 Mar 03:00
a250a53
Compare
Choose a tag to compare
1.9.6-prerelease1 Pre-release
Pre-release

Instructions

  • Download the vsix in the Assets section which matches your OS (Alpine Linux x64 is not available until 1.9.6) 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).
  • Let us know if anyone is able to repro bug #9041. If it's good, then we can publish this as 1.9.6.

UPDATE: It wasn't fixed -- got a repro. I've removed the vsix's.

Requirements

  • VS Code 1.63.0 or later.

Changes

Bug Fix

  • Redo 1.9.4 changes with a (potential) fix for issue #9041

1.9.4-debug (Windows x64)

15 Mar 01:17
a07c8fd
Compare
Choose a tag to compare
Pre-release

UPDATE: The vsix has been removed. The problem is vcmeta.dll is failing to load, possibly due to a missing dependency that ships next to cl.exe in VS 2022.

This is a debug build for Windows x64 intended to be used to get assertion failure information for bug #8851. The other changes are still going to be in 1.9.4, but built for release instead of debug. The debug build is a lot slower and may cause annoying assertion failure dialog boxes to appear so it's not recommended to be used in general. We plan to remove this Release after we've gotten the assertion info.

Instructions

  • Download the cpptools-win64.vsix in the Assets section (assuming you're running Windows x64) 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.63.0 or later.

Changes

Enhancements

  • Reserved identifiers with characters that match typed characters in the correct order but not contiguously are initially filtered in the auto-completion list. Doing a ctrl + space in the same location will show all auto-complete suggestions. #4939
  • Show "Catastrophic error" during tag parsing with an Error logging severity and report the number of occurrences via telemetry. #9013

Bug Fixes

  • Fix temp files randomly not getting deleted on Windows with a C_Cpp.loggingLevel of Warning or greater. #9008
  • Fix mingw clang being detected as gcc. #9024

1.9.4-prerelease1

15 Mar 06:20
a07c8fd
Compare
Choose a tag to compare
1.9.4-prerelease1 Pre-release
Pre-release

This has the same changes as 1.9.4-debug, but with release bits and 3 vcmeta.dll dependencies added/updated in an attempt to fix bug #8851. If it fixes the issue, we can publish this as 1.9.4.

1.8.4

07 Feb 23:47
d4df455
Compare
Choose a tag to compare

Instructions

Install it via using the Extensions view in VS Code or download a vsix that matches your OS from the "Download" dropdown in the "Version History" tab section on the Marketplace website and then use the Extensions: 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.63.0 or later.

Changes

Bug Fixes

  • Suppress incorrect warnings on ARM64 macOS. #8756
  • Fix debugger regressions. #8760
  • Remove Offline Installation section from README.md. #8769
  • Fix performance issue with loading large PDBs. #8775

Known Issues

  • Go to definition on macros in gcc mode may go to the wrong location. #8577
  • Some clang-tidy errors may be incorrectly excluded. #8724
  • Code analysis may not have the correct system defines. #8740

Note

  • This release is also identical to 1.8.5, released at the same time, but with the vsix built for insiders.

1.8.2

01 Feb 00:49
3b4c8e7
Compare
Choose a tag to compare

Instructions

Install it via using the Extensions view in VS Code or download a vsix that matches your OS from the "Download" dropdown in the "Version History" tab section on the Marketplace website and then use the Extensions: 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.63.0 or later.

Changes

New Features

  • Add data breakpoints (memory read/write interrupts) for gdb debugging. #1410
  • Add "All Exceptions" Breakpoint for cppdbg #1800
  • Add multi-threaded code analysis (using clang-tidy) based on the IntelliSense configuration. It defaults to using up to half the cores, but it can be changed via the C_Cpp.codeAnalysis.maxConcurrentThreads setting. #2908.
  • Add support for Alpine Linux #4827
  • Implement platform-specific VSIX's via the marketplace. #8152

Enhancements

  • The maximum number of threads to use for Find All References can be configured with the C_Cpp.references.maxConcurrentThreads settings. #4036.
  • The IntelliSense processes launched to confirm references during Find All References can be cached via the C_Cpp.references.maxCachedProcesses setting. #4038
  • The maximum number of IntelliSense processes can be configured with the C_Cpp.intelliSense.maxCachedProcesses setting, and the number of processes will automatically decrease when the free memory becomes < 256 MB and it can be configured to use less memory via the maxMemory settings (memory usage from code analysis is not handled yet). #4811
  • Switch from 32-bit to 64-bit binaries on 64-bit Windows. #7230
  • Add a compiler arg to the generated gcc build task to display colored text. PR #8165
  • Add static and other modifiers to IntelliSense hover results. #8173
  • Add a configuration warning when the default compiler modifies an explicitly set intelliSenseMode.

Bug Fixes

  • Fix several IntelliSense bugs. #5704, #6759, #8412, #8434
  • Fix newlines not being handled in comments with a Doxygen tag. #5741
  • Fix Doxygen comments with \0 being truncated. #6084
  • Fix files.exclude not working for directories external to the active workspace folder. #6877
  • Fix [MSYS2 GDB 10.2] gdb: ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". Error creating process #7706
  • Fix a bug with vcFormat inserting additional spaces between } and else. #7731
  • Fix GCC system include processing on Windows. #8112, #8496
  • Remove redundant cl.exe from the build and debug active file configuration list. #8168
  • Fix string elements to render as code in the IntelliSense configuration UI. PR #8271
  • Fix IntelliSense process crash on AMD Ryzen 3000 series processors without updated drivers. #8312
  • Fix bug with wmic not being recognized during Windows attach debugging. #8328
  • Fix Go to Type Definition on pointer types. #8337
  • Fix a "Cannot read property" error during deactivation if the language service wasn't fully activated. #8354
  • Fix an issue in which the language id for header files were not updated to match the source file of its TU. #8381
  • Fix parsing of bit_cast with gcc mode IntelliSense. #8434
  • Fix the tag parser getting stuck on certain code. #8459
  • Fix an invalid success message when a build task fails. #8467
  • Fix compiler querying with certain Cygwin/MSYS2 compilers on Windows. #8496
  • Fix a bug with conditional breakpoints. #8515
  • Fix non-ASCII output with cppbuild tasks. #8518
  • Fix 3 settings not getting environment variables resolved after a settings change. #8531
  • Don't block running a task if it doesn't use the active file. #8586
  • Fix a command not found error message after clicking the database status icon when commands aren't available. #8599
  • Fix /RTC compiler checks failures don't break into debugger #8646
  • Fix workspace rescanning (tag parsing) not automatically happening after c/cpp associations are added to files.associations. #8687
  • Fix debugging when Windows binaries are linked with /PDBPageSize > 4k. #8690
  • Switch usage of -dD to -dM when compiler querying. #8692
  • Fix breakpoints with msys2 gcc. #8696
  • Fix no document symbols appearing in certain cases. #8726
  • Fix an issue in which multiple (potentially different) diagnostics were delivered for headers shared by multiple TUs.
  • Fix some translations.

Other

Known Issues

  • Go to definition on macros in gcc mode may go to the wrong location. #8577
  • Some clang-tidy errors may be incorrectly excluded. #8724
  • Code analysis may not have the correct system defines. #8740

Note

  • This release has the same language service components as 1.8.1 (insiders4), released 4 days earlier, but there's an updated debugger and an updated changelog.
  • This release is also identical to 1.8.3, released at the same time, but with the vsix built for insiders.

1.8.1 (insiders4)

28 Jan 02:47
abc3c11
Compare
Choose a tag to compare
1.8.1 (insiders4) Pre-release
Pre-release

Instructions

Install it via using the "Switch to Pre-Release Version" in VS Code or download a platform-specific vsix from the "Download" dropdown in the "Version History" tab in the Marketplace and then use the Extensions: Install from VSIX... command in VS Code.

Requirements

  • VS Code 1.63.0 or later.

Note: Due to new version numbering requirements for VS Code pre-release extension support, this will appear in VS Code as version 1.8.1 instead of 1.8.0-insiders4

Changes

Bug Fixes

  • Fix several IntelliSense bugs. #8412, #8487, #8677, #8701
  • Fix code analysis with a long command line on Windows. #8560.
  • Fix code analysis not correctly handling defines with ". #8675
  • Fix files.exclude on workspace relative paths (e.g. "folder"). #8676
  • Fix workspace rescanning (tag parsing) not automatically happening after c/cpp associations are added to files.associations. #8687
  • Switch usage of -dD to -dM when compiler querying. #8692
  • Fix instead of in logging messages. #8694.
  • Fix invalid define when using a custom env.variable. #8695
  • Fix forced includes with code analysis. #8707
  • Fix clang-tidy "notes" applying to excluded files being shown for other non-excluded files and possibly causing some warnings to not appear. #8723
  • Fix no document symbols appearing in certain cases. #8276

Known Issues

  • Go to definition on macros in gcc mode may go to the wrong location. #8577
  • Some clang-tidy errors may be incorrectly excluded. #8724
  • Code analysis may not have the correct system defines. #8740