* Add EvaluatableExpressionProvider to fix C/C++ debug hover on dereferenced members
VS Code's default debug data-tip keeps a leading `*`/`&` and clips on the right, so hovering
an intermediate member of e.g. `*a.b.c` evaluates `*a.b` (a dereference of the struct `a.b`)
and shows no value.
Register an EvaluatableExpressionProvider that, only for that case, returns the expression
without the leading operator. Every other expression returns undefined so the default
behavior is unchanged.
* Move the debug hover provider to the debugger
Register the EvaluatableExpressionProvider during debugger activation
instead of through the language client, so it also works when IntelliSense
is disabled, and move it next to the other debugger code.
The expression computation lives in a vscode-free module
(evaluatableExpression.ts) so it can be unit tested directly. Registering
a provider replaces VS Code's built-in data-tip expression detection, so
it reproduces that for ordinary tokens and additionally handles access
chains the built-in detection gets wrong for C/C++:
- A leading */& binds to the whole access chain (the postfix ., ->, []
operators bind tighter), so it is dropped for an interior member of a
dot chain, where *a.b would dereference the struct a.b, and kept on the
final member and before ->.
- Array subscripts and :: are kept in the token, so members after a
subscript (a.b[i].c) and scoped names (ns::var) resolve instead of
producing a broken fragment.
* Document why the leading-operator drop is .-only
The leading */& is kept before -> / [] and at the end of a chain because
those left operands are provably pointers/arrays, so *ptr->m, *a.b[i] and
&a[i] evaluate without error; it is dropped only before . where the left
operand may be a struct. Documents these keep-leading outcomes as deliberate
per review feedback.
* Decline non-token cursor positions inside a subscript
Inside [...] the token spans whitespace and operators (e.g. a[i + j]), so
returning the nearest identifier evaluated the wrong expression when the
cursor was on an operator or space. Return undefined unless the cursor is on
the index identifier itself, and add tests.
* Rewrite hover token detection with a balanced-bracket scanner
Replace the token regex with a manual scanner so nested subscripts (a[b[i]])
stay in one token, fix hovering past the last identifier truncating a trailing
subscript, and decline non-token positions inside [...] (operators/whitespace).
Keep the leading * only on the final dereferenced segment (including a final
subscript element like *a.b[i]); drop it on interior segments and drop a leading
& always. Removes the previous regex (and its ReDoS surface).
---------
Co-authored-by: Sean McManus <[email protected]>
* Expand undefined environment variables to empty
* Use unique env var name
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
* Marked optional capturing groups as potentially undefined
---------
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Add the `debuginfod` configuration option to both launch and attach
configurations for the cppdbg debugger type. This exposes the MIEngine
debuginfod settings (enabled/timeout) so users can control GDB's
debuginfod behavior and prevent hangs when debuginfod servers are
unreachable.
Adding additional parse checking logic to determine if idle state has no pending calls and finished workspace parsing, file parsing, and intellisense updates.
The primary purpose of this is for this flag to be consumed by the C++ devtools extensions. This way the C++ specific Copilot tools will only appear in tools list and register when the C++ language server is actually activated.
* Update changelog and TPN. (#14298)
* Update flatted and fast-xml-parser. (#14303)
* Bump flatted from 3.4.1 to 3.4.2 in /Extension (#14304)
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.4.1 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.4.1...v3.4.2)
---
updated-dependencies:
- dependency-name: flatted
dependency-version: 3.4.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update changelog with recent fixes. (#14313)
* Bump picomatch from 2.3.1 to 2.3.2 in /ExtensionPack (#14318)
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump picomatch from 2.3.1 to 2.3.2 in /.github/actions (#14319)
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sean McManus <[email protected]>
* Bump picomatch from 2.3.1 to 2.3.2 in /Themes (#14323)
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update picomatch. (#14324)
* Update brace-expansion v5. (#14325)
* Bump serialize-javascript from 7.0.4 to 7.0.5 in /.github/actions (#14332)
Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) from 7.0.4 to 7.0.5.
- [Release notes](https://github.com/yahoo/serialize-javascript/releases)
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v7.0.4...v7.0.5)
---
updated-dependencies:
- dependency-name: serialize-javascript
dependency-version: 7.0.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update brace-expansion and serialize-javascript. (#14328)
* minimize the calls to lm.selectChatModels (#14327)
* Update brace-expansion for other folders (#14333)
* Update brace-expansion for other folders.
* Update changelog for 1.31.4. (#14338)
* Bump @xmldom/xmldom from 0.8.11 to 0.8.12 in /Extension (#14340)
Bumps [@xmldom/xmldom](https://github.com/xmldom/xmldom) from 0.8.11 to 0.8.12.
- [Release notes](https://github.com/xmldom/xmldom/releases)
- [Changelog](https://github.com/xmldom/xmldom/blob/master/CHANGELOG.md)
- [Commits](https://github.com/xmldom/xmldom/compare/0.8.11...0.8.12)
---
updated-dependencies:
- dependency-name: "@xmldom/xmldom"
dependency-version: 0.8.12
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update TPN. (#14343)
* Update npmrc. (#14346)
* Prefer GPT-5-mini for Copilot Hover (#14349)
* Update lodash. (#14350)
* Fix npx @vscode/vsce. (#14354)
* Fix npx @vscode/vsce.
* Fix cg.yml. (#14355)
* UCRTVersion is not required for a developer environment (#14358)
* Update instructions for installing MSVC (#14361)
* Bump axios from 1.13.6 to 1.15.0 in /.github/actions (#14365)
Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.0)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add setting doxygen.generateOnCodeAction. (#14342)
* Run without debugging (#14351)
* Switch to GPT-4o. (#14364)
* Fallback to GPT-5.4-mini and cache the model used. (#14369)
* Fallback to GPT-5.4-mini and cache the model used.
* Add a script to copy language server and debugger binaries to the Extension folder (#14370)
* Add internal silent find-all-references command (#14281)
* Add internal silent find-all-references command
Introduce an internal C_Cpp.FindAllReferences command that issues the existing cpptools/findAllReferences request without joining the workspaceReferences single-flight cancellation path.
Extract the shared request and confirmed-location mapping logic from FindAllReferencesProvider so the existing vscode.executeReferenceProvider flow and the new silent command use the same request translation and cancellation handling for server-side cancel responses.
Keep the interactive provider behavior unchanged: user-invoked references still cancel prior work, reset reference progress state, and update the ReferencesManager UI. The new command resolves the owning client from the target URI and returns locations without progress UI, preview notifications, or references panel updates, enabling concurrent silent callers such as Copilot.
* Add internal quiet definition and call hierarchy commands
Align cpptools with the companion changes that now prefer internal
C_Cpp.* navigation commands over the generic vscode.* provider commands
when running extension-driven symbol queries.
Add C_Cpp.GoToDefinition, C_Cpp.PrepareCallHierarchy,
C_Cpp.CallHierarchyCallsTo, and C_Cpp.CallHierarchyCallsFrom as
internal commands that resolve the owning DefaultClient from the target
URI and send requests directly to cpptools without joining the
workspaceReferences UI and single-flight cancellation path.
Extract shared call hierarchy request and conversion logic from
CallHierarchyProvider so the existing interactive provider flow and the
new silent commands share the same request translation and
server-cancellation handling.
Add a dedicated go-to-definition helper that sends the standard
definition request through the language client and normalizes both
Location and DefinitionLink responses to Location[] so companion callers
can consume a stable result shape.
Keep interactive behavior unchanged: user-invoked providers continue to
use the existing VS Code registrations, progress handling, and
workspaceReferences-driven cancellation semantics, while extension
callers such as the devtools companion can use the new internal command
surface without canceling overlapping work.
* Update changelog for 1.32.0. (#14373)
* Update changelog for 1.32.0.
---------
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Luca <[email protected]>
Co-authored-by: Ben McMorran <[email protected]>
Co-authored-by: Bob Brown <[email protected]>
Co-authored-by: Carson Radtke <[email protected]>
* Add internal silent find-all-references command
Introduce an internal C_Cpp.FindAllReferences command that issues the existing cpptools/findAllReferences request without joining the workspaceReferences single-flight cancellation path.
Extract the shared request and confirmed-location mapping logic from FindAllReferencesProvider so the existing vscode.executeReferenceProvider flow and the new silent command use the same request translation and cancellation handling for server-side cancel responses.
Keep the interactive provider behavior unchanged: user-invoked references still cancel prior work, reset reference progress state, and update the ReferencesManager UI. The new command resolves the owning client from the target URI and returns locations without progress UI, preview notifications, or references panel updates, enabling concurrent silent callers such as Copilot.
* Add internal quiet definition and call hierarchy commands
Align cpptools with the companion changes that now prefer internal
C_Cpp.* navigation commands over the generic vscode.* provider commands
when running extension-driven symbol queries.
Add C_Cpp.GoToDefinition, C_Cpp.PrepareCallHierarchy,
C_Cpp.CallHierarchyCallsTo, and C_Cpp.CallHierarchyCallsFrom as
internal commands that resolve the owning DefaultClient from the target
URI and send requests directly to cpptools without joining the
workspaceReferences UI and single-flight cancellation path.
Extract shared call hierarchy request and conversion logic from
CallHierarchyProvider so the existing interactive provider flow and the
new silent commands share the same request translation and
server-cancellation handling.
Add a dedicated go-to-definition helper that sends the standard
definition request through the language client and normalizes both
Location and DefinitionLink responses to Location[] so companion callers
can consume a stable result shape.
Keep interactive behavior unchanged: user-invoked providers continue to
use the existing VS Code registrations, progress handling, and
workspaceReferences-driven cancellation semantics, while extension
callers such as the devtools companion can use the new internal command
surface without canceling overlapping work.
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Add Comment
@@ -27,3 +30,4 @@ jobs:
createdAfter:"2024-07-22"
addComment:"Thank you for reporting this issue. We’ll let you know if we need more information to investigate it. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v3
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -28,3 +31,4 @@ jobs:
closeComment:"This issue has been closed because the described behavior was determined to be by design."
pingDays:80
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -28,3 +31,4 @@ jobs:
closeComment:"This issue has been closed because it is a duplicate of another issue we are tracking."
pingDays:80
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -30,3 +33,4 @@ jobs:
closeComment:"This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -30,3 +33,4 @@ jobs:
closeComment:"This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -30,3 +33,4 @@ jobs:
closeComment:"This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -30,3 +33,4 @@ jobs:
closeComment:"This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Add Comment
@@ -27,3 +30,4 @@ jobs:
createdAfter:"2024-07-22"
addComment:"Thank you for your feature request. While we may not be able to implement it immediately, we will monitor community reactions to see how it fits into our backlog. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -26,3 +29,4 @@ jobs:
ignoreLabels:Language Service,internal
closeDays:180
closeComment:"This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -26,3 +29,4 @@ jobs:
ignoreLabels:Language Service,internal
closeDays:180
closeComment:"This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -29,3 +32,4 @@ jobs:
closeComment:"This issue has been closed because it needs more information and has not had recent activity."
pingDays:7
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -28,3 +31,4 @@ jobs:
closeComment:"This issue has been closed because it needs more information and has not had recent activity."
pingDays:14
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -29,3 +32,4 @@ jobs:
closeComment:"This issue has been closed because it is a question and has not had recent activity."
pingDays:7
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
description:"readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default:false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24:true
jobs:
main:
runs-on:ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v2
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Stale Closer
@@ -28,3 +31,4 @@ jobs:
closeComment:"This issue has been closed because it is a question and has not had recent activity."
pingDays:80
pingComment:"Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
* Allow platform overrides in `cppbuild` tasks. [#11601](https://github.com/microsoft/vscode-cpptools/issues/11601)
### Bug Fixes
* Fix `[[no_unique_address]]` empty-base layout `sizeof` being computed too large. [#14524](https://github.com/microsoft/vscode-cpptools/issues/14524)
* Fix C/C++ debug data-tips on members of a dereferenced expression. [PR #14540](https://github.com/microsoft/vscode-cpptools/pull/14540)
* Thanks for the contribution. [@tieo](https://github.com/tieo)
* Fix `clang-format`/`clang-tidy` version check failing on Windows. [PR #14552](https://github.com/microsoft/vscode-cpptools/pull/14552)
* Fix Windows backslash paths being mangled when adding an SSH target. [PR #14554](https://github.com/microsoft/vscode-cpptools/pull/14554)
* Fix "directory_cache" crashes.
* Fix spurious IntelliSense error on `std::variant` brace-initialization.
## Version 1.33.2: June 26, 2026
### Bug Fixes
* Fix a regression with 'Find All References' with functions that exist in both C and C++ files. [#14546](https://github.com/microsoft/vscode-cpptools/issues/14546)
## Version 1.33.1: June 23, 2026
### Bug Fixes
* Fix 'Find All References' dropping valid references when a template parameter type has a typedef alias in only one translation unit. [#14344](https://github.com/microsoft/vscode-cpptools/issues/14344)
* Fix a crash regression on file open.
* Fix IntelliSense incorrectly resolving `#include` files through a symbolic link after the target directory was deleted from disk.
* Fix "tag parsing finished" status randomly getting reported too soon after a 'Reset IntelliSense Database' command.
## Version 1.33.0: June 22, 2026
### New Feature
* Unification of tag parsing with the VS implementation. In particular, it's now done using multiple parallel `cpptools-srv2` processes. [PR #14426](https://github.com/microsoft/vscode-cpptools/pull/14426)
### Enhancements
* Add the `debuginfod` launch option to the `cppdbg` debugger schema. [#14458](https://github.com/microsoft/vscode-cpptools/issues/14458), [#14460](https://github.com/microsoft/vscode-cpptools/issues/14460), [PR #14471](https://github.com/microsoft/vscode-cpptools/pull/14471), [PR #14506](https://github.com/microsoft/vscode-cpptools/pull/14506), [MIEngine#1562](https://github.com/microsoft/MIEngine/issues/1562)
* Add the `ignoreRunWithoutDebuggingWarnings` property to allow 'Run without debugging' warnings to be suppressed. [#14515](https://github.com/microsoft/vscode-cpptools/issues/14515)
* Various localization updates.
### Bug Fixes
* Fix an incorrect `invalid type conversion` IntelliSense error. [#11294](https://github.com/microsoft/vscode-cpptools/issues/11294)
* Fix include completion (with recursive includes) still suggesting headers from a deleted folder. [#12636](https://github.com/microsoft/vscode-cpptools/issues/12636)
* Add `important` to `C_Cpp.doxygen.sectionTags`. [PR #14473](https://github.com/microsoft/vscode-cpptools/pull/14473)
* Update the minimum supported VS Code version to 1.77. [PR #14502](https://github.com/microsoft/vscode-cpptools/pull/14502)
* Fix issues with the debugger `launch.json` schema. [PR #14523](https://github.com/microsoft/vscode-cpptools/pull/14523)
* Fix `${env:VAR}` and `${env.VAR}` not expanding to an empty string when the environment variable is unset, to match VS Code's behavior. [PR #14535](https://github.com/microsoft/vscode-cpptools/pull/14535)
* Thanks for the contribution. [@notable-equivalent](https://github.com/notable-equivalent)
* Fix the `C_Cpp.refactoring.includeHeader` setting not honoring `always`.
* Various other fixes found internally.
## Version 1.32.2: April 28, 2026
### New Feature
* Add support for "Run without debugging". [#1201](https://github.com/microsoft/vscode-cpptools/issues/1201)
### Enhancements
* Add a `C_Cpp.doxygen.generateOnCodeAction` setting to allow disabling of Doxygen generation code actions. [#14341](https://github.com/microsoft/vscode-cpptools/issues/14341)
* Add a `cpptools.waitForTagParsing` command (for use by the `C/C++ DevTools` extension). [PR #14407](https://github.com/microsoft/vscode-cpptools/pull/14407/changes)
* Improve wildcard matching with the debugger natvis. [MIEngine#1162](https://github.com/microsoft/MIEngine/issues/1162)
* Add support for `HideRawView` with the debugger natvis. [MIEngine#1458](https://github.com/microsoft/MIEngine/issues/1458)
### Bug Fixes
* Fix high CPU usage caused by repeated calls to `selectChatModels`. [#14168](https://github.com/microsoft/vscode-cpptools/issues/14168), [#14211](https://github.com/microsoft/vscode-cpptools/issues/14211), [#14241](https://github.com/microsoft/vscode-cpptools/issues/14241)
* Fix the MSVC developer environment not working if `UCRTVersion` isn't found, and update the walkthrough instructions for installing MSVC. [#14352](https://github.com/microsoft/vscode-cpptools/issues/14352)
* Fix an IntelliSense crash when three special-case comments are used in a template. [#14360](https://github.com/microsoft/vscode-cpptools/issues/14360)
* Fix Copilot hover taking too many premium requests. [#14372](https://github.com/microsoft/vscode-cpptools/issues/14372)
* Fix null pointers being expandable for variables in the debugger. [MIEngine#698](https://github.com/microsoft/MIEngine/issues/698)
* Fix recursive `{this}` evaluation with the debugger natvis. [MIEngine#1391](https://github.com/microsoft/MIEngine/issues/1391)
* Update clang-tidy and clang-format from 22.1.1 to 22.1.3 (bug fixes).
* Fix a bug with semantic colorization of operators.
## Version 1.31.5: April 20, 2026
### Bug Fixes
* Fix `Reinstalling the Extension.md` not being found. [#14389](https://github.com/microsoft/vscode-cpptools/issues/14389)
* Fix the `C/C++ DevTools` extension language service tools not working after the `C/C++` extension updates via `Restart Extensions`. [#14392](https://github.com/microsoft/vscode-cpptools/issues/14392)
## Version 1.31.4: March 31, 2026
### Bug Fix
* Debugging cpptools and cpptools-srv processes on macOS (to get call stacks) is now blocked when SIP is enabled (due to a potential security issue).
## Version 1.31.3: March 24, 2026
### Enhancements
* Add support for `program` in attach debug configurations. [#14046](https://github.com/microsoft/vscode-cpptools/issues/14046)
* Thanks for the contribution. [@Subham-KRLX (Subham)](https://github.com/Subham-KRLX) [PR #14108](https://github.com/microsoft/vscode-cpptools/pull/14108)
* Update clang-tidy and clang-format from 21.1.4 to 22.1.1.
* Update support for the latest compiler versions.
* Update SQLite to the latest version.
### Bug Fixes
* Fix an IntelliSense error with deducing `this` (explicit object member functions) with conversion operators. [#14140](https://github.com/microsoft/vscode-cpptools/issues/14140)
* Fix `embed-dir` compiler arguments not being handled for IntelliSense. [#14154](https://github.com/microsoft/vscode-cpptools/issues/14154)
* Fix workspace symbol search with `scope::variable` not working after symbols are deleted and then added back. [#14200](https://github.com/microsoft/vscode-cpptools/issues/14200)
* Fix bugs where a path was checked for existence but not whether it was a file or a folder. [#14257](https://github.com/microsoft/vscode-cpptools/issues/14257)
* Fix the Call Hierarchy Callers Of progress UI not showing. [#14287](https://github.com/microsoft/vscode-cpptools/issues/14287)
* Fix an IntelliSense crash when using GCC 16 `span` and `string`. [#14309](https://github.com/microsoft/vscode-cpptools/issues/14309)
* Fix `_CONTROL_FLOW_GUARD` not being defined when `/guard:cf` is used in MSVC mode. [#14310](https://github.com/microsoft/vscode-cpptools/issues/14310)
* Add IntelliSense support for `__builtin_is_implicit_lifetime`.
* Fix three IntelliSense process crashes.
* Fix some missing translations.
## Version 1.30.5: February 9. 2026
## Version 1.30.5: February 9, 2026
### Bug Fix
* Fix a potential language server deadlock after editing code.
@@ -61,7 +61,7 @@ File questions, issues, or feature requests for the extension.
If someone has already filed an issue that encompasses your feedback, please leave a 👍 or 👎 reaction on the issue to upvote or downvote it to help us prioritize the issue.
"markdownDescription":"Set to `always` to always reduce the number of recursive include paths provided to IntelliSense to only those paths currently referenced by #include statements. This requires first parsing files to determine which headers are included. Set to `never` to provide all recursive include paths to IntelliSense. Reducing the number of recursive include paths may improve IntelliSense performance when a very large number of recursive include paths are involved. Not reducing the number of recursive include paths can improve IntelliSense performance by avoiding the need to parse files to determine which include paths to provide. The `default` value is currently to reduce the number of recursive include paths provided to IntelliSense.",
"descriptionHint":"Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type":"string",
"enum":[
"always",
"never",
"default",
"${default}"
]
},
"priority":{
"markdownDescription":"The priority of recursive include paths. If set to `beforeSystemIncludes`, the recursive include paths will be searched before system include paths. If set to `afterSystemIncludes`, the recursive include paths will be searched after system include paths. `beforeSystemIncludes` would more closely reflect the search order of a compiler, while `afterSystemIncludes` may result in improved performance.",
"descriptionHint":"Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description":"如果为 \"true\",则 Microsoft 符号服务器(https://msdl.microsoft.com/download/symbols)会添加到符号搜索路径。如果未指定,此选项会默认为 \"false\"。",
"license_terms":"C/C++ 扩展只能用于 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 以及后续的 Microsoft 产品和服务,以开发和测试您的应用程序。"
"license_terms":"C/C++ 扩展只能用于 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 以及后续的 Microsoft 产品和服务,以开发和测试您的应用程序。",
"walkthrough.windows.install.compiler":"在 Windows 上安装 C++ 编译器",
"walkthrough.windows.text1":"如果要对 Windows 进行 C++ 开发,建议安装 Microsoft Visual C++ (MSVC)编译器。",
"walkthrough.windows.text2":"若要安装 MSVC,请打开 VS Code 终端(CTRL + `)并在以下命令中粘贴:\n",
"walkthrough.windows.text2":"若要安装 MSVC,请打开 VS Code 终端(CTRL + `)并在以下命令中粘贴:",
"walkthrough.windows.note1":"注意",
"walkthrough.windows.note1.text":"可以使用 Visual Studio 生成工具中的 C++ 工具集以及 Visual Studio Code 以编译、生成并验证任何 C++ 代码库,前提是同时具有有效的 Visual Studio 许可证(社区版、专业版或企业版),且正积极将其用于开发该 C++ 代码库。",
"walkthrough.windows.install.compiler":"在 Windows 上安装 C++ 编译器",
"walkthrough.windows.text1":"如果要对 Windows 进行 C++ 开发,建议安装 Microsoft Visual C++ (MSVC)编译器。",
"walkthrough.windows.text2":"若要安装 MSVC,请打开 VS Code 终端(CTRL + `)并在以下命令中粘贴:\n",
"walkthrough.windows.text2":"若要安装 MSVC,请打开 VS Code 终端(CTRL + `)并在以下命令中粘贴:",
"walkthrough.windows.note1":"注意",
"walkthrough.windows.note1.text":"可以使用 Visual Studio 生成工具中的 C++ 工具集以及 Visual Studio Code 以编译、生成并验证任何 C++ 代码库,前提是同时具有有效的 Visual Studio 许可证(社区版、专业版或企业版),且正积极将其用于开发该 C++ 代码库。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders":"設為 `true`,就會只處理直接或間接以標頭形式包含的檔案。設為 `false`,則會處理位於指定 include 路徑下的所有檔案。",
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.