Releases: microsoft/vscode-cpptools
0.30.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 (e.g. for remote ARM machines), 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.44.0 or later.
Changes
New Features
- Support for running the extension on Linux arm64/aarch64 devices, using remoting. The cpptools and cpptools-srv binaries are still compiled for 32-bit ARM, so it won't work on all OS's (e.g. 64-bit Rapsberry Pi OS works, but Jetson NX does not work yet). #2506
Bug Fixes
- Fix vcFormat setting default values. #5907
- Fix vcFormat formatting causing multi-byte character document corruption. #5914
- Fix an IntelliSense crash (regression) when using the IntelliSense cache with a standalone header. #5923
- Change
clangFormatandDefaultformatting modes that use theVisual Studiostyle (or fallback style) to use the clang-format implementation instead of vcFormat. - Restore fallback to the base configuration if a custom configuration provider does not provide a configuration for a file and does not provide compiler info in a custom browse configuration.
Known Issues
- Using clang-format on Linux ARM/ARM64 requires that libtinfo5 is installed. #5958
0.30.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 (e.g. for remote ARM machines), 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.44.0 or later.
Changes
New Features
- Support for running the extension on Linux ARM devices, using remoting (arm64/aarch64 not supported yet). #429
- Add the
vcFormatoption toC_Cpp.formatting(withC_Cpp.vcFormat.*options) to enable VS-style formatting (instead of clang-format formatting). #657
Enhancements
- Use
jsoncparser to loadc_cpp_properties.jsonto allow comments, trailing commas, etc. #5885
Bug Fixes
- Fix installation of clang-format 10 with the online vsix. #5194
- Get the compiler type to determine if it's Clang when querying for default compiler so that the correct default
intelliSenseModeis set. #5352 - Get the default language standard of the compiler and use that std version if no version is specified. #5579
- Fix an incorrect IntelliSense error squiggle. #5783
- Fix an IntelliSense crash when using C++20 on Linux. #5727
- Get the default target of the compiler. If the default target is ARM/ARM64, do not use the generic "--target" option to determine bitness. #5772
- Fix
compilerArgsnot being used if nocompilerPathis set. #5776 - Fix semantic colorization and inactive regions for multiroot workspaces. #5812, #5828
- Fix bug with cl.exe flags /FU and /FI not being processed. #5819
- Fix
cStandardbeing set toc11instead ofgnu18with gcc. #5834 - Fix compile commands compiler not being used if
C_Cpp.default.compilerPathis set. #5848 - Fix a bug that could cause the extension to delay processing a newly opened file until any outstanding IntelliSense operations are complete, if using a custom configuration provider.
- Fix a bug with incorrect configuration of a file when using a custom configuration provider and no custom configuration is available for that file. This now falls back to the compiler info received from the configuration provider with the browse configuration.
- Fix a bug in which making a modification to
c_cpp_properties.jsoncould result in custom configurations for currently open files being discarded and not re-requested.
Potentially Breaking Changes
- Settings
commentContinuationPatterns,enhancedColorization, andcodeFoldingare no longer available in per-Folder settings (only Workspace or higher settings). PR #5830 - Fix compile command arguments not being used when
compilerPathis set (so the compile command arguments need to be compatible now). - Default formatting results may be different if the "Visual Studio" style is used -- use the "Emulated Visual Studio" style to get the previous behavior. For example, see #5901
- If a non-matching
intelliSenseModewas being used, such as clang-x64 with a gcc ARM compiler, then we may auto-fix it internally, which may cause changes to IntelliSense behavior.
Known Issues
- Some of the vcFormat.* settings defaults don't match VS default values. #5907
- Using formatting can cause document corruption in some cases. The workaround is to change "C_Cpp.formatting" to "clangFormat", "C_Cpp.clang_format_style" to "Emulated Visual Studio", and "C_Cpp.clang_format_fallbackStyle" to "Emulated Visual Studio". #5914
- There is a high hitting IntelliSense process crash. Setting
C_Cpp.intelliSenseCacheSizeto 0 is a workaround. #5923
0.29.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.44.0 or later.
- 32-bit x86 Linux is no longer supported. #5346
Changes
New Features
- Add Doxygen comment support (to tooltip display of hover, completion, and signature help). #658
- The way comments are formatted is controlled by the
C_Cpp.simplifyStructuredCommentssetting.
- The way comments are formatted is controlled by the
- Auto-convert
.to->when the type is a pointer. #862 - Switch to using the VS Code Semantic Tokens API for semantic colorization (works with remoting). PR #5401, #3932, #3933, #3942
- Add support for LogMessage Breakpoints for debug type
cppdbg. MIEngine#1013
Enhancements
- Automatically add
"${default}"to the defaultincludePathinc_cpp_properties.jsonifC_Cpp.default.includePathis set. #3733 - Add configuration provider logging to
C/C++: Log Diagnostics. #4826 - Add support for the Debug Welcome Panel. #4837
- Update to clang-format 10. #5194
- Add system to store and query properties from the active C/C++ configuration.
- bugengine (@bugengine) PR #5453
- Add
quoteArgstolaunch.jsonschema. PR #5639 - Add logs for a resolved
launch.jsonif "engineLogging" is enabled. PR #5644 - Add threadExit and processExit logging flags for 'cppvsdbg'. PR #5652
Bug Fixes
- Fix IntelliSense when using "import_" in a variable name. #5272
- Add localization support for autocomplete and hover text. #5370
- Some
updateChannelfixes. PR #5465 - Fix wrong language standard used with compile commands. #5498
- Fix issue with defines and includes not being handled correctly in
compilerPathorcompilerArgs. #5512 - Add gcc/gcc-10 compiler detection. #5540
- Fix
--targetcompiler arg getting overridden. #5557- Matt Schulte (@schultetwin1)
- Fix Find All References and Rename when multiple references are on the same line. #5568
- Fix IntelliSense process crashes. #5584, #5629
- Fix an add/remove workspace folder crash. #5591
- Fix default build tasks failing on Windows if the compiler isn't on the PATH. #5604
- Fix updating
files.associationsand .C files being associated with C instead of C++. #5618 - Fix IntelliSense malfunction when RxCpp is used. #5619
- Fix an incorrect IntelliSense error. #5627
- Ignore "screen size is bogus" error when debugging. PR #5669
- nukoyluoglu (@nukoyluoglu)
- Fix
compile_commands.jsonsometimes not updating. #5687 - Add msys2 clang compilers to the compiler search list (previously only gcc was handled). #5697
- Fix extension getting stuck when an "@" response file that doesn't end with ".rsp" is used in
compilerArgs. #5731 - Fix forced includes not handled properly when parsed as compiler args. #5738
- Fix potential thread deadlock in cpptools.
- Fix copying a long value from debug watch results in pasting partial value #5470
- Fix Modifying conditional breakpoints #2297
- Fix find .exe in Windows path #3076
Known Issues
- None so far.
0.29.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.44.0 or later.
Changes
New Features
- Added support for LogMessage Breakpoints for debug type
cppdbg. #1013 - Switch to using the VS Code Semantic Tokens API for semantic colorization. PR #5401
Enhancements
- Automatically add
"${default}"to the defaultincludePathinc_cpp_properties.jsonifC_Cpp.default.includePathis set. #3733 - Add
C_Cpp.simplifyStructuredCommentssetting. #5706 - Add configuration provider logging to
C/C++: Log Diagnostics. #4826
Bug Fixes
- Ignore "screen size is bogus" error when debugging. PR #5669
- nukoyluoglu (@nukoyluoglu)
- Fix
compile_commands.jsonsometimes not updating. #5687 - Add msys2 clang compilers to the compiler search list (previously only gcc was handled). #5697
- Fix extension getting stuck when an "@" response file that doesn't end with ".rsp" is used in
compilerArgs. #5731 - Fix forced includes not handled properly when parsed as compiler args. #5738
Known Issues
- None so far.
0.29.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.44.0 or later.
Changes
New Features
- Add Doxygen comment support (to tooltip display of hover, completion, and signature help). #658
Enhancements
- Add support for the Debug Welcome Panel. #4837
- Update to clang-format 10. #5194
- Added system to store and query properties from the active C/C++ configuration.
- bugengine (@bugengine) PR #5453
- Add
quoteArgstolaunch.jsonschema. PR #5639 - Add logs for a resolved
launch.jsonif "engineLogging" is enabled. PR #5644 - Add threadExit and processExit logging flags for 'cppvsdbg'. PR #5652
Bug Fixes
- Add localization support for autocomplete and hover text. #5370
- Some
updateChannelfixes. PR #5465 - Fix wrong language standard used with compile commands. #5498
- Fix issue with defines and includes not being handled correctly in
compilerPathorcompilerArgs. #5512 - Add gcc/gcc-10 compiler detection. #5540
- Fix
--targetcompiler arg getting overridden. #5557- Matt Schulte (@schultetwin1)
- Fix IntelliSense process crashes. #5584, #5629
- Fix Find All References and Rename when multiple references are on the same line. #5568
- Fix an add/remove workspace folder crash. #5591
- Fix default build tasks failing on Windows if the compiler isn't on the PATH. #5604
- Fix updating
files.associationsand .C files being associated with C instead of C++. #5618 - Fix IntelliSense malfunction when RxCpp is used. #5619
- Ignore "screen size is bogus" error when debugging. PR #5669
- nukoyluoglu (@nukoyluoglu)
- Fix potential thread deadlock in cpptools.
- Fix copying a long value from debug watch results in pasting partial value #5470
- Fix Modifying conditional breakpoints #2297
- Fix find .exe in Windows path #3076
Known Issues
- Extension freezes with an Arduino project . #5731
0.28.3
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
Version 0.28.3: June 9, 2020
Enhancements
- Update version of vscode-cpptools API to 4.0.1 PR #5624
0.28.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.
Requirements
- VS Code 1.43.0 or later.
- 32-bit Linux is no longer supported. #5346
Changes
Version 0.28.2: June 1, 2020
Regression Bug Fixes
- Fix string arrays in
envnot being joined properly. #5509 - Fix
shellbeing used as the C/C++ build task source instead ofC/C++. vscode-docs#3724
Other Bug Fixes
- Fix
problemMatchernot being added to C/C++ build tasks. #3295 - Fix
/usr/binbeing used as the defaultcwd(instead of${workspaceFolder}) for C/C++ build tasks. #4761 - Fix processing of quoted arguments with spaces in
compilerPath. PR #5513 - Fix inconsistent task
labelandpreLaunchTaskbeing used for C/C++ build tasks. #5561
Known Regressions
- Default mingw build task fails on Windows if mingw isn't in the PATH. #5604
0.28.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.43.0 or later.
- 32-bit Linux is no longer supported. #5346
Changes
Bug Fixes
- Fix errors not appearing after switching between a WSL and non-WSL config on Windows. #5474
- Fix cpptools crash when gcc is not in $PATH on Linux. #5484
- Fix top IntelliSense crash regression. #5486
- Fix squiggles appearing too soon (while typing). #5531
Known Issues
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
gccproblem matcher to useautoDetectforfileLocation. #1915 - Add support for IntelliSense-based
Go to Definitionon#includestatements. #2564 - Support relative paths with
forcedInclude. #2780 - Make the
Visual Studioformatting 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.pathnot getting set correctly whencompileCommandsis 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_stylesetting 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.jsonsquiggles. #5314, #5322 - Fix error
The task provider for "C/C++" tasks unexpectedly provided a task of type "shell".#5388 - Fix
compilerPathset 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_conceptsisn't defined, and there are other concepts-related bugs (fix in development, unknown release). - An IntelliSense (cpptools-srv process) crash regression. #5476
0.28.0-insiders3
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 (such as in the remote scenario with a version older than 0.26.3-insiders2), manually download the vsix that matches the target 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
gccproblem matcher to useautoDetectforfileLocation. #1915 - Add support for IntelliSense-based
Go to Definitionon#includestatements. #2564 - Support relative paths with
forcedInclude. #2780 - Make the
Visual Studioformatting 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
- Known Issue: Global symbols for concepts will be added in the next release (fix planned for 0.29.0-insiders). Also,
__cpp_conceptsisn't defined, and there are other concepts-related bugs (fix planned for 0.29.0 or later) #5444
- Known Issue: Global symbols for concepts will be added in the next release (fix planned for 0.29.0-insiders). Also,
- 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.pathnot getting set correctly whencompileCommandsis used. #1163- Known Issue: Some paths are still missing in certain cases (fix planned for 0.28.0 or 0.29.0-insiders).
- 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
- Known Issue: The error message is incorrect (fix planned for 0.28.0).
- 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_stylesetting 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.jsonsquiggles. #5314, #5322 - Fix error
The task provider for "C/C++" tasks unexpectedly provided a task of type "shell".#5388 - Fix
compilerPathset 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
- See the 3 issues inlined above.