0.28.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.43.0 or later.
- 32-bit Linux is no longer supported. #5346
Changes
New Features
- Add C/C++ language-aware code folding. #407
- Add GNU (and C18) language standard options. #2782
- Add ARM and ARM64 IntelliSense modes. #4271, PR #5250
Enhancements
- Change the
gcc
problem matcher to useautoDetect
forfileLocation
. #1915 - Add support for IntelliSense-based
Go to Definition
on#include
statements. #2564 - Support relative paths with
forcedInclude
. #2780 - Make the
Visual Studio
formatting style respect the C++ standard (e.g.> >
for C++03 or earlier). #3578 - Add support for more C++20 features, such as concepts (not 100% complete yet). #4195
- Process the "std" and bitness (-m64/-m32) compiler args. #4726
- Switch from our custom Rename UI to VS Code's Refactor Preview. #4990
Bug Fixes
- Fix
browse.path
not getting set correctly whencompileCommands
is used. #1163 - Fix an issue with squiggle updates not occurring when a dependent file is created, deleted, or renamed. #3670
- Fix temporary VSIX files not getting deleted after installation #3923
- Process "$CPATH" on non-Windows OS's. #3940
- Fix missing include message when a configuration provider is used. #3971
- Change machine-dependent settings to use remote settings instead of user settings. #4121
- Fix compiler querying for compilers that output non-English strings. #4542
- Fix compiler querying when the '-include' argument is used. #4655
- Fix the "Unable to load schema" error for
c_cpp_properties.json
. #4841 - Change "Visual Studio"
clang_format_fallback_style
setting to use NamespaceIndentation All. #5124 - Fix "C++98" and "C++0x" modes. #5157, #5225
- Improve the error message for multiroot projects using
compile_commands.json
. #5160 - Fix some cpptools process crashes. #5280
- Avoid
<…>
truncation on hover. #5291 - Fix incorrect translations. PR #5300
- Fix cpptools auto-restarting after a crash. #5303
- Fix incorrect
c_cpp_properties.json
squiggles. #5314, #5322 - Fix error
The task provider for "C/C++" tasks unexpectedly provided a task of type "shell".
#5388 - Fix
compilerPath
set to""
not working. #5392 - Fix IntelliSense sometimes not working on a header file (or giving "Cannot Confirm Reference") if an existing TU is chosen that doesn't actually contain the header file.
- Fix random crashes after a settings change.
- Fix redundant squiggle updates.
Known Issues
- Global symbols for concepts will be added in the next release (0.29.0-insiders). Also,
__cpp_concepts
isn't defined, and there are other concepts-related bugs (fix in development, unknown release). - An IntelliSense (cpptools-srv process) crash regression. #5476