Skip to content

Releases: microsoft/vscode-cpptools

0.30.0-insiders2

12 Aug 01:14
8246ad0

Choose a tag to compare

0.30.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 (e.g. for remote ARM machines), 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.44.0 or later.

Changes

New Features

  • Support for running the extension on Linux arm64/aarch64 devices, using remoting. The cpptools and cpptools-srv binaries are still compiled for 32-bit ARM, so it won't work on all OS's (e.g. 64-bit Rapsberry Pi OS works, but Jetson NX does not work yet). #2506

Bug Fixes

  • Fix vcFormat setting default values. #5907
  • Fix vcFormat formatting causing multi-byte character document corruption. #5914
  • Fix an IntelliSense crash (regression) when using the IntelliSense cache with a standalone header. #5923
  • Change clangFormat and Default formatting modes that use the Visual Studio style (or fallback style) to use the clang-format implementation instead of vcFormat.
  • Restore fallback to the base configuration if a custom configuration provider does not provide a configuration for a file and does not provide compiler info in a custom browse configuration.

Known Issues

  • Using clang-format on Linux ARM/ARM64 requires that libtinfo5 is installed. #5958

0.30.0-insiders

05 Aug 01:08
19f14d1

Choose a tag to compare

0.30.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 (e.g. for remote ARM machines), 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.44.0 or later.

Changes

New Features

  • Support for running the extension on Linux ARM devices, using remoting (arm64/aarch64 not supported yet). #429
  • Add the vcFormat option to C_Cpp.formatting (with C_Cpp.vcFormat.* options) to enable VS-style formatting (instead of clang-format formatting). #657

Enhancements

  • Use jsonc parser to load c_cpp_properties.json to allow comments, trailing commas, etc. #5885

Bug Fixes

  • Fix installation of clang-format 10 with the online vsix. #5194
  • Get the compiler type to determine if it's Clang when querying for default compiler so that the correct default intelliSenseMode is set. #5352
  • Get the default language standard of the compiler and use that std version if no version is specified. #5579
  • Fix an incorrect IntelliSense error squiggle. #5783
  • Fix an IntelliSense crash when using C++20 on Linux. #5727
  • Get the default target of the compiler. If the default target is ARM/ARM64, do not use the generic "--target" option to determine bitness. #5772
  • Fix compilerArgs not being used if no compilerPath is set. #5776
  • Fix semantic colorization and inactive regions for multiroot workspaces. #5812, #5828
  • Fix bug with cl.exe flags /FU and /FI not being processed. #5819
  • Fix cStandard being set to c11 instead of gnu18 with gcc. #5834
  • Fix compile commands compiler not being used if C_Cpp.default.compilerPath is set. #5848
  • Fix a bug that could cause the extension to delay processing a newly opened file until any outstanding IntelliSense operations are complete, if using a custom configuration provider.
  • Fix a bug with incorrect configuration of a file when using a custom configuration provider and no custom configuration is available for that file. This now falls back to the compiler info received from the configuration provider with the browse configuration.
  • Fix a bug in which making a modification to c_cpp_properties.json could result in custom configurations for currently open files being discarded and not re-requested.

Potentially Breaking Changes

  • Settings commentContinuationPatterns, enhancedColorization, and codeFolding are no longer available in per-Folder settings (only Workspace or higher settings). PR #5830
  • Fix compile command arguments not being used when compilerPath is set (so the compile command arguments need to be compatible now).
  • Default formatting results may be different if the "Visual Studio" style is used -- use the "Emulated Visual Studio" style to get the previous behavior. For example, see #5901
  • If a non-matching intelliSenseMode was being used, such as clang-x64 with a gcc ARM compiler, then we may auto-fix it internally, which may cause changes to IntelliSense behavior.

Known Issues

  • Some of the vcFormat.* settings defaults don't match VS default values. #5907
  • Using formatting can cause document corruption in some cases. The workaround is to change "C_Cpp.formatting" to "clangFormat", "C_Cpp.clang_format_style" to "Emulated Visual Studio", and "C_Cpp.clang_format_fallbackStyle" to "Emulated Visual Studio". #5914
  • There is a high hitting IntelliSense process crash. Setting C_Cpp.intelliSenseCacheSize to 0 is a workaround. #5923

0.29.0

16 Jul 02:12
a6f012a

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.44.0 or later.
  • 32-bit x86 Linux is no longer supported. #5346

Changes

New Features

  • Add Doxygen comment support (to tooltip display of hover, completion, and signature help). #658
    • The way comments are formatted is controlled by the C_Cpp.simplifyStructuredComments setting.
  • Auto-convert . to -> when the type is a pointer. #862
  • Switch to using the VS Code Semantic Tokens API for semantic colorization (works with remoting). PR #5401, #3932, #3933, #3942
  • Add support for LogMessage Breakpoints for debug type cppdbg. MIEngine#1013

