Releases: microsoft/vscode-cpptools
1.14.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 Behavior
- The extension does not automatically query compilers that it cannot implicitly trust when configuring IntelliSense. This may impact the extension's ability to locate system headers. If the compiler you want us to emulate is not in the $PATH and you accidentally dismissed the notification asking you to confirm the compiler we found, run the
C/C++: Select Default Compiler
command to instruct the extension which compiler to emulate for IntelliSense.
New Features
- Add recursive macro expansion on hover. #3579
- Move status bar items to the language status UI. #8405
- This may not be enabled for all users unless
C_Cpp.experimentalFeatures
istrue
.
- This may not be enabled for all users unless
- Add the 'Select Default Compiler' command that lets you choose a default compiler to configure IntelliSense. #10027
Enhancements
- Exclude rename results external to the workspace. #9235
- Add error messages for Create Declaration / Definition. #10163
- Add support for LLVM-based Intel C/C++ compilers. #10218
- SSH output improvements. PR #10292
- Reorder commands in the code action context menu. #10400
- Add Ada to supported languages for debugging. #10475
- Anthony Leonardo Gracio (@AnthonyLeonardoGracio) PR #10476
Bug Fixes
- Fix usage of relative paths in IntelliSense configuration settings with multi-root workspaces. #4983
- Fix infinite recursion in scout_parser. #8898
- Fix an IntelliSense crash with the seqan3 library. #8956
- Fix looping between C and C++. #9689
- Fix Doxygen comments for the function signature being autogenerated when typing inside a function. #9742
- Show a reload prompt after
C_Cpp.hover
is changed. #10076 - Fix function inlay hints not working with
std::string_literal
arguments. #10078 - Fix IntelliSense completion for
std::string
with?:
andstring()
. #10103 - Fix semantic colorization not working in a certain case. #10105
- Fix IntelliSense completion not working inside constructor calls that are incomplete. #10111
- Fix changes to the enclosing type not being taken into account after "Create Declaration / Definition" is used once. #10162
- Fix "False positive expression must have a constant value with __builtin_choose_expr in _Static_assert". #10168
- Fix Create Declaration / Definition with an anonymous namespace. #10189
- Fix file exclusions not being applied to the first directory found for each browse.path entry. #10205
- Fix IntelliSense mode auto-detection for VS 2015 compiler paths. #10207
- Fix clang-cl 15 querying with /WX. #10221
- Fix an incorrect IntelliSense error with
std::bind
, c++17, and windows-msvc-arm64 mode. #10304 - Fix vcFormat when using lambda functions. #10326
- Fix IntelliSense crash in field_for_lambda_capture. #10359
- Fix for cpptools getting shutdown after waking up from sleep. #10362
- Fix an IntelliSense crash when using the French language pack. #10374
- Fix the process id picker only showing part of the process on a remote machine. #10379
- Fix temp files generating at the incorrect path. #10386
- Fix a crash in extractArgs. PR #10394
- Fix a bug with settings changes not being handled correctly for multiroot. PR #10458
Known Issues
- Nothing major so far.
1.14.2 (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
Enhancements
- Add error messages for Create Declaration / Definition. #10163
- Follow up changes to the new status UI. #10413
- Add Ada to supported languages for debugging. #10475
- Anthony Leonardo Gracio (@AnthonyLeonardoGracio) PR #10476
Bug Fixes
- Show a reload prompt after
C_Cpp.hover
is changed. #10076 - Fix a bug with settings changes not being handled correctly for multiroot. PR #10458
- Fix a crash with empty PATH entries on Linux/Mac.
Known Issues
- None so far.
1.14.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
New Features
- Add recursive macro expansion on hover. #3579
- Move status bar items to the language status UI. #8405
- Add the Select Default Compiler command that lets you choose a default compiler to configure IntelliSense. #10027
Enhancements
- Exclude rename results external to the workspace. #9235
- Reorder commands in the code action context menu. #10400
Bug Fixes
- Fix Create Declaration / Definition with an anonymous namespace. #10189
- Potential fix for cpptools getting shutdown after waking up from sleep. #10362
- Fix the process id picker only showing part of the process on a remote machine. #10379
- Fix temp files generating at the incorrect path. #10386
- Fix a crash in extractArgs. PR #10394
Known Issues
- Changes to settings (e.g.
C_Cpp.default.compilerPath
) may not get updated in the non-active workspace folders. PR #10458
1.14.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
Enhancements
Bug Fixes
- Fix usage of relative paths in IntelliSense configuration settings with multi-root workspaces. #4983
- Fix infinite recursion in scout_parser. #8898
- Fix an IntelliSense crash with the seqan3 library. #8956
- Fix looping between C and C++. #9689
- Fix Doxygen comments for the function signature being autogenerated when typing inside a function. #9742
- Fix function inlay hints not working with
std::string_literal
arguments. #10078 - Fix IntelliSense completion for
std::string
with?:
andstring()
. #10103 - Fix semantic colorization not working in a certain case. #10105
- Fix IntelliSense completion not working inside constuctor calls that are incomplete. #10111
- Fix changes to the enclosing type not being taken into account after "Create Declaration / Definition" is used once. #10162
- Fix "False positive expression must have a constant value with __builtin_choose_expr in _Static_assert". #10168
- Fix file exclusions not being applied to the first directory found for each browse.path entry. #10205
- Fix IntelliSense mode auto-detection for VS 2015 compiler paths. #10207
- Fix clang-cl 15 querying with /WX. #10221
- Fix an incorrect IntelliSense error with
std::bind
, c++17, and windows-msvc-arm64 mode. #10304 - Fix vcFormat when using lambda functions. #10326
- Fix IntelliSense crash in field_for_lambda_capture. #10359
Known Issues
- None so far.
1.13.9
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 clang-format and clang-tidy not working for macOS 11 arm64. #10282
1.13.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.67.0 or later.
Changes
Bug Fixes
- Fix tag parser failure on machines with multiple extension users. #10224
- Fix a
--using_directory
IntelliSense error if LIBPATH is defined with non-msvc IntelliSense modes. #10249 - Fix a crash when the configuration name is missing. #10251
- Fix clang-format and clang-tidy not working for macOS 11 arm64. #10282
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