Releases: microsoft/vscode-cpptools
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.showSpacesetting. #9486 - Make
C_Cpp.debugShortcutsettable 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.intelliSenseEngineis set to"Disabled". #9277 - Fix the code analysis "disable" option not automatically clearing the disabled diagnostics. #9364
- Fix
-isystemnot 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.debugShortcutsettable 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++20not 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
compilerArgsis 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
@briefor@returntags. #9316 - Fix crash if clang-tidy returns a replacement with an empty FilePath. #9437
- Fix hiding IntelliSense dependent commands when
C_Cpp.intelliSenseEngineis"Disabled". #9451 - Fix skipping the compiler argument after
-c. #9453 - Fix
-std:c++20not 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
compilerArgsis 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
@responseFileincompilerArgsnot being handled on Linux/Mac. #9434 - Fix debug preLaunchTask not working when
C_Cpp.intelliSenseEngineis"Disabled". #9446 - Make the
C_Cpp.legacyCompilerArgsBehaviorsetting 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
compilerArgsis 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.useBuildPathsetting to enable using-pwith clang-tidy. #8740, #8952 - Generate launch.json when adding a new debug configuration. #9100
- Prioritize the "folder" option when doing a
#includecompletion. #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
#definedefinitions 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
argumentsfields incompile_commands.jsonfiles. #8649 - Fix handling of
@responsefiles 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.legacyCompilerArgsBehaviorto 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
#includewith 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
compilerArgsdoesn'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.intelliSenseEngineis set to "Disabled". #9446
By-Design Breaking Changes
- A single string with spaces in
compilerArgsis 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.intelliSenseEnginewas 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.debugShortcutistrue. #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+spacein the same location will show all auto-complete suggestions. #4939 - Add
dotConfigproperty 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.revealIfOpensetting.- 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
;tobreakandcontinuecompletion 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
-Bwith 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.associationsare 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.
1.9.6-prerelease1
Instructions
- Download the vsix in the Assets section which matches your OS (Alpine Linux x64 is not available until 1.9.6) 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).
- Let us know if anyone is able to repro bug #9041. If it's good, then we can publish this as 1.9.6.
UPDATE: It wasn't fixed -- got a repro. I've removed the vsix's.
Requirements
- VS Code 1.63.0 or later.
Changes
Bug Fix
- Redo 1.9.4 changes with a (potential) fix for issue #9041
1.9.4-debug (Windows x64)
UPDATE: The vsix has been removed. The problem is vcmeta.dll is failing to load, possibly due to a missing dependency that ships next to cl.exe in VS 2022.
This is a debug build for Windows x64 intended to be used to get assertion failure information for bug #8851. The other changes are still going to be in 1.9.4, but built for release instead of debug. The debug build is a lot slower and may cause annoying assertion failure dialog boxes to appear so it's not recommended to be used in general. We plan to remove this Release after we've gotten the assertion info.
Instructions
- Download the cpptools-win64.vsix in the Assets section (assuming you're running Windows x64) 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.63.0 or later.
Changes
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+spacein the same location will show all auto-complete suggestions. #4939 - Show "Catastrophic error" during tag parsing with an Error logging severity and report the number of occurrences via telemetry. #9013