Enhancements

  • Automatically add "${default}" to the default includePath in c_cpp_properties.json if C_Cpp.default.includePath is set. #3733
  • Add configuration provider logging to C/C++: Log Diagnostics. #4826
  • Add support for the Debug Welcome Panel. #4837
  • Update to clang-format 10. #5194
  • Add system to store and query properties from the active C/C++ configuration.
  • Add quoteArgs to launch.json schema. PR #5639
  • Add logs for a resolved launch.json if "engineLogging" is enabled. PR #5644
  • Add threadExit and processExit logging flags for 'cppvsdbg'. PR #5652

Bug Fixes

  • Fix IntelliSense when using "import_" in a variable name. #5272
  • Add localization support for autocomplete and hover text. #5370
  • Some updateChannel fixes. PR #5465
  • Fix wrong language standard used with compile commands. #5498
  • Fix issue with defines and includes not being handled correctly in compilerPath or compilerArgs. #5512
  • Add gcc/gcc-10 compiler detection. #5540
  • Fix --target compiler arg getting overridden. #5557
  • Fix Find All References and Rename when multiple references are on the same line. #5568
  • Fix IntelliSense process crashes. #5584, #5629
  • Fix an add/remove workspace folder crash. #5591
  • Fix default build tasks failing on Windows if the compiler isn't on the PATH. #5604
  • Fix updating files.associations and .C files being associated with C instead of C++. #5618
  • Fix IntelliSense malfunction when RxCpp is used. #5619
  • Fix an incorrect IntelliSense error. #5627
  • Ignore "screen size is bogus" error when debugging. PR #5669
  • Fix compile_commands.json sometimes not updating. #5687
  • Add msys2 clang compilers to the compiler search list (previously only gcc was handled). #5697
  • Fix extension getting stuck when an "@" response file that doesn't end with ".rsp" is used in compilerArgs. #5731
  • Fix forced includes not handled properly when parsed as compiler args. #5738
  • Fix potential thread deadlock in cpptools.
  • Fix copying a long value from debug watch results in pasting partial value #5470
  • Fix Modifying conditional breakpoints #2297
  • Fix find .exe in Windows path #3076

Known Issues

  • None so far.

0.29.0-insiders2

09 Jul 00:08
471f9b3

Choose a tag to compare

0.29.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.44.0 or later.

Changes

New Features

  • Added support for LogMessage Breakpoints for debug type cppdbg. #1013
  • Switch to using the VS Code Semantic Tokens API for semantic colorization. PR #5401

Enhancements

  • Automatically add "${default}" to the default includePath in c_cpp_properties.json if C_Cpp.default.includePath is set. #3733
  • Add C_Cpp.simplifyStructuredComments setting. #5706
  • Add configuration provider logging to C/C++: Log Diagnostics. #4826

Bug Fixes

  • Ignore "screen size is bogus" error when debugging. PR #5669
  • Fix compile_commands.json sometimes not updating. #5687
  • Add msys2 clang compilers to the compiler search list (previously only gcc was handled). #5697
  • Fix extension getting stuck when an "@" response file that doesn't end with ".rsp" is used in compilerArgs. #5731
  • Fix forced includes not handled properly when parsed as compiler args. #5738

Known Issues

  • None so far.

0.29.0-insiders

25 Jun 01:25
2efdb84

Choose a tag to compare

0.29.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.44.0 or later.

Changes

New Features

  • Add Doxygen comment support (to tooltip display of hover, completion, and signature help). #658

Enhancements

  • Add support for the Debug Welcome Panel. #4837
  • Update to clang-format 10. #5194
  • Added system to store and query properties from the active C/C++ configuration.
  • Add quoteArgs to launch.json schema. PR #5639
  • Add logs for a resolved launch.json if "engineLogging" is enabled. PR #5644
  • Add threadExit and processExit logging flags for 'cppvsdbg'. PR #5652

Bug Fixes

  • Add localization support for autocomplete and hover text. #5370
  • Some updateChannel fixes. PR #5465
  • Fix wrong language standard used with compile commands. #5498
  • Fix issue with defines and includes not being handled correctly in compilerPath or compilerArgs. #5512
  • Add gcc/gcc-10 compiler detection. #5540
  • Fix --target compiler arg getting overridden. #5557
  • Fix IntelliSense process crashes. #5584, #5629
  • Fix Find All References and Rename when multiple references are on the same line. #5568
  • Fix an add/remove workspace folder crash. #5591
  • Fix default build tasks failing on Windows if the compiler isn't on the PATH. #5604
  • Fix updating files.associations and .C files being associated with C instead of C++. #5618
  • Fix IntelliSense malfunction when RxCpp is used. #5619
  • Ignore "screen size is bogus" error when debugging. PR #5669
  • Fix potential thread deadlock in cpptools.
  • Fix copying a long value from debug watch results in pasting partial value #5470
  • Fix Modifying conditional breakpoints #2297
  • Fix find .exe in Windows path #3076

Known Issues

  • Extension freezes with an Arduino project . #5731

0.28.3

