* 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.
* 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.
* Fix custom comment continuation for multiple follow-up lines (#14074)
* Add a unit test for the scenario
* formatting hasn't been done on this file yet. Match the existing style.
---------
Co-authored-by: dinhtam2c <[email protected]>
* Remove -D__building_module(x)=0 workaround. (#13621)
* add note about C++ Copilot suggestions improvement (#13624)
* Update changelog for 1.26.1 (#13627)
* Update changelog for 1.26.1
* fix typo (#13630)
1.26.0->1.26.1
* Remove the .type.descriptions since they don't seem to have any effect. (#13648)
* Lock the PATH variable which was incorrectly being translated. (#13649)
* Fix a couple loc issues. (#13650)
---------
Co-authored-by: Luca <[email protected]>
Co-authored-by: heartacker <[email protected]>
* add test frameworks traits to VSCode Copilot Chat
* add test framework traits for #cpp
* update prompt
* drop unnecessary `?.`, and use sensible names for test framework in tests.
-telemetry: fix cancellation events.
-telemetry: more diag event for registration failure.
-add fallback to SimilarFiles providers such as openTabs and/or
related-files
* add instrumentation support to the typescript code
* fix linter
* missed file
* update to a newer image?
* merged
* work around webpack
* webpack! Arg!
* cleanup
* cleanups
* remove spaces
* must use eval to work around webpack
* need vscode in here
* fix line endings?
* fix line endings?
* Add comment
* Added instrumentation to copilothoverprovider
* inject instrumentation code via perfecto instead
* Ensure that everything is instrumented where we can.
* extra comma
Off by default, can be explicitly disabled in the setting.
Co-authored-by: Ben McMorran <[email protected]>
---------
Co-authored-by: Ben McMorran <[email protected]>
- Depends on cpptools' update to provide ProjectContextResult.
- Send "standardVersion" trait in completion prompt by default.
- Added the following new traits
- intelliSenseDisclaimer: compiler information disclaimer.
- intelliSenseDisclaimerBeginning: to note the beginning of IntelliSense information.
- compilerArguments: a list of compiler command arguments that could affect Copilot generating completions.
- directAsks: direct asking Copilot to do something instead of providing an argument.
- intelliSenseDisclaimerEnd: to note the end of IntelliSense information.
- A/B Experimental flags
- copilotcppTraits: deprecated, no longer used.
- copilotcppExcludeTraits:: deprecated, no longer used.
- copilotcppIncludeTraits: string array to include individual trait, i.e., compilerArguments.
- copilotcppMsvcCompilerArgumentFilter: map of regex string to absence prompt for MSVC.
- copilotcppClangCompilerArgumentFilter: map of regex string to absence prompt for Clang.
- copilotcppGccCompilerArgumentFilter: map of regex string to absence prompt for GCC.
- copilotcppCompilerArgumentDirectAskMap: map of argument to prompt.
- Move related files code to its own module
- Refactor related files provider code to enable unit testing
- Add Cpp context traits to completions prompt
(0,utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
if(this.pingComment){
awaitissue.postComment(this.pingComment
.replace('${assignee}',hydrated.assignee)
.replace('${author}',hydrated.author.name));
}
}
else{
(0,utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee?' cc @'+hydrated.assignee:''}`);
}
}
}
else{
if(!hydrated.open){
(0,utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
(0,utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
if(this.pingComment){
awaitissue.postComment(this.pingComment
.replace('${assignee}',hydrated.assignee)
.replace('${author}',hydrated.author.name));
}
}
else{
(0,utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee?' cc @'+hydrated.assignee:''}`);
}
}
}
else{
if(!hydrated.open){
(0,utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
(0,utils_1.safeLog)(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${(_b=issue.milestone)===null||_b===void0?void0:_b.milestoneId}`);
returnfalse;
}
// Make sure a milestones we wanted to ignore is not present.
(0,utils_1.safeLog)(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${(_b=issue.milestone)===null||_b===void0?void0:_b.milestoneId}`);
returnfalse;
}
// Make sure a milestones we wanted to ignore is not present.
- cron:5012***# Run at 12:50 PM UTC (4:50 AM PST, 5:50 AM PDT)
workflow_dispatch:
inputs:
readonly:
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
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Add Comment
uses:./.github/actions/AddComment
with:
readonly:${{ github.event.inputs.readonly }}
labels:bug,debugger
ignoreLabels:"investigate: costing,investigate,external,by design,question,more info needed,Language Service,internal"
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."
# required to fetch internal or private CodeQL packs
packages:read
# only required for workflows in private repositories
actions:read
contents:read
strategy:
fail-fast:false
matrix:
include:
- language:javascript-typescript
build-mode:none
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# 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
steps:
- name:Checkout repository
uses:actions/checkout@v5
# Initializes the CodeQL tools for scanning.
- name:Initialize CodeQL
uses:github/codeql-action/init@v3
with:
languages:${{ matrix.language }}
build-mode:${{ matrix.build-mode }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if:matrix.build-mode == 'manual'
shell:bash
run:|
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
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."
- cron:5011***# Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
- cron:4012***# Run at 12:40 PM UTC (4:40 AM PST, 5:40 AM PDT)
workflow_dispatch:
inputs:
readonly:
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."
- cron:4011***# Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
- cron:3012***# Run at 12:30 PM UTC (4:30 AM PST, 5:30 AM PDT)
workflow_dispatch:
inputs:
readonly:
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."
- cron:2013***# Run at 1:20 PM UTC (5:20 AM PST, 6:20 AM PDT)
workflow_dispatch:
inputs:
readonly:
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
permissions:
issues:write
steps:
- name:Checkout Actions
uses:actions/checkout@v5
- name:Install Actions
run:cd ./.github/actions && npm install --production && cd ../..
- name:Add Comment
uses:./.github/actions/AddComment
with:
readonly:${{ github.event.inputs.readonly }}
labels:Feature Request,debugger
ignoreLabels:"investigate: costing,investigate,external,by design,question,more info needed,Language Service,internal"
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."
- cron:1011***# Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron:3013***# Run at 1:30 PM UTC (5:30 AM PST, 6:30 AM PDT)
workflow_dispatch:
inputs:
readonly:
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
@@ -23,6 +26,7 @@ jobs:
with:
readonly:${{ github.event.inputs.readonly }}
labels:investigate,debugger
ignoreLabels:language service,internal
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."
- cron:1011***# Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron:4013***# Run at 1:40 PM UTC (5:40 AM PST, 6:40 AM PDT)
workflow_dispatch:
inputs:
readonly:
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
@@ -23,6 +26,7 @@ jobs:
with:
readonly:${{ github.event.inputs.readonly }}
labels:"investigate: costing,debugger"
ignoreLabels:language service,internal
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."
- cron:1011***# Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron:5013***# Run at 1:50 PM UTC (5:50 AM PST, 6:50 AM PDT)
workflow_dispatch:
inputs:
readonly:
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
@@ -23,9 +26,10 @@ jobs:
with:
readonly:${{ github.event.inputs.readonly }}
labels:more info needed,debugger
ignoreLabels:language service,internal
ignoreLabels:Language Service,internal
involves:wardengnaw,pieandcakes,calgagi
closeDays:14
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."
- cron:2011***# Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT)
- cron:014***# Run at 2:00 PM UTC (6:00 AM PST, 7:00 AM PDT)
workflow_dispatch:
inputs:
readonly:
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
@@ -23,9 +26,10 @@ jobs:
with:
readonly:${{ github.event.inputs.readonly }}
labels:question,debugger
ignoreLabels:language service,internal
ignoreLabels:Language Service,internal
involves:wardengnaw,pieandcakes,calgagi
closeDays:14
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."
* [Build and debug the extension](Documentation/Building%20the%20Extension.md).
* File an [issue](https://github.com/Microsoft/vscode-cpptools/issues) and a [pull request](https://github.com/Microsoft/vscode-cpptools/pulls) with the change and we will review it.
* If the change affects functionality, add a line describing the change to [**CHANGELOG.md**](Extension/CHANGELOG.md).
* Try and add a test in [**test/extension.test.ts**](Extension/test/unitTests/extension.test.ts).
* Try and add a test in [**test/extension.test.ts**](Extension/test/scenarios/SingleRootProject/tests/extension.test.ts).
* Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging".
## About the Code
@@ -47,4 +47,10 @@ instructions provided by the bot. You will only need to do this once across all
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
We maintain a public Azure Artifacts feed that we point the package manager to in .npmrc files. If you want to add a dependency or update a version in package.json, you may need to contact us so we can add it to our feed. Please ping our team in a PR or new issue if you experience this issue.
For local development, you can delete the .npmrc file and the matching `yarn.lock` file while you wait for us to update the feed. However, these changes will need to be reverted in your branch before we will accept a PR.
@@ -333,6 +346,9 @@ export async function checkDTS() {
}
exportasyncfunctioncheckBinaries() {
if($switches.includes('--skipCheckBinaries')){
returnfalse;
}
letfailing=false;
failing=!awaitassertAnyFile(['bin/cpptools.exe','bin/cpptools'])&&(quiet||warn(`The native binary files are not present. You should either build or install the native binaries\n\n.`))||failing;
@@ -341,3 +357,15 @@ export async function checkBinaries() {
failing=awaitassertAnyFile('vscode.proposed.chatParticipantAdditions.d.ts')&&(quiet||warn(`The VSCode import file '${$root}/vscode.proposed.chatParticipantAdditions.d.ts' should not be present.`))||failing;
if(!failing){
verbose('VSCode proposals appear to be in place.');
awaitassertAnyFolder('dist/test/unit',`The folder '${$root}/dist/test/unit is missing. You should run ${brightGreen("yarn compile")}\n\n`);
constmocha=awaitassertAnyFile(["node_modules/.bin/mocha.cmd","node_modules/.bin/mocha"],`Can't find the mocha testrunner. You might need to run ${brightGreen("yarn install")}\n\n`);
@@ -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.
Let us know what you think of the extension by taking the quick survey.
@@ -75,4 +75,4 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
## Data and telemetry
This extension collects usage data and sends it to Microsoft to help improve our products and services. Collection of telemetry is controlled via the same setting provided by Visual Studio Code: `"telemetry.enableTelemetry"`. Read our [privacy statement](https://privacy.microsoft.com/en-us/privacystatement) to learn more.
This extension collects usage data and sends it to Microsoft to help improve our products and services. Collection of telemetry is controlled via the same setting provided by Visual Studio Code: `"telemetry.enableTelemetry"`. Read our [privacy statement](https://go.microsoft.com/fwlink/?LinkId=521839) to learn more.
"Modul %sq1 pozice souboru %u1 (relativní pozice %u2) požadovaná pro oddíl %sq2, který přetéká konec svého oddílu",
"Modul %sq1 pozice souboru %u1 (relativní pozice %u2) požadována pro oddíl %sq2, který je nesprávně zarovnán selementy oddílů",
"pozice %u1 v souboru %m (relativní pozice %u2) požadovaná pro oddíl %sq, která přetéká konec svého oddílu",
"pozice %u1 v souboru %m (relativní pozice %u2) požadována pro oddíl %sq, která je nesprávně zarovnána selementy oddílů",
"z dílčího pole %sq (relativní pozice k uzlu %u)",
"Z oddílu %sq elementu %u1 (pozice souboru %u2, relativní pozice %u3)",
"Atributy výrazů lambda jsou funkcí C++23.",
"Identifikátor %sq by bylo možné zaměnit za vizuálně podobné %p.",
"Tento komentář obsahuje podezřelé řídicí znaky formátování Unicode.",
"Tento řetězec obsahuje řídicí znaky formátování Unicode. To může způsobit neočekávané chování modulu runtime.",
"Došlo k potlačení %d1 upozornění při zpracovávání modulu %sq1.",
"Došlo k potlačení %d1 upozornění při zpracovávání modulu %sq1.",
"Došlo k potlačení %d1 chyby při zpracovávání modulu %sq1.",
"Došlo k potlačení %d1 chyb při zpracovávání modulu %sq1.",
"při zpracovávání %m došlo k potlačení %u upozornění",
"při zpracování %m došlo k potlačení %u upozornění",
"při zpracování %m došlo k %u potlačené chybě",
"při zpracování %m došlo k(e) %u potlačeným chybám",
"včetně",
"potlačeno",
"Virtuální členská funkce nemůže mít explicitní parametr this.",
"Převzetí adresy funkce s explicitním this vyžaduje kvalifikovaný název.",
"Vytvoření adresy funkce s explicitním this vyžaduje operátor &.",
"řetězcový literál nelze použít k inicializaci člena flexibilního pole.",
"Reprezentace IFC definice funkce %sq je neplatná.",
null,
"graf UniLevel IFC se nepoužil k zadání parametrů.",
"V grafu definice parametrů IFC byl zadán tento počet parametrů: %u1, zatímco deklarace IFC určovala tento počet parametrů: %u2.",
"V grafu definice parametrů IFC byly zadány %u1 parametry, zatímco deklarace IFC určovala tento počet parametrů: %u2.",
"V grafu definice parametrů IFC byly zadány %u1 parametry, zatímco deklarace IFC určovala tento počet parametrů: %u2.",
"Chybí reprezentace IFC definice funkce %sq.",
null,
null,
null,
null,
null,
"chybí reprezentace IFC definice funkce %sq",
"modifikátor funkce se nevztahuje na deklaraci členské šablony.",
"výběr člena zahrnuje příliš mnoho vnořených anonymních typů",
"mezi operandy není žádný společný typ",
@@ -3467,7 +3467,7 @@
"bitové pole s nekompletním typem výčtu nebo neprůhledný výčet s neplatným základním typem",
"došlo k pokusu o vytvoření elementu z oddílu IFC %sq pomocí indexu do oddílu IFC %sq2.",
"oddíl %sq určil svou velikost položky jako %u1, když bylo očekáváno %u2.",
"při zpracování modulu %sq1 byl zjištěn neočekávaný požadavek IFC.",
"při zpracování %m byl zjištěn neočekávaný požadavek IFC",
"podmínka selhala na řádku %d v %s1: %sq2",
"atomické omezení závisí na sobě",
"Funkce noreturn má návratový typ, který není void.",
@@ -3475,9 +3475,9 @@
"výchozí argument šablony nelze zadat pro definici členské šablony mimo její třídu.",
"při rekonstrukci entity se zjistil neplatný název identifikátoru IFC %sq.",
null,
"neplatná hodnota řazení modulu %sq",
"neplatná hodnota řazení %m",
"šablona funkce načtená z modulu IFC byla nesprávně parsována jako %nd.",
"nepovedlo se načíst odkaz na entitu IFC v modulu %sq.",
"nepodařilo se načíst odkaz na entitu IFC v %m",
"Z oddílu %sq elementu %u1 (pozice souboru %u2, relativní pozice %u3)",
"zřetězené specifikátory nejsou povolené pro typ třídy s netriviálním destruktorem.",
"Explicitní deklarace specializace nemůže být deklarací typu friend.",
@@ -3506,9 +3506,9 @@
null,
"nejde vyhodnotit inicializátor pro člena flexibilního pole",
"výchozí inicializátor bitového pole je funkce C++20",
"příliš mnoho argumentů v seznamu argumentů šablony v modulu %sq",
"příliš mnoho argumentů v seznamu argumentů šablony v %m",
"zjištěno pro argument šablony reprezentovaný %sq elementem %u1 (pozice souboru %u2, relativní pozice %u3)",
"příliš málo argumentů v seznamu argumentů šablony v modulu %sq",
"příliš málo argumentů v seznamu argumentů šablony v %m",
"zjištěno při zpracování seznamu argumentů šablony reprezentovaného %sq elementem %u1 (pozice souboru %u2, relativní pozice %u3)",
"převod z vymezeného výčtového typu %t je nestandardní",
"zrušení přidělení se neshoduje s druhem přidělení (jedno je pro pole a druhé ne)",
@@ -3517,8 +3517,8 @@
"__make_unsigned je kompatibilní jenom s typem integer a výčtovým typem, které nejsou typu bool",
"vnitřní název %sq bude odsud považován za běžný identifikátor",
"přístup k neinicializovanému podobjektu v indexu %d",
"Číslo řádku IFC (%u1) přetéká maximální povolenou hodnotu (%u2), modul %sq.",
"Modul %sq1 požadoval element %u oddílu %sq2. Tato pozice souboru překračuje maximální reprezentovatelnou hodnotu.",
"číslo řádku IFC (%u1) přeteče maximální povolenou hodnotu (%u2) %m",
"%m požaduje element %u oddílu %sq; tato pozice v souboru překračuje maximální reprezentovatelnou hodnotu",
"nesprávný počet argumentů",
"Omezení kandidáta %n není splněno.",
"Počet parametrů %n neodpovídá volání.",
@@ -3551,7 +3551,7 @@
"Soubor IFC %sq nejde zpracovat.",
"Verze IFC %u1.%u2 není podporována.",
"Architektura IFC %sq není kompatibilní s aktuální cílovou architekturou.",
"Modul %sq1 požaduje index %u nepodporovaného oddílu odpovídajícího %sq2.",
"%m žádá o index %u nepodporovaného oddílu odpovídajícího %sq",
"Číslo parametru %d z %n má typ %t, který nelze dokončit.",
"Číslo parametru %d z %n má neúplný typ %t.",
"Číslo parametru %d z %n má abstraktní typ %t.",
@@ -3570,7 +3570,7 @@
"chybná reflexe (%r) pro spojení výrazů",
"%n již byl definován (předchozí definice %p)",
"objekt infovec není inicializovaný",
"value_of typ %t1 není kompatibilní s danou reflexí (entita s typem %t2)",
"extrakce typu %t1 není kompatibilní s danou odezvou (entita s typem %t2)",
"reflektování sady přetížení není v tuto chvíli povolené",
"tato vnitřní funkce vyžaduje reflexi pro instanci šablony",
"nekompatibilní typy %t1 a %t2 pro operátora",
@@ -3598,8 +3598,154 @@
"Výraz lambda static musí mít prázdnou specifikaci zachycení.",
"Jednotka hlavičky EDG IFC",
"EDG IFC",
"pro aktuální jednotku překladu se nepovedlo vytvořit jednotku hlavičky",
"aktuální jednotka překladu používá jednu nebo více funkcí, které se v tuto chvíli nedají zapsat do jednotky hlavičky",
"Pro aktuální jednotku překladu se nepovedlo vygenerovat soubor IFC.",
"Jedna nebo více entit se v tuto chvíli nedá zapsat do souboru IFC.",
"explicit(bool) je funkcí C++20",
"musí být zadán název modulu pro mapování souboru modulu odkazující na soubor %sq"
"prvním argumentem musí být ukazatel na celé číslo (integer), výčet (enum) nebo podporovaný typ s plovoucí desetinnou čárkou",
"moduly C++ nelze použít při kompilaci více jednotek překladu",
"Moduly C++ se nedají použít s funkcí export před C++11",
"token IFC %sq se nepodporuje",
"atribut pass_object_size je platný pouze pro parametry deklarací funkce",
"argument %sq atributu %d1 musí být hodnota mezi 0 a %d2",
"ref-qualifier se tady ignoruje",
"neplatný typ elementu NEON vector %t",
"neplatný typ elementu NEON polyvector %t",
"neplatný typ elementu škálovatelného vektoru %t",
"neplatný počet elementů řazené kolekce členů pro typ škálovatelného vektoru",
"NEON vector/polyvector musí mít šířku 64 nebo 128 bitů",
"typ %t bez velikosti není povolený",
"objekt bez velikosti typu %t nemůže být inicializovaný hodnotou",
"v rámci oboru %u byl nalezen neočekávaný index deklarace null",
"musí být zadán název modulu pro mapování souboru modulu odkazující na soubor %sq",
"přijata hodnota null indexu, kde byl očekáván uzel v oddílu IFC %sq",
"%nd nemůže mít typ %t.",
"kvalifikátor ref je v tomto režimu nestandardní",
"příkaz for založený na rozsahu není v tomto režimu standardní",
"auto jako specifikátor typu je v tomto režimu nestandardní",
"soubor modulu %sq se nepovedlo naimportovat kvůli poškození souboru",
"IFC",
"tokeny cizího původu vloženy po deklaraci člena",
"chybný obor vkládání (%r)",
"očekávala se hodnota typu std::string_view, ale získala se hodnota %t",
"tokeny cizího původu vloženy po příkazu",
"tokeny cizího původu vloženy po deklaraci",
"přetečení hodnoty indexu řazené kolekce členů (%d)",
">> výstup z std::meta::__report_tokens",
">> koncový výstup z std::meta::__report_tokens",
"není v kontextu s proměnnými parametrů",
"řídicí sekvence s oddělovači musí mít aspoň jeden znak",
"neukončená řídicí sekvence s oddělovači",
"konstanta obsahuje adresu místní proměnné",
"strukturovanou vazbu nejde deklarovat jako consteval",
"%no konfliktů s importovanou deklarací %nd",
"znak nelze reprezentovat ve zvoleném typu znaku",
"poznámka se nemůže objevit v kontextu předpony atributu using",
"typ poznámky %t není literálový typ",
"Atribut ext_vector_type se vztahuje pouze na logické hodnoty (bool), celočíselné typy (integer) nebo typy s plovoucí desetinnou čárkou (floating-point).",
"více specifikátorů do stejného sjednocení není povoleno",
"testovací zpráva",
"Aby se dalo použít --ms_c++23, musí být verze Microsoftu, která se emuluje, aspoň 1943.",
"neplatný aktuální pracovní adresář: %s",
"atribut cleanup v rámci funkce constexpr se v současné době nepodporuje",
"atribut assume se dá použít jenom na příkaz null",
"předpoklad selhal",
"šablony proměnných jsou funkcí C++14",
"nelze přijmout adresu funkce s parametrem deklarovaným atributem pass_object_size",
"všechny argumenty musí mít stejný typ",
"konečné porovnání bylo %s1 %s2 %s3",
"příliš mnoho argumentů pro atribut %sq",
"řetězec mantissa neobsahuje platné číslo",
"chyba v pohyblivé desetinné čárce při vyhodnocování konstanty",
"ignorován dědičný konstruktor %n pro operace podobné kopírování/přesouvání",
"Nelze určit velikost souboru %s.",
"%s nejde přečíst.",
"vložit",
"Nerozpoznaný název parametru",
"Parametr byl zadán více než jednou.",
"__has_embed se nemůže objevit mimo #if",
"Národní prostředí LC_NUMERIC nelze nastavit na C.",
"Direktivy elifdef a elifndef nejsou v tomto režimu povolené a v textu, který se přeskočí, se ignorují.",
"Deklarace aliasu je v tomto kontextu nestandardní.",
"Cílová sada instrukcí ABI může přidělit nestatické členy v pořadí, které neodpovídá jejich pořadí deklarací, což není v jazyce C++23 a novějších standardní.",
"Jednotka rozhraní modulu EDG IFC",
"Jednotka oddílu modulu EDG IFC",
"Deklaraci modulu nelze z této jednotky překladu exportovat, pokud není vytvořen soubor rozhraní modulu.",
"Deklarace modulu se musí exportovat z této jednotky překladu, aby se vytvořil soubor rozhraní modulu.",
"Bylo požadováno generování souboru modulu, ale v jednotce překladu nebyl deklarován žádný modul.",
"nahrazení %T za %n neúspěšných omezení",
"%n není splněno pro %T",
"rozšíření #embed je příliš dlouhé pro inicializaci entity typu %t",
"operátor defined tady není povolený",
"%n není členem %t",
"zužující převod na podepsaný znak v datech #embed",
"operátor není povolený pro typy „vector of bool“",
"objekt je pro vyhodnocení konstanty příliš velký",
"dočasný objekt odkazující sám na sebe",
"lambda v tomto kontextu nemůže odkazovat na místní proměnnou nebo init-capture",
"parametr lambda nemůže skrýt explicitní zachycení",
"parametr šablony lambda nemůže skrýt explicitní zachycení",
"pro zpracování této jednotky překladu není k dispozici dostatek adresního prostoru",
"<undetermined type>",
"<undetermined constant>",
"<undetermined template>",
"nakonfigurovaná velikost %s je pro zadaný počet bitů řetězce mantissa a exponentu příliš malá",
"výraz",
"<expression>",
"bez názvu",
"<unnamed>",
"<error-type>",
"<unknown-type>",
"<something>",
"<null-type>",
"<no-init>",
"<zero-init>",
"bitová kopie: ",
"<bitwise-copy>",
"výsledek třídy přes konstruktor: ",
"<constructor-call>",
"<NULL expression>",
"<error>",
"<NULL routine>",
"<default>",
"parametr #",
" (o jednu úroveň výš)",
" o úroveň výše",
"dynamic-init: ",
"<error-constant>",
"stack-offset-of:",
"<implicit element> ",
" opakování ",
"celé číslo",
"výčet",
"vymezený výčet",
"aritmetické",
"non-bool arithmetic",
"ukazatel",
"typ nullptr",
"popisovač",
"handle-to-CLI-array",
"pointer-to-object",
"pointer-to-function",
"pointer-to-member",
"bool",
"bool-equivalent",
"třída",
"nestálý operand pro inkrementační výraz je zastaralý",
"nestálý operand pro dekrementační výraz je zastaralý",
"%n dřív deklarované bez atributu „indeterminate“",
"výchozí konstruktor pro %t je explicitní",
"nepodařilo se načíst definici %n v %m",
"nepodařilo se načíst inicializátor pro %n v %m",
"třída s názvem typedef pro účely propojení nemůže mít základní třídu",
"třída s názvem typedef pro účely propojení nemůže mít členskou funkci",
"třída s názvem typedef pro účely propojení nemůže mít vnořený typ jiný než typ výčtu nebo typ třídy bez uzávěru",
"třída s názvem typedef pro účely propojení nemůže obsahovat výraz lambda",
"třída s názvem typedef pro účely propojení nemůže mít nestatický datový člen s výchozím inicializátorem",
"deklarace člena statických dat není v anonymní třídě povolená",
"výsledek inicializátoru odkazuje na proměnnou dllimport",
"šablona s atributem no_specializations nemůže být specializovaná",
"„static“ je zde nestandardní",
"%nd byl dříve deklarován bez explicitního základu výčtu",
"Chybějící typename je tady nestandardní.",
"Zkrácená syntaxe šablony funkce není standardní pro vodítka dedukce"
]
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.