Skip to content

Releases: microsoft/vscode-cpptools

1.1.0-insiders4 (release candidate)

04 Nov 02:10
f0be1a2

Choose a tag to compare

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.49.0 or later.

Changes

Bug Fixes

  • Show the compiler path in the Build and Debug Active File dropdown. #4278
  • Allow the debug configuration to wait for the preLaunchTask to complete before continuing on and resolving environment variables or processes that may have been set in the 'tasks.json'. #5287
  • Fixed "F5" to choose the correct build task. #6375
  • Fix multiroot workspace tag parsing when compileCommands is set. #6383
  • Fix extra tabs appearing in the cppbuild terminal output. PR #6384
  • Fix Windows SDK detection on ARM64. #6391
  • Fix mingw32 compilers not being detected. #6394
  • Fix cl.exe path detection with non-default install locations on ARM64. #6397
  • Various bug fixes for vcFormat. PR #6408
  • debugServerPath is not used in 1.1.0-insiders3 if miDebuggerServerAddress is not specified. #6411
  • 1.1.0-insiders3: Setup commands do not work when attaching #6417
  • Fix issue causing zh-cn and zh-tw language files not to be used. PR #6418
  • Fix issue causing some localized messages to be displayed incorrectly.
  • Fixed issue with shipping an older version of vsdbg in offline packages.

Known Issues

  • "F5" runs the wrong "preLaunchTask", if preLaunchTask is a default custom task name. Microsoft/vscode#109939
  • Debugging on Windows ARM64 isn't supported. #6392

1.1.0-insiders3

23 Oct 01:56
3832029

Choose a tag to compare