09 Jun 17:41
b331179

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.43.0 or later.
  • 32-bit Linux is no longer supported. #5346

Changes

Version 0.28.3: June 9, 2020

Enhancements

  • Update version of vscode-cpptools API to 4.0.1 PR #5624

0.28.2

02 Jun 03:15
214a229

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.43.0 or later.
  • 32-bit Linux is no longer supported. #5346

Changes

Version 0.28.2: June 1, 2020

Regression Bug Fixes

Other Bug Fixes

  • Fix problemMatcher not being added to C/C++ build tasks. #3295
  • Fix /usr/bin being used as the default cwd (instead of ${workspaceFolder}) for C/C++ build tasks. #4761
  • Fix processing of quoted arguments with spaces in compilerPath. PR #5513
  • Fix inconsistent task label and preLaunchTask being used for C/C++ build tasks. #5561

Known Regressions

  • Default mingw build task fails on Windows if mingw isn't in the PATH. #5604

0.28.1

21 May 01:28
214a229

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.43.0 or later.
  • 32-bit Linux is no longer supported. #5346

Changes

Bug Fixes

  • Fix errors not appearing after switching between a WSL and non-WSL config on Windows. #5474
  • Fix cpptools crash when gcc is not in $PATH on Linux. #5484
  • Fix top IntelliSense crash regression. #5486
  • Fix squiggles appearing too soon (while typing). #5531

Known Issues

  • g++-10 and gcc-10 are not auto-detected for compilerPath. #5540
  • c++20 is incorrectly used as the default cppStandard with g++-10. #5336

0.28.0

13 May 02:00
25022e9

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.43.0 or later.
  • 32-bit Linux is no longer supported. #5346

Changes

New Features

  • Add C/C++ language-aware code folding. #407
  • Add GNU (and C18) language standard options. #2782
  • 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 (not 100% complete yet). #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

  • Fix browse.path not getting set correctly when compileCommands is used. #1163
  • Fix an issue with squiggle updates not occurring when a dependent file is created, deleted, or renamed. #3670
  • Fix temporary VSIX files not getting deleted after installation #3923
  • Process "$CPATH" on non-Windows OS's. #3940
  • Fix missing include message when a configuration provider is used. #3971
  • Change machine-dependent settings to use remote settings instead of user settings. #4121
  • 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
  • Avoid <…> truncation on hover. #5291
  • Fix incorrect translations. PR #5300
  • Fix cpptools auto-restarting after a crash. #5303
  • Fix incorrect c_cpp_properties.json squiggles. #5314, #5322
  • Fix error The task provider for "C/C++" tasks unexpectedly provided a task of type "shell". #5388
  • Fix compilerPath set to "" not working. #5392
  • Fix IntelliSense sometimes not working on a header file (or giving "Cannot Confirm Reference") if an existing TU is chosen that doesn't actually contain the header file.
  • Fix random crashes after a settings change.
  • Fix redundant squiggle updates.

Known Issues

  • Global symbols for concepts will be added in the next release (0.29.0-insiders). Also, __cpp_concepts isn't defined, and there are other concepts-related bugs (fix in development, unknown release).
  • An IntelliSense (cpptools-srv process) crash regression. #5476

0.28.0-insiders3

09 May 00:38
7ab06da

Choose a tag to compare

0.28.0-insiders3 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 (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 GNU (and C18) language standard options. #2782
  • 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 (not 100% complete yet). #4195
    • Known Issue: Global symbols for concepts will be added in the next release (fix planned for 0.29.0-insiders). Also, __cpp_concepts isn't defined, and there are other concepts-related bugs (fix planned for 0.29.0 or later) #5444
  • 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

  • Fix browse.path not getting set correctly when compileCommands is used. #1163
    • Known Issue: Some paths are still missing in certain cases (fix planned for 0.28.0 or 0.29.0-insiders).
  • Fix an issue with squiggle updates not occurring when a dependent file is created, deleted, or renamed. #3670
  • Fix temporary VSIX files not getting deleted after installation #3923
  • Process "$CPATH" on non-Windows OS's. #3940
  • Fix missing include message when a configuration provider is used. #3971
    • Known Issue: The error message is incorrect (fix planned for 0.28.0).
  • Change machine-dependent settings to use remote settings instead of user settings. #4121
  • 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
  • Avoid <…> truncation on hover. #5291
  • Fix incorrect translations. PR #5300
  • Fix cpptools auto-restarting after a crash. #5303
  • Fix incorrect c_cpp_properties.json squiggles. #5314, #5322
  • Fix error The task provider for "C/C++" tasks unexpectedly provided a task of type "shell". #5388
  • Fix compilerPath set to "" not working. #5392
  • Fix IntelliSense sometimes not working on a header file (or giving "Cannot Confirm Reference") if an existing TU is chosen that doesn't actually contain the header file.
  • Fix random crashes after a settings change.
  • Fix redundant squiggle updates.

Known Issues

  • See the 3 issues inlined above.