Skip to content

Releases: microsoft/vscode-cpptools

1.2.2-insiders

18 Feb 01:18
ebd5314

Choose a tag to compare

1.2.2-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.52.0 or later.

Changes

Bug Fixes

  • Fix for random IntelliSense communication failures on Mac. Potentially fixes: #6809, #6958
  • Potential fix for an "Unable to start the C/C++ language server" error. #6981

Known Issues

  • None.

1.2.1

17 Feb 01:01
8401086

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

Changes

Bug Fixes

  • Fix Switch Header/Source in two cases when symlinks are in the path. #6855
  • Fix clang-format FixNamespaceComments default. #6894
  • Fix an issue with querying certain compilers for system defines and system includes #6898
  • Fix an issue preventing detection of default target and default language standard of Cygwin and WSL compilers. #6902
  • Fix an issue with detection of Apple Clang. #6916
  • Fix endless memory usage (or a crash) with a certain code. #6940
  • Fix "format after newline" with vcFormat. #6942
  • Fix compiler querying with -Xclang and -include-pch arguments. #6944
  • Switch to the signed LLDB-MI on Mac 10.14 or newer with the online VSIX. #6945

1.2.0

03 Feb 00:15
ecf57ce

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

Changes

New Features

  • Add support for cross-compilation configurations for IntelliSense. For example, intelliSenseMode value "linux-gcc-x64" could be used on a Mac host machine. #1083

Enhancements

  • Show configuration squiggles when configurations with the same name exist. #3412
  • Add C_Cpp.addNodeAddonIncludePaths setting to add include paths from nan and node-addon-api when they're dependencies. #4854
  • Add command Generate EditorConfig contents from VC Format settings. #6018
  • Update to clang-format 11.1. #6326
  • Add clang-format built for Windows ARM64. #6494
  • Add support for the /await flag with msvc IntelliSense. #6596
  • Increase document/workspace symbol limit from 1000 to 10000. #6766
  • Add new "console" launch config for cppvsdbg. PR #6794

