Releases: microsoft/vscode-cpptools
1.11.3 (pre-release, release candidate)
Instructions
Install it via using the Extensions view in VS Code and choosing the option "Switch to Pre-Release Version" or download a vsix that matches your OS from the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.65.0 or later.
Changes
New Feature
Bug Fixes
- Fix doc comments for macros and typedefs. #8320
- Fix issue with CUDA configuration when using a custom config provider and no config is available for the file. #8483
- Fix code analysis not detecting warnings with relative paths. #9555
- Fix
--header-filter
being used with clang-tidy when it shouldn't when a .clang-tidy file exists. #9566 - Fix code analysis giving an error with
__has_include
with gcc 9. #9575 - Fix
-target
not being processed incompilerArgs
. #9586
1.11.2 (pre-release)
Instructions
Install it via using the Extensions view in VS Code and choosing the option "Switch to Pre-Release Version" or download a vsix that matches your OS from the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.65.0 or later.
Changes
Enhancements
- Add deploySteps and variables to cppdbg. PR #9418
1.11.1 (pre-release)
Instructions
Install it via using the Extensions view in VS Code and choosing the option "Switch to Pre-Release Version" or download a vsix that matches your OS from the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.65.0 or later.
Changes
Enhancements
- Move "auto" inlay hints to the right by default and add
C_Cpp.inlayHints.autoDeclarationTypes.showOnLeft
. #9478 - Allow breakpoints for Rust debugging. PR #9484
- Remove
_
from the start of parameter inlay hints and addC_Cpp.inlayHints.parameterNames.hideLeadingUnderscores
. #9485 - Add
C_Cpp.inlayHints.referenceOperator.showSpace
setting. #9486 - Make
C_Cpp.debugShortcut
settable per-workspace folder. PR #9514
Bug Fixes
- Fix "unknown register name" IntelliSense error. #4382
- Fix performance issue with tag parsing a file with a lot of defines. #6454
- Fix missing logging when
C_Cpp.intelliSenseEngine
is set to"Disabled"
. #9277 - Fix the code analysis "disable" option not automatically clearing the disabled diagnostics. #9364
- Fix
-isystem
not being used for system headers with code analysis. #9366 - Fix compiler querying for EDG-based compilers. #9410
- Fix bug with the environment being incorrect when compiler querying. #9472
- Fix inlay hints not having padding on the left if there is no existing space. #9479
- Fix duplicate inlay hints appearing sometimes. #9487
- Fix duplicate compiler args in compiler query with custom configuration providers using cpptools-api prior to v6. #9531
- Fix cl.exe build tasks not showing for .c files and .c build tasks being cached for .cpp files (and vice versa). PR #9544
- Fix process launching concurrency issues on Windows.
Known Issues
&
is incorrectly suppressed in parameter inlay hints when the actual parameter matches the parameter hint: #9501
1.10.8
Instructions
Install it via using the Extensions view in VS Code or download a vsix that matches your OS from Assets section below (or the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.63.0 or later.
Changes
Enhancements
- Allow breakpoints for Rust debugging. PR #9484
- Make
C_Cpp.debugShortcut
settable per-workspace folder. PR #9514
Bug Fixes
- Fix crash if clang-tidy returns a replacement with an empty FilePath. #9437
- Fix skipping the compiler argument after
-c
. #9453 - Fix
-std:c++20
not being handled with cl.exe. #9458 - Fix bug with the environment being incorrect when compiler querying. #9472
- Fix duplicate compiler args in compiler query with custom configuration providers using cpptools-api prior to v6. #9531
- Fix process launching concurrency issues on Windows.
Known Issues
By-Design Breaking Change
- A single string with spaces in
compilerArgs
is no longer supported with 1.10.5. #9432
External
- Binary mismatch error. We believe it's a VS Code or external bug. #9433
1.11.0 (pre-release)
Instructions
Install it via using the Extensions view in VS Code and choosing the option "Switch to Pre-Release Version" or download a vsix that matches your OS from the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.65.0 or later.
Changes
New Features
- Add inlay hints for parameters and auto types. #5845
Bug Fixes
- Fix doxygen comments not being displayed for multiple adjacent
@brief
or@return
tags. #9316 - Fix crash if clang-tidy returns a replacement with an empty FilePath. #9437
- Fix hiding IntelliSense dependent commands when
C_Cpp.intelliSenseEngine
is"Disabled"
. #9451 - Fix skipping the compiler argument after
-c
. #9453 - Fix
-std:c++20
not being handled with cl.exe. #9458
Known Issues
Regressions
- The environment is incorrect when compiler querying. #9472
Other
1.10.7
Instructions
Install it via using the Extensions view in VS Code or download a vsix that matches your OS from Assets section below (or the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.63.0 or later.
Changes
Bug Fixes
- Fix bugs with process creation on Windows (which caused IntelliSense to fail). #9431
Known Issues
Regressions
By-Design Breaking Change
- A single string with spaces in
compilerArgs
is no longer supported with 1.10.5. #9432
External
- Binary mismatch error. We believe it's a VS Code or external bug. #9433
1.10.6
Instructions
Install it via using the Extensions view in VS Code or download a vsix that matches your OS from Assets section below (or the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.63.0 or later.
Changes
Bug Fixes
- Fix
@responseFile
incompilerArgs
not being handled on Linux/Mac. #9434 - Fix debug preLaunchTask not working when
C_Cpp.intelliSenseEngine
is"Disabled"
. #9446 - Make the
C_Cpp.legacyCompilerArgsBehavior
setting non-deprecated.
Known Issues
Regressions
- Some users are seeing IntelliSense, clang-format, and clang-tidy not working, i.e. child process creation is failing (stuck with "Searching for includes" or "Updating IntelliSense"). #9431
- Code analysis crashes in certain scenarios. #9437
By-Design Breaking Changes
- A single string with spaces in
compilerArgs
is no longer supported with 1.10.5. #9432
External
- Binary mismatch error. We believe it's a VS Code or external bug. #9433
1.10.5
Instructions
Install it via using the Extensions view in VS Code or download a vsix that matches your OS from Assets section below (or the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.63.0 or later.
Changes
New Features
- Add code actions to apply clang-tidy fixes (and other actions). #8476
- Added support for setting values on top level watch window expressions. #9019
- Make the "Run and Debug" button feature available to all users. #9306
Enhancements
- Add
C_Cpp.clangTidy.useBuildPath
setting to enable using-p
with clang-tidy. #8740, #8952 - Generate launch.json when adding a new debug configuration. #9100
- Prioritize the "folder" option when doing a
#include
completion. #9222 - Add compiler path to debug configuration details. PR #9264
- Update the bundled clang-format and clang-tidy to version 14.0.0.
Bug Fixes
- Fix 'System.NullReferenceException when continuing after adding breakpoint.' #1297
- Fix completion not working in
#define
definitions and in definition names when manually invoked. #4662, #8973, #9078 - Fix several IntelliSense bugs. #6226, #8294, #8530, #8725, #8751, #9076, #9224, #9336.
- Fix issue with shell processing incorrectly occurring for
arguments
fields incompile_commands.json
files. #8649 - Fix handling of
@response
files for clang-tidy on Windows. #8843, #9032, #9102 - Fix issue with inconsistent handling of shell escaping in compiler arg fields. All compiler arg array fields are now assumed to not include shell quoting, escaping or shell variables. Added a
C_Cpp.legacyCompilerArgsBehavior
to restore the legacy behavior. #8963 - Add localized strings for build tasks. #9051
- Fix Go to Definition with C for identifiers that are C++ keywords. #9081
- Fix the new Run/Debug Code button not working with a modified program location. #9082
- Fix
__GNUC__
system defines causing clang-tidy to undefine_Float32
. #9091 - Fix 'breakpoints set before launch in shared objects cannot be disabled/deleted' #9095
- Fix compiler querying failing for compilers that don't output system includes. #9099
- Fix completion occurring (when it shouldn't) after the comma in a definition list. #9101
- Fix
;
incorrectly matching forbreak;
andcontinue;
completion. #9115 - Fix Go to Definition on a
#include
with an absolute path. #9287 - Fix formatting issue with vcFormat when using multi-byte UTF-8 sequences. #9297
- Fix language server disabling due to a TypeError when invalid json values are used. #9302
- Add support for "user" level and "workspace" level debug configurations. #9319
- Prevent language service activation for macOS older than 10.12. PR #9328
- Fix code analysis with g++ 12 system headers. #9347
- Enable correct symbol parsing for methods that call loop-like macros without requiring the macro be added to cpp.hint. #9378
- Fix a code analysis error when C++23 is used. #9404
- Fix a potential crash in cpptools (in
get_identifier_at_offset
). - Other Run and Debug button updates/fixes.
Known Issues
Regressions
- Some users are seeing IntelliSense not working (stuck with "Searching for includes" or "Updating IntelliSense"). #9431
- '@responseFile' in
compilerArgs
doesn't work on Linux/Mac with 1.10.5 (IntelliSense breaks). #9434 - Code analysis crashes in certain scenarios. #9437
- Debug preLaunchTask fails if
C_Cpp.intelliSenseEngine
is set to "Disabled". #9446
By-Design Breaking Changes
- A single string with spaces in
compilerArgs
is no longer supported with 1.10.5. #9432
External
- Binary mismatch error. We believe it's a VS Code or external bug. #9433
1.9.8
Instructions
Install it via using the Extensions view in VS Code or download a vsix that matches your OS from Assets section below (or the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.63.0 or later.
Changes
Bug Fixes
- Fix an issue with extension activation failing if
C_Cpp.intelliSenseEngine
was set toDisabled
. #9083
1.9.7
Instructions
Install it via using the Extensions view in VS Code or download a vsix that matches your OS from Assets section below (or the "Download" dropdown in the "Version History" tab section on the Marketplace website) and then use the Extensions: 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.63.0 or later.
Changes
New Features
- Add debugger support for Apple M1 (osx-arm64). #7035
- Resolves issue "[Big Sur M1] ERROR: Unable to start debugging. Unexpected LLDB output from command "-exec-run". process exited with status -1 (attach failed ((os/kern) invalid argument))". #6779
- Add a build and debug button when
C_Cpp.debugShortcut
istrue
. #7497- The "Build and Debug Active File" command has been split into "Debug C++ File" and "Run C++ File", and it has been removed from the context menu.
- Add Alpine Linux arm64 support (VSIX).
- Add x64 debugger for CppVsdbg on Windows x64.
Enhancements
- Reserved identifiers with characters that match typed characters in the correct order but not contiguously are initially filtered in the auto-completion list. Doing a
ctrl
+space
in the same location will show all auto-complete suggestions. #4939 - Add
dotConfig
property to IntelliSense Configuration (c_cpp_properties.json) to use .config file created by Kconfig system.- Matheus Castello (@microhobby) PR #7845
- Rework how cancelation is processed for semantic tokens and folding operations. PR #8739
- Make SwitchHeaderSource use the
workbench.editor.revealIfOpen
setting.- Joel Smith (@joelmsmith) PR #8857
- Add tag parser error logging. #8907
- Add error and warning messages if the VSIX for an incompatible or mismatching platform or architecture is installed. #8908
- Add a "More Info" option when an incompatible VSIX is encountered. PR #8920
- Add
;
tobreak
andcontinue
completion keywords. #8932 - Prevent stripping of format specifiers from -exec commands.
- Gareth Rees (@gareth-rees) MIEngine#1277
- Improve messages for unknown breakpoints and watchpoints.
- Gareth Rees (@gareth-rees) MIEngine#1282
Bug Fixes
- Fix some IntelliSense parsing bugs. #5117
- Fix IntelliSense process crashes caused by a stack overflow on Mac. #7215, #8653
- Fix exclusions not applying during tag parsing of non-recursive dependent includes. #8702
- Fix issue that could cause an infinite loop when clicking on a preprocessor conditional directive. #8717
- Fix excludes applying to cases it should not when running code analysis. #8724
- Fix a crash when visualizing local variables for Microsoft Edge (msedge.exe) #8738
- Fix some system defines being incorrectly removed when running code analysis. #8740
- Prevent an error from being logged due to custom configuration processing prior to the provider being ready. #8752
- Fix incorrect crash recovery with multiroot. #8762
- Fix random compiler query, clang-tidy, or clang-format failure on Windows. #8764
- Fix invoking commands before cpptools is activated. #8785
- Fix a bug on Windows with semantic tokens updating. #8799
- Fix tag parser failure due to missing DLL dependencies on Windows. #8851
- Fix semantic tokens getting cleared for all other files in a TU after editing a file. #8867
- Fix a bug and typos with cppbuild task providers.
- Fix an issue that could cause the extension to fail to start up properly. PR #8906
- Fix handling of
-B
with compiler querying. #8962 - Fix incorrect "Running clang-tidy" status indications with multi-root workspaces. #8964
- Fix a crash during shutdown and potential database resetting due to shutdown being aborted too soon. PR #8969
- Fix an issue that could cause the active file to not be configured by a configuration provider when custom configurations are reset. #8974
- Fix detection of Visual Studio 2015. #8975
- Fix mingw clang being detected as gcc. #9024
- Fix a random crash on file open.
- Fix some IntelliSense crashes.
- Fix some IntelliSense parsing bugs.
- Fix a bug with IntelliSense updating not working if a file was closed and reopened while its TU was processing an update.
- Fix a potential heap corruption when
files.associations
are changed. - Update translated text.
Documentation
- Clarify how to get binaries when debugging the source from GitHub.
- Hamir Mahal (@hamirmahal) PR #8788
Note
- This release is identical to 1.9.6 (pre-release), other than being built for the "release" channel and an updated changelog.