Skip to content

Releases: microsoft/vscode-cpptools

0.28.0-insiders2

05 May 02:35
5767a5e

Choose a tag to compare

0.28.0-insiders2 Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix. Or if that doesn't work (such as in the remote scenario with a version older than 0.26.3-insiders2), manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code.

Requirements

  • VS Code 1.43.0 or later.
  • 32-bit Linux is no longer supported. #5346

Changes

New Features

  • Add GNU (and C18) language standard options. #2782

Bug Fixes

  • Fix some cpptools and cpptools-srv crash regressions.
  • Fix an issue with squiggle updates not occurring when a dependent file is created, deleted, or renamed. #3670
  • Avoid <…> truncation on hover. #5291
  • Fix compilerPath set to "" not working. #5392
  • Fix IntelliSense sometimes not working on a header file if an existing TU is chosen that doesn't actually contain the header file. #5376

Known Issues

  • None so far.

0.28.0-insiders

29 Apr 03:37
4216aa4

Choose a tag to compare

0.28.0-insiders Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix. Or if that doesn't work (such as in the remote scenario with a version older than 0.26.3-insiders2), manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code.

Requirements

  • VS Code 1.43.0 or later.
  • 32-bit Linux is no longer supported. #5346

Changes

New Features

  • Add C/C++ language-aware code folding. #407
  • Add ARM and ARM64 IntelliSense modes. #4271, PR #5250

Enhancements

  • Change the gcc problem matcher to use autoDetect for fileLocation . #1915
  • Add support for IntelliSense-based Go to Definition on #include statements. #2564
  • Support relative paths with forcedInclude. #2780
  • Make the Visual Studio formatting style respect the C++ standard (e.g. > > for C++03 or earlier). #3578
  • Add support for more C++20 features, such as concepts. #4195
  • Process the "std" and bitness (-m64/-m32) compiler args. #4726
  • Switch from our custom Rename UI to VS Code's Refactor Preview. #4990

Bug Fixes

  • Process "$CPATH" on non-Windows OS's. #3940
  • Fix compiler querying for compilers that output non-English strings. #4542
  • Fix compiler querying when the '-include' argument is used. #4655
  • Fix the "Unable to load schema" error for c_cpp_properties.json. #4841
  • Change "Visual Studio" clang_format_fallback_style setting to use NamespaceIndentation All. #5124
  • Fix "C++98" and "C++0x" modes. #5157, #5225
  • Improve the error message for multiroot projects using compile_commands.json. #5160
  • Fix some cpptools process crashes. #5280
  • Fix incorrect translations. PR #5300
  • Fix cpptools auto-restarting after a crash. #5303
  • Fix incorrect c_cpp_properties.json squiggles. #5314, #5322

Known Issues

  • There are some cpptools and cpptools-srv crash regressions we're working on fixing for 0.28.0-insiders2.

0.27.1

29 Apr 02:42
a88ca88

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.

Requirements

  • VS Code 1.30.0 or later.

Changes

Bug Fix

  • Disable Insiders updateChannel for 32-bit Linux and VS Code older than 1.43.0.

Known Issues

  • None so far.

0.27.0

30 Mar 23:55
9ea6727

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.

Requirements

  • VS Code 1.30.0 or later.

Changes

Enhancements

  • Improved multi-root implementation with a single language server process and database for the entire workspace (shared between workspace folders). Fixes most multi-root bugs.
  • Update to clang-format 9.0.1 (and without shared library dependencies). #2887, #3174
  • Add new setting C_Cpp.debugger.useBacktickCommandSubstitution to fix debugging when CShell is the remote default shell. #4015
  • Rename language server processes to cpptools and cpptools-srv (IntelliSense process). #4364
  • Add support for -iframework in compile_commands.json. #4819
  • Add cpptools.setActiveConfigName command. #4870
  • Default to the bundled clang-format if its version is newer. #4963
  • Add URI's to the debug logging for messages (e.g. fileChanged). #5062
  • Use lldb-mi for macOS Mojave or newer.
    • Fix visualization of standard library types in lldb. #1768
    • Enable debugging support on macOS Catalina. #3829
  • Support '`' in addition to '-exec' for sending gdb commands PR MIEngine#967

Bug Fixes

  • Fix issue in which the user is not again prompted to use a custom configuration provider if settings files have been deleted. #2346
  • Fix "Unrecognized format of field "msg" in result" on macOS. #2492
  • Fix IntelliSense using too much CPU when switching branches. #2806
  • Fix for timeout on slow terminals while debugging. #2889
  • Fix non-localized text. #4481, #4879
  • Fix issues with paths containing certain Unicode sequences on Mac. #4712
  • Fix IntelliSense parsing bugs and crashes. #4717, #4798
  • Fix configuration UI disabling compilerPath if no default compiler is found. #4727
  • Fix issue with providing custom configurations for files specified using URIs schemes we do not recognize. #4889
  • Fix Outline view not updating fast enough after switching branches. #4894
  • Fix failure to detect CL.exe if VS Installer files are stored on a drive other than the system drive. #4929
  • Fix extension randomly getting stuck while communicating with the IntelliSense process on Mac. #4989
  • Fix completion results appearing after numeric literals. #5019
  • Fix issue with cancellation of a Rename operation causing subsequent Find All References and Rename operations to fail. #5022
  • Fix some settings not being editable in the UI. PR #5126
  • Fix cpp_properties.json error squiggles not appearing. #5131
  • Fix search.exclude not applying if there are > 1 symbols matching in the excluded file. #5152
  • Fix tag parsing not working on Windows 7 without SP1. #5155
  • Fix updateChannel being settable per-workspace. PR #5185
  • Fix opened files external to the workspace folder being removed from the database during loading. #5190
  • Fix invalid c_cpp_properties.json and configuration UI warning Compiler path with spaces and arguments is missing double quotes. #5215
  • Fix environment variables used for the RunInTerminal Request. MIEngine#979
  • Fix a race condition that could cause the Outline, Find All References, etc. to stop working.