Bug Fixes

  • Fix handling of --sysroot and -isysroot with compileCommands. #1575
  • Fix IntelliSense not updating if a non-opened header is changed. #1780
  • Fix IntelliSense involving overflow for unsigned int values. #2202
  • Fix IntelliSense not switching the language mode after changing C versus C++ files.associations. #2557
  • Fix Switch Header/Source not switching to an existing file in another column if it's not visible. #2667, #6749
  • Fix autocomplete not working with for loop variables with C code. #2946
  • Fix #include completion not sorting _ last. #3465
  • Fix completion not working for templates in gcc/clang mode. #3501
  • Fix crash when certain JavaScript files are parsed as C++. #3858
  • Fix IntelliSense squiggle about not being able to assign to an object of its own type. #3883
  • Fix hover and Find All References for template function overloads. #4044, #4249
  • Fix the Outline view for nested namespaces. #4456
  • Fix some IntelliSense parsing errors. #4595, #6362, #6685
  • Fix Outline view with"**/.*" in files.exclude. #4602
  • Fix build tasks errors in single file mode. #4638, #6764
  • Fix the Outline view for nested structs/classes. #4781
  • Fix files.exclude not applying to watched files handlers. #5141
  • Fix code folding incorrectly matching an inactive }. #5429
  • Fix IntelliSense Clang version for Apple Clang. #5500
  • Fix hover doc comments not working if there's a selection. #5635, #6583
  • Fix #include completion to include results for non-standard header file extensions. #5698
  • Fix clang-format failing due to missing libtinfo5 on Linux ARM/ARM64. #5958
  • Automatically configure to use a custom configuration provider if available and no other configuration exists. #6150
  • Fix not being able to attach to cpptools and cpptools-srv on Mac (to get crash call stacks). #6151, #6736
  • Fix IntelliSense crashing with cl.exe with C++20 and span. #6251
  • Stop querying unsupported compilers. #6314
  • Fix an entry not found error for files in compile_commands.json that didn't initially exist. #6311
  • Fix IntelliSense errors with C++20 std::ranges in gcc/clang modes. #6342
  • Add a workaround for a missing compiler path for the compile_commands.json generated by Unreal Engine. #6358
  • Fix IntelliSense crash with coroutines. #6363
  • Add localized strings for cppbuild tasks. #6436
  • Fix IntelliSense squiggle with C++20 non-type templates. #6462
  • Fix compilerArgs processing with -MF and other multi-arg arguments. #6478
  • Fix bug causing Unable to read process.env.HOME. #6468
  • Fix gcc problem matcher when the column is missing.
  • Disable Insiders prompt for Codespaces. #6491
  • Fix compile_commands.json not working correctly for *.C files. #6497
  • Show an error message when gdb can't be found when generating a launch.json (instead of using an invalid miDebuggerPath). #6511
  • Fix IntelliSense not supporting __float128 (and Q literals) on x64 Linux. #6574
  • Fix IntelliSense crash with a parenthesized type followed by an initializer list. #6554, #6624
  • Fix IntelliSense updating after pasting multi-line code. #6565
  • Use "method" instead of "member" for semantic tokens. #6569
  • Fix __builtin_coro_* methods not recognized by IntelliSense in gcc mode with -fcoroutines. #6575
  • Fix the else snippet interfering with entering one line else statements. #6582
  • Stop showing an "unknown error" message after canceling the creation of a launch.json. #6608
  • Fix potential extension activation delay. #6630
  • Fix the executed command not appearing with cppbuild tasks. #6647
  • Fix IntelliSense crash on Mac due to IPCH file corruption. #6673
  • Fix _Debug not being defined when /MDd or /MTd are used. #6690
  • Fix infinite IntelliSense processing when C++20, gcc mode, and -fcoroutines and used. #6709
  • Allow the extension to run on M1 Macs. #6713
  • Fix IntelliSense errors when "module" is used as a variable name with C++20. #6719
  • Fix . to -> completion with multiple cursors. #6720
  • Fix bug with configured cl.exe path not being used to choose appropriate system include paths, or cl.exe not being used at all if it's not also installed via the VS Installer. #6746
  • Fix bugs with parsing of quotes and escape sequences in compiler args. [#6761](#67...
Read more

1.2.0-insiders3 (release candidate)

27 Jan 22:23
6ccea38

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, 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.52.0 or later.

Changes

Bug Fixes

  • Fix build tasks errors in single file mode. #4638, #6764
  • Fix IntelliSense not supporting __float128 (and Q literals) on x64 Linux. #6574
  • Fix IntelliSense process infinitely restarting after crashing. #6724
  • Fix not being able to attach to cpptools-srv on Mac (to get crash call stacks). #6736
  • Fix compiler querying with compilers that do not output __STD_VERSION__ by default (gcc <= 4.8.x). #6792
  • Fix document symbols when nested symbols have the same name as a parent. #6830
  • Fix automatic adding of header files to files.associations after Go to Definition on a #include. #6845

Known Issues

  • Recently added strings aren't translated to other languages. Should be updated in our final release.

1.2.0-insiders2

21 Jan 00:22
f9ecc9c

Choose a tag to compare

1.2.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.52.0 or later.

Changes

Enhancement

  • Add new "console" launch config for cppvsdbg. PR #6794

Bug Fixes

  • Fix autocomplete not working with for loop variables with C code. #2946
  • Fix an entry not found error for files in compile_commands.json that didn't initially exist. #6311
  • Fix IntelliSense errors with C++20 std::ranges in gcc/clang modes. #6342
  • Fix compile_commands.json not working correctly for *.C files. #6497
  • Fix IntelliSense errors when "module" is used as a variable name with C++20. #6719
  • Fix a runtime failure on macOS 10.13 or older. #6787
  • Fix Go to Symbol in Workspace. #6793

Known Issues

  • Recently added strings aren't translated to other languages. Should be updated in our next release.

1.2.0-insiders

15 Jan 03:12
37cca41

Choose a tag to compare

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

Due to bug #6787:

  • Users with macOS version 10.14 (Mojave) or newer will need to manually download and install the vsix at cpptools-osx.vsix.
  • Users with macOS versions 10.13 (High Sierra) or older should stay with 1.1.3 until we have a version that works for those OS versions.

Requirements

  • VS Code 1.52.0 or later.

Changes

New Features

  • Add support for cross-compilation configurations for IntelliSense. For example, intelliSenseMode value "linux-gcc-x64" could be used on a Mac host machine. #1083
  • Add C_Cpp.addNodeAddonIncludePaths setting to add include paths from nan and node-addon-api when they're dependencies. #4854

Enhancements

  • Show configuration squiggles when configurations with the same name exist. #3412
  • Add command Generate EditorConfig contents from VC Format settings. #6018
  • Update to clang-format 11.1. #6326
  • Add clang-format built for Windows ARM64. #6494
  • Add support for the /await flag with msvc IntelliSense. #6596
  • Increase document/workspace symbol limit from 1000 to 10000. #6766

Bug Fixes

  • Fix handling of --sysroot and -isysroot with compileCommands. #1575
  • Fix IntelliSense not updating if a non-opened header is changed. #1780
  • Fix IntelliSense involving overflow for unsigned int values. #2202
  • Fix IntelliSense not switching the language mode after changing C versus C++ files.associations. #2557
  • Fix Switch Header/Source not switching to an existing file in another column if it's not visible. #2667, #6749
  • Fix #include completion not sorting _ last. #3465
  • Fix crash when certain JavaScript files are parsed as C++. #3858
  • Fix IntelliSense squiggle about not being able to assign to an object of its own type. #3883
  • Fix hover and Find All References for template function overloads. #4044, #4249
  • Fix the Outline view for nested namespaces. #4456
  • Fix some IntelliSense parsing errors. #4595, #6362, #6685
  • Fix Outline view with"**/.*" in files.exclude. #4602
  • Fix the Outline view for nested structs/classes. #4781
  • Fix files.exclude not applying to watched files handlers. #5141
  • Fix code folding incorrectly matching an inactive }. #5429
  • Fix IntelliSense Clang version for Apple Clang. #5500
  • Fix #include completion to include results for non-standard header file extensions. #5698
  • Fix clang-format failing due to missing libtinfo5 on Linux ARM/ARM64. #6774
  • Automatically configure to use a custom configuration provider if available and no other configuration exists. #6150
  • Fix not being able to attach to cpptools on Mac (to get crash call stacks). #6151
  • Fix IntelliSense crashing with cl.exe with C++20 and span. #6251
  • Stop querying unsupported compilers. #6314
  • Add a workaround for a missing compiler path for the compile_commands.json generated by Unreal Engine. #6358
  • Fix IntelliSense crash with coroutines. #6363
  • Add localized strings for cppbuild tasks. #6436
  • Fix IntelliSense squiggle with C++20 non-type templates. #6462
  • Fix compilerArgs processing with -MF and other multi-arg arguments. #6478
  • Fix bug causing Unable to read process.env.HOME. #6468
  • Fix gcc problem matcher when the column is missing.
  • Disable Insiders prompt for Codespaces. #6491
  • Fix compile_commands.json not working correctly for *.C files. #6497
  • Show an error message when gdb can't be found when generating a launch.json (instead of using an invalid miDebuggerPath). #6511
  • Fix IntelliSense crash with a parenthesized type followed by an initializer list. #6554, #6624
  • Fix IntelliSense updating after pasting multi-line code. #6565
  • Use "method" instead of "member" for semantic tokens. #6569
  • Fix __builtin_coro_* methods not recognized by IntelliSense in gcc mode with -fcoroutines. #6575
  • Fix the else snippet interfering with entering one line else statements. #6582
  • Fix hover doc comments not working if there's a selection. #6583
  • Stop showing an "unknown error" message after canceling the creation of a launch.json. #6608
  • Fix the executed command not appearing with cppbuild tasks. #6647
  • Fix _Debug not being defined when /MDd or /MTd are used. #6690
  • Fix infinite IntelliSense processing when C++20, gcc mode, and -fcoroutines and used. #6709
  • Allow the extension to run on M1 Macs. #6713
  • Fix . to -> completion with multiple cursors. #6720
  • Fix bug with configured cl.exe path not being used to choose appropriate system include paths, or cl.exe not being used at all if it's not also installed via the VS Installer. #6746
  • Fix bugs with parsing of quotes and escape sequences in compiler args. #6761
  • Fix "D" command line warnings not appearing with cl.exe cppbuild build tasks.
  • Fix cl.exe cppbuild tasks when /nologo is used (and make /nologo a default arg).
  • Fix a cpptools crash and multiple deadlocks.

Known Issues

  • cpptools crashes with macOS 10.13 (High Sierra) or older (in "uv_run"). #6787
  • Go to Symbol in Workspace stopped working. #6793
  • Recently added strings aren't translated to other languages. Should be updated in our next release.

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