Skip to content

Releases: microsoft/vscode-cpptools

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.

0.22.0-insiders2

02 Mar 02:14
670a105
Compare
Choose a tag to compare
0.22.0-insiders2 Pre-release
Pre-release

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. Or, 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 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 completion when the start of an identifier matches a keyword. #1986
  • Fix auto-removal of compiler-provided paths in includePath. #2177
  • Add support for Scope::Member scoped symbol searches. #2484
  • Fix remote process picker bug. #2585, #3150
  • Add warning squiggles to c_cpp_properties.json for invalid paths. #2799
  • Fix bug with manual completion invocation after struct. #3080
  • Add C/C++ compiler build tasks for compiling the active source file. PR #3118
  • Fix command not found and empty c_cpp_properties.json if activation is too slow. #3160, #3176
  • Add AutoPCH support to reduce IntelliSense parsing time, with C_Cpp.intelliSenseCachePath and C_Cpp.intelliSenseCacheSize settings. PR #3184
  • Fix cppvsdbg debugger showing "An unspecified error has occurred." for structured binding variables. #3197

Known Regressions

  • IntelliSense process crashes with Mac Sierra 10.12 or earlier. #3256
  • Debugging doesn't work for Windows 32-bit apps. #3258
  • Squiggles can be incorrect after modifying header files. #3260

0.22.0-insiders

07 Feb 01:50
373e9be
Compare
Choose a tag to compare
0.22.0-insiders Pre-release
Pre-release

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. Or, 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 crash on Windows when 8.3 filenames are used. #2453, #3104
  • 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
  • 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 other unreported IntelliSense engine bugs.

Known Regressions

None yet.

0.21.0

23 Jan 22:02
da277c8
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.