Known Issues

  • None so far.

0.27.0-insiders5

27 Mar 01:36
eba352e

Choose a tag to compare

0.27.0-insiders5 Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix. Or if that doesn't work (such as in the remote scenario with a version older than 0.26.3-insiders2), manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code.

Requirements

  • VS Code 1.30.0 or later.

Bug Fixes

  • Fix the configuration UI showing errors when an older version of cl.exe is set in the compilerPath. #5151
  • Fix tag parsing not working on Windows 7 without SP1. #5155
  • Fix debugger not working until the extension is reinstalled after macOS High Sierra or older is upgraded to a newer OS. #5171
  • Fix the Open File… scenario without a workspace showing "Tag Parser initializing" (all symbol operations fail). #5176
  • Fix updateChannel being settable per-workspace. PR #5185
  • Fix opened files external to the workspace folder being removed from the database during loading. #5190
  • Fix crash for workspaces with no workspace folders. #5192
  • Fix environment variables used for the RunInTerminal Request. MIEngine#979

Known Issues

  • None so far.

0.27.0-insiders4

24 Mar 02:04
155ed2b

Choose a tag to compare

0.27.0-insiders4 Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix. Or if that doesn't work (such as in the remote scenario with a version older than 0.26.3-insiders2), manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code.

Requirements

  • VS Code 1.30.0 or later.

Bug Fixes

  • Fix Go to Symbol in Workspace not applying search.exclude settings. #5099
  • Fix some settings not being editable in the UI. PR #5126
  • Fix cpp_properties.json error squiggles not appearing. #5131
  • Fix the wrong workspace folder settings being used. #5134
  • Fix the "Open File…" scenario without a workspace folder (again). #5136
  • Fix changes to files.exclude having no effect if they're identical to the previous workspace folder's. #5138
  • Fix the debugger not working for macOS High Sierra or older. #5146
  • Fix search.exclude not applying if there are > 1 symbols matching in the excluded file. #5152
  • Fix tag parsing (workspace symbol searching) not working on Windows 7. #5155
  • Fix a race condition that could cause the Outline, Find All References, etc. to stop working.
  • Fix Rescan Workspace running an extra time per workspace folder.
  • Fix a random crash after settings change.

Known Issues

  • The configuration UI and json shows errors when an older version of cl.exe is set in the compilerPath. #5151
  • The "Open File..." scenarios (without a workspace) shows "Tag Parser initializing" (all symbol operations fail). #5176
  • The debugger doesn't work until the extension is reinstalled after macOS High Sierra or older is upgraded to a newer OS. #5171
  • The Outline view may sometimes be incorrect for files outside the workspace. #3949

0.27.0-insiders3

16 Mar 20:42
502eb84

Choose a tag to compare

0.27.0-insiders3 Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix. Or if that doesn't work (such as in the remote scenario with a version older than 0.26.3-insiders2), manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code.

Requirements

  • VS Code 1.30.0 or later.

Bug Fixes

  • Fix update to clang-format 9.0.1 (and without shared library dependencies). #2887, #3174
  • Add new setting C_Cpp.debugger.useBacktickCommandSubstitution to fix debugging when CShell is the remote default shell. #4015
  • Fix Outline view not updating fast enough after switching branches. #4894
  • Fix extension randomly getting stuck while communicating with the IntelliSense process on Mac. #4989
  • Fix completion results appearing after numeric literals. #5019
  • Fix crashes that sometimes occur after adding multiple workspace folders. #5059
  • Add URI's to the debug logging for messages (e.g. fileChanged). #5062
  • Fix crashes that sometimes occurs after switching color themes. #5063
  • Fix clang_format_sortIncludes setting not getting used. #5068
  • Fix error after updating a document too soon after startup. #5076
  • Fix IntelliSense process crashing on macOS 10.12 or older after a settings change. #5090
  • Fix Pause (break all) not working on Mac with Attach debugging.
  • Other language server crash fixes.

Known Issues

  • When a workspace is used, all the folders get the wrong workspace folder settings. #5134
  • The open file scenario doesn't work as expected. #5136
  • The debugger doesn't work for macOS High Sierra or older. #5146
  • Pause (break all) doesn't work (in certain scenarios) when debugging on Mac. Workaround: use kill -2 <pid> to trigger the break.

