Releases: microsoft/vscode-cpptools
0.23.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
Bug Fixes
- Fix
launch.jsoncreation whenintelliSenseEngineis"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
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.jsonfile. 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 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 - Add support for
.envfiles forcppvsdbg. #3490
Other Changes
- Enable flag
/permissive-as an argument tocompilerPathwithcl.exe. #1589, #3446 - Configuration squiggles for
c_cpp_properties.jsonnow validates if the setting values ofcompilerPathandintelliSenseModematch on Windows. #2983 - Enable
-fms-extensionsto be used as an argument tocompilerPathon Linux/Mac. #3063 - Change the default value of
C_Cpp.intelliSenseEngineFallbacksetting toDisabled. #3165 - Add squiggle when
compilerPathuses spaces and arguments without". #3357 - Change the
Disabledvalue forC_Cpp.errorSquigglesto stop showing missing header squiggles. #3361 - Add
enableConfigurationSquigglessetting to allow squiggles to be disabled forc_cpp_properties.json. #3403 - Switch to using the
installExtensioncommand for offline/insider vsix installing (to reduce install failures). #3408 - Add a better example to the description of
C_Cpp.clang_format_styleandC_Cpp.clang_format_fallback_style. #3419 - Add a new (default) value of
EnabledIfIncludesResolvetoC_Cpp.errorSquiggles, which only shows error squiggles if include headers are successfully resolved. PR #3421 - Disable debug heap by default with cppvsdbg. #3484
- Reported by Djoulihen (@Djoulihen)
- 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
.Cfiles as C++ files Microsoft/vscode#59369 --.Cfiles become associated by name infiles.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
includePathwhen they end with a directory separator on Windows. #3245 - Fix duplicate compiler build tasks appearing when
compilerPathhas arguments. PR #3360 - 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 - 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 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 for
NullReferenceExceptionoccurring when"args"is not specified inlaunch.json. #3532 - 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 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
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.