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,
intelliSenseMode
value "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.addNodeAddonIncludePaths
setting to add include paths fromnan
andnode-addon-api
when 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
/await
flag 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
--sysroot
and-isysroot
withcompileCommands
. #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
for
loop variables with C code. #2946 - Fix
#include
completion 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.exclude
not 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
#include
completion 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.json
that 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.json
generated by Unreal Engine. #6358 - Fix IntelliSense crash with coroutines. #6363
- Add localized strings for
cppbuild
tasks. #6436 - Fix IntelliSense squiggle with C++20 non-type templates. #6462
- Fix
compilerArgs
processing with-MF
and 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.json
not working correctly for*.C
files. #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
(andQ
literals) 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
else
snippet interfering with entering one lineelse
statements. #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
_Debug
not being defined when/MDd
or/MTd
are used. #6690 - Fix infinite IntelliSense processing when C++20, gcc mode, and
-fcoroutines
and 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
- Fix the configuration not showing in the status bar when
c_cpp_properties.json
is active. #6765 - 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.associations
afterGo to Definition
on a#include
. #6845 - Fix
"Insiders"
updateChannel
for VS Code - Exploration. #6875 - Fix "D" command line warnings not appearing with cl.exe cppbuild build tasks.
- Fix cl.exe cppbuild tasks when
/nologo
is used (and make /nologo a default arg). - Fix a cpptools crash and multiple deadlocks.
Known Issues
- Regression: cpptools can use up all memory or crash with certain code. #6940
- Regression: Compilers that don't define
__STDC__
fail to get queried for system defines/includes. #6898 - Regression: Unable to query Cygwin compilers. #6902
- Regression: homebrew clang (on Mac) uses the wrong clang version for IntelliSense, leading to error squiggles. #6916
- Some of the newer strings are not translated yet.