0.27.0-insiders2

05 Mar 01:41
33a6b66

Choose a tag to compare

0.27.0-insiders2 Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix. Or if that doesn't work (such as in the remote scenario with a version older than 0.26.3-insiders2), manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code.

Requirements

  • VS Code 1.30.0 or later.

Bug Fixes

  • Fix the Open File... scenario (without a workspace folder). #5049
  • Fix browsePath null reference that can occur with some configuration providers. PR #5055

Known Issues (that we plan to fix in next release)

  • Extension sometimes crashes after adding multiple folders at the same time. #5059
  • Extension sometimes crashes after changing color themes with a multiroot workspace. #5063
  • We're investigating several other known crashes...
  • Pause (break all) doesn't work when debugging on Mac. Workaround: use kill -2 <pid> to trigger the break.
  • The extension can randomly get stuck while doing IntelliSense operations on Mac (not a regression compared to 0.26.3). #4989

0.27.0-insiders

04 Mar 02:53
e52fdd5

Choose a tag to compare

0.27.0-insiders Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix. Or if that doesn't work (such as in the remote scenario with a version older than 0.26.3-insiders2), manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code.

Requirements

  • VS Code 1.30.0 or later.

Changes

Enhancements

  • Improved multi-root implementation with a single language server process and database for the entire workspace (shared between workspace folders). Fixes most multi-root bugs.
  • Update to clang-format 9.0.1 (and without shared library dependencies). #2887, #3174
  • Rename language server processes to cpptools and cpptools-srv (IntelliSense process). #4364
  • Add support for -iframework in compile_commands.json. #4819
  • Add cpptools.setActiveConfigName command. #4870
  • Default to the bundled clang-format if its version is newer. #4963
  • Include only lldb-mi for macOS.
    • Fix visualization of standard library types in lldb. #1768
    • Enable debugging support on macOS Catalina. #3829

Bug Fixes

  • Fix issue in which the user is not again prompted to use a custom configuration provider if settings files have been deleted. #2346
  • Fix "Unrecognized format of field "msg" in result" on macOS. #2492
  • Fix IntelliSense using too much CPU when switching branches. #2806
  • Fix for timeout on slow terminals while debugging. #2889
  • Fix non-localized text. #4481, #4879
  • Fix issues with paths containing certain Unicode sequences on Mac. #4712
  • Fix IntelliSense parsing bugs and crashes. #4717, #4798
  • Fix configuration UI disabling compilerPath if no default compiler is found. #4727
  • Fix issue with providing custom configurations for files specified using URIs schemes we do not recognize. #4889
  • Fix failure to detect CL.exe if VS Installer files are stored on a drive other than the system drive. #4929
  • Fix issue with cancellation of a Rename operation causing subsequent Find All References and Rename operations to fail. #5022

Known Issues (that we plan to fix in next release)

  • The Open File... scenario is broken (without a workspace folder). #5049
  • Pause (break all) doesn't work when debugging on Mac. Workaround: use kill -2 <pid> to trigger the break.
  • The extension can randomly get stuck while doing IntelliSense operations on Mac (not a regression compared to 0.26.3). #4989

0.26.3

22 Jan 21:53
211e497

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.

Requirements

  • VS Code 1.30.0 or later.

Changes

Bug Fixes

  • IntelliSense bug fixes. #2774
  • Improve memory usage in projects with a large number of files. #4714
  • Fix a crash when failing to launch external executables on Linux and Mac. #3607
  • Update output of C/C++: Log Diagnostics to include the correct set of defines when custom configurations or compile commands are used. #3631 #4270
  • Fix Insiders channel not working on remote targets. #3874
  • Fix compile_commands.json prompt appearing when a configuration provider is used. #3972
  • Improve IntelliSense performance with range-v3. #4414
  • Fix template members not being nested under the template type in the Outline view. #4466
  • Fix an issue in which failure to invoke a compiler could result in a hang on Linux and Mac. #4627
  • Fix custom configurations sometimes not being applied to headers. #4649
  • Fix headers opening into header-only TU's instead of TU's for candidate source files. #4696, #3985
  • Fix the missing description of C_Cpp.clang_format_style.
  • Fix Insiders channel not auto-downgrading after an Insiders vsix is unpublished. #4760
  • Fix compiler querying with more than 40 compilerArgs. #4791
  • Fix an issue in which files may be unnecessarily removed from the tag parser database on startup, if using a custom configuration provider, resulting in a large number of files being reparsed. #4802
  • Fix an issue in which Build and Debug Active File would fail to detect a compiler, without a compiler present in compilerPath. #4834
  • Add a version check for -break-insert so later versions of lldb-mi can be used as a midebugger. MIEngine#946
  • Fix clang-cl detection for system includes and defines. #4000
  • Fix a bug that could cause the browse database threads to get stuck.

Enhancements

  • If clang-format is found in the environment path, that version will take precedence over the copy of clang-format bundled with the extension. #3569
  • When tag parsing is complete, and includer/includee relationships become available, header-only TU's will be replaced with TU's for candidate source files, if available. #4969

Known Issues

  • None so far.