The check for include paths ending in '**' ran in sendCustomConfigurations,
after mergeConfigurations had already appended the includePath entries from
the user's c_cpp_properties.json to each configuration from the provider. A
trailing '**' is a supported way to recurse there, so the warning fired for
paths the provider never supplied.
Move the check ahead of that append so it only sees the provider's own
include paths.
Co-authored-by: Sean McManus <[email protected]>
* Bump @vscode/test-electron to 3.1.0 so tests launch VS Code >=1.110 on macOS
VS Code 1.110 renamed the macOS main binary from Contents/MacOS/Electron to the product name and later removed the compatibility symlink (microsoft/vscode#326502, 2026-07-20), so @vscode/test-electron <=3.0.0 — which hardcodes the Electron name — fails to launch downloaded stable builds on macOS with 'spawn .../Contents/MacOS/Electron ENOENT'. 3.1.0 resolves the executable from the bundle's Info.plist CFBundleExecutable (microsoft/vscode-test#348, #349), letting the tests track latest stable VS Code again without pinning.
* Move test VS Code pin to 1.131.0
With @vscode/test-electron 3.1.0 the macOS 1.131.0 bundle launches correctly, so advance the pinned test VS Code from 1.130.0 to the current stable 1.131.0.
runVSCodeCommand only resolves on success (it throws on a non-zero exit), so its stderr is non-fatal output such as the Node [DEP0169] url.parse() deprecation warning emitted by the VS Code CLI. Log it as a warning instead of an error in installAndCopyBinaries.ts, and add DEP0169 to the test.ts stdio filter list.
The installed @vscode/test-electron cannot launch the VS Code 1.131.0 macOS arm64 bundle (spawn Electron ENOENT), which fails the integration-test steps on every run. Pin the downloaded test VS Code to 1.130.0 (the last release that launches) until @vscode/test-electron is bumped to handle newer stable releases.
"Run C/C++ File" builds the command with buildShellCommandLine and sends
it via sendText when the terminal has no shell integration. That path
quotes a program path containing spaces but never prepends the call
operator, so PowerShell evaluates the quoted path as a string literal and
echoes it instead of running the program.
The shell-integration path already handles this, so extract its PowerShell
detection into isPowerShellTerminal() and reuse it in the sendText path.
Closes#14583
Co-authored-by: Sean McManus <[email protected]>
Co-authored-by: Bob Brown <[email protected]>
* Add localizable strings for --check headless validation
Adds 13 native strings backing the mscppls --check mode (the clangd-style
headless validation of a compile_commands.json file): the two --help entries
and the setup/usage error messages.
* No lock on placeholders
* Fix LOC locks
* 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]>
* 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
* Strip '\r' and '\n' from the end of each line if they exist when parsing the vcpkg database.
* remove debugging log
* Fix lint issue
* Revert regex
* Refactor line trimming
* Fix lint issues
* Remove old comment
* Fix glob coverage
* resolve and split paths before validation
* expand glob patterns and do not expand incorrect paths
* Do not squiggle paths that need to be expanded
* revert change
* squiggle paths that end with *
* Do not squiggle paths that end with *
* properly squiggle glob paths with recursive includes
* correctly report squiggles with glob paths
* move check for asterisk to outer check
* fix lint issues
(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".
constreadmeMessage: string=localize("refer.read.me","Please refer to {0} for troubleshooting information. Issues can be created at {1}",readmePath,"https://github.com/Microsoft/vscode-cpptools/issues");
```
* The first parameter to localize should be a unique key for that string, not used by any other call to localize() in the file unless representing the same string. The second parameter is the string to localize. Both of these parameters must be string literals. Tokens such as {0} and {1} are supported in the localizable string, with replacement values passed as additional parameters to localize().
## Contributor License Agreement
This project welcomes contributions and suggestions. Most contributions require you to
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
and actually do, grant us the rights to use your contribution. For details, visit
https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need
to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the
instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
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.
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.