New Features

  • Add documentation comments for hover, completion, and signature help. #399
  • Add completion committing for methods after (. #1184
  • Add macro expansions to hover. #1734
  • Add support for __int128_t and __uint128_t types. #1815
  • Add Italian translations for command titles.
  • Add icons for operators, structs/unions, enum values, template arguments, and macros. #2849
  • Change #include completion to show individual folders instead of the entire paths, fixing previous performance problems. #2836
  • Add text (declaration), (typedef), (type alias), and (union) to symbols. #2851
  • Add a refresh button to the Attach to Process picker. #2885
  • Add completion committing for templates after <. #2953

Bug Fixes

  • Add the Microsoft digital signature to Windows binaries to avoid getting incorrectly flagged by virus scanners. #1103, #2970
  • Fix bugs when UTF-8 characters > 1 byte are used. #1504, #1525, #2034, #2082, #2883
  • Fix some IntelliSense process crashes. #1785, #2913
  • Fix several incorrect IntelliSense error squiggles. #1942, #2422, #2474, #2478, #2597, #2763
  • Fix some main process crashes. #2505, #2768
  • Fix incorrect IntelliSense error with Mac clang 10.0 libraries. #2608
  • Fix completion not working in template specializations. #2620
  • Fix incorrect completions after Enter is used after struct, class, etc. #2734
  • Fix memory "leak" when parsing a large workspace. #2737
  • Fix IntelliSense-based Go to Definition with overloads that return a template with a default param (e.g. vector) #2736
  • Fix Go to Definition when __catch(), _NO_EXCEPT_DEBUG, or _LIBCPP_BEGIN_NAMESPACE_STD is used. #2761, #2766
  • Fix Go to Definition when method(void) is used. #2802
  • Fix error "TypeError: Cannot read property 'map' of undefined at asCompletionResult". #2807
  • Fix quotes around defines not supported for custom configuration providers. #2820
  • Fix PowerShell bug on Win7. #2822
  • Fix Tag Parser completion details missing keywords (i.e. using, class, #define, etc.). #2850
  • Fix problem with empty recursive include paths. #2855
  • Fix NullReferenceException on debugger launch with VS Code Insiders. #2858, PR Microsoft/MIEngine#810
  • Fix IntelliSense errors with template argument deduction. #2907, #2912
  • Retry Insider VSIX downloading with http.proxySupport "off". #2927
  • Fix snippet completions being offered when they shouldn't be. #2942
  • Set the editor.wordBasedSuggestions to false by default to prevent incorrect completions. #2943
  • Fix IntelliSense-based Go to Definition for functions with function pointer parameters. #2981
  • Fix < incorrectly triggering completions. #2985
  • Fix recursive includes not adding paths used by forcedInclude files. #2986
  • Fix crash when // is used in a recursive includePath. #2987
  • Fix compiler in compile_commands.json not taking precedence over the Cpp.default.compilerPath. #2793
  • Fix #include completion not working for symlinks. #2843
  • Fix IntelliSense-based Go to Definition for const methods. #3014
  • Support C_Cpp.updateChannel for VS Code Exploration builds.

Known Issues

  • Documentation comments in completion causes the "File: " info to disappear. #2938
  • Hover macro expansion isn't formatted as c/cpp code. #3075

0.21.0-insiders4

19 Jan 00:38
Compare
Choose a tag to compare
0.21.0-insiders4 Pre-release
Pre-release
  • Change #include completion to show individual folders instead of the entire paths, fixing previous performance problems. #2836
  • Fix #include completion not working for symlinks. #2843
  • Fix IntelliSense-based Go to Definition for const methods. #3014

0.21.0-insiders3

04 Jan 00:58
6488a11
Compare
Choose a tag to compare
0.21.0-insiders3 Pre-release
Pre-release

Known Issues

  • A regression occurred with recursive includes when forcedInclude is used. It will be fixed in our next release (see #2986 ).

Changes

  • Add completion committing for methods after (. #882, #1184
  • Add the Microsoft digital signature to Windows binaries to avoid getting incorrectly flagged by virus scanners. #1103, #2970
  • Add macro expansions to hover. #1734
  • Fix incorrect completions after Enter is used after struct, class, etc. #2734
  • Fix quotes around defines not supported for custom configuration providers. #2820
  • Fix Tag Parser completion details missing keywords (i.e. using, class, #define, etc.). #2850
  • Fix missing (declaration) on symbols. #2851
  • Fix IntelliSense errors with template argument deduction. #2907, #2912
  • Fix snippet completions being offered when they shouldn't be. #2942
  • Set the editor.wordBasedSuggestions to false by default to prevent incorrect completions. #2943
  • Add completion committing for templates after <. #2953
  • Fix IntelliSense-based Go to Definition for functions with function pointer parameters. #2981
  • Fix < incorrectly triggering completions. #2985
  • Fix recursive includes not adding paths used by forcedInclude files. #2986
  • Fix crash when // is used in a recursive includePath. #2987
  • Fix 3 crashes found with 0.21.0-insiders2.

Instructions

To use the "offline" .vsix (that doesn't download dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

0.21.0-insiders2

18 Dec 00:21
7935b97
Compare
Choose a tag to compare
0.21.0-insiders2 Pre-release
Pre-release
  • Add documentation comments for hover, completion, and signature help. #399
  • Fix bugs when UTF-8 characters > 1 byte are used. #1504, #1525, #2034, #2082, #2883
  • Fix some IntelliSense process crashes. #1785, #2913
  • Fix some incorrect IntelliSense error squiggles. #2422, #2597
  • Fix incorrect IntelliSense error with Mac clang 10.0 libraries. #2608
  • Add Italian translations for command titles.
  • Fix Go to Definition when method(void) is used. #2802
  • Fix PowerShell bug on Win7. #2822
  • Support C_Cpp.updateChannel for VS Code Exploration builds.
  • Add icons for operators, structs/unions, enum values, template arguments, and macros. #2849
  • Add text (declaration), (typedef), (type alias), and (union) to symbols. #2851
  • Fix problem with empty recursive include paths. #2855
  • Fix NullReferenceException on debugger launch with VS Code Insiders. #2858, PR Microsoft/MIEngine#810
  • Add a refresh button to the Attach to Process picker. #2885
  • Retry Insider VSIX downloading with http.proxySupport "off". #2927

Instructions

To use the "offline" .vsix (that doesn't download dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

0.21.0-insiders

09 Nov 03:17
8f67142
Compare
Choose a tag to compare
0.21.0-insiders Pre-release
Pre-release
  • Add support for __int128_t and __uint128_t types. #1815
  • Fix several incorrect IntelliSense error squiggles. #1942, #2478, #2763
  • Fix several crashes. #2505, #2768
  • Fix completion not working in template specializations. #2620
  • Fix IntelliSense-based Go to Definition with overloads that return a template with a default param (e.g. vector) #2736
  • Fix memory "leak" when parsing a large workspace. #2737
  • Fix Go to Definition when __catch(), _NO_EXCEPT_DEBUG, or _LIBCPP_BEGIN_NAMESPACE_STD is used. #2761, #2766
  • Fix compiler in compile_commands.json not taking precedence over the Cpp.default.compilerPath. #2793

Instructions

To use the "offline" .vsix (that doesn't download dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.

0.20.1

01 Nov 02:51
b1274d3
Compare
Choose a tag to compare
  • Fix IntelliSense-based Go to Declaration when there's only a definition in a TU. #2743
  • Fix #include completion for standalone header files. #2744
  • Fix the highest hitting main process crash.
  • Fix IntelliSense process crash with completion.

Instructions

To use the "offline" .vsix (that doesn't download dependencies on extension activation), download the .vsix that matches your OS and run the "Install from VSIX" command in VS Code.