Skip to content

Releases: microsoft/vscode-cpptools

0.24.0-insiders2

26 Jun 01:42
3926110
Compare
Choose a tag to compare
0.24.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), manually download and install the vsix that matches the target OS.

Requirements

  • VS Code 1.30.0 or later.

Changes

Minor Changes

  • Change C_Cpp.clang_format_path to machine scope. #3774
  • Removed syntactic/lexical colorization from enhancedColorization. PR #3821

Bug Fixes

  • Fix crash when tag parsing Objective-C code. #3776
  • Fix duplicate slashes getting added to c_cpp_properties.json. PR #3778
  • Fix incorrect "file already opened in editor" message on Linux/Mac. #3786
  • Fix colorization for themes with background colors equal to the editor background color. #3780
  • Improve performance of colorization. #3781
  • Fix regression crash on hover. #3792

Known Issues

  • There are still some crashes.

0.24.0-insiders

14 Jun 22:11
db1f631
Compare
Choose a tag to compare
0.24.0-insiders Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix.

Requirements

  • VS Code 1.30.0 or later.

Changes

New Features

Minor Changes

  • Configuration UI editor improvements:
    • Add list of detected compiler paths. PR #3708
    • Enable selecting/editing of other configurations and add "Advanced Settings" section. PR #3732
  • Enable envFile for cppdbg. PR #3723
  • Change the default path value of C_Cpp.intelliSenseCachePath. #3347 #3664

Bug Fixes

  • Fix IntelliSense-based Go to Definition for goto labels. #3111
  • Fix IntelliSense behaving incorrectly when files are opened with different casing on Windows. #3229
  • Fix user defined literals crashing IntelliSense in clang/gcc mode. #3481
  • Fix IntelliSense-based hover document comments being shown for invalid declarations not used by the current translation unit. #3596
  • Fix Go to Definition when is void missing in the parameter list of a function definition a .c file. #3609
  • Fix configuration validation of compiler path and IntelliSense mode compatibility for clang-cl.exe compiler. #3637
  • Fix resolving ${workspaceFolderBasename} and add ${workspaceStorage}. #3642
  • Fix IntelliSense-based Go to Definition performance issue due to extra database iteration. #3655
  • Fix SourceRequest causing debugging to stop with NotImplementedException. #3662
  • Fix typo in intelliSenseMode description.
  • Fix invalid warning with typedef enums in .c files. #3685
  • Fix incorrect keyword completion occurring for pragma #keyword. #3690
  • Fix problem matcher to show fatal errors from GCC #3712
  • Fix multi-root folders with the same name sharing the same browse database. PR #3715
  • Fix remoteProcessPicker on Windows. #3758
  • Fix configuration squiggles not appearing for multiple occurrences of the same error. #3765
  • Improvements to CPU and memory usage when editing.
  • Fix pause not working when using DebugServer/MIDebuggerServerAddress on Linux and macOS. MIEngine#844
  • Fix multiple anonymous unions not showing correctly in Locals while debugging. MIEngine#820

Known Issues

  • None so far.

0.23.1

14 May 01:39
084a8e7
Compare
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

  • Fix launch.json creation when intelliSenseEngine is "Disabled". #3583
  • Fix C/C++ commands not working if the language service isn't activated. #3615
  • Fix missing extension "Details" page. #3621
  • Fix some random crashes related to IntelliSense inactive region processing.

Known Issues

  • None yet.

0.23.0

07 May 03:01
4e20f27
Compare
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

New Features

  • Add a configuration UI editor to edit IntelliSense settings defined in the underlying c_cpp_properties.json file. PR #3479, PR #3487, PR #3519, #3524, PR #3563, #3526
    • Add a new command C/C++: Edit configurations (UI) to open the UI editor.
    • Replace the C/C++: Edit configurations... command with C/C++: Edit configurations (JSON) to open c_cpp_properties.json.
    • The default whether to open the UI editor or JSON file is based on the workbench.settings.editor setting.
  • Add command C/C++: Log Diagnostics to log language service diagnostics. PR #3489
  • Add support for .env files for cppvsdbg. #3490

