0.30.0-insiders
Pre-release
Pre-release
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
vcFormat
option toC_Cpp.formatting
(withC_Cpp.vcFormat.*
options) to enable VS-style formatting (instead of clang-format formatting). #657
Enhancements
- Use
jsonc
parser to loadc_cpp_properties.json
to 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
intelliSenseMode
is 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
compilerArgs
not being used if nocompilerPath
is 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
cStandard
being set toc11
instead ofgnu18
with gcc. #5834 - Fix compile commands compiler not being used if
C_Cpp.default.compilerPath
is 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.json
could result in custom configurations for currently open files being discarded and not re-requested.
Potentially Breaking Changes
- Settings
commentContinuationPatterns
,enhancedColorization
, andcodeFolding
are no longer available in per-Folder settings (only Workspace or higher settings). PR #5830 - Fix compile command arguments not being used when
compilerPath
is 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
intelliSenseMode
was 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.intelliSenseCacheSize
to 0 is a workaround. #5923