Skip to content

Releases: microsoft/vscode-cpptools

1.1.3

04 Dec 02:37
25d7497

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 (don't double-click the .vsix or another app like VS might try to open it incorrectly).

Requirements

  • VS Code 1.49.0 or later.

Changes

Bug Fixes

  • Disable the "join Insiders" prompt for Linux CodeSpaces. #6491
  • Fix "shell" tasks giving error "Cannot read property includes of undefined". #6538
  • Fix various task variables not getting resolved with cppbuild tasks. #6538
  • Fix warnings not appearing with cppbuild tasks. #6556
  • Fix endless CPU/memory usage if the cpptools process crashes. #6603
  • Fix the default cwd for cppbuild tasks. #6618

Known Issues

  • Fixed with VS Code Insiders: "F5" runs the wrong "preLaunchTask", if preLaunchTask is a default custom task name. Microsoft/vscode#109939
  • Debugging on Windows ARM64 isn't supported. #6392
  • compile_commands.json is not working correctly for *.C files. #6497

1.1.2

18 Nov 02:28
16f3521

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 (don't double-click the .vsix or another app like VS might try to open it incorrectly).

Requirements

  • VS Code 1.49.0 or later.

Changes

Bug Fix

  • Fix resolution of ${fileDirname} with cppbuild tasks. #6386

Known Issues

  • VS Code 1.51.1 or newer starts using endless CPU/memory after cpptools crashes. #6603
  • Build tasks issues, see #6538
  • Warnings don't appear with cppbuild tasks. #6556
  • Fixed with VS Code Insiders: "F5" runs the wrong "preLaunchTask", if preLaunchTask is a default custom task name. Microsoft/vscode#109939
  • Debugging on Windows ARM64 isn't supported. #6392
  • compile_commands.json is not working correctly for *.C files. #6497

1.1.1

10 Nov 01:08
adff6e6

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 (don't double-click the .vsix or another app like VS might try to open it incorrectly).

Requirements

  • VS Code 1.49.0 or later.

Changes

Bug Fixes

  • Fix cpptools binaries sometimes not getting installed on Windows. #6453

Known Issues

  • Fixed with VS Code Insiders: "F5" runs the wrong "preLaunchTask", if preLaunchTask is a default custom task name. Microsoft/vscode#109939
  • Debugging on Windows ARM64 isn't supported. #6392
  • compile_commands.json is not working correctly for *.C files. #6497

1.1.0

06 Nov 03:03
50c1efa

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

  • 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
  • Add intelliSenseUpdateDelay setting. #6142
  • 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
  • [cppdbg] Stepping out of a function will display '$ReturnValue'.
  • [cppdbg] Support composite expressions in natvis ArrayItems
  • 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

  • Change macOS Framework searching to only parse the "Current" framework folder when the "Headers" folder is not found. #2046
  • Show the compiler path in the Build and Debug Active File dropdown. #4278
  • Fix incorrect signature help active argument with multiple template parameters. #4786
  • Fix bug with directories not getting created for browse.databaseFilename. #5181
  • 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
  • Change the Windows SDK detection to require the shared, ucrt, and um folders. #5817
  • 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 Build and Debug Active File race condition with EngineLogs. #6304
  • Fix changes to some c_cpp_properties.json properties not taking effect (until a reload) if compileCommands is set. #6332
  • Fix issue with compiler querying not handling various clang command line options correctly. 6359
  • Fix multiroot workspace tag parsing when compileCommands is set. #6383
  • Fix mingw32 compilers not being detected. #6394
  • Various bug fixes for vcFormat. PR #6408
  • Fix issue causing zh-cn and zh-tw language files not to be used. PR #6418
  • 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.
  • Fix issue causing some localized messages to be displayed incorrectly.
  • Fixed issue with shipping an older version of vsdbg in offline packages.

Other Contributions

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
  • "cppbuild" is not registered in tasks.json after installation until a reload window occurs. #6450

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.