Other Changes

  • Enable flag /permissive- as an argument to compilerPath with cl.exe. #1589, #3446
  • Configuration squiggles for c_cpp_properties.json now validates if the setting values of compilerPath and intelliSenseMode match on Windows. #2983
  • Enable -fms-extensions to be used as an argument to compilerPath on Linux/Mac. #3063
  • Change the default value of C_Cpp.intelliSenseEngineFallback setting to Disabled. #3165
  • Add squiggle when compilerPath uses spaces and arguments without ". #3357
  • Change the Disabled value for C_Cpp.errorSquiggles to stop showing missing header squiggles. #3361
  • Add enableConfigurationSquiggles setting to allow squiggles to be disabled for c_cpp_properties.json. #3403
  • Switch to using the installExtension command for offline/insider vsix installing (to reduce install failures). #3408
  • Add a better example to the description of C_Cpp.clang_format_style and C_Cpp.clang_format_fallback_style. #3419
  • Add a new (default) value of EnabledIfIncludesResolve to C_Cpp.errorSquiggles, which only shows error squiggles if include headers are successfully resolved. PR #3421
  • Disable debug heap by default with cppvsdbg. #3484
  • Enable configuration squiggles for paths delimited by semicolons. PR #3517
  • Don't show release notes if the extension has never been installed before. #3533
  • Remove IntelliSense fallback code actions.

Bug Fixes

  • Fix browsing for functions with BOOST_FOREACH. #953
  • Work around issue with VS Code not treating .C files as C++ files Microsoft/vscode#59369 -- .C files become associated by name in files.associations. #2558
  • Fix various IntelliSense parsing bugs. #2824, #3110, #3168
  • Preserve newlines in documentation comments. #2937
  • Fix documentation comments above multi-line templates (and some other issues). #3162
  • Fix "Extension causes high cpu load" due to module loading. #3213
  • Fix auto-removal of compiler-provided paths in includePath when they end with a directory separator on Windows. #3245
  • Fix duplicate compiler build tasks appearing when compilerPath has arguments. PR #3360
  • Fix environment variables not resolving with C_Cpp.intelliSenseCachePath. #3367
  • Fix the formatting of snippets text. #3376
  • Fix the default AccessModifierOffset used when formatting. #3376
  • Fix null reference during initialization when using custom configuration providers. PR #3377
  • Fix symbol parsing when __MINGW_ATTRIB_* is used. #3390
  • Fix compile_commands.json configuration prompt being disabled per user instead of per folder. PR #3399
  • Fix .cmd and .bat files not working for compilerPath on Windows. #3428
  • Fix compilerPath with arguments that are surrounded by quotes. #3428
  • Fix documentation comments interpreting special characters as markdown. #3441
  • Fix hover using the configuration of the active document instead of the hovered document. #3452
  • Fix c_cpp_properties.json squiggles when the configuration name has regex characters. PR #3478
  • Use the editor.tabSize setting instead of 2 when creating build tasks. PR #3486
  • Fix some potential crashes on hover. #3509
  • Fix for NullReferenceException occurring when "args" is not specified in launch.json. #3532
  • Fix Go to Definition giving no results when IntelliSense doesn't find the symbol. #3549
  • Fix configuration squiggles with trailing backslashes. PR #3573
  • Fix includePath code actions, configuration prompts, and the C/C++: Change configuration provider... command. PR #3576
  • Fix randomly occurring crash (that could occur when opening files while IntelliSense squiggles are pending).
  • Fix crash on hover (that could occur when document comments have blank lines).
  • Fix code action sometimes not appearing over a squiggled identifier.
  • Fix icon of parameters in completion results.

Known Issues

  • None yet.

0.23.0-insiders2

02 May 00:19
b67e701
Compare
Choose a tag to compare
0.23.0-insiders2 Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix.

Requirements

  • VS Code 1.30.0 or later.

Changes

New Features

  • Add support for .env files for cppvsdbg. #3490

Minor Changes

  • Switch to using the installExtension command for offline/insider vsix installing (to reduce install failures). #3408
  • Enable configuration squiggles for paths delimited by semicolons. PR #3517
  • Add Edit Configurations (JSON) to the Select a configuration dropdown. PR #3519
  • Update configuration UI to save changes after the UI changes focus. #3524
  • Don't show release notes if the extension has never been installed before. #3533
  • Add input validation to the configuration UI. PR #3563
  • Add process ID and memory usage to C/C++: Log Diagnostics results.
  • Remove IntelliSense fallback code actions.

