Releases: microsoft/vscode-cpptools
1.3.0-insiders2
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.53.0 or later.
Changes
New Features
- Add highlighting of matching conditional preprocessor statements. #2565
Bug Fixes
- Fix a spurious asterisk being inserted on a new line if the previous line starts with an asterisk. #5733
- Fix random crashes of cpptools-srv during shutdown. #7161
- Change
C_Cpp.autocompleteAddParenthesesto be false by default. #7199 - Fix auto add parentheses incorrectly occurring with template methods. #7203
- Fix auto adding parentheses incorrectly occurring with type names. #7209
- Fix a bug with relative "." paths in compile commands. #7221
- Fix configuration issues with Unreal Engine projects. #7222
Known Issues
- Comment continuations don't work after the 2nd line. PR #7238
1.3.0-insiders
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.52.0 or later.
Changes
Enhancements
- Add parentheses to function calls with autocomplete. #882
- Add support for nodeAddonIncludes with Yarn PnP.
- Mestery (@Mesterry) PR #7123
Bug Fixes
- Fix an issue with stale IntelliSense due to moving or renaming header files. #3849
- Fix go to definition on large macros. #4306
- Fix size_t and placement new squiggles with clang on Windows. #6573, #7106
- Fix an incorrect IntelliSense error squiggle when assigning to std::variant in clang mode. #6623
- Fix incorrect squiggle with range-v3 library. #6639
- Fix incorrect squiggle with auto parameters. #6714
- Add @RetVal support to the simplified view of doc comments. #6816
- Fix (reimplement) nested document symbols. #6830, #7023, #7024
- Fix include completion not working after creating a new header with a non-standard extension until a reload is done. #6987, #7061
- Fix endless CPU/memory usage in cpptools-srv when certain templated type aliases are used. #7085
- Fix "No symbols found" sometimes occurring when a document first opens. #7103
- Fix vcFormat formatting after typing brackets and a newline. #7125
- Fix a performance bug after formatting a document. #7159
Known Issues
1.2.2
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 (don't double-click the .vsix or another app like VS might try to open it incorrectly).
Requirements
- VS Code 1.52.0 or later.
Changes
Bug Fixes
- Fix IntelliSense errors with variable length arrays with C Clang mode. #6500
- Fix for random IntelliSense communication failures on Mac. #6809, #6958
- Fix an extension activation failure when a non-existent folder exists in the workspace. #6981
- Fix infinite loops during document symbol processing. #6988, #7012, #7022, #7025
- Fix a regression with handling of -isysroot/--sysroot compiler arguments. #6992
- Fix issue querying certain compilers, including armclang and arm-poky-linux-musleabi-gcc. 7021
- Fix invalid "console" property when generating a "cppdbg" task. #7048
Known Issues
1.2.2-insiders2
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.52.0 or later.
Changes
Bug Fixes
- Fix an extension activation failure when a non-existent folder exists in the workspace. #6981
- Fix a regression with handling of -isysroot/--sysroot compiler arguments. #6992
Known Issues
- None.
1.2.2-insiders
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.52.0 or later.
Changes
Bug Fixes
- Fix for random IntelliSense communication failures on Mac. Potentially fixes: #6809, #6958
- Potential fix for an "Unable to start the C/C++ language server" error. #6981
Known Issues
- None.
1.2.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 (don't double-click the .vsix or another app like VS might try to open it incorrectly).
Requirements
- VS Code 1.52.0 or later.
Changes
Bug Fixes
- Fix
Switch Header/Sourcein two cases when symlinks are in the path. #6855 - Fix clang-format FixNamespaceComments default. #6894
- Fix an issue with querying certain compilers for system defines and system includes #6898
- Fix an issue preventing detection of default target and default language standard of Cygwin and WSL compilers. #6902
- Fix an issue with detection of Apple Clang. #6916
- Fix endless memory usage (or a crash) with a certain code. #6940
- Fix "format after newline" with vcFormat. #6942
- Fix compiler querying with -Xclang and -include-pch arguments. #6944
- Switch to the signed LLDB-MI on Mac 10.14 or newer with the online VSIX. #6945
1.2.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 (don't double-click the .vsix or another app like VS might try to open it incorrectly).
Requirements
- VS Code 1.52.0 or later.
Changes
New Features
- Add support for cross-compilation configurations for IntelliSense. For example,
intelliSenseModevalue "linux-gcc-x64" could be used on a Mac host machine. #1083
Enhancements
- Show configuration squiggles when configurations with the same name exist. #3412
- Add
C_Cpp.addNodeAddonIncludePathssetting to add include paths fromnanandnode-addon-apiwhen they're dependencies. #4854- Bruce MacNaughton (@bmacnaughton) PR #67331
- Add command
Generate EditorConfig contents from VC Format settings. #6018 - Update to clang-format 11.1. #6326
- Add clang-format built for Windows ARM64. #6494
- Add support for the
/awaitflag with msvc IntelliSense. #6596 - Increase document/workspace symbol limit from 1000 to 10000. #6766
- Add new "console" launch config for cppvsdbg. PR #6794
Bug Fixes
- Fix handling of
--sysrootand-isysrootwithcompileCommands. #1575 - Fix IntelliSense not updating if a non-opened header is changed. #1780
- Fix IntelliSense involving overflow for unsigned int values. #2202
- Fix IntelliSense not switching the language mode after changing C versus C++
files.associations. #2557 - Fix Switch Header/Source not switching to an existing file in another column if it's not visible. #2667, #6749
- Fix autocomplete not working with
forloop variables with C code. #2946 - Fix
#includecompletion not sorting _ last. #3465 - Fix completion not working for templates in gcc/clang mode. #3501
- Fix crash when certain JavaScript files are parsed as C++. #3858
- Fix IntelliSense squiggle about not being able to assign to an object of its own type. #3883
- Fix hover and Find All References for template function overloads. #4044, #4249
- Fix the Outline view for nested namespaces. #4456
- Fix some IntelliSense parsing errors. #4595, #6362, #6685
- Fix Outline view with
"**/.*"infiles.exclude. #4602 - Fix build tasks errors in single file mode. #4638, #6764
- Fix the Outline view for nested structs/classes. #4781
- Fix
files.excludenot applying to watched files handlers. #5141 - Fix code folding incorrectly matching an inactive
}. #5429 - Fix IntelliSense Clang version for Apple Clang. #5500
- Fix hover doc comments not working if there's a selection. #5635, #6583
- Fix
#includecompletion to include results for non-standard header file extensions. #5698 - Fix clang-format failing due to missing libtinfo5 on Linux ARM/ARM64. #5958
- Automatically configure to use a custom configuration provider if available and no other configuration exists. #6150
- Fix not being able to attach to cpptools and cpptools-srv on Mac (to get crash call stacks). #6151, #6736
- Fix IntelliSense crashing with cl.exe with C++20 and span. #6251
- Stop querying unsupported compilers. #6314
- Fix an entry not found error for files in
compile_commands.jsonthat didn't initially exist. #6311 - Fix IntelliSense errors with C++20 std::ranges in gcc/clang modes. #6342
- Add a workaround for a missing compiler path for the
compile_commands.jsongenerated by Unreal Engine. #6358 - Fix IntelliSense crash with coroutines. #6363
- Add localized strings for
cppbuildtasks. #6436 - Fix IntelliSense squiggle with C++20 non-type templates. #6462
- Fix
compilerArgsprocessing with-MFand other multi-arg arguments. #6478 - Fix bug causing
Unable to read process.env.HOME. #6468 - Fix gcc problem matcher when the column is missing.
- Disable Insiders prompt for Codespaces. #6491
- Fix
compile_commands.jsonnot working correctly for*.Cfiles. #6497 - Show an error message when gdb can't be found when generating a
launch.json(instead of using an invalidmiDebuggerPath). #6511 - Fix IntelliSense not supporting
__float128(andQliterals) on x64 Linux. #6574 - Fix IntelliSense crash with a parenthesized type followed by an initializer list. #6554, #6624
- Fix IntelliSense updating after pasting multi-line code. #6565
- Use "method" instead of "member" for semantic tokens. #6569
- Fix
__builtin_coro_*methods not recognized by IntelliSense in gcc mode with-fcoroutines. #6575 - Fix the
elsesnippet interfering with entering one lineelsestatements. #6582 - Stop showing an "unknown error" message after canceling the creation of a
launch.json. #6608 - Fix potential extension activation delay. #6630
- Fix the executed command not appearing with cppbuild tasks. #6647
- Fix IntelliSense crash on Mac due to IPCH file corruption. #6673
- Fix
_Debugnot being defined when/MDdor/MTdare used. #6690 - Fix infinite IntelliSense processing when C++20, gcc mode, and
-fcoroutinesand used. #6709 - Allow the extension to run on M1 Macs. #6713
- Fix IntelliSense errors when "module" is used as a variable name with C++20. #6719
- Fix
.to->completion with multiple cursors. #6720 - Fix bug with configured cl.exe path not being used to choose appropriate system include paths, or cl.exe not being used at all if it's not also installed via the VS Installer. #6746
- Fix bugs with parsing of quotes and escape sequences in compiler args. [#6761](#67...
1.2.0-insiders3 (release candidate)
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.52.0 or later.
Changes
Bug Fixes
- Fix build tasks errors in single file mode. #4638, #6764
- Fix IntelliSense not supporting
__float128(andQliterals) on x64 Linux. #6574 - Fix IntelliSense process infinitely restarting after crashing. #6724
- Fix not being able to attach to cpptools-srv on Mac (to get crash call stacks). #6736
- Fix compiler querying with compilers that do not output
__STD_VERSION__by default (gcc <= 4.8.x). #6792 - Fix document symbols when nested symbols have the same name as a parent. #6830
- Fix automatic adding of header files to
files.associationsafterGo to Definitionon a#include. #6845
Known Issues
- Recently added strings aren't translated to other languages. Should be updated in our final release.
1.2.0-insiders2
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Requirements
- VS Code 1.52.0 or later.
Changes
Enhancement
- Add new "console" launch config for cppvsdbg. PR #6794
Bug Fixes
- Fix autocomplete not working with
forloop variables with C code. #2946 - Fix an entry not found error for files in
compile_commands.jsonthat didn't initially exist. #6311 - Fix IntelliSense errors with C++20 std::ranges in gcc/clang modes. #6342
- Fix
compile_commands.jsonnot working correctly for*.Cfiles. #6497 - Fix IntelliSense errors when "module" is used as a variable name with C++20. #6719
- Fix a runtime failure on macOS 10.13 or older. #6787
- Fix
Go to Symbol in Workspace. #6793
Known Issues
- Recently added strings aren't translated to other languages. Should be updated in our next release.
1.2.0-insiders
Instructions
Set the "C_Cpp.updateChannel" setting to "Insiders" to auto-install the latest Insiders vsix ("extensions.autoUpdate" needs to be true too). Or if that doesn't work, manually download the vsix that matches the target OS and run the "Install from VSIX" command in VS Code (don't double click the vsix).
Due to bug #6787:
- Users with macOS version 10.14 (Mojave) or newer will need to manually download and install the vsix at cpptools-osx.vsix.
- Users with macOS versions 10.13 (High Sierra) or older should stay with 1.1.3 until we have a version that works for those OS versions.
Requirements
- VS Code 1.52.0 or later.
Changes
New Features
- Add support for cross-compilation configurations for IntelliSense. For example,
intelliSenseModevalue "linux-gcc-x64" could be used on a Mac host machine. #1083 - Add
C_Cpp.addNodeAddonIncludePathssetting to add include paths fromnanandnode-addon-apiwhen they're dependencies. #4854- Bruce MacNaughton (@bmacnaughton) PR #67331
Enhancements
- Show configuration squiggles when configurations with the same name exist. #3412
- Add command
Generate EditorConfig contents from VC Format settings. #6018 - Update to clang-format 11.1. #6326
- Add clang-format built for Windows ARM64. #6494
- Add support for the
/awaitflag with msvc IntelliSense. #6596 - Increase document/workspace symbol limit from 1000 to 10000. #6766
Bug Fixes
- Fix handling of
--sysrootand-isysrootwithcompileCommands. #1575 - Fix IntelliSense not updating if a non-opened header is changed. #1780
- Fix IntelliSense involving overflow for unsigned int values. #2202
- Fix IntelliSense not switching the language mode after changing C versus C++
files.associations. #2557 - Fix Switch Header/Source not switching to an existing file in another column if it's not visible. #2667, #6749
- Fix
#includecompletion not sorting _ last. #3465 - Fix crash when certain JavaScript files are parsed as C++. #3858
- Fix IntelliSense squiggle about not being able to assign to an object of its own type. #3883
- Fix hover and Find All References for template function overloads. #4044, #4249
- Fix the Outline view for nested namespaces. #4456
- Fix some IntelliSense parsing errors. #4595, #6362, #6685
- Fix Outline view with
"**/.*"infiles.exclude. #4602 - Fix the Outline view for nested structs/classes. #4781
- Fix
files.excludenot applying to watched files handlers. #5141 - Fix code folding incorrectly matching an inactive
}. #5429 - Fix IntelliSense Clang version for Apple Clang. #5500
- Fix
#includecompletion to include results for non-standard header file extensions. #5698 - Fix clang-format failing due to missing libtinfo5 on Linux ARM/ARM64. #6774
- Automatically configure to use a custom configuration provider if available and no other configuration exists. #6150
- Fix not being able to attach to cpptools on Mac (to get crash call stacks). #6151
- Fix IntelliSense crashing with cl.exe with C++20 and span. #6251
- Stop querying unsupported compilers. #6314
- Add a workaround for a missing compiler path for the
compile_commands.jsongenerated by Unreal Engine. #6358 - Fix IntelliSense crash with coroutines. #6363
- Add localized strings for
cppbuildtasks. #6436 - Fix IntelliSense squiggle with C++20 non-type templates. #6462
- Fix
compilerArgsprocessing with-MFand other multi-arg arguments. #6478 - Fix bug causing
Unable to read process.env.HOME. #6468 - Fix gcc problem matcher when the column is missing.
- Disable Insiders prompt for Codespaces. #6491
- Fix
compile_commands.jsonnot working correctly for*.Cfiles. #6497 - Show an error message when gdb can't be found when generating a
launch.json(instead of using an invalidmiDebuggerPath). #6511 - Fix IntelliSense crash with a parenthesized type followed by an initializer list. #6554, #6624
- Fix IntelliSense updating after pasting multi-line code. #6565
- Use "method" instead of "member" for semantic tokens. #6569
- Fix
__builtin_coro_*methods not recognized by IntelliSense in gcc mode with-fcoroutines. #6575 - Fix the
elsesnippet interfering with entering one lineelsestatements. #6582 - Fix hover doc comments not working if there's a selection. #6583
- Stop showing an "unknown error" message after canceling the creation of a
launch.json. #6608 - Fix the executed command not appearing with cppbuild tasks. #6647
- Fix
_Debugnot being defined when/MDdor/MTdare used. #6690 - Fix infinite IntelliSense processing when C++20, gcc mode, and
-fcoroutinesand used. #6709 - Allow the extension to run on M1 Macs. #6713
- Fix
.to->completion with multiple cursors. #6720 - Fix bug with configured cl.exe path not being used to choose appropriate system include paths, or cl.exe not being used at all if it's not also installed via the VS Installer. #6746
- Fix bugs with parsing of quotes and escape sequences in compiler args. #6761
- Fix "D" command line warnings not appearing with cl.exe cppbuild build tasks.
- Fix cl.exe cppbuild tasks when
/nologois used (and make /nologo a default arg). - Fix a cpptools crash and multiple deadlocks.