Releases: microsoft/vscode-cpptools
1.13.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.67.0 or later.
Changes
Bug Fix
- Fix
files.associations
not working. #10244
1.13.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.67.0 or later.
Changes
New Features
- Add the ability to generate definitions from declarations and vice versa. #664
- Add SSH Target Selector. PR #9760
- Add rsync support in deploySteps. PR #9808
Enhancements
- Add
C_Cpp.caseSensitiveFileSupport
for enabling case sensitive file handling on Windows. #1994 - Add sections to settings. #8237
- Make Doxygen hover comments customizable with
C_Cpp.doxygen.sectionTags
. #8525 - Add better build and debug task handling for when a compiler or debugger doesn't exist. #8836
- Delay applying
c_cpp_properties.json
changes until after a save. #9185 - Create directories on Linux/Mac with 755 instead of 777 permissions. #9670
- Check for MSVC environment variables for configuring IntelliSense. #9745
- Enable the inlay hint settings to be set per-workspace folder. #9782
- Add a
C_Cpp.hover
setting to enable disabling hover results. #9793 - Update to clang-format and clang-tidy 15.0.3. #9816
- Enable hiding the SSH Targets view with the
C_Cpp.sshTargetsView
setting. #9836 - Change "Enabled", "Disabled", "Default" settings to camelCase. PR #9862
- Add support for C++ modules IFC version 0.42. #9884
- Add SSH terminal for targets. PR #9895
- Make array settings give a warning for duplicates. PR #9959
- Add "iar" and "armcc5" problem matchers. #10054
- Pass
--Wno-error=unknown
to clang-format (12 or newer) to avoid failing on unsupported settings. #10072 - Add support for
/cygdrive
paths returned by some versions of Cygwin. #10112 - Switch from RapidJSON to VS's internal JSON parser.
Bug Fixes
- Fix "final" breaking formatting. #6638
- Fix incorrect Outline view with C++20 namespace ::inline syntax. #7216
- Fix updates to compile_commands.json not being handled if specified using a relative path. #7610
- Fix variadic macros not expanding correctly. #8178
- Fix the
editor.parameterHints.enabled
setting not being used whenC_Cpp.autocompleteAddParentheses
istrue
. #9314 - Fix IntelliSense bug "A result type of
__builtin_choose_expr
that returns a pointer to a function is not correctly inferred in clang mode". #9368 - Fix some invalid macro redefinition errors. #9435
- Fix wordexp sometimes getting stuck on Mac (and Linux). #9688
- Fix ctrl+space completion for Doxygen tags. #9732
- Fix the position of inlay parameter hints when using at or operator[]. #9741
- Fix
-std=
being passed to clang-tidy in certain cases . #9776 - Fix
${workspaceFolder}
not being resolved inC_Cpp.clang_format_style
. #9786 - Fix debugger visualization for ArrayItem elements more than 1000. #9801
- Fix extra comma in the generated the
(gdb) attach
configuration inlaunch.json
. #9818 - Fix IntelliSense crash with range-v3
ranges::views::addressof
. #9870 - Fix slow compiler querying. #9882
- Handle
-fexperimental-library
clang argument. #9888 - Fix compiler querying with multiple -arch. #9894
- Fix code analysis errors related to SSE being enabled when gcc is used. #9898
- Fix issue with parsing SSH configurations that could cause the extension to fail to activate. #9933
- Fix inlay hints showing "type" for lambdas in certain cases. #9971
- Resolve variables for
C_Cpp.codeAnalysis.clangTidy.args
andheaderFilter
. #9981, #9996 - Fix some translations. #9986, #10011, #10012, #10013
- Fix "Step Over past a logpoint stops at the wrong place". #9995
- Disable the "Generate Doxygen Comment" context menu when IntelliSense is disabled. PR #10007
- Fix Doxygen code action from appearing on a function that already has a
*/
comment. #10009 - Fix clang-tidy and clang-format not working on CentOS7 and other Linux OS's without glibc 2.27 or greater. #10019
- Fix various bugs with the
C_Cpp.codeAnalysis.clangTidy.headerFilter
setting. #10023 - Fix Doxygen comment generation when there's a selection. #10028
- Fix issue that could cause document corruption. #10035
- Fixed crash on Linux/Mac when a full command line is specified in
compilerPath
containing invalid arguments. PR #10070 - Fix random "Failed to spawn IntelliSense process: 65520" on Mac. #10091
- Fix "Don't hardcode path to kill in UnixUtilities". #10124
- Ellie Hermaszewska (@expipiplus1) PR #1373
- Fix formatting when clang-format 11 or earlier is used (and another issue for version 8 or earlier). #10178
- Fix "Natvis: are multi-dimensional arrays supported in gdb natvis?". MIEngine#980
- Fix include completion sorting extensionless headers (e.g. string) after headers with an extension (e.g. string.h).
- Fix extensionHost logging an error related to onWillSaveTextDocument whenever a save is done.
- Fix random "Failed to spawn IntelliSense process" on Mac.
- Fix a deadlock when IntelliSense errors are updating.
- Fix redundant rescan when adding a workspace folder.
Removed Feature
- Removed explicit WSL support in favor of using the WSL extension. PR #10066
Known Issues
- Changes to the enclosing type aren't taken into account after Create Declaration / Definition is used once. #10162
1.13.5 (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.67.0 or later.
Changes
Bug Fixes
- Fix "Step Over past a logpoint stops at the wrong place". #9995
- Fix "Don't hardcode path to kill in UnixUtilities". #10124
- Ellie Hermaszewska (@expipiplus1) PR #1373
- Fix the create declaration/definition feature not adding the definition if a new source file needs to be created. #10159
- Fix the create declaration/definition feature not having the correct cursor location after adding a definition. #10160
- Fix the create declaration/definition feature not formatting inserted definitions. #10161
- This has the side-effect of fixing the extra newlines created in a new file if clang-format is used. #10164
- However, clang-format 15 has a bug which can cause formatting of newly inserted definitions to fail in some cases: LLVM#59178
- Fix formatting when clang-format 11 or earlier is used (and another issue for version 8 or earlier). #10178
Known Issues
1.13.4
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
New Features
- Add the ability to generate definitions from declarations and vice versa. #664
Enhancements
- Add sections to settings. #8237
- Check for MSVC environment variables for configuring IntelliSense. #9745
- Add "iar" and "armcc5" problem matchers. #10054
- Pass
--Wno-error=unknown
to clang-format to avoid failing on unsupported settings. #10072 - Add support for
/cygdrive
paths returned by some versions of Cygwin. #10112
Bug Fixes
- Fix updates to compile_commands.json not being handled if specified using a relative path. #7610
- Fix code analysis errors related to SSE2 being enabled. #9898
- Fix Doxygen code action from appearing on a function that already has a
*/
comment. #10009 - Fix Doxygen comment generation when there's a selection. #10028
- Fixed crash on Linux/Mac when a full command line is specified in
compilerPath
containing invalid arguments. PR #10070 - Fix random "Failed to spawn IntelliSense process: 65520" on Mac. #10091
Removed Features
- Removed explicit WSL support in favor of using the WSL extension. #10066
- The fix for an IntelliSense crash with the seqan3 library #8956 in 1.13.3 was removed because it caused a regression. #10075
Known Issues
- Create declaration/definition does not complete operation when creating new file (re-running the operation after it creates the file will work around it). #10159
- Create declaration/definition does not select the correct range of new inserted text. #10160
- Create declaration/definition feature should format newly inserted definition or declaration. #10161
- Changes to the enclosing type of a function aren't not taken into account after Create Declaration / Definition is used once. #10162
- Creation declaration/definition that targets a new file (or an empty one) has 2 extra newlines. #10164
1.13.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
- Make Doxygen hover comments customizable with
C_Cpp.doxygen.sectionTags
. #8525 - Delay applying
c_cpp_properties.json
changes until after a save. #9185 - Create directories on Linux/Mac with 755 instead of 777 permissions. #9670
- Add a
C_Cpp.hover
setting to enable disabling hover results. #9793 - Update to clang-format and clang-tidy 15.0.3. #9816
- Make array settings give a warning for duplicates. PR #9959
Bug Fixes
- Fix "final" breaking formatting. #6638
- Fix an IntelliSense crash with the seqan3 library. #8956
- Fix the
editor.parameterHints.enabled
setting not being used whenC_Cpp.autocompleteAddParentheses
istrue
. #9314 - Fix wordexp sometimes getting stuck on Mac (and Linux). #9688
- Fix ctrl+space completion for Doxygen tags. #9732
- Fix inlay hints showing "type" for lambdas in certain cases. #9971
- Resolve variables for
C_Cpp.codeAnalysis.clangTidy.args
andheaderFilter
. #9981, #9996 - Fix some translations. #9986, #10011, #10012, #10013
- Disable the "Generate Doxygen Comment" context menu when IntelliSense is disabled. PR #10007
- Fix clang-tidy and clang-format not working on CentOS7 and other Linux OS's without glibc 2.27 or greater. #10019
- Fix various bugs with the
C_Cpp.codeAnalysis.clangTidy.headerFilter
setting. #10023 - Fix extensionHost logging an error related to onWillSaveTextDocument whenever a save is done.
- Fix random "Failed to spawn IntelliSense process" on Mac.
- Fix redundant rescan when adding a workspace folder.
Known Issues
- IntelliSense regression: #10075
1.13.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
- Enable the inlay hint settings to be set per-workspace folder. #9782
- Switch from RapidJSON to VS's internal JSON parser.
Bug Fixes
- Fix some invalid macro redefinition errors. #9435
- Reduce the occurrence of wordexp getting stuck. #9688
- Fix the position of inlay parameter hints when using at or operator[]. #9741
- Fix IntelliSense crash with range-v3
ranges::views::addressof
. #9870 - Fix slow compiler querying. #9882
- Fix clang-tidy errors related to
__SSE__
defines when gcc is used. #9898 - Fix issue with parsing SSH configurations that could cause the extension to fail to activate. #9933
Known Issues
1.13.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.67.0 or later.
Changes
Enhancements
- Enable hiding the SSH Targets view with the
C_Cpp.sshTargetsView
setting. #9836 - Change "Enabled", "Disabled", "Default" settings to camelCase. PR #9862
- Add support for C++ modules IFC version 0.42. #9884
- Add SSH terminal for targets. PR #9895
Bug Fixes
- Fix incorrect Outline view with C++20 namespace ::inline syntax. #7216
- Fix variadic macros not expanding correctly. #8178
- Add diagnostic changes for the issue with wordexp getting stuck. #9688
- Fix
-std=
being passed to clang-tidy in certain cases . #9776 - Fix debugger visualization for ArrayItem elements more than 1000. #9801
- Handle
-fexperimental-library
clang argument. #9888 - Fix compiler querying with multiple -arch. #9894
- Fix "Failed to read file C:\ProgramData\ssh\ssh_config." in logging . #9899
- Fix "Natvis: are multi-dimensional arrays supported in gdb natvis?". MIEngine#980
Known Issues
- None so far.
1.13.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.67.0 or later.
Changes
New Features
Enhancements
- Add
C_Cpp.caseSensitiveFileSupport
for enabling case sensitive file handling on Windows. #1994 - Add better build and debug task handling for when a compiler or debugger doesn't exist. #8836
Bug Fixes
- Fix
${workspaceFolder}
not being resolved inC_Cpp.clang_format_style
. #9786 - Fix extra comma in the generated the
(gdb) attach
configuration inlaunch.json
. #9818 - Fix include completion sorting extensionless headers (e.g. string) after headers with an extension (e.g. string.h).
Known Issues
- None so far.
1.12.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
Other
- Revert changes to telemetry key format. PR #9822
1.12.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 Doxygen comment generation via command, context menu, code action, or typing. #5683
- Add auto-complete of Doxygen keywords in comments.
Enhancements
- Add auto-formatting of lines that are changed by code analysis fixes. #9322
- Add compile arguments to enable colorized output in cppBuild tasks for clang. #9643
- Cache and reuse SSH passwords in the current remote debugging session. PR #9654
- Fix "natvis collections only show the first 50 elements". MIEngine#821
- Related #9377
- Fix "cppdbg doesn't support array view of char* buf". MIEngine#1258
- Support explicit
this
references in natvis files. - Do std fallback when compiler querying, even when explicitly specified via a compiler arg.
Bug Fixes
- Fix several IntelliSense parsing bugs. #3683, #6659, #7446, #9215
- Fix crash when tag parsing files containing certain string literals. #9538
- Fix incorrect semantic tokens with templated operator overloads. #9556
- Fix
.
to->
completion in functions defined in the class/struct definition. #9599 - Fix inlay hint filtering not working with some cases of whitespace. #9606
- Fix Chinese translation mistakes.
- Fix IntelliSense error with ARM register declarations. #9627
- Fix files with a
.c
extension not using a C++std
version passed in thecompilerArgs
orcompilerFragments
. #9628 - Fix unnecessary IntelliSense process restarting on file creation handling. #9630
- Fix tag parsing of classes and enums with attributes. #9672
- Add PID to the extended remote process picker. PR #9673
- Fix tag parser crash. #9679, #9695
- Fix code analysis fixes generating invalid code when the fix has escaped characters. #9683
- Fix unintended generation of
nul.d
file when querying clang or gcc, when compiler arguments include dependency generation arguments. #9707 - Fix code analysis fixes not being available when more than one check is associated with a fix. #9755
- Fix error when debugging is started without a launch.json and IntelliSense is disabled. #9762
- Fix "The result of GDB -exec evaluate request in all contexts is printed in debug console." MIEngine #1236
- Fix "Evaluating a variable after a failed Step Out causes a fatal error, leaving debug session unusable". MIEngine#1336
- Gareth Rees (@gareth-rees) PR MIEngine#1337
- Fix deadlock in HandleStackTraceRequestAsync where lock was hold too long.
- GeorgeMay (@JoergMeier106) PR MIEngine#1309
- Fix potential crashes on shutdown.
Known Issues (related to changes in this release)
- Doxygen comment generation "on type" doesn't work with
/**
or/*!
styles. #9799- This is planned for our next release.