Releases: microsoft/vscode-cpptools
1.19.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.67.0 or later.
Changes
Enhancements
- Change how
args
andcommand
fields are handled incppbuild
tasks, to match the behavior of VS Codeshell
build tasks, including explicitquoting
support. #12001 - Enable C23 IntelliSense support, and add support for
clatest
std
value for MSVC. #12020
Bug Fixes
- Fix the IntelliSense cache not being pruned. #11925
- Fix an issue with duplicate
Add #include
code actions appearing if the same header name exists in multiple locations. #11989 - Fix compiler querying with a
-index-store-path
argument. #12012 - Fix an issue with changes to
C_Cpp.inlayHints
settings not taking effect immediately. #12013 - Fix an issue with how Doxygen
brief
andparam
are displayed on hover. #12015 - Fix an issue preventing the extension from functioning if installed via snap on Linux. #12021
- Fix compiler querying with a
-Xclang -mllvm
argument. #12024 - Fix the include graph lookup not occurring for source files. #12036
- Fix exclusions not applying to dependent headers with recursive includes. #12042
- Fix a potential cpptools process hang on shutdown.
1.19.4
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.67.0 or later.
Changes
Enhancements
- Enable support for fuzzy symbol searches. #2751
- This may not be enabled for all users unless
C_Cpp.experimentalFeatures
isenabled
.
- This may not be enabled for all users unless
- Implement progressive population of IntelliSense results. #7759
- Improve performance of symbol searches. #7908, #7914, #11557
- This may not be enabled for all users unless
C_Cpp.experimentalFeatures
isenabled
.
- This may not be enabled for all users unless
- Support insert mode for auto-complete. #10613
- Use the
"[cpp]": { "editor.suggest.insertMode": "insert" }
and"[c]": { "editor.suggest.insertMode": "insert" }
settings to override the extension's defaults.
- Use the
- Improve memory efficiency by using token parsing in the 'Add #include' feature. #11515
- Change the default setting value for
C_Cpp.intelliSenseUpdateDelay
from 2s to 1s. PR #11932 - Improve the types supported for the 'Add #include' code action.
- Various performance improvements.
Bug Fixes
- Fix IntelliSense bug with type deduction using concepts. #8132
- Fix clang-format error messages not being logged. #8944
- Fix indentation missing in markdown fenced code blocks. #11379
- Fix shell escaping for
cppbuild
task command line arguments. #11422 - Fix IntelliSense not updating when a
#include
is added from a refactor command. #11549 - Fix 'Add '#include' code actions for Mac frameworks. #11579
- Fix the parent path of the source file in
compile_commands.json
not being added to the browse.path. #11631 - Fix the database not getting updated in certain cases when switching configurations. #11649
- Fix a cpptools crash with certain projects. #11674
- Fix snippet and include completion. #11715, #11720
- Fix formatting not working in headers after using 'Extract to Function'. #11729
- Fix document symbol requests not checking for cancellation. #11750
- Fix the default
editor.wordBasedSuggestions
setting for VS Code versions 1.85 or newer. PR #11773- This change doesn't work with VS Code versions 1.84 or older, due to Microsoft/vscode#200685
- Fix code analysis results getting cleared after there's a configuration update. #11790
- Fix an exception getting thrown if IntelliSense is disabled but a configuration provider is registered. #11795
- Fix an EACCES error when using include wildcards with system includes. #11833
- Fix German code analysis translations. PR #11845
- Thank you for the contribution. @Sir2B (Tobias Obermayer)
- Trim trailing spaces from include paths in the configuration UI. #11862
- Fix comma delimited lists in
@param
Doxygen parameters. #11868 - Fix incorrect errors for
compilerPath
in the configuration UI for compilers that can be found in PATH. #11903 - Fix an issue with include sorting when formatting with clang-format. #11914
- Fix the
-include
arg of-Xarg_<arg1>
getting filtered out, leading to a failed compiler query. #11965 - Fix the
-arch
flag overwriting the-target
flag's value when it shouldn't. #11971 - Fix an issue in which the directory specified in a
compile_commands.json
was not being used as the current directory when querying the specified compiler path. - Fix an issue with configuring IntelliSense for a header file after having chosen an associated source file in which inclusion of the header is disabled or removed.
- Fix an issue where use of an explicit
compilerPath
to override the compiler in acompile_commands.json
will also throw out the compiler arguments. - Fix IntelliSense passes occurring while a user is still typing, instead of honoring the
C_Cpp.intelliSenseUpdateDelay
setting. - Fix issues related to support for C++ modules and parsing of related compiler arguments.
- Fix issues with the tag parsing status sometimes not being accurately reflected in the UI.
- Fix document and workspace symbol requests being blocked by an IntelliSense request.
- Remove the requirement that a file be open in the editor from various LSP requests.
- Fix a crash if
compile_commands.json
doesn't have an array at the root. - Fix a call hierarchy bug leading to use of header-only TU's unnecessarily.
- Fix an issue that could result in the Outline pane not being populated.
- Fix a bug that could lead to missing TU source file candidates.
- Address multiple issues with compiler querying of clang-cl.
- Fix a potential crash when using 'Find All References'.
- Fix a "random" IntelliSense crash during completion.
- Fix a crash if access to
/dev/urandom
is restricted. - Fix some crashes reported by crash telemetry.
- Lots of other minor fixes.
1.19.3
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.67.0 or later.
Changes
Enhancements
- Enable support for fuzzy symbol searches. #2751
- This may not be enabled for all users unless
C_Cpp.experimentalFeatures
is"enabled"
.
- This may not be enabled for all users unless
- Improve performance of symbol searches. #7908, #7914, #11557
- This may not be enabled for all users unless
C_Cpp.experimentalFeatures
is"enabled"
.
- This may not be enabled for all users unless
- Change the default setting value for
C_Cpp.intelliSenseUpdateDelay
from 2s to 1s. #11932
Bug Fixes
- Trim trailing spaces from include paths in the configuration UI. #11862
- Fix comma delimited lists in
@param
Doxygen parameters. #11868 - Fix incorrect errors for
compilerPath
in the configuration UI for compilers that can be found in PATH. #11903 - Fix an issue with include sorting when formatting with clang-format. #11914
- Fix issues related to support for C++ modules and parsing of related compiler arguments.
- Remove the requirement that a file be open in the editor from various LSP requests.
- Fix an issue that could result in the Outline pane not being populated.
- Fix an issue where use of an explicit
compilerPath
to override the compiler in acompile_commands.json
with also throw out the compiler arguments. - Fix some crashes reported by crash telemetry.
- Address multiple issues with compiler querying of clang-cl.
- Fix issues with the tag parsing status sometimes not being accurately reflected in the UI.
- Fix an issue with configuring IntelliSense for a header file after having chosen an associated source file in which inclusion of the header is disabled or removed.
- Fix a potential crash when using 'Find All References'.
- Fix an issue in which the directory specified in a
compile_commands.json
was not being used as the current directory when querying the specified compiler path. - Fix document and workspace symbol requests being blocked by an IntelliSense request.
1.19.2
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.67.0 or later.
Changes
Enhancements
- Implement progressive population of IntelliSense results. #7759
- Improve memory efficiency by using token parsing in the 'Add #include' feature. #11515
- Improve the types supported for the 'Add #include' code action.
- Various performance improvements.
Bug Fixes
- Fix shell escaping for
cppbuild
task command line arguments. #11422 - Fix IntelliSense not updating when a
#include
is added from a refactor command. #11549 - Fix formatting not working in headers after using 'Extract to Function'. #11729
- Fix document symbol requests not checking for cancellation. #11750
- Fix code analysis results getting cleared after there's a configuration update. #11790
- Fix an exception getting thrown if IntelliSense is disabled but a configuration provider is registered. #11795
- Fix German code analysis translations. PR #11845
- Thank you for the contribution @Sir2B (Tobias Obermayer)
- Fix an EACCES error when using include wildcards with system includes. #11833
- Fix IntelliSense passes occurring while a user is typing, not honoring the
C_Cpp.intelliSenseUpdateDelay
setting. - Fix a call hierarchy bug leading to use of header-only TU's unnecessarily.
- Fix a bug that could lead to missing TU source file candidates.
- Fix a "random" IntelliSense crash during completion.
- Fix a crash if access to
/dev/urandom
is restricted. - Lots of other minor fixes.
1.19.1
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.67.0 or later.
Changes
Bug Fixes
1.19.0
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.67.0 or later.
Changes
Bug Fixes
- Fix IntelliSense bug with type deduction using concepts. #8132
- Fix clang-format error messages not being logged. #8944
- Fix insert mode sometimes doing a replace for completion. #10613
- Fix indentation missing in markdown fenced code blocks. #11379
- Fix the parent path of the source file in compile_commands.json not being added to the browse.path. #11631
- Fix the database not getting updated in certain cases when switching configurations. #11649
- Fix a cpptools crash with certain projects. #11674
1.18.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.67.0 or later.
Changes
Bug Fixes
- Fix
~/vscode-cpptools
being used as the cache folder instead of~/.cache/vscode-cpptools
on Linux. #11693 - The Windows x86 vsix is published on the marketplace (it was not for 1.18.4).
1.18.4
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.67.0 or later.
Changes
Bug Fixes:
1.18.3
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.67.0 or later.
Changes
New Features
- Add an 'Extract to function' (or member function) code action after selecting code. #1162
- Compiler acquisition improvements. #10525
- Provide
Add '#include'
code action suggestions for IntelliSense errors related to symbols not being found. #10791
Enhancements
- Add keyboard support for 'Inline Macro'. #11260
- Add setting
C_Cpp.refactoring.includeHeader
to customize whether or not to add an include header when doing a refactoring code action. #11271 - Improve the walkthrough wording. #11320
- Update clang-format and clang-tidy to 17. PR #11491
- Add a pre-release available notification. PR #11569
Bug Fixes
- Fix the debugger truncating long strings when inspecting values. #1786
- Switch to using
XDG_CACHE_HOME
on Linux for the default database path. #10191 - Fix an IntelliSense error with std::is_trivially_copyable_v. #10712
- Fix incorrect status and commands with the tag parsing language status UI. #10749
- Fix an empty (
""
)compilerPath
in a base configuration overriding the compiler specified by a custom configuration provider or acompile_commands.json
. #11373 - Fix a startup crash when reading values from JSON (settings) that are not the type expected. #11375
- Fix a crash detected by crash telemetry. #11401
- Fix handling of an undefined
env
variable on Linux and macOS. #11447 - Fix multiple issues with querying
nvcc
(CUDA) as a compiler. #11454 - Fix an IntelliSense crash when hovering over an invalid array index expression. #11510
- Fix an issue that could cause a C language standard to be applied to a C++ file, or vice versa.
- Remove
cpp
andclang-cpp
preprocessors from the list of detectable compilers. - Fix an autocomplete crash bug (primarily on Mac).
Known Issue
- The extension sometimes failing to activate with VS Code versions less than 1.18. #11680
1.18.2 (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.67.0 or later.
Changes
Enhancement
- 'Extract to function' is enabled without
C_Cpp.experimentalFeatures
being set to"enabled"
.
Bug Fixes
- Fix 'Extract to function' for functions in a header file . #11466
- Fix 'Extract to function' for functions in an anonymous namespace. #11474
- Fix 'Extract to function' for C code with typedefs or structs. #11475
- Fix an IntelliSense crash when hovering over an invalid array index expression. #11510
- Fix 'Add #include' code actions not appearing for "is not a template" errors. #11543
- Fix 'Extract to function' bugs with formatting and selection. #11614, #11619
- Fix 'Add #include' code actions being available for system headers that are already included. #11618
- Fix an IntelliSense crash when selecting code.
Known Issue
- 'Extract to function' may not work if there's a UTF-8 > 1-byte character in the file. #11640