Bug Fixes

  • Work around issue with VS Code not treating .C files as C++ files Microsoft/vscode#59369 -- .C files become associated by name in files.associations. #2558
  • Fix "Extension causes high cpu load" due to module loading. #3213
  • Fix backslashes getting added each time settings are saved. #3526
  • Fix regression with some C++17 features with msvc-x64 mode. #3541
  • Fix Go to Definition giving no results when IntelliSense doesn't find the symbol. #3549
  • Fix configuration squiggles with trailing backslashes. PR #3573
  • Fix includePath code actions, configuration prompts, and the C/C++: Change configuration provider... command. PR #3576
  • Fix crash on hover (that could occur when document comments have blank lines).
  • Fix randomly occurring crash (that could occur when opening files while IntelliSense squiggles are pending).

Known Issues

  • None so far.

0.23.0-insiders

24 Apr 02:10
f3a02fd
Compare
Choose a tag to compare
0.23.0-insiders Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix.

Requirements

  • VS Code 1.30.0 or later.

Changes

New Features

  • Add a configuration UI editor to edit IntelliSense settings defined in the underlying c_cpp_properties.json file. PR #3479, PR #3487
    • Add a new command C/C++: Edit configurations (UI) to open the UI editor.
    • Replace the C/C++: Edit configurations... command with C/C++: Edit configurations (JSON) to open c_cpp_properties.json.
    • The default whether to open the UI editor or JSON file is based on the workbench.settings.editor setting.
  • Add command C/C++: Log Diagnostics to log language service diagnostics. PR #3489

Minor Changes

  • Configuration squiggles for c_cpp_properties.json now validates if the setting values of compilerPath and intelliSenseMode match on Windows. #2983
  • Change the default value of C_Cpp.intelliSenseEngineFallback setting to Disabled. #3165
  • Change the Disabled value for C_Cpp.errorSquiggles to stop showing missing header squiggles. #3361
  • Add a new (default) value of EnabledIfIncludesResolve to C_Cpp.errorSquiggles, which only shows error squiggles if include headers are successfully resolved. PR #3421
  • Enable flag /permissive- as an argument to compilerPath with cl.exe. #3446
  • Disable debug heap by default with cppvsdbg. #3484

Bug Fixes

  • Fix browsing for functions with BOOST_FOREACH. #953
  • Preserve newlines in documentation comments. #2937
  • Fix documentation comments above multi-line templates (and some other issues). #3162
  • Fix auto-removal of compiler-provided paths in includePath when they end with a directory separator on Windows. #3245
  • Fix .cmd and .bat files not working for compilerPath on Windows. #3428
  • Fix compilerPath with arguments that are surrounded by quotes. #3428
  • Fix documentation comments interpreting special characters as markdown. #3441
  • Fix a JSON parsing error when a path in c_cpp_properties.json ended with \\". #3449
  • Fix hover using the configuration of the active document instead of the hovered document. #3452
  • Fix c_cpp_properties.json squiggles when the configuration name has regex characters. PR #3478
  • Use the editor.tabSize setting instead of 2 when creating build tasks. PR #3486
  • Fix some potential crashes on hover. #3509
  • Fix icon of parameters in completion results.
  • Fix code action sometimes not appearing over a squiggled identifier.

Known Issues

  • Extra escape characters are added to paths with back slash when UI editor is updated. #3526
  • UI editor doesn't commit changes after until a new field is given focus. #3524
  • Some C++17 features don't work with cl.exe. #3541

0.22.2-insiders

10 Apr 02:23
0f67f54
Compare
Choose a tag to compare
0.22.2-insiders Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix.

Requirements

  • VS Code 1.30.0 or later.

Bug Fixes

  • Fix various IntelliSense parsing bugs. #2824, #3110, #3168
  • Enable -fms-extensions to be used as an argument to compilerPath on Linux/Mac. #3063
  • Fix duplicate compiler build tasks appearing when compilerPath has arguments. PR #3360
  • Add squiggle when compilerPath uses spaces and arguments without ". #3357
  • Fix environment variables not resolving with C_Cpp.intelliSenseCachePath. #3367
  • Fix the formatting of snippets text. #3376
  • Fix the default AccessModifierOffset used when formatting. #3376
  • Fix null reference during initialization when using custom configuration providers. PR #3377
  • Fix symbol parsing when __MINGW_ATTRIB_* is used. #3390
  • Fix compile_commands.json configuration prompt being disabled per user instead of per folder. PR #3399
  • Add enableConfigurationSquiggles setting to allow squiggles to be disabled for c_cpp_properties.json. #3403

Known Regressions

Nothing yet.

0.22.1

