Releases: microsoft/vscode-cpptools
0.23.0-insiders2
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
.envfiles forcppvsdbg. #3490
Minor Changes
- Switch to using the
installExtensioncommand 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 theSelect a configurationdropdown. 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 Diagnosticsresults. - Remove IntelliSense fallback code actions.
Bug Fixes
- Work around issue with VS Code not treating
.Cfiles as C++ files Microsoft/vscode#59369 --.Cfiles become associated by name infiles.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-x64mode. #3541 - Fix
Go to Definitiongiving no results when IntelliSense doesn't find the symbol. #3549 - Fix configuration squiggles with trailing backslashes. PR #3573
- Fix
includePathcode actions, configuration prompts, and theC/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
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.jsonfile. 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 withC/C++: Edit configurations (JSON)to openc_cpp_properties.json. - The default whether to open the UI editor or JSON file is based on the
workbench.settings.editorsetting.
- Add a new command
- Add command
C/C++: Log Diagnosticsto log language service diagnostics. PR #3489
Minor Changes
- Configuration squiggles for
c_cpp_properties.jsonnow validates if the setting values ofcompilerPathandintelliSenseModematch on Windows. #2983 - Change the default value of
C_Cpp.intelliSenseEngineFallbacksetting toDisabled. #3165 - Change the
Disabledvalue forC_Cpp.errorSquigglesto stop showing missing header squiggles. #3361 - Add a new (default) value of
EnabledIfIncludesResolvetoC_Cpp.errorSquiggles, which only shows error squiggles if include headers are successfully resolved. PR #3421 - Enable flag
/permissive-as an argument tocompilerPathwithcl.exe. #3446 - Disable debug heap by default with cppvsdbg. #3484
- Reported by Djoulihen (@Djoulihen)
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
includePathwhen they end with a directory separator on Windows. #3245 - Fix
.cmdand.batfiles not working forcompilerPathon Windows. #3428 - Fix
compilerPathwith 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.jsonended with\\". #3449 - Fix hover using the configuration of the active document instead of the hovered document. #3452
- Fix
c_cpp_properties.jsonsquiggles when the configuration name has regex characters. PR #3478 - Use the
editor.tabSizesetting instead of2when 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
0.22.2-insiders
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-extensionsto be used as an argument tocompilerPathon Linux/Mac. #3063 - Fix duplicate compiler build tasks appearing when
compilerPathhas arguments. PR #3360 - Add squiggle when
compilerPathuses 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
AccessModifierOffsetused 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.jsonconfiguration prompt being disabled per user instead of per folder. PR #3399 - Add
enableConfigurationSquigglessetting to allow squiggles to be disabled forc_cpp_properties.json. #3403
Known Regressions
Nothing yet.
0.22.1
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.jsonwith single-line comments being overwritten whenBuild and Debug Active Fileis used. #3327 - Fix an invalid
compilerPathproperty getting added totasks.jsonafter doingConfigure Taskwith 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
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
F5debugging and theBuild and Debug Active Filecontext menu command. PR #3118, PR #3244 - Add AutoPCH support to reduce IntelliSense parsing time, with
C_Cpp.intelliSenseCachePathandC_Cpp.intelliSenseCacheSizesettings. 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::Memberscoped symbol searches. #2484 - Fix signature help active parameter selection when parameter names are missing or subsets of each other. #2952
- Fix
--enable-pretty-printingwithgdbwhen complex objects are used as keys in maps. #3024 - Fix IntelliSense-based
Go to Definitionfornoexceptmethods. #3060 - Render macro hover expansions as C/C++. #3075
- Enable completion after
structwhen manually invoked. #3080 - Add
C_Cpp.suggestSnippetssetting to disable language server snippets. #3083 - Show a prompt for changing
C_Cpp.updateChanneltoInsiders. #3089 - Fix
compilerPathnot getting priority over thecompile_commands.jsoncompiler. #3102 - Fix Linux
compile_commands.jsoncompiler querying with relative paths. #3112 - Allow
*inincludePathto apply tobrowse.pathwhenbrowse.pathis 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.jsonif activation is too slow. #3160, #3176 - Fix
cppvsdbgdebugger 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.updateChanneltoInsiders. #3089 - Fix bugs with the Insider reload prompt appearing when it shouldn't. #3206
- Enable
F5and theBuild and Debug Active Filecontext menu command. PR #3244 - Fix IntelliSense process crashing with Mac Sierra 10.12 or earlier. #3256
- Fix incorrect
c_cpp_properties.jsonsquiggles withcl.exe. #3263 - Add
cl.exebuild 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::Memberscoped symbol searches. #2484 - Fix remote process picker bug. #2585, #3150
- Add warning squiggles to
c_cpp_properties.jsonfor 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.jsonif activation is too slow. #3160, #3176 - Add AutoPCH support to reduce IntelliSense parsing time, with
C_Cpp.intelliSenseCachePathandC_Cpp.intelliSenseCacheSizesettings. PR #3184 - Fix
cppvsdbgdebugger 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-printingwithgdbwhen complex objects are used as keys in maps. #3024 - Fix IntelliSense-based
Go to Definitionfornoexceptmethods. #3060 - Render macro hover expansions as C/C++. #3075
- Enable completion after
structwhen manually invoked. #3080 - Add
C_Cpp.suggestSnippetssetting to disable language server snippets. #3083 - Fix
compilerPathnot getting priority over thecompile_commands.jsoncompiler. #3102 - Fix Linux
compile_commands.jsoncompiler querying with relative paths. #3112 - Allow
*inincludePathto apply tobrowse.pathwhenbrowse.pathis 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_tand__uint128_ttypes. #1815 - Add Italian translations for command titles.
- Add icons for operators, structs/unions, enum values, template arguments, and macros. #2849
- Change
#includecompletion 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 Processpicker. #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 Definitionwith overloads that return a template with a default param (e.g. vector) #2736 - Fix
Go to Definitionwhen__catch(),_NO_EXCEPT_DEBUG, or_LIBCPP_BEGIN_NAMESPACE_STDis used. #2761, #2766 - Fix
Go to Definitionwhenmethod(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
NullReferenceExceptionon 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.wordBasedSuggestionstofalseby default to prevent incorrect completions. #2943 - Fix IntelliSense-based
Go to Definitionfor functions with function pointer parameters. #2981 - Fix
<incorrectly triggering completions. #2985 - Fix recursive includes not adding paths used by
forcedIncludefiles. #2986 - Fix crash when
//is used in a recursiveincludePath. #2987 - Fix compiler in
compile_commands.jsonnot taking precedence over theCpp.default.compilerPath. #2793 - Fix
#includecompletion not working for symlinks. #2843 - Fix IntelliSense-based
Go to Definitionforconstmethods. #3014 - Support
C_Cpp.updateChannelfor VS Code Exploration builds.