Releases: microsoft/vscode-cpptools
0.22.0
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 theBuild and Debug Active File
context menu command. PR #3118, PR #3244 - Add AutoPCH support to reduce IntelliSense parsing time, with
C_Cpp.intelliSenseCachePath
andC_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
withgdb
when complex objects are used as keys in maps. #3024 - Fix IntelliSense-based
Go to Definition
fornoexcept
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
toInsiders
. #3089 - Fix
compilerPath
not getting priority over thecompile_commands.json
compiler. #3102 - Fix Linux
compile_commands.json
compiler querying with relative paths. #3112 - Allow
*
inincludePath
to apply tobrowse.path
whenbrowse.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 inc_cpp_properties.json
. #3309 - Fix other unreported IntelliSense engine bugs.
Known Issues
0.22.0-insiders3
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
toInsiders
. #3089 - Fix bugs with the Insider reload prompt appearing when it shouldn't. #3206
- Enable
F5
and theBuild 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 withcl.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
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
andC_Cpp.intelliSenseCacheSize
settings. PR #3184 - Fix
cppvsdbg
debugger showing"An unspecified error has occurred."
for structured binding variables. #3197
Known Regressions
0.22.0-insiders
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
withgdb
when complex objects are used as keys in maps. #3024 - Fix IntelliSense-based
Go to Definition
fornoexcept
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 thecompile_commands.json
compiler. #3102 - Fix Linux
compile_commands.json
compiler querying with relative paths. #3112 - Allow
*
inincludePath
to apply tobrowse.path
whenbrowse.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
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- Matt Bise (@mbise1993) PR #2895
- 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
whenmethod(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
tofalse
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 recursiveincludePath
. #2987 - Fix compiler in
compile_commands.json
not taking precedence over theCpp.default.compilerPath
. #2793 - Fix
#include
completion not working for symlinks. #2843 - Fix IntelliSense-based
Go to Definition
forconst
methods. #3014 - Support
C_Cpp.updateChannel
for VS Code Exploration builds.
Known Issues
0.21.0-insiders4
0.21.0-insiders3
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
tofalse
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 recursiveincludePath
. #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
- 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
whenmethod(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- Matt Bise (@mbise1993) PR #2895
- 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
- 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 theCpp.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
- 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.