22 Mar 00:12
c18592b
Compare
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 (fixes issues found in 0.22.0)

  • Fix tasks.json with single-line comments being overwritten when Build and Debug Active File is used. #3327
  • Fix an invalid compilerPath property getting added to tasks.json after doing Configure Task with a C/C++ compiler.
  • Add IntelliSense caching for macOS 10.13 or later (0.22.0 only supported Windows and Linux).

Known Issues

  • C_Cpp.intelliSenseCachePath doesn't resolve tilde or env for home directory. #3367

0.22.0

20 Mar 04:46
717de54
Compare
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.

Major Changes

  • Add warning squiggles for invalid properties and paths in c_cpp_properties.json. #2799, PR #3283
  • Add C/C++ compiler build tasks for compiling the active source file, with support for F5 debugging and the Build and Debug Active File context menu command. PR #3118, PR #3244
  • Add AutoPCH support to reduce IntelliSense parsing time, with C_Cpp.intelliSenseCachePath and C_Cpp.intelliSenseCacheSize settings. It isn't enabled for Mac yet. PR #3184

Minor Changes

  • Fix IntelliSense not working on Windows when the username has a space in it and file C:\Users\<firstname> exists. #1377, #2114, #2176, #3052, #3139
  • Enable ${command:cpptools.activeConfigName} in tasks. #1524
  • Fix bugs with squiggles and IntelliSense updating after edits. #1779, #3124, #3260
  • Fix formatting (and other non-IntelliSense operations) being blocked by IntelliSense processing. #1928
  • Fix completion when the start of an identifier matches a keyword. #1986
  • Fix auto-removal of compiler-provided paths in includePath. #2177
  • Fix crash on Windows when 8.3 filenames are used. #2453, #3104
  • Add support for Scope::Member scoped symbol searches. #2484
  • Fix signature help active parameter selection when parameter names are missing or subsets of each other. #2952
  • Fix --enable-pretty-printing with gdb when complex objects are used as keys in maps. #3024
  • Fix IntelliSense-based Go to Definition for noexcept methods. #3060
  • Render macro hover expansions as C/C++. #3075
  • Enable completion after struct when manually invoked. #3080
  • Add C_Cpp.suggestSnippets setting to disable language server snippets. #3083
  • Show a prompt for changing C_Cpp.updateChannel to Insiders. #3089
  • Fix compilerPath not getting priority over the compile_commands.json compiler. #3102
  • Fix Linux compile_commands.json compiler querying with relative paths. #3112
  • Allow * in includePath to apply to browse.path when browse.path is not specified. #3121
  • Disable ( and < completion commit characters. #3127
  • Add Chinese translations for command titles. PR #3128
  • Fix remote process picker bug. #2585, #3150
  • Fix command not found and empty c_cpp_properties.json if activation is too slow. #3160, #3176
  • Fix cppvsdbg debugger showing "An unspecified error has occurred." for structured binding variables. #3197
  • Fix bugs with the Insider reload prompt appearing when it shouldn't. #3206
  • Fix variable expansion (e.g. ${env.HOME}) not working when ${default} is used in c_cpp_properties.json. #3309
  • Fix other unreported IntelliSense engine bugs.

Known Issues

  • Using the Build and Debug Active File command overwrites the previous tasks.json contents if it fails to parse. #3327
  • Using the Build and Debug Active File command causes an "undefined task type" warning to get logged. #3322

0.22.0-insiders3

15 Mar 02:24
270a4f7
Compare
Choose a tag to compare
0.22.0-insiders3 Pre-release
Pre-release

Instructions

Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix.

Requirements

  • VS Code 1.30.0 or later.

Bug Fixes

  • Fix bugs with squiggles and IntelliSense updating after edits. #1779, #3124, #3260
  • Fix formatting (and other non-IntelliSense operations) being blocked by IntelliSense processing. #1928
  • Show a prompt for changing C_Cpp.updateChannel to Insiders. #3089
  • Fix bugs with the Insider reload prompt appearing when it shouldn't. #3206
  • Enable F5 and the Build and Debug Active File context menu command. PR #3244
  • Fix IntelliSense process crashing with Mac Sierra 10.12 or earlier. #3256
  • Fix incorrect c_cpp_properties.json squiggles with cl.exe. #3263
  • Add cl.exe build and debug support. PR #3264
  • Fix debugging not working for Windows 32-bit programs. #3258
  • Add warning squiggles for invalid properties in c_cpp_properties.json. PR #3283
  • Fix AutoPCH performance on Windows and Linux.

Known Regressions (or bugs with new features)

Nothing "major" yet.