1.1.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 (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.49.0 or later.

Changes

New Features

  • Add language server support for Windows ARM64 (no debugging yet). #5583
  • [cppdbg] Debugger Protocol Updates:
  • [cppdbg] Support new SourceFileMap schema PR #6319

Enhancements

Bug Fixes

  • Change macOS Framework searching to only parse the "Current" framework folder when the "Headers" folder is not found. #2046
  • Fix incorrect signature help active argument with multiple template parameters. #4786
  • Fix changes to some c_cpp_properties.json properties not taking effect (until a reload) if compileCommands is set. #6332
  • Fix compiler querying when compileCommands is used with a file name with spaces. #6339
  • Fix issue with compiler querying not handling various clang command line options correctly. 6359
  • Fix issue to not overwrite the compiler options and args when building from a custom defined task. #6366
  • Fix issue where std change warnings were not generated if IntelliSense mode was not set.

Known Issues

  • "Build and Debug Active File" (F5) is causing the wrong build task to be run, i.e. the default build task is not run (it's using the pre-generated task). #6375
  • Windows ARM64 issues: #6391, #6392, #6394

1.1.0-insiders2

16 Oct 02:04
8ac65e6

Choose a tag to compare

1.1.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.49.0 or later.

Changes

Bug Fixes

  • Fix Build and Debug Active File race condition with EngineLogs. #6304
  • Prevent configuration warnings from stealing focus. #6308
  • Fix /std:c++latest downgrading to /std:c++17 when set via compilerArgs with cl.exe. #6323
  • Fix cStandard not being used. #6324

1.1.0-insiders

13 Oct 22:02
20759af

Choose a tag to compare

1.1.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.49.0 or later.

Changes

Enhancements

  • Add support to run c/cpp build tasks. #3674, #5270, #5285
    • Tasks: Configure Task
    • Tasks: Run Build Task
    • C/C++: Build and debug active file.
  • Add logging around compiler probing, and the "C/C++ Configuration Warnings" output channel. #5259
  • Add compile commands info to Log Diagnostics. #5761
  • Enable support for specifying a compiler by only the filename if it's in the environment path. #6179
  • Restart the IntelliSense process if its memory usage exceeds the C_Cpp.intelliSenseMemoryLimit setting. #6230
  • Add handling of the "-ansi" compiler arg when querying gcc/clang compilers.
  • Add support for inferring the IntelliSenseMode based on the "--target" compiler arg.
  • Add support for inferring the C standard based on new c11/c17 language standard args for cl.exe.
  • Allow custom config providers to omit IntelliSenseMode and C/C++ language standard, enabling them to be inferred from the compilerPath and compilerArgs.

Bug Fixes

  • Fix issues with IntelliSense for clang-cl.exe. #6075
  • Fix "Comments are not permitted in JSON" error when c_cpp_properties.json is open but not active. #6132
  • Rename the C language standard setting values from c18 and gnu18 to c17 and gnu17. #6105
  • Add more IntelliSense support for std ranges, concepts, and modules exports (__cpp_lib_concepts is now enabled). #6173
  • Add "-fnoblocks" when querying clang on Mac, as IntelliSense does not currently support blocks. #6189
  • Fix clang-format on 32-bit Windows. #6195
  • Fix incorrect formatting results when clang-format removes duplicate includes. #6205
  • Fix a case where the main process could get stuck. #6207
  • Fix C files being treated as C++ files with compile_commands.json. #6279
  • Fix issues with the handling of the standard version for clang-cl.exe.
  • Fix the handling of various compiler arg pairs when querying compilers.
  • Avoid parsing entries in compile_commands.json for file types that we do not support.
  • Fixed an issue in which only C or C++ system headers were added to the browse path, rather than both.

Other Contributions

1.0.1

22 Sep 00:23
0940fb7

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.

Changes

Bug Fixes

  • Fix "No IL available" IntelliSense error on Linux/macOS when #error directives are present in the source code. #6009, #6114
  • Fix issue on Windows with the language server not shutting down properly which causes the IntelliSense database to become corrupted. PR #6141
  • Fix "No IL available" IntelliSense error when predefined macros are undefined. #6147
  • Fix infinite loop IntelliSense regression. #6166

Known Issues

  • None so far.

1.0.1-insiders

17 Sep 00:06

Choose a tag to compare

1.0.1-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

Bug Fixes

  • Fix IntelliSense breaks on linux/macOS when #error directives are present in the source code. #6009, #6114
  • Fix an issue on Windows with the language server not shutting down properly which can cause the IntelliSense database to be reset the next time the folder opens. PR #6141

Known Issues

  • None so far.

1.0.0

14 Sep 18:13
9525fc7

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.

Changes

New Features

  • Support non-UTF-8 file encodings (GBK, UTF-16, etc.), excluding files.autoGuessEncoding support. #414
  • Support for running the extension on Linux ARM devices (armhf/armv7l and aarch64/arm64), using remoting. #429, #2506
  • Add the vcFormat option to C_Cpp.formatting (with C_Cpp.vcFormat.* options) to enable VS-style formatting (instead of clang-format formatting). #657
    • Add support for vcFormat settings in .editorconfig files. PR #5932

Enhancements

  • Improve the download and installation progress bar. #1961
  • Add error codes and the "C/C++" source to IntelliSense errors. #2345
  • Add support for /Zc:__cplusplus in compilerArgs for cl.exe. #2595
  • Search for compilerPath in the PATH environment variable. #3078, #5908
  • Validate crypto signatures of binaries we download. #5268
  • Add link to the documentation in the configuration UI. #5875
  • Allow comments, trailing commas, etc. in c_cpp_properties.json #5885
  • Prevent comments from being removed from json files when the extension modifies them.
  • Add diagnostics on potentially conflicting recursive includes to C/C++: Log Diagnostics, i.e. if a workspace uses files with the same name as system headers. #6009
  • Add workspace parsing diagnostics. #6048
  • Add wmain snippet on Windows. #6064
  • More C++20 support.

Bug Fixes

  • Fix member completion in C code after an operator is used in an expression. #2184
  • Fix extension not creating tasks.json if the .vscode folder doesn’t exist. #4280
  • 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 configuration.includePath to only add the defaultFolder when the default includePath is set. #5621
  • 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 an incorrect IntelliSense error squiggle. #5783
  • 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 Doxygen parameterHint comment to display for a parameter name that is followed by colon. #5836
  • Fix compiler probing when relative paths are used in compile_commands.json. #5848
  • Fix the compile commands compiler not being used if C_Cpp.default.compilerPath is set. #5848
  • Fix Doxygen comment to escape markdown characters. #5904
  • Remove keyword completion of C identifiers that are defined in headers and aren't keywords (e.g. alignas). #6022
  • Fix error message with Build and Debug Active File. #6071
  • 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.
  • 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).
  • 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

  • IntelliSense on Linux/Mac will stop working with a "No IL available" error after #error is hit, most likely for projects that aren't properly configured, with an unrecoverable parser error occurring in a header file. #6114
  • Using clang-format on ARM devices may require installing libtinfo5. #5958
  • Error "Comments are not permitted in JSON" appears when a c_cpp_properties.json with comments is open but hasn't been made active yet. #6133

0.30.0-insiders5

10 Sep 00:49
81d0baa

Choose a tag to compare

0.30.0-insiders5 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

Enhancements

  • Prevent comments from being removed from tasks.json when the extension modifies it.
  • Add workspace parsing diagnostics. #6048
  • Add wmain snippet on Windows. #6064

Bug Fixes

  • Fix extension not creating tasks.json if the .vscode folder doesn’t exist. #4280
  • Fix IntelliSense completion crash regression. #5960
  • Fix error message with Build and Debug Active File. #6071

Known Issues

  • None so far.

0.30.0-insiders4

02 Sep 00:28
abde9a3

Choose a tag to compare

0.30.0-insiders4 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 non-UTF-8 file encodings (GBK, UTF-16, etc.). #414
  • Add support for /Zc:__cplusplus in compilerArgs for cl.exe. #2595
  • Support for running the extension on Linux arm/arm64 for older OS's without glibc 2.28 (Ubuntu 14-18, Debian 8-9, CentOS 7, etc.). #5984, #5993
  • Add diagnostics on potentially conflicting recursive includes to C/C++: Log Diagnostics, i.e. if a workspace uses files with the same name as system headers. #6009

Enhancements

  • Improve the download and installation progress bar. #1961
  • Add error codes and "C/C++" source to IntelliSense errors. #2345
  • Add link to the documentation in the configuration UI. #5875

Bug Fixes

  • Fix member completion in C code after an operator is used in an expression. #2184
  • Fix squiggles on compilerPath for compilers found from the PATH environment variable. #6006
  • Remove keyword completion of C identifiers that are defined in headers and aren't keywords (e.g. alignas). #6022
  • Fix vcFormat formatting not using VS Code's tabSize.

Known Issues

  • IntelliSense crash during completion. #5960

0.30.0-insiders3

21 Aug 22:47
4e48286

Choose a tag to compare

0.30.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 (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. #2506, #5969
  • Add support for vcFormat settings in .editorconfig files. PR #5932

Enhancements

  • Validate crypto signatures of binaries we download. #5268
  • Search for compilerPath in the PATH environment variable. #5908

Bug Fixes

  • Fix configuration.includePath to only add the defaultFolder when the default includePath is set. #5621
  • Fix Doxygen parameterHint comment to display for a parameter name that is followed by colon. #5836
  • Fix compiler probing when relative paths are used in compile_commands.json. #5848
  • Fix IntelliSense failures with gcc 10.2 headers with C++20. #5897, #5973
  • Fix Doxygen comment to escape markdown characters. #5904
  • Fix a regression introduced in a previous insiders in which additional format on-type characters were introduced when using clang-format. These on-type characters have been reverted, when using clang-format. #5962

Known Issues

  • There's some IntelliSense completion regression compared to 0.30.0-insiders2. #6009
  • ARM language service binaries don't run on Ubuntu 18 or older (unless glibc 2.28 or newer is installed). #5993
  • compilerPath may squiggle in c_cpp_properties.json if the PATH is used to resolve it. #6006