Compare commits
290
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db29f1bb68 | ||
|
|
9d19aa858f | ||
|
|
53e9bdb245 | ||
|
|
0ec5075a0f | ||
|
|
74af7ade30 | ||
|
|
79e58c6151 | ||
|
|
52be722a32 | ||
|
|
639a0c7b08 | ||
|
|
eae53ddf84 | ||
|
|
578d879123 | ||
|
|
a8d2b261ba | ||
|
|
12d2528b29 | ||
|
|
61f51d1690 | ||
|
|
a78136f85b | ||
|
|
b2ddb96611 | ||
|
|
b7fcd42e88 | ||
|
|
1385e1e19f | ||
|
|
282c176eb3 | ||
|
|
38848fa7bb | ||
|
|
ac37abac12 | ||
|
|
31c2411fff | ||
|
|
314495ef37 | ||
|
|
6112068ac6 | ||
|
|
9564835dd8 | ||
|
|
58fe69ef79 | ||
|
|
b4afbe2672 | ||
|
|
d6c9fd5559 | ||
|
|
75d458accb | ||
|
|
a678db0da3 | ||
|
|
8e81300a7c | ||
|
|
24831bc81a | ||
|
|
6cb184c483 | ||
|
|
61aeb27b5c | ||
|
|
2ab211ff5a | ||
|
|
9e1fee5b77 | ||
|
|
53a3811743 | ||
|
|
7777353275 | ||
|
|
e11604fb12 | ||
|
|
f630fc4da9 | ||
|
|
7ea89afb30 | ||
|
|
a1a4bb0f5d | ||
|
|
62f57a7b38 | ||
|
|
9152b019f8 | ||
|
|
660abd601c | ||
|
|
b02a2f85a4 | ||
|
|
c0ad99a76f | ||
|
|
130bb59612 | ||
|
|
f2480fd882 | ||
|
|
646df4df6e | ||
|
|
bb288f7e1a | ||
|
|
36e17520ea | ||
|
|
5ce4eaaf6a | ||
|
|
c238b1de0b | ||
|
|
5fd0548c00 | ||
|
|
c12be38b72 | ||
|
|
c1a9d604ac | ||
|
|
038c742125 | ||
|
|
74ca0fe21a | ||
|
|
f9f1e55832 | ||
|
|
2d23836183 | ||
|
|
32cb58fe87 | ||
|
|
cd22e17227 | ||
|
|
b3e83d8b48 | ||
|
|
2d5e77cb3d | ||
|
|
9a1b479ced | ||
|
|
8878f05a18 | ||
|
|
0b10e39fef | ||
|
|
9b2644d614 | ||
|
|
cdd5240e39 | ||
|
|
0040d0c786 | ||
|
|
dd5f8f997c | ||
|
|
35408d570f | ||
|
|
dc28a69f41 | ||
|
|
4927fafbe4 | ||
|
|
b17d9bd94d | ||
|
|
7c6aa892b4 | ||
|
|
dac32bc0c3 | ||
|
|
03e0332738 | ||
|
|
778ddbd6a3 | ||
|
|
0bbd36695f | ||
|
|
e962adaccc | ||
|
|
72d590a1b7 | ||
|
|
0c7a60dcae | ||
|
|
f01ab4da97 | ||
|
|
5f0a3f4ce0 | ||
|
|
9053d9fb0d | ||
|
|
56a2bbe6c5 | ||
|
|
397f4e5ade | ||
|
|
56be5729fb | ||
|
|
0f754f7437 | ||
|
|
d8f8783035 | ||
|
|
6ab8203ce0 | ||
|
|
6d33605e84 | ||
|
|
51b25d1e9e | ||
|
|
3ee7d16c6d | ||
|
|
dc614ca3a7 | ||
|
|
4774d95296 | ||
|
|
9bb8ee4409 | ||
|
|
d57678108d | ||
|
|
9e662ff980 | ||
|
|
eb013a19c1 | ||
|
|
0a82449d66 | ||
|
|
c412f7da71 | ||
|
|
4113e00318 | ||
|
|
248c44bdbc | ||
|
|
9db0aff845 | ||
|
|
627a4622b0 | ||
|
|
c2b605399a | ||
|
|
714b35123d | ||
|
|
ab6e93fa31 | ||
|
|
8ccffc9e5b | ||
|
|
9a12ee6149 | ||
|
|
0a4fff20e8 | ||
|
|
f9c3768009 | ||
|
|
0108beae75 | ||
|
|
0e4228b3b7 | ||
|
|
7df19266de | ||
|
|
db3a96f9f7 | ||
|
|
7187b34384 | ||
|
|
eb76b09387 | ||
|
|
42c703ed74 | ||
|
|
e799b285f4 | ||
|
|
61eed95a5a | ||
|
|
4549dff7c4 | ||
|
|
bdd6a39e9d | ||
|
|
4b2a1e1b63 | ||
|
|
57cf069d65 | ||
|
|
b477243fef | ||
|
|
7e02d995ea | ||
|
|
6f40e5bc24 | ||
|
|
24d299fcff | ||
|
|
bbf1ad3caf | ||
|
|
d686c15de1 | ||
|
|
44a962969d | ||
|
|
894e101363 | ||
|
|
4aa35c9681 | ||
|
|
300d65a9d5 | ||
|
|
3203386c6e | ||
|
|
dd1902a8dc | ||
|
|
03ee07113a | ||
|
|
8e68bbba5d | ||
|
|
fe18c4af95 | ||
|
|
53dd88fd19 | ||
|
|
df58934ca0 | ||
|
|
959a4d15d5 | ||
|
|
7af04f6153 | ||
|
|
faa8f425ec | ||
|
|
1ad8241f66 | ||
|
|
6ea023c14a | ||
|
|
a1eef20485 | ||
|
|
0b64d607f5 | ||
|
|
18e9335d76 | ||
|
|
0a72712f04 | ||
|
|
70b35ddbc7 | ||
|
|
53917c0de2 | ||
|
|
5993256e77 | ||
|
|
239deaf331 | ||
|
|
9b8153617c | ||
|
|
205cdf663d | ||
|
|
fcac9ac6d1 | ||
|
|
541f2b158c | ||
|
|
b271ed1c68 | ||
|
|
7a56cf9064 | ||
|
|
0015bd88c9 | ||
|
|
0666a0f0e3 | ||
|
|
030c22c6d8 | ||
|
|
b9150cbd22 | ||
|
|
3b8c545e09 | ||
|
|
a54ba1e1ce | ||
|
|
d83faa224a | ||
|
|
bb5b252ee1 | ||
|
|
8a6124fd45 | ||
|
|
fd96957a10 | ||
|
|
71278ef27b | ||
|
|
59a3309ac0 | ||
|
|
e669bc4802 | ||
|
|
25fd26acdf | ||
|
|
6797ee4f99 | ||
|
|
1f6e545118 | ||
|
|
52bec4837c | ||
|
|
a3d9417e43 | ||
|
|
96d470acb0 | ||
|
|
fd3926ffe4 | ||
|
|
2727652801 | ||
|
|
90f2ed1584 | ||
|
|
4e8203a95e | ||
|
|
b3110d8964 | ||
|
|
cf49a16515 | ||
|
|
5a07193e50 | ||
|
|
4ae7cd47e1 | ||
|
|
8f0f27e5a0 | ||
|
|
63aa33ff1d | ||
|
|
de2aadcb8b | ||
|
|
76ff264e6b | ||
|
|
61f7ecf39e | ||
|
|
a54f5698d2 | ||
|
|
8af9ded977 | ||
|
|
f754fdbe25 | ||
|
|
0f0d5a34d9 | ||
|
|
47b3ffd535 | ||
|
|
1f31ea4794 | ||
|
|
0dd2603271 | ||
|
|
c4980409a9 | ||
|
|
11df85302c | ||
|
|
d9a3f8e493 | ||
|
|
b435e56ff6 | ||
|
|
25cc9b758a | ||
|
|
11f261e796 | ||
|
|
f4fb3318f3 | ||
|
|
bfa165a92c | ||
|
|
2b8f7a2060 | ||
|
|
ecf12313ad | ||
|
|
1b29dbf772 | ||
|
|
7665e11045 | ||
|
|
25b76baa94 | ||
|
|
a6b12a8c10 | ||
|
|
775fd692ea | ||
|
|
ddb54454e3 | ||
|
|
2db5c05c37 | ||
|
|
bc9a72cf2f | ||
|
|
291e5a3228 | ||
|
|
7774dafb1f | ||
|
|
55ef430b96 | ||
|
|
bb5943c755 | ||
|
|
69d4585eb2 | ||
|
|
8e82004017 | ||
|
|
900aa75527 | ||
|
|
61b53bcda8 | ||
|
|
34d375a616 | ||
|
|
61815d8869 | ||
|
|
f309f90a4f | ||
|
|
fa097e4966 | ||
|
|
6770b0a25a | ||
|
|
5f56194feb | ||
|
|
21a8e34c91 | ||
|
|
5451e32bd8 | ||
|
|
97943a9d67 | ||
|
|
4884af8c94 | ||
|
|
65beaebaf9 | ||
|
|
6e3a7b2b7e | ||
|
|
5c16227c40 | ||
|
|
37a558260d | ||
|
|
e08377a353 | ||
|
|
61421ea4fe | ||
|
|
0608ecd86f | ||
|
|
ecdfabdd17 | ||
|
|
6e96c3ea13 | ||
|
|
4bb5b8a11f | ||
|
|
be8236fd80 | ||
|
|
c813ab5a99 | ||
|
|
20cfc2bbef | ||
|
|
577a7b8361 | ||
|
|
7a4b4ddb37 | ||
|
|
7fe4f030bd | ||
|
|
3a4df8c003 | ||
|
|
c9e571a889 | ||
|
|
b0efdb5628 | ||
|
|
886008ce84 | ||
|
|
9d161fb345 | ||
|
|
1a661ebd5b | ||
|
|
d84696e9a7 | ||
|
|
de84f488f2 | ||
|
|
a9609ef47b | ||
|
|
e83f362050 | ||
|
|
38e074451a | ||
|
|
a651e53430 | ||
|
|
304b92419f | ||
|
|
5aaa9197c2 | ||
|
|
c239d6b162 | ||
|
|
a66064beef | ||
|
|
b3c1b117c2 | ||
|
|
a38624d1ef | ||
|
|
2c26037f43 | ||
|
|
318f7058b0 | ||
|
|
8cadd2dac8 | ||
|
|
c5fe03c8e6 | ||
|
|
df350e6552 | ||
|
|
a8cb5375e9 | ||
|
|
40e39acb0e | ||
|
|
8ff42d0d00 | ||
|
|
597f29c39a | ||
|
|
fc048916c0 | ||
|
|
6de78e2d05 | ||
|
|
6bddc0fb58 | ||
|
|
e0cf47d749 | ||
|
|
adb6bcf8d5 | ||
|
|
e80bd3b0d1 | ||
|
|
a5d00e3123 | ||
|
|
b977587cb1 | ||
|
|
ca81d009fd |
@@ -1,2 +1,7 @@
|
|||||||
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
|
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
|
||||||
always-auth=true
|
# Disable postinstall scripts for supply chain security. Allowlist exceptions with npm trust: https://docs.npmjs.com/cli/v11/commands/npm-trust
|
||||||
|
ignore-scripts=true
|
||||||
|
|
||||||
|
min-release-age=7
|
||||||
|
audit=true
|
||||||
|
audit-level=high
|
||||||
|
|||||||
@@ -38,5 +38,5 @@ inputs:
|
|||||||
readonly:
|
readonly:
|
||||||
description: If true, changes are not applied.
|
description: If true, changes are not applied.
|
||||||
runs:
|
runs:
|
||||||
using: 'node20'
|
using: 'node24'
|
||||||
main: 'index.js'
|
main: 'index.js'
|
||||||
|
|||||||
@@ -29,5 +29,5 @@ inputs:
|
|||||||
readonly:
|
readonly:
|
||||||
description: If true, changes are not applied.
|
description: If true, changes are not applied.
|
||||||
runs:
|
runs:
|
||||||
using: 'node20'
|
using: 'node24'
|
||||||
main: 'index.js'
|
main: 'index.js'
|
||||||
|
|||||||
@@ -33,5 +33,5 @@ inputs:
|
|||||||
readonly:
|
readonly:
|
||||||
description: If true, changes are not applied.
|
description: If true, changes are not applied.
|
||||||
runs:
|
runs:
|
||||||
using: 'node20'
|
using: 'node24'
|
||||||
main: 'index.js'
|
main: 'index.js'
|
||||||
|
|||||||
@@ -43,5 +43,5 @@ inputs:
|
|||||||
readonly:
|
readonly:
|
||||||
description: If true, changes are not applied.
|
description: If true, changes are not applied.
|
||||||
runs:
|
runs:
|
||||||
using: 'node20'
|
using: 'node24'
|
||||||
main: 'index.js'
|
main: 'index.js'
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ export const normalizeIssue = (issue: {
|
|||||||
const cleanse = (str: string) => {
|
const cleanse = (str: string) => {
|
||||||
let out = str
|
let out = str
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.replace(/<!--.*-->/gu, '')
|
|
||||||
.replace(/.* version: .*/gu, '')
|
.replace(/.* version: .*/gu, '')
|
||||||
.replace(/issue type: .*/gu, '')
|
.replace(/issue type: .*/gu, '')
|
||||||
.replace(/vs ?code/gu, '')
|
.replace(/vs ?code/gu, '')
|
||||||
@@ -36,6 +35,12 @@ export const normalizeIssue = (issue: {
|
|||||||
.replace(/\s+/gu, ' ')
|
.replace(/\s+/gu, ' ')
|
||||||
.replace(/```[^`]*?```/gu, '');
|
.replace(/```[^`]*?```/gu, '');
|
||||||
|
|
||||||
|
while (
|
||||||
|
out.includes('<!--') &&
|
||||||
|
out.includes('-->') &&
|
||||||
|
out.indexOf('-->') > out.indexOf('<!--')) {
|
||||||
|
out = out.slice(0, out.indexOf('<!--')) + out.slice(out.indexOf('-->') + 3);
|
||||||
|
}
|
||||||
while (
|
while (
|
||||||
out.includes(`<details>`) &&
|
out.includes(`<details>`) &&
|
||||||
out.includes('</details>') &&
|
out.includes('</details>') &&
|
||||||
@@ -116,9 +121,9 @@ Repo: ${context.repo.owner}/${context.repo.repo}
|
|||||||
|
|
||||||
<!-- Context:
|
<!-- Context:
|
||||||
${JSON.stringify(context, null, 2)
|
${JSON.stringify(context, null, 2)
|
||||||
.replace(/<!--/gu, '<@--')
|
.replace(/<!--/gu, '<@--')
|
||||||
.replace(/-->/gu, '--@>')
|
.replace(/--!?\s*>/gu, '--@>')
|
||||||
.replace(/\/|\\/gu, 'slash-')}
|
.replace(/\/|\\/gu, 'slash-')}
|
||||||
-->
|
-->
|
||||||
`);
|
`);
|
||||||
};
|
};
|
||||||
|
|||||||
Generated
+740
-1205
File diff suppressed because it is too large
Load Diff
@@ -14,9 +14,8 @@
|
|||||||
"@actions/github": "^8.0.1",
|
"@actions/github": "^8.0.1",
|
||||||
"@octokit/rest": "^21.1.1",
|
"@octokit/rest": "^21.1.1",
|
||||||
"@slack/web-api": "^6.9.1",
|
"@slack/web-api": "^6.9.1",
|
||||||
"applicationinsights": "^2.5.1",
|
"axios": "^1.16.0",
|
||||||
"axios": "^1.13.5",
|
"uuid": "^14.0.0"
|
||||||
"uuid": "^8.3.2"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@azure/storage-blob": "^12.13.0",
|
"@azure/storage-blob": "^12.13.0",
|
||||||
@@ -39,7 +38,9 @@
|
|||||||
"typescript": "^4.7.4",
|
"typescript": "^4.7.4",
|
||||||
"yargs": "^17.5.1"
|
"yargs": "^17.5.1"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"overrides": {
|
||||||
"minimatch": "^3.0.5"
|
"serialize-javascript": "^7.0.5",
|
||||||
|
"flatted": "^3.4.2",
|
||||||
|
"fast-xml-parser": "^5.5.7"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
groups:
|
||||||
|
github-actions:
|
||||||
|
patterns: ["*"]
|
||||||
|
schedule:
|
||||||
|
interval: "weekly"
|
||||||
|
cooldown:
|
||||||
|
default-days: 7
|
||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Add Comment
|
- name: Add Comment
|
||||||
@@ -27,3 +30,4 @@ jobs:
|
|||||||
createdAfter: "2024-07-22"
|
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."
|
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."
|
||||||
addLabels: help wanted
|
addLabels: help wanted
|
||||||
|
|
||||||
|
|||||||
+5
-1
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- name: Stale Closer
|
||||||
@@ -26,3 +29,4 @@ jobs:
|
|||||||
ignoreLabels: Language Service,internal
|
ignoreLabels: Language Service,internal
|
||||||
closeDays: 0
|
closeDays: 0
|
||||||
closeComment: "This issue has been closed because the described behavior was determined to be by design."
|
closeComment: "This issue has been closed because the described behavior was determined to be by design."
|
||||||
|
|
||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- name: Stale Closer
|
||||||
@@ -28,3 +31,4 @@ jobs:
|
|||||||
closeComment: "This issue has been closed because the described behavior was determined to be by design."
|
closeComment: "This issue has been closed because the described behavior was determined to be by design."
|
||||||
pingDays: 80
|
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."
|
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."
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,20 @@ on:
|
|||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
target-ref:
|
||||||
|
description: Branch, tag, or SHA to test
|
||||||
|
required: true
|
||||||
|
default: main
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
job:
|
job:
|
||||||
uses: ./.github/workflows/job-compile-and-test.yml
|
uses: ./.github/workflows/job-compile-and-test.yml
|
||||||
with:
|
with:
|
||||||
runner-env: ubuntu-22.04
|
runner-env: ubuntu-24.04
|
||||||
platform: linux
|
platform: linux
|
||||||
|
checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }}
|
||||||
|
|||||||
@@ -5,11 +5,22 @@ on:
|
|||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
target-ref:
|
||||||
|
description: Branch, tag, or SHA to test
|
||||||
|
required: true
|
||||||
|
default: main
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
job:
|
job:
|
||||||
uses: ./.github/workflows/job-compile-and-test.yml
|
uses: ./.github/workflows/job-compile-and-test.yml
|
||||||
with:
|
with:
|
||||||
runner-env: macos-14
|
runner-env: macos-15
|
||||||
platform: mac
|
platform: mac
|
||||||
yarn-args: --network-timeout 100000
|
checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }}
|
||||||
|
yarn-args: --network-timeout 100000
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,20 @@ on:
|
|||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
target-ref:
|
||||||
|
description: Branch, tag, or SHA to test
|
||||||
|
required: true
|
||||||
|
default: main
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
job:
|
job:
|
||||||
uses: ./.github/workflows/job-compile-and-test.yml
|
uses: ./.github/workflows/job-compile-and-test.yml
|
||||||
with:
|
with:
|
||||||
runner-env: windows-2022
|
runner-env: windows-2025
|
||||||
platform: windows
|
platform: windows
|
||||||
|
checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }}
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ on:
|
|||||||
schedule:
|
schedule:
|
||||||
- cron: '29 4 * * 3'
|
- cron: '29 4 * * 3'
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
analyze:
|
analyze:
|
||||||
name: Analyze (${{ matrix.language }})
|
name: Analyze (${{ matrix.language }})
|
||||||
@@ -56,11 +59,11 @@ jobs:
|
|||||||
# 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
|
# 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:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v3
|
uses: github/codeql-action/init@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
build-mode: ${{ matrix.build-mode }}
|
build-mode: ${{ matrix.build-mode }}
|
||||||
@@ -88,6 +91,7 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v3
|
uses: github/codeql-action/analyze@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4
|
||||||
with:
|
with:
|
||||||
category: "/language:${{matrix.language}}"
|
category: "/language:${{matrix.language}}"
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- 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."
|
closeComment: "This issue has been closed because it is a duplicate of another issue we are tracking."
|
||||||
pingDays: 80
|
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."
|
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."
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- 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."
|
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."
|
||||||
setMilestoneId: 30
|
setMilestoneId: 30
|
||||||
ignoreMilestoneNames: "*"
|
ignoreMilestoneNames: "*"
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- 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."
|
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."
|
||||||
milestoneName: Triage
|
milestoneName: Triage
|
||||||
milestoneId: 30
|
milestoneId: 30
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Run Reopener
|
- name: Run Reopener
|
||||||
@@ -31,3 +34,4 @@ jobs:
|
|||||||
milestoneName: Triage
|
milestoneName: Triage
|
||||||
setMilestoneId: 28
|
setMilestoneId: 28
|
||||||
removeLabels: more votes needed
|
removeLabels: more votes needed
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- name: Stale Closer
|
||||||
@@ -26,3 +29,4 @@ jobs:
|
|||||||
ignoreLabels: Language Service,internal
|
ignoreLabels: Language Service,internal
|
||||||
closeDays: 0
|
closeDays: 0
|
||||||
closeComment: "This issue has been closed because it is external or not applicable to the extension."
|
closeComment: "This issue has been closed because it is external or not applicable to the extension."
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- 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."
|
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."
|
||||||
setMilestoneId: 30
|
setMilestoneId: 30
|
||||||
ignoreMilestoneNames: "*"
|
ignoreMilestoneNames: "*"
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- 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."
|
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."
|
||||||
milestoneName: Triage
|
milestoneName: Triage
|
||||||
milestoneId: 30
|
milestoneId: 30
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Add Comment
|
- name: Add Comment
|
||||||
@@ -27,3 +30,4 @@ jobs:
|
|||||||
createdAfter: "2024-07-22"
|
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."
|
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."
|
||||||
addLabels: help wanted
|
addLabels: help wanted
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Run Reopener
|
- name: Run Reopener
|
||||||
@@ -31,3 +34,4 @@ jobs:
|
|||||||
milestoneName: Triage
|
milestoneName: Triage
|
||||||
setMilestoneId: 28
|
setMilestoneId: 28
|
||||||
removeLabels: more votes needed
|
removeLabels: more votes needed
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- name: Stale Closer
|
||||||
@@ -26,3 +29,4 @@ jobs:
|
|||||||
ignoreLabels: Language Service,internal
|
ignoreLabels: Language Service,internal
|
||||||
closeDays: 180
|
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."
|
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."
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- name: Stale Closer
|
||||||
@@ -26,3 +29,4 @@ jobs:
|
|||||||
ignoreLabels: Language Service,internal
|
ignoreLabels: Language Service,internal
|
||||||
closeDays: 180
|
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."
|
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."
|
||||||
|
|
||||||
|
|||||||
@@ -11,25 +11,43 @@ on:
|
|||||||
# Expects 'mac', 'linux', or 'windows'
|
# Expects 'mac', 'linux', or 'windows'
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
checkout-ref:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
yarn-args:
|
yarn-args:
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ${{ inputs.runner-env }}
|
runs-on: ${{ inputs.runner-env }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
|
||||||
- name: Use Node.js 22
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
with:
|
||||||
node-version: 22
|
ref: ${{ inputs.checkout-ref }}
|
||||||
|
|
||||||
|
- name: Use Node.js 24
|
||||||
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||||
|
with:
|
||||||
|
node-version: 24
|
||||||
|
|
||||||
|
- name: Validate Yarn lockfile
|
||||||
|
run: yarn test-yarn-lock && yarn verify-yarn-lock
|
||||||
|
working-directory: Extension
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: yarn install ${{ inputs.yarn-args }}
|
run: yarn install ${{ inputs.yarn-args }}
|
||||||
working-directory: Extension
|
working-directory: Extension
|
||||||
|
|
||||||
|
- name: Install gdb (linux)
|
||||||
|
if: ${{ inputs.platform == 'linux' }}
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y gdb
|
||||||
|
|
||||||
- name: Compile Sources
|
- name: Compile Sources
|
||||||
run: yarn run compile
|
run: yarn run compile
|
||||||
working-directory: Extension
|
working-directory: Extension
|
||||||
@@ -42,40 +60,46 @@ jobs:
|
|||||||
run: yarn test
|
run: yarn test
|
||||||
working-directory: Extension
|
working-directory: Extension
|
||||||
|
|
||||||
# These tests don't require the binary.
|
- name: Acquire Native Binaries
|
||||||
# On Linux, it is failing (before the tests actually run) with: Test run terminated with signal SIGSEGV.
|
run: yarn install-and-copy-binaries-for-test
|
||||||
# But it works on Linux during the E2E test.
|
|
||||||
- name: Run SingleRootProject tests
|
|
||||||
if: ${{ inputs.platform != 'linux' }}
|
|
||||||
run: yarn test --scenario=SingleRootProject --skipCheckBinaries
|
|
||||||
working-directory: Extension
|
working-directory: Extension
|
||||||
|
|
||||||
# NOTE : We can't run the test that require the native binary files
|
- name: Run languageServer integration tests (Windows)
|
||||||
# yet -- there will be an update soon that allows the tester to
|
if: ${{ inputs.platform == 'windows' }}
|
||||||
# acquire them on-the-fly
|
run: yarn test --scenario=SingleRootProject
|
||||||
# - name: Run languageServer integration tests
|
working-directory: Extension
|
||||||
# if: ${{ inputs.platform == 'windows' }}
|
|
||||||
# run: yarn test --scenario=SingleRootProject
|
|
||||||
# working-directory: Extension
|
|
||||||
|
|
||||||
# - name: Run E2E IntelliSense features tests
|
- name: Run E2E IntelliSense features tests (Windows)
|
||||||
# if: ${{ inputs.platform == 'windows' }}
|
if: ${{ inputs.platform == 'windows' }}
|
||||||
# run: yarn test --scenario=MultirootDeadlockTest
|
run: yarn test --scenario=MultirootDeadlockTest
|
||||||
# working-directory: Extension
|
working-directory: Extension
|
||||||
|
|
||||||
|
- name: Run RunWithoutDebugging tests (Windows)
|
||||||
|
if: ${{ inputs.platform == 'windows' }}
|
||||||
|
run: yarn test --scenario=RunWithoutDebugging
|
||||||
|
working-directory: Extension
|
||||||
|
|
||||||
# NOTE: For mac/linux run the tests with xvfb-action for UI support.
|
# NOTE: For mac/linux run the tests with xvfb-action for UI support.
|
||||||
# Another way to start xvfb https://github.com/microsoft/vscode-test/blob/master/sample/azure-pipelines.yml
|
# Another way to start xvfb https://github.com/microsoft/vscode-test/blob/master/sample/azure-pipelines.yml
|
||||||
|
|
||||||
# - name: Run languageServer integration tests (xvfb)
|
- name: Run languageServer integration tests (linux/macOS)
|
||||||
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
|
if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
|
||||||
# uses: coactions/setup-xvfb@v1
|
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
|
||||||
# with:
|
with:
|
||||||
# run: yarn test --scenario=SingleRootProject
|
run: yarn test --scenario=SingleRootProject
|
||||||
# working-directory: Extension
|
working-directory: Extension
|
||||||
|
|
||||||
|
- name: Run E2E IntelliSense features tests (linux/macOS)
|
||||||
|
if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
|
||||||
|
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
|
||||||
|
with:
|
||||||
|
run: yarn test --scenario=MultirootDeadlockTest
|
||||||
|
working-directory: Extension
|
||||||
|
|
||||||
|
- name: Run RunWithoutDebugging tests (linux/macOS)
|
||||||
|
if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
|
||||||
|
uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1.0.1
|
||||||
|
with:
|
||||||
|
run: yarn test --scenario=RunWithoutDebugging --scenario-arg=skipExternalConsole
|
||||||
|
working-directory: Extension
|
||||||
|
|
||||||
# - name: Run E2E IntelliSense features tests (xvfb)
|
|
||||||
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
|
|
||||||
# uses: coactions/setup-xvfb@v1
|
|
||||||
# with:
|
|
||||||
# run: yarn test --scenario=MultirootDeadlockTest
|
|
||||||
# working-directory: Extension
|
|
||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Run Locker
|
- name: Run Locker
|
||||||
@@ -25,3 +28,4 @@ jobs:
|
|||||||
daysSinceClose: 45
|
daysSinceClose: 45
|
||||||
daysSinceUpdate: 3
|
daysSinceUpdate: 3
|
||||||
ignoreLabels: more votes needed,debugger,internal
|
ignoreLabels: more votes needed,debugger,internal
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- 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."
|
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
|
||||||
pingDays: 7
|
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."
|
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."
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- 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."
|
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
|
||||||
pingDays: 14
|
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."
|
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."
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- 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."
|
closeComment: "This issue has been closed because it is a question and has not had recent activity."
|
||||||
pingDays: 7
|
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."
|
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."
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ on:
|
|||||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -15,7 +18,7 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: cd ./.github/actions && npm install --production && cd ../..
|
run: cd ./.github/actions && npm install --production && cd ../..
|
||||||
- name: Stale Closer
|
- 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."
|
closeComment: "This issue has been closed because it is a question and has not had recent activity."
|
||||||
pingDays: 80
|
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."
|
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."
|
||||||
|
|
||||||
|
|||||||
@@ -13,3 +13,5 @@ OneLocBuild
|
|||||||
|
|
||||||
# ignore imported localization xlf directory
|
# ignore imported localization xlf directory
|
||||||
vscode-translations-import
|
vscode-translations-import
|
||||||
|
|
||||||
|
.vscode/settings.json
|
||||||
|
|||||||
+16
-22
@@ -31,12 +31,12 @@ extends:
|
|||||||
parameters:
|
parameters:
|
||||||
pool:
|
pool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
sdl:
|
sdl:
|
||||||
sourceAnalysisPool:
|
sourceAnalysisPool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
binskim:
|
binskim:
|
||||||
preReleaseVersion: '4.3.1'
|
preReleaseVersion: '4.3.1'
|
||||||
@@ -60,6 +60,8 @@ extends:
|
|||||||
enabled: true
|
enabled: true
|
||||||
featureFlags:
|
featureFlags:
|
||||||
autoBaseline: false
|
autoBaseline: false
|
||||||
|
settings:
|
||||||
|
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- stage: build
|
- stage: build
|
||||||
@@ -79,9 +81,6 @@ extends:
|
|||||||
steps:
|
steps:
|
||||||
- checkout: self
|
- checkout: self
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
|
|
||||||
displayName: Use Yarn 1.x
|
|
||||||
|
|
||||||
- task: UseNode@1
|
- task: UseNode@1
|
||||||
displayName: Use Node 22.x
|
displayName: Use Node 22.x
|
||||||
inputs:
|
inputs:
|
||||||
@@ -90,11 +89,6 @@ extends:
|
|||||||
- script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
|
- script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
|
||||||
displayName: Delete .npmrc if it exists
|
displayName: Delete .npmrc if it exists
|
||||||
|
|
||||||
- task: Npm@0
|
|
||||||
displayName: Install vsce
|
|
||||||
inputs:
|
|
||||||
arguments: --global @vscode/vsce
|
|
||||||
|
|
||||||
- script: mkdir $(Build.ArtifactStagingDirectory)\Extension
|
- script: mkdir $(Build.ArtifactStagingDirectory)\Extension
|
||||||
displayName: Create Extension Staging Directory
|
displayName: Create Extension Staging Directory
|
||||||
|
|
||||||
@@ -105,22 +99,22 @@ extends:
|
|||||||
script: |
|
script: |
|
||||||
export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g')
|
export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g')
|
||||||
cd "$SRC_DIR/Extension"
|
cd "$SRC_DIR/Extension"
|
||||||
yarn run vsix-prepublish
|
npm run vsix-prepublish
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "yarn run vsix-prepublish failed, sleeping for 30s before retrying..."
|
echo "npm run vsix-prepublish failed, sleeping for 30s before retrying..."
|
||||||
sleep 30
|
sleep 30
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
|
|
||||||
- script: |
|
- script: yarn install --frozen-lockfile
|
||||||
cd $(Build.SourcesDirectory)\Extension
|
displayName: Install dependencies with yarn
|
||||||
vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix
|
workingDirectory: $(Build.SourcesDirectory)\Extension
|
||||||
name: ProcessRunner_12
|
|
||||||
displayName: Run VSCE to package vsix
|
|
||||||
|
|
||||||
- task: Npm@0
|
- script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1)
|
||||||
displayName: Uninstall vsce
|
displayName: Verify vsce-sign binary exists
|
||||||
inputs:
|
workingDirectory: $(Build.SourcesDirectory)\Extension
|
||||||
command: uninstall
|
|
||||||
arguments: --global @vscode/vsce
|
- script: npx vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix
|
||||||
|
displayName: Run VSCE to package vsix
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)\Extension
|
||||||
|
|||||||
@@ -30,12 +30,12 @@ extends:
|
|||||||
parameters:
|
parameters:
|
||||||
pool:
|
pool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
sdl:
|
sdl:
|
||||||
sourceAnalysisPool:
|
sourceAnalysisPool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
stages:
|
stages:
|
||||||
- stage: stage
|
- stage: stage
|
||||||
|
|||||||
@@ -24,13 +24,15 @@ extends:
|
|||||||
parameters:
|
parameters:
|
||||||
pool:
|
pool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
sdl:
|
sdl:
|
||||||
sourceAnalysisPool:
|
sourceAnalysisPool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
|
settings:
|
||||||
|
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- stage: package
|
- stage: package
|
||||||
@@ -44,5 +46,5 @@ extends:
|
|||||||
|
|
||||||
- template: /Build/package/jobs_package_vsix.yml@self
|
- template: /Build/package/jobs_package_vsix.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
vsixName: cpptools-extension-pack.vsix
|
vsixName: cpptools-extension-pack
|
||||||
srcDir: ExtensionPack
|
srcDir: ExtensionPack
|
||||||
@@ -24,13 +24,15 @@ extends:
|
|||||||
parameters:
|
parameters:
|
||||||
pool:
|
pool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
sdl:
|
sdl:
|
||||||
sourceAnalysisPool:
|
sourceAnalysisPool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
|
settings:
|
||||||
|
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- stage: package
|
- stage: package
|
||||||
@@ -44,5 +46,5 @@ extends:
|
|||||||
|
|
||||||
- template: /Build/package/jobs_package_vsix.yml@self
|
- template: /Build/package/jobs_package_vsix.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
vsixName: cpptools-themes.vsix
|
vsixName: cpptools-themes
|
||||||
srcDir: Themes
|
srcDir: Themes
|
||||||
@@ -11,7 +11,7 @@ parameters:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: package
|
- job: package
|
||||||
displayName: Build ${{ parameters.vsixName }}
|
displayName: Build ${{ parameters.vsixName }}.vsix
|
||||||
timeoutInMinutes: 30
|
timeoutInMinutes: 30
|
||||||
cancelTimeoutInMinutes: 1
|
cancelTimeoutInMinutes: 1
|
||||||
templateContext:
|
templateContext:
|
||||||
@@ -26,7 +26,7 @@ jobs:
|
|||||||
autoBaseline: false
|
autoBaseline: false
|
||||||
outputs:
|
outputs:
|
||||||
- output: pipelineArtifact
|
- output: pipelineArtifact
|
||||||
displayName: '${{ parameters.vsixName }}'
|
displayName: '${{ parameters.vsixName }}.vsix'
|
||||||
targetPath: $(Build.ArtifactStagingDirectory)\vsix
|
targetPath: $(Build.ArtifactStagingDirectory)\vsix
|
||||||
artifactName: vsix
|
artifactName: vsix
|
||||||
|
|
||||||
@@ -38,24 +38,58 @@ jobs:
|
|||||||
inputs:
|
inputs:
|
||||||
version: 22.x
|
version: 22.x
|
||||||
|
|
||||||
- task: Npm@0
|
- script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
|
||||||
displayName: Install vsce
|
displayName: Delete .npmrc if it exists
|
||||||
inputs:
|
|
||||||
arguments: --global @vscode/vsce
|
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
|
- task: Bash@3
|
||||||
displayName: Use Yarn 1.x
|
displayName: Build files
|
||||||
|
inputs:
|
||||||
|
targetType: 'inline'
|
||||||
|
script: |
|
||||||
|
export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g')
|
||||||
|
cd "$SRC_DIR/${{ parameters.srcDir }}"
|
||||||
|
npm install
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "npm install failed, sleeping for 30s before retrying..."
|
||||||
|
sleep 30
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
|
|
||||||
- script: mkdir $(Build.ArtifactStagingDirectory)\vsix
|
- script: mkdir $(Build.ArtifactStagingDirectory)\vsix
|
||||||
displayName: Create Staging Directory
|
displayName: Create Staging Directory
|
||||||
|
|
||||||
- script: |
|
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[email protected]
|
||||||
cd $(Build.SourcesDirectory)\${{ parameters.srcDir }}
|
displayName: Install vsce
|
||||||
vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}
|
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
|
||||||
displayName: Run VSCE to package vsix
|
|
||||||
|
|
||||||
- task: Npm@0
|
- script: npm rebuild @vscode/vsce-sign --ignore-scripts=false
|
||||||
displayName: Uninstall vsce
|
displayName: Rebuild vsce-sign binary
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
|
||||||
|
|
||||||
|
- script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1)
|
||||||
|
displayName: Verify vsce-sign binary exists
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
|
||||||
|
|
||||||
|
- script: npx vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix
|
||||||
|
displayName: Run VSCE to package vsix
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
|
||||||
|
|
||||||
|
# sign the vsix
|
||||||
|
- script: npx vsce generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest
|
||||||
|
displayName: generate manifest
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
|
||||||
|
- script: copy $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
|
||||||
|
displayName: prepare manifest for signing
|
||||||
|
workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
|
||||||
|
- task: NuGetToolInstaller@1
|
||||||
|
displayName: Install NuGet
|
||||||
|
- task: NuGetAuthenticate@1
|
||||||
|
displayName: Authenticate NuGet
|
||||||
|
- script: nuget restore $(Build.SourcesDirectory)\Build\signing\SignVsix.proj -PackagesDirectory $(Build.SourcesDirectory)\Build\signing\packages -ConfigFile $(Build.SourcesDirectory)\Build\signing\NuGet.config
|
||||||
|
displayName: Restore MicroBuild Core
|
||||||
|
- task: MSBuild@1
|
||||||
|
displayName: Sign the vsix
|
||||||
inputs:
|
inputs:
|
||||||
command: uninstall
|
solution: $(Build.SourcesDirectory)\Build\signing\SignVsix.proj
|
||||||
arguments: --global @vscode/vsce
|
msbuildArguments: /p:SignType=${{ parameters.signType }}
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ extends:
|
|||||||
parameters:
|
parameters:
|
||||||
pool:
|
pool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
sdl:
|
sdl:
|
||||||
sourceAnalysisPool:
|
sourceAnalysisPool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
@@ -39,5 +39,5 @@ extends:
|
|||||||
jobs:
|
jobs:
|
||||||
- template: /Build/publish/jobs_publish_vsix.yml@self
|
- template: /Build/publish/jobs_publish_vsix.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
vsixName: cpptools-extension-pack.vsix
|
vsixName: cpptools-extension-pack
|
||||||
|
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ extends:
|
|||||||
parameters:
|
parameters:
|
||||||
pool:
|
pool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
sdl:
|
sdl:
|
||||||
sourceAnalysisPool:
|
sourceAnalysisPool:
|
||||||
name: AzurePipelines-EO
|
name: AzurePipelines-EO
|
||||||
image: 1ESPT-Windows2022
|
image: 1ESPT-Windows2025
|
||||||
os: windows
|
os: windows
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
@@ -39,5 +39,5 @@ extends:
|
|||||||
jobs:
|
jobs:
|
||||||
- template: /Build/publish/jobs_publish_vsix.yml@self
|
- template: /Build/publish/jobs_publish_vsix.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
vsixName: cpptools-themes.vsix
|
vsixName: cpptools-themes
|
||||||
|
|
||||||
|
|||||||
@@ -21,11 +21,6 @@ jobs:
|
|||||||
inputs:
|
inputs:
|
||||||
versionSpec: 22.x
|
versionSpec: 22.x
|
||||||
|
|
||||||
- task: Npm@0
|
|
||||||
displayName: Install vsce
|
|
||||||
inputs:
|
|
||||||
arguments: --global @vscode/vsce
|
|
||||||
|
|
||||||
- task: AzureCLI@2
|
- task: AzureCLI@2
|
||||||
displayName: Generate AAD_TOKEN
|
displayName: Generate AAD_TOKEN
|
||||||
inputs:
|
inputs:
|
||||||
@@ -36,9 +31,16 @@ jobs:
|
|||||||
$aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
|
$aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
|
||||||
Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
|
Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
|
||||||
|
|
||||||
- script: |
|
- script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/[email protected]
|
||||||
vsce publish --packagePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}
|
displayName: Install vsce
|
||||||
|
|
||||||
|
- script: npm rebuild @vscode/vsce-sign --ignore-scripts=false
|
||||||
|
displayName: Rebuild vsce-sign binary
|
||||||
|
|
||||||
|
- script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1)
|
||||||
|
displayName: Verify vsce-sign binary exists
|
||||||
|
|
||||||
|
- script: npx vsce publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s
|
||||||
displayName: Publish to Marketplace
|
displayName: Publish to Marketplace
|
||||||
env:
|
env:
|
||||||
VSCE_PAT: $(AAD_TOKEN)
|
VSCE_PAT: $(AAD_TOKEN)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<packageSources>
|
||||||
|
<clear />
|
||||||
|
<add key="Engineering" value="https://pkgs.dev.azure.com/devdiv/_packaging/MicroBuildToolset/nuget/v3/index.json" />
|
||||||
|
</packageSources>
|
||||||
|
</configuration>
|
||||||
@@ -5,7 +5,7 @@ These steps will allow you to debug the TypeScript code that is part of the Micr
|
|||||||
Prerequisite steps:
|
Prerequisite steps:
|
||||||
* Clone the release branch of [this](https://github.com/Microsoft/vscode-cpptools) repository.
|
* Clone the release branch of [this](https://github.com/Microsoft/vscode-cpptools) repository.
|
||||||
* git clone -b release https://github.com/Microsoft/vscode-cpptools
|
* git clone -b release https://github.com/Microsoft/vscode-cpptools
|
||||||
* Install [node](https://nodejs.org).
|
* Install the [required Node.js version](../Extension/readme.developer.md#required-tools).
|
||||||
* Install [yarn](https://yarnpkg.com).
|
* Install [yarn](https://yarnpkg.com).
|
||||||
* From a command line, run the following commands from the **Extension** folder in the root of the repository:
|
* From a command line, run the following commands from the **Extension** folder in the root of the repository:
|
||||||
* `yarn install` will install the dependencies needed to build the extension.
|
* `yarn install` will install the dependencies needed to build the extension.
|
||||||
|
|||||||
@@ -9,11 +9,18 @@ dist
|
|||||||
server
|
server
|
||||||
debugAdapters
|
debugAdapters
|
||||||
LLVM
|
LLVM
|
||||||
|
bin/assert_dialog.sh
|
||||||
|
bin/binaryVersion.json
|
||||||
bin/cpptools*
|
bin/cpptools*
|
||||||
|
bin/edge_cli
|
||||||
|
bin/isense_driver
|
||||||
bin/libc.so
|
bin/libc.so
|
||||||
|
bin/LICENSE.txt
|
||||||
|
bin/scout_driver
|
||||||
|
bin/unittests
|
||||||
|
bin/vcpkgsrvtest
|
||||||
bin/*.dll
|
bin/*.dll
|
||||||
bin/.vs
|
bin/.vs
|
||||||
bin/LICENSE.txt
|
|
||||||
|
|
||||||
# ignore lock files
|
# ignore lock files
|
||||||
install.lock
|
install.lock
|
||||||
|
|||||||
+6
-1
@@ -1,2 +1,7 @@
|
|||||||
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
|
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
|
||||||
always-auth=true
|
# Disable postinstall scripts for supply chain security. Allowlist exceptions with npm trust: https://docs.npmjs.com/cli/v11/commands/npm-trust
|
||||||
|
ignore-scripts=true
|
||||||
|
|
||||||
|
min-release-age=7
|
||||||
|
audit=true
|
||||||
|
audit-level=high
|
||||||
|
|||||||
@@ -20,9 +20,18 @@ import { verbose } from '../src/Utility/Text/streams';
|
|||||||
export const $root = resolve(`${__dirname}/..`);
|
export const $root = resolve(`${__dirname}/..`);
|
||||||
export let $cmd = 'main';
|
export let $cmd = 'main';
|
||||||
export let $scenario = '';
|
export let $scenario = '';
|
||||||
|
export const $scenarioArgs: string[] = [];
|
||||||
|
|
||||||
// loop through the args and pick out --scenario=... and remove it from the $args and set $scenario
|
// loop through the args and pick out --scenario=... and remove it from the $args and set $scenario
|
||||||
process.argv.slice(2).filter(each => !(each.startsWith('--scenario=') && ($scenario = each.substring('--scenario='.length))));
|
process.argv.slice(2).filter(each => !(each.startsWith('--scenario=') && ($scenario = each.substring('--scenario='.length))));
|
||||||
|
// parse out the scenario arguments.
|
||||||
|
process.argv.slice(2).reduce<string[]>((acc, arg) => {
|
||||||
|
if (arg.startsWith('--scenario-arg=')) {
|
||||||
|
acc.push(arg.substring('--scenario-arg='.length));
|
||||||
|
}
|
||||||
|
return acc;
|
||||||
|
}, $scenarioArgs);
|
||||||
|
|
||||||
export const $args = process.argv.slice(2).filter(each => !each.startsWith('--'));
|
export const $args = process.argv.slice(2).filter(each => !each.startsWith('--'));
|
||||||
export const $switches = process.argv.slice(2).filter(each => each.startsWith('--'));
|
export const $switches = process.argv.slice(2).filter(each => each.startsWith('--'));
|
||||||
|
|
||||||
@@ -39,7 +48,7 @@ chdir($root);
|
|||||||
|
|
||||||
// dump unhandled async errors to the console and exit.
|
// dump unhandled async errors to the console and exit.
|
||||||
process.on('unhandledRejection', (reason: any, _promise) => {
|
process.on('unhandledRejection', (reason: any, _promise) => {
|
||||||
error(`${reason?.stack?.split(/\r?\n/).filter(l => !l.includes('node:internal') && !l.includes('node_modules')).join('\n')}`);
|
error(`${reason?.stack?.split(/\r?\n/).filter((l: string) => !l.includes('node:internal') && !l.includes('node_modules')).join('\n')}`);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,176 @@
|
|||||||
|
/* --------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||||
|
* See 'LICENSE' in the project root for license information.
|
||||||
|
* ------------------------------------------------------------------------------------------ */
|
||||||
|
|
||||||
|
import { cp, readdir, rm, stat } from 'node:fs/promises';
|
||||||
|
import { homedir } from 'node:os';
|
||||||
|
import { basename, join } from 'node:path';
|
||||||
|
import { verbose } from '../src/Utility/Text/streams';
|
||||||
|
import { $args, $root, Git, green, heading, note, warn } from './common';
|
||||||
|
|
||||||
|
const extensionPrefix = 'ms-vscode.cpptools-';
|
||||||
|
const foldersToCopy = ['bin', 'debugAdapters', 'LLVM'] as const;
|
||||||
|
|
||||||
|
type InstalledExtension = {
|
||||||
|
path: string;
|
||||||
|
version: number[];
|
||||||
|
modified: number;
|
||||||
|
};
|
||||||
|
|
||||||
|
function compareVersions(left: number[], right: number[]): number {
|
||||||
|
const maxLength: number = Math.max(left.length, right.length);
|
||||||
|
for (let i = 0; i < maxLength; i++) {
|
||||||
|
const diff: number = (left[i] ?? 0) - (right[i] ?? 0);
|
||||||
|
if (diff !== 0) {
|
||||||
|
return diff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function tryParseVersion(folderName: string): number[] | undefined {
|
||||||
|
if (!folderName.startsWith(extensionPrefix)) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
const versionText: string | undefined = folderName.substring(extensionPrefix.length).match(/^\d+\.\d+\.\d+/)?.[0];
|
||||||
|
return versionText?.split('.').map(each => Number(each));
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getInstalledExtensions(root: string): Promise<InstalledExtension[]> {
|
||||||
|
try {
|
||||||
|
const entries = await readdir(root, { withFileTypes: true });
|
||||||
|
const candidates: Promise<InstalledExtension | undefined>[] = entries.map(async (entry) => {
|
||||||
|
if (!entry.isDirectory()) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
const version: number[] | undefined = tryParseVersion(entry.name);
|
||||||
|
if (!version) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
const extensionPath: string = join(root, entry.name);
|
||||||
|
for (const folder of foldersToCopy) {
|
||||||
|
const info = await stat(join(extensionPath, folder)).catch(() => undefined);
|
||||||
|
if (!info?.isDirectory()) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const info = await stat(extensionPath);
|
||||||
|
return {
|
||||||
|
path: extensionPath,
|
||||||
|
version,
|
||||||
|
modified: info.mtimeMs
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
const found = await Promise.all(candidates);
|
||||||
|
return found.filter((entry): entry is InstalledExtension => entry !== undefined);
|
||||||
|
} catch {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function findExtensionsFolder(root: string): Promise<string | undefined> {
|
||||||
|
try {
|
||||||
|
const entries = await readdir(root, { withFileTypes: true });
|
||||||
|
for (const entry of entries) {
|
||||||
|
if (entry.isDirectory()) {
|
||||||
|
if (entry.name === 'extensions') {
|
||||||
|
const extensionEntries = await readdir(join(root, entry.name), { withFileTypes: true });
|
||||||
|
for (const extensionEntry of extensionEntries) {
|
||||||
|
if (extensionEntry.isDirectory() && extensionEntry.name.startsWith(extensionPrefix)) {
|
||||||
|
return join(root, entry.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const result = await findExtensionsFolder(join(root, entry.name));
|
||||||
|
if (result) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
// Ignore errors (permission denied, etc.)
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function findLatestInstalledExtension(providedPath?: string): Promise<string> {
|
||||||
|
const searchRoots: string[] = [
|
||||||
|
join(homedir(), '.vscode', 'extensions'),
|
||||||
|
join(homedir(), '.vscode-insiders', 'extensions'),
|
||||||
|
join(homedir(), '.vscode-server', 'extensions'),
|
||||||
|
join(homedir(), '.vscode-server-insiders', 'extensions')
|
||||||
|
];
|
||||||
|
if (providedPath) {
|
||||||
|
// find a folder called 'extensions' recursively under the provided path and add it to the front of the search roots
|
||||||
|
const extensionsFolderPath = await findExtensionsFolder(providedPath);
|
||||||
|
if (extensionsFolderPath) {
|
||||||
|
verbose(`Found extensions folder under provided path: ${extensionsFolderPath}`);
|
||||||
|
searchRoots.unshift(extensionsFolderPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const installed: InstalledExtension[] = (await Promise.all(searchRoots.map(each => getInstalledExtensions(each)))).flat();
|
||||||
|
if (!installed.length) {
|
||||||
|
throw new Error(`Unable to find an installed C/C++ extension under ${searchRoots.join(' or ')}.`);
|
||||||
|
}
|
||||||
|
|
||||||
|
installed.sort((left, right) => compareVersions(right.version, left.version) || right.modified - left.modified);
|
||||||
|
return installed[0].path;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A few files inside the copied folders are checked into the repo (for example bin/cpp.hint and
|
||||||
|
* bin/messages/**). The copy overwrites them with the installed extension's versions, which can differ
|
||||||
|
* in line endings or content and then show up as spurious local modifications. Restore any tracked files
|
||||||
|
* that the copy changed so only the untracked binaries remain in the working tree.
|
||||||
|
*/
|
||||||
|
async function restoreTrackedFiles(): Promise<void> {
|
||||||
|
const modified = await Git('ls-files', '--modified', '--', ...foldersToCopy);
|
||||||
|
if (modified.code) {
|
||||||
|
warn(`Unable to determine which tracked files to restore: ${modified.error.all().join('\n')}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const files = modified.stdio.all().map(line => line.trim()).filter(line => line.length > 0);
|
||||||
|
if (!files.length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const restored = await Git('checkout', '--', ...files);
|
||||||
|
if (restored.code) {
|
||||||
|
warn(`Unable to restore tracked files after copy: ${restored.error.all().join('\n')}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
note(`Restored ${files.length} tracked ${files.length === 1 ? 'file' : 'files'} overwritten by the copy.`);
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function main(sourcePath = $args[0]): Promise<string | undefined> {
|
||||||
|
console.log(heading('Copy installed extension binaries'));
|
||||||
|
|
||||||
|
const installedExtensionPath: string = await findLatestInstalledExtension(sourcePath);
|
||||||
|
note(`Using installed extension at ${installedExtensionPath}`);
|
||||||
|
|
||||||
|
for (const folder of foldersToCopy) {
|
||||||
|
const source: string = join(installedExtensionPath, folder);
|
||||||
|
const destination: string = join($root, folder);
|
||||||
|
|
||||||
|
console.log(`Copying ${green(folder)} from ${source}`);
|
||||||
|
await rm(destination, { recursive: true, force: true });
|
||||||
|
await cp(source, destination, { recursive: true, force: true });
|
||||||
|
}
|
||||||
|
|
||||||
|
note(`Copied installed binaries into ${$root}`);
|
||||||
|
|
||||||
|
await restoreTrackedFiles();
|
||||||
|
|
||||||
|
const installedVersion = tryParseVersion(basename(installedExtensionPath));
|
||||||
|
return installedVersion?.join('.');
|
||||||
|
}
|
||||||
@@ -85,8 +85,13 @@ function replaceReferences(definitions: any, objects: any): any {
|
|||||||
objects[key].anyOf = replaceReferences(definitions, objects[key].anyOf);
|
objects[key].anyOf = replaceReferences(definitions, objects[key].anyOf);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recursively replace references if this object has properties.
|
// Handle 'oneOf' with references
|
||||||
if (objects[key].hasOwnProperty('type') && objects[key].type === 'object' && objects[key].properties !== null) {
|
if (objects[key].hasOwnProperty('oneOf')) {
|
||||||
|
objects[key].oneOf = replaceReferences(definitions, objects[key].oneOf);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Recursively replace references if this schema node has properties.
|
||||||
|
if (objects[key].hasOwnProperty('properties') && objects[key].properties !== null) {
|
||||||
objects[key].properties = replaceReferences(definitions, objects[key].properties);
|
objects[key].properties = replaceReferences(definitions, objects[key].properties);
|
||||||
objects[key].properties = updateDefaults(objects[key].properties, objects[key].default);
|
objects[key].properties = updateDefaults(objects[key].properties, objects[key].default);
|
||||||
}
|
}
|
||||||
@@ -117,11 +122,13 @@ function mergeReferences(baseDefinitions: any, additionalDefinitions: any): void
|
|||||||
export async function main() {
|
export async function main() {
|
||||||
const packageJSON: any = JSON.parse(await read(resolve($root, 'package.json')));
|
const packageJSON: any = JSON.parse(await read(resolve($root, 'package.json')));
|
||||||
const schemaJSON: any = JSON.parse(await read(resolve($root, 'tools/OptionsSchema.json')));
|
const schemaJSON: any = JSON.parse(await read(resolve($root, 'tools/OptionsSchema.json')));
|
||||||
|
const taskDefinitionsJSON: any = JSON.parse(await read(resolve($root, 'tools/TaskDefinitionsSchema.json')));
|
||||||
const symbolSettingsJSON: any = JSON.parse(await read(resolve($root, 'tools/VSSymbolSettings.json')));
|
const symbolSettingsJSON: any = JSON.parse(await read(resolve($root, 'tools/VSSymbolSettings.json')));
|
||||||
|
|
||||||
mergeReferences(schemaJSON.definitions, symbolSettingsJSON.definitions);
|
mergeReferences(schemaJSON.definitions, symbolSettingsJSON.definitions);
|
||||||
|
|
||||||
schemaJSON.definitions = replaceReferences(schemaJSON.definitions, schemaJSON.definitions);
|
schemaJSON.definitions = replaceReferences(schemaJSON.definitions, schemaJSON.definitions);
|
||||||
|
taskDefinitionsJSON.definitions = replaceReferences(taskDefinitionsJSON.definitions, taskDefinitionsJSON.definitions);
|
||||||
|
|
||||||
// Hard Code adding in configurationAttributes launch and attach.
|
// Hard Code adding in configurationAttributes launch and attach.
|
||||||
// cppdbg
|
// cppdbg
|
||||||
@@ -132,6 +139,9 @@ export async function main() {
|
|||||||
packageJSON.contributes.debuggers[1].configurationAttributes.launch = schemaJSON.definitions.CppvsdbgLaunchOptions;
|
packageJSON.contributes.debuggers[1].configurationAttributes.launch = schemaJSON.definitions.CppvsdbgLaunchOptions;
|
||||||
packageJSON.contributes.debuggers[1].configurationAttributes.attach = schemaJSON.definitions.CppvsdbgAttachOptions;
|
packageJSON.contributes.debuggers[1].configurationAttributes.attach = schemaJSON.definitions.CppvsdbgAttachOptions;
|
||||||
|
|
||||||
|
// task definitions
|
||||||
|
packageJSON.contributes.taskDefinitions = [taskDefinitionsJSON.definitions.CppBuildTaskDefinition];
|
||||||
|
|
||||||
let content: string = JSON.stringify(packageJSON, null, 4);
|
let content: string = JSON.stringify(packageJSON, null, 4);
|
||||||
|
|
||||||
// We use '\u200b' (unicode zero-length space character) to break VS Code's URL detection regex for URLs that are examples. This process will
|
// We use '\u200b' (unicode zero-length space character) to break VS Code's URL detection regex for URLs that are examples. This process will
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
/* --------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||||
|
* See 'LICENSE' in the project root for license information.
|
||||||
|
* ------------------------------------------------------------------------------------------ */
|
||||||
|
|
||||||
|
import { runVSCodeCommand } from '@vscode/test-electron';
|
||||||
|
import { writeFile } from 'node:fs/promises';
|
||||||
|
import { join } from 'node:path';
|
||||||
|
import { $root, error, heading, note, warn } from './common';
|
||||||
|
import * as copy from './copyExtensionBinaries';
|
||||||
|
import { install, isolated, options } from "./vscode";
|
||||||
|
|
||||||
|
export async function main() {
|
||||||
|
console.log(heading(`Install VS Code`));
|
||||||
|
const vscode = await install();
|
||||||
|
if (!vscode) {
|
||||||
|
error('Failed to install VS Code');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(heading('Install latest C/C++ Extension'));
|
||||||
|
const result = await runVSCodeCommand([...vscode.args ?? [], '--install-extension', 'ms-vscode.cpptools', '--pre-release'], options);
|
||||||
|
if (result.stdout) {
|
||||||
|
console.log(result.stdout.toString());
|
||||||
|
}
|
||||||
|
if (result.stderr) {
|
||||||
|
// runVSCodeCommand resolves only when the command succeeds (it throws on a non-zero exit), so stderr here is
|
||||||
|
// non-fatal output such as Node deprecation warnings and must not be reported as an error.
|
||||||
|
warn(result.stderr.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
const binaryVersion = await copy.main(isolated);
|
||||||
|
if (binaryVersion) {
|
||||||
|
await writeFile(join($root, 'bin', 'binaryVersion.json'), JSON.stringify({ version: binaryVersion }));
|
||||||
|
note(`Wrote binary version ${binaryVersion} to bin/binaryVersion.json`);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -14,7 +14,7 @@ import { filepath } from '../src/Utility/Filesystem/filepath';
|
|||||||
import { is } from '../src/Utility/System/guards';
|
import { is } from '../src/Utility/System/guards';
|
||||||
import { verbose } from '../src/Utility/Text/streams';
|
import { verbose } from '../src/Utility/Text/streams';
|
||||||
import { getTestInfo } from '../test/common/selectTests';
|
import { getTestInfo } from '../test/common/selectTests';
|
||||||
import { $args, $root, $scenario, assertAnyFile, assertAnyFolder, brightGreen, checkBinaries, cmdSwitch, cyan, error, gray, green, readJson, red, writeJson } from './common';
|
import { $args, $root, $scenario, $scenarioArgs, assertAnyFile, assertAnyFolder, brightGreen, checkBinaries, cmdSwitch, cyan, error, gray, green, readJson, red, writeJson } from './common';
|
||||||
import { install, isolated, options } from './vscode';
|
import { install, isolated, options } from './vscode';
|
||||||
|
|
||||||
export { install, reset } from './vscode';
|
export { install, reset } from './vscode';
|
||||||
@@ -27,6 +27,7 @@ const filters = [
|
|||||||
/^Unexpected token A/,
|
/^Unexpected token A/,
|
||||||
/Cannot register 'cmake.cmakePath'/,
|
/Cannot register 'cmake.cmakePath'/,
|
||||||
/\[DEP0005\] DeprecationWarning/,
|
/\[DEP0005\] DeprecationWarning/,
|
||||||
|
/\[DEP0169\] DeprecationWarning/,
|
||||||
/--trace-deprecation/,
|
/--trace-deprecation/,
|
||||||
/Iconv-lite warning/,
|
/Iconv-lite warning/,
|
||||||
/^Extension '/,
|
/^Extension '/,
|
||||||
@@ -90,7 +91,8 @@ async function scenarioTests(assets: string, name: string, workspace: string) {
|
|||||||
extensionTestsPath: resolve($root, 'dist/test/common/selectTests'),
|
extensionTestsPath: resolve($root, 'dist/test/common/selectTests'),
|
||||||
launchArgs: workspace ? [...options.launchArgs, workspace] : options.launchArgs,
|
launchArgs: workspace ? [...options.launchArgs, workspace] : options.launchArgs,
|
||||||
extensionTestsEnv: {
|
extensionTestsEnv: {
|
||||||
SCENARIO: assets
|
SCENARIO: assets,
|
||||||
|
SCENARIO_ARGS: $scenarioArgs.join(',')
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,97 @@
|
|||||||
|
import fs from 'node:fs';
|
||||||
|
import path from 'node:path';
|
||||||
|
import process from 'node:process';
|
||||||
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
||||||
|
|
||||||
|
const dependencySections = ['dependencies', 'devDependencies', 'optionalDependencies'];
|
||||||
|
|
||||||
|
function parseLockfileKey(key) {
|
||||||
|
const selectors = [];
|
||||||
|
let selectorStart = 0;
|
||||||
|
let quoted = false;
|
||||||
|
let escaped = false;
|
||||||
|
|
||||||
|
for (let index = 0; index < key.length; index++) {
|
||||||
|
const character = key[index];
|
||||||
|
if (escaped) {
|
||||||
|
escaped = false;
|
||||||
|
} else if (character === '\\' && quoted) {
|
||||||
|
escaped = true;
|
||||||
|
} else if (character === '"') {
|
||||||
|
quoted = !quoted;
|
||||||
|
} else if (character === ',' && !quoted) {
|
||||||
|
selectors.push(key.slice(selectorStart, index));
|
||||||
|
selectorStart = index + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
selectors.push(key.slice(selectorStart));
|
||||||
|
|
||||||
|
return selectors.map(selector => {
|
||||||
|
const trimmedSelector = selector.trim();
|
||||||
|
return trimmedSelector.startsWith('"') ? JSON.parse(trimmedSelector) : trimmedSelector;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseLockfileSelectors(lockfile) {
|
||||||
|
const selectors = new Set();
|
||||||
|
for (const line of lockfile.split(/\r?\n/)) {
|
||||||
|
if (/^[^\s#].*:\s*$/.test(line)) {
|
||||||
|
for (const selector of parseLockfileKey(line.replace(/:\s*$/, ''))) {
|
||||||
|
selectors.add(selector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return selectors;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getResolutionPackageName(pattern) {
|
||||||
|
const segments = pattern.split('/');
|
||||||
|
const packageName = segments.at(-1);
|
||||||
|
const scope = segments.at(-2);
|
||||||
|
return scope?.startsWith('@') ? `${scope}/${packageName}` : packageName;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getExpectedSelectors(manifest) {
|
||||||
|
const selectors = [];
|
||||||
|
for (const section of dependencySections) {
|
||||||
|
for (const [packageName, range] of Object.entries(manifest[section] ?? {})) {
|
||||||
|
selectors.push(`${packageName}@${range}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const [pattern, range] of Object.entries(manifest.resolutions ?? {})) {
|
||||||
|
selectors.push(`${getResolutionPackageName(pattern)}@${range}`);
|
||||||
|
}
|
||||||
|
return selectors;
|
||||||
|
}
|
||||||
|
|
||||||
|
function findMissingSelectors(manifest, lockfile) {
|
||||||
|
const lockfileSelectors = parseLockfileSelectors(lockfile);
|
||||||
|
return getExpectedSelectors(manifest)
|
||||||
|
.filter(selector => !lockfileSelectors.has(selector))
|
||||||
|
.sort();
|
||||||
|
}
|
||||||
|
|
||||||
|
function validateYarnLock(packageJsonPath, yarnLockPath) {
|
||||||
|
const manifest = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
||||||
|
const lockfile = fs.readFileSync(yarnLockPath, 'utf8');
|
||||||
|
const missingSelectors = findMissingSelectors(manifest, lockfile);
|
||||||
|
if (missingSelectors.length > 0) {
|
||||||
|
throw new Error(`yarn.lock is missing selectors required by package.json:\n${missingSelectors.map(selector => ` ${selector}`).join('\n')}\nRun yarn install to update yarn.lock.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const invokedUrl = process.argv[1] ? pathToFileURL(path.resolve(process.argv[1])).href : undefined;
|
||||||
|
if (invokedUrl === import.meta.url) {
|
||||||
|
const extensionRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
||||||
|
const packageJsonPath = process.argv[2] ?? path.join(extensionRoot, 'package.json');
|
||||||
|
const yarnLockPath = process.argv[3] ?? path.join(extensionRoot, 'yarn.lock');
|
||||||
|
|
||||||
|
try {
|
||||||
|
validateYarnLock(packageJsonPath, yarnLockPath);
|
||||||
|
} catch (error) {
|
||||||
|
process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
|
||||||
|
process.exitCode = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export { findMissingSelectors, getExpectedSelectors, parseLockfileSelectors, validateYarnLock };
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
import assert from 'node:assert/strict';
|
||||||
|
import test from 'node:test';
|
||||||
|
import { findMissingSelectors } from './verifyYarnLock.mjs';
|
||||||
|
|
||||||
|
test('reports a stale resolution selector', () => {
|
||||||
|
const manifest = { resolutions: { 'fast-uri': '^3.1.5' } };
|
||||||
|
const lockfile = `fast-uri@^3.0.1, fast-uri@^3.1.4:
|
||||||
|
version "3.1.5"
|
||||||
|
`;
|
||||||
|
|
||||||
|
assert.deepEqual(findMissingSelectors(manifest, lockfile), ['fast-uri@^3.1.5']);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('accepts direct, scoped, and nested resolution selectors', () => {
|
||||||
|
const manifest = {
|
||||||
|
dependencies: { '@scope/direct': '^1.0.0' },
|
||||||
|
devDependencies: { 'gulp-typescript': '^5.0.1' },
|
||||||
|
resolutions: {
|
||||||
|
'@scope/resolved': '^2.0.0',
|
||||||
|
'gulp-typescript/**/glob-parent': '^5.1.2',
|
||||||
|
'parent/**/@nested/package': '~3.0.0'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const lockfile = `"@nested/package@~3.0.0":
|
||||||
|
version "3.0.1"
|
||||||
|
|
||||||
|
"@scope/direct@^1.0.0":
|
||||||
|
version "1.0.0"
|
||||||
|
|
||||||
|
"@scope/resolved@^2.0.0":
|
||||||
|
version "2.0.0"
|
||||||
|
|
||||||
|
glob-parent@^3.1.0, glob-parent@^5.1.2:
|
||||||
|
version "5.1.2"
|
||||||
|
|
||||||
|
gulp-typescript@^5.0.1:
|
||||||
|
version "5.0.1"
|
||||||
|
`;
|
||||||
|
|
||||||
|
assert.deepEqual(findMissingSelectors(manifest, lockfile), []);
|
||||||
|
});
|
||||||
@@ -4,20 +4,24 @@
|
|||||||
* ------------------------------------------------------------------------------------------ */
|
* ------------------------------------------------------------------------------------------ */
|
||||||
|
|
||||||
import { downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath } from '@vscode/test-electron';
|
import { downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath } from '@vscode/test-electron';
|
||||||
import { createHash } from 'crypto';
|
|
||||||
import { tmpdir } from 'os';
|
|
||||||
import { resolve } from 'path';
|
import { resolve } from 'path';
|
||||||
import { verbose } from '../src/Utility/Text/streams';
|
import { verbose } from '../src/Utility/Text/streams';
|
||||||
import { mkdir, readJson, rimraf, write } from './common';
|
import { mkdir, readJson, rimraf, write } from './common';
|
||||||
|
import { getVSCodeTestIsolate } from './vscodeTestPath';
|
||||||
|
|
||||||
export const isolated = resolve(tmpdir(), '.vscode-test', createHash('sha256').update(__dirname).digest('hex').substring(0, 6));
|
export const isolated = getVSCodeTestIsolate(__dirname);
|
||||||
export const extensionsDir = resolve(isolated, 'extensions');
|
export const extensionsDir = resolve(isolated, 'extensions');
|
||||||
export const userDir = resolve(isolated, 'user-data');
|
export const userDir = resolve(isolated, 'user-data');
|
||||||
export const settings = resolve(userDir, "User", 'settings.json');
|
export const settings = resolve(userDir, "User", 'settings.json');
|
||||||
|
|
||||||
|
// Pin the test VS Code build to a known-good stable release for deterministic CI instead of
|
||||||
|
// always pulling latest. Launching macOS 1.110+ builds requires @vscode/test-electron >= 3.1.0.
|
||||||
|
export const testVSCodeVersion = '1.131.0';
|
||||||
|
|
||||||
export const options = {
|
export const options = {
|
||||||
|
version: testVSCodeVersion,
|
||||||
cachePath: `${isolated}/cache`,
|
cachePath: `${isolated}/cache`,
|
||||||
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', `--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`, '--disable-workspace-trust']
|
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', '--disable-extensions', `--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`, '--disable-workspace-trust']
|
||||||
};
|
};
|
||||||
|
|
||||||
export async function install() {
|
export async function install() {
|
||||||
@@ -34,9 +38,9 @@ export async function install() {
|
|||||||
args.push(`--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`);
|
args.push(`--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`);
|
||||||
|
|
||||||
// install the appropriate extensions
|
// install the appropriate extensions
|
||||||
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' });
|
// runVSCodeCommand([...args, '--install-extension', 'ms-vscode.cpptools'], options);
|
||||||
// spawnSync(cli, [...args, '--install-extension', 'twxs.cmake'], { encoding: 'utf-8', stdio: 'ignore' });
|
// runVSCodeCommand([...args, '--install-extension', 'twxs.cmake'], options);
|
||||||
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cmake-tools'], { encoding: 'utf-8', stdio: 'ignore' });
|
// runVSCodeCommand([...args, '--install-extension', 'ms-vscode.cmake-tools'], options);
|
||||||
const settingsJson = await readJson(settings, {});
|
const settingsJson = await readJson(settings, {});
|
||||||
if (!settingsJson["workbench.colorTheme"]) {
|
if (!settingsJson["workbench.colorTheme"]) {
|
||||||
settingsJson["workbench.colorTheme"] = "Tomorrow Night Blue";
|
settingsJson["workbench.colorTheme"] = "Tomorrow Night Blue";
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
/* --------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||||||
|
* See 'LICENSE' in the project root for license information.
|
||||||
|
* ------------------------------------------------------------------------------------------ */
|
||||||
|
|
||||||
|
import { createHash } from 'crypto';
|
||||||
|
import { homedir } from 'os';
|
||||||
|
import { posix, win32 } from 'path';
|
||||||
|
|
||||||
|
function isFullyQualifiedPath(value: string, platform: NodeJS.Platform): boolean {
|
||||||
|
const path = platform === 'win32' ? win32 : posix;
|
||||||
|
return path.isAbsolute(value) && (platform !== 'win32' || path.parse(value).root.length > 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getVSCodeTestIsolate(
|
||||||
|
scriptDirectory: string,
|
||||||
|
platform: NodeJS.Platform = process.platform,
|
||||||
|
environment: NodeJS.ProcessEnv = process.env,
|
||||||
|
homeDirectory: string = homedir()): string {
|
||||||
|
const path = platform === 'win32' ? win32 : posix;
|
||||||
|
const override = environment.CPPTOOLS_VSCODE_TEST_ROOT;
|
||||||
|
let root: string;
|
||||||
|
|
||||||
|
if (override) {
|
||||||
|
if (!isFullyQualifiedPath(override, platform)) {
|
||||||
|
throw new Error('CPPTOOLS_VSCODE_TEST_ROOT must be a fully qualified absolute path.');
|
||||||
|
}
|
||||||
|
root = override;
|
||||||
|
} else {
|
||||||
|
switch (platform) {
|
||||||
|
case 'win32': {
|
||||||
|
const localAppData = environment.LOCALAPPDATA;
|
||||||
|
const cacheDirectory = localAppData && isFullyQualifiedPath(localAppData, platform) ? localAppData : path.resolve(homeDirectory, 'AppData', 'Local');
|
||||||
|
root = path.resolve(cacheDirectory, 'Microsoft', 'vscode-cpptools', 'vscode-test');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'darwin':
|
||||||
|
root = path.resolve(homeDirectory, 'Library', 'Caches', 'vscode-cpptools', 'vscode-test');
|
||||||
|
break;
|
||||||
|
default: {
|
||||||
|
const xdgCacheHome = environment.XDG_CACHE_HOME;
|
||||||
|
const cacheDirectory = xdgCacheHome && isFullyQualifiedPath(xdgCacheHome, platform) ? xdgCacheHome : path.resolve(homeDirectory, '.cache');
|
||||||
|
root = path.resolve(cacheDirectory, 'vscode-cpptools', 'vscode-test');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const worktreeHash = createHash('sha256').update(scriptDirectory).digest('hex').substring(0, 6);
|
||||||
|
return path.resolve(root, worktreeHash);
|
||||||
|
}
|
||||||
Vendored
+29
@@ -22,6 +22,31 @@
|
|||||||
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
||||||
"preLaunchTask": "watch"
|
"preLaunchTask": "watch"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// debugs the extension with sanitizer (TSan/ASan/UBSan) reports captured to files.
|
||||||
|
// Requires a sanitizer build of the cpptools language server. Each process writes
|
||||||
|
// ${userHome}/cpptools-sanitizer-logs/<sanitizer>.<pid> (see readme.developer.md).
|
||||||
|
"name": "Run Extension (capture sanitizer logs)",
|
||||||
|
"type": "extensionHost",
|
||||||
|
"request": "launch",
|
||||||
|
"env": {
|
||||||
|
"CPPTOOLS_SANITIZER_LOG_DIR": "${userHome}/cpptools-sanitizer-logs"
|
||||||
|
},
|
||||||
|
"args": [
|
||||||
|
"--no-sandbox",
|
||||||
|
"--disable-updates",
|
||||||
|
"--skip-welcome",
|
||||||
|
"--skip-release-notes",
|
||||||
|
"--disable-workspace-trust",
|
||||||
|
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||||
|
],
|
||||||
|
"sourceMaps": true,
|
||||||
|
"outFiles": [
|
||||||
|
"${workspaceFolder}/dist/**"
|
||||||
|
],
|
||||||
|
// you can use a watch task as a prelaunch task and it works like you'd want it to.
|
||||||
|
"preLaunchTask": "watch"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
// debugs the extension (selecting the workspace)
|
// debugs the extension (selecting the workspace)
|
||||||
"name": "Run Extension-Select Workspace",
|
"name": "Run Extension-Select Workspace",
|
||||||
@@ -97,6 +122,10 @@
|
|||||||
"label": "MultirootDeadlockTest ",
|
"label": "MultirootDeadlockTest ",
|
||||||
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
|
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"label": "RunWithoutDebugging ",
|
||||||
|
"value": "${workspaceFolder}/test/scenarios/RunWithoutDebugging/assets/"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"label": "SimpleCppProject ",
|
"label": "SimpleCppProject ",
|
||||||
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
|
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
|
||||||
|
|||||||
Vendored
+3
-1
@@ -27,12 +27,14 @@
|
|||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
"editor.defaultFormatter": "vscode.json-language-features",
|
"editor.defaultFormatter": "vscode.json-language-features",
|
||||||
"editor.tabSize": 4,
|
"editor.tabSize": 4,
|
||||||
"files.insertFinalNewline": false
|
"editor.detectIndentation": true,
|
||||||
|
"files.insertFinalNewline": true
|
||||||
},
|
},
|
||||||
"[jsonc]": {
|
"[jsonc]": {
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
"editor.defaultFormatter": "vscode.json-language-features",
|
"editor.defaultFormatter": "vscode.json-language-features",
|
||||||
"editor.tabSize": 4,
|
"editor.tabSize": 4,
|
||||||
|
"editor.detectIndentation": true,
|
||||||
"files.insertFinalNewline": true
|
"files.insertFinalNewline": true
|
||||||
},
|
},
|
||||||
"[typescript]": {
|
"[typescript]": {
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ eslint.config.js
|
|||||||
gulpfile.js
|
gulpfile.js
|
||||||
localized_string_ids.h
|
localized_string_ids.h
|
||||||
readme.developer.md
|
readme.developer.md
|
||||||
Reinstalling the Extension.md
|
|
||||||
test.tsconfig.json
|
test.tsconfig.json
|
||||||
translations_auto_pr.js
|
translations_auto_pr.js
|
||||||
tsconfig.json
|
tsconfig.json
|
||||||
|
|||||||
+31
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"name": "cpptools-yarn-bootstrap",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"lockfileVersion": 3,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "cpptools-yarn-bootstrap",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"license": "SEE LICENSE IN LICENSE.txt",
|
||||||
|
"devDependencies": {
|
||||||
|
"yarn": "1.22.22"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/yarn": {
|
||||||
|
"version": "1.22.22",
|
||||||
|
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yarn/-/yarn-1.22.22.tgz",
|
||||||
|
"integrity": "sha1-rDRUnmqo5+rUY6dAfhxzkPYaZhA=",
|
||||||
|
"dev": true,
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"license": "BSD-2-Clause",
|
||||||
|
"bin": {
|
||||||
|
"yarn": "bin/yarn.js",
|
||||||
|
"yarnpkg": "bin/yarn.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"name": "cpptools-yarn-bootstrap",
|
||||||
|
"private": true,
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Install Yarn from internal npm feed for repository bootstrap.",
|
||||||
|
"license": "SEE LICENSE IN LICENSE.txt",
|
||||||
|
"devDependencies": {
|
||||||
|
"yarn": "1.22.22"
|
||||||
|
}
|
||||||
|
}
|
||||||
+131
-2
@@ -1,16 +1,145 @@
|
|||||||
# C/C++ for Visual Studio Code Changelog
|
# C/C++ for Visual Studio Code Changelog
|
||||||
|
|
||||||
## Version 1.31.0: February 19, 2026
|
## Version 1.33.7: August 11, 2026
|
||||||
|
### Bug Fixes
|
||||||
|
* Fix another crash when reading files saved in certain multibyte encodings such as GB18030 or EUC-JP.
|
||||||
|
* Fix newly created files not being associated with the correct configuration in the browse database.
|
||||||
|
* Fix the language server becoming unresponsive during browse database initialization.
|
||||||
|
* Fix stale diagnostics and missing code actions after editing visible headers.
|
||||||
|
* Fix `/ZW:nostdlib` not being processed correctly by IntelliSense.
|
||||||
|
* Update dependencies.
|
||||||
|
|
||||||
|
## Version 1.33.6: August 4, 2026
|
||||||
|
### Bug Fixes
|
||||||
|
* Fix a spurious recursive includes (`**`) debug console log warning for paths merged from `c_cpp_properties.json` when `C_Cpp.mergeConfigurations` is enabled. [#14125](https://github.com/microsoft/vscode-cpptools/issues/14125)
|
||||||
|
* Thanks for the contribution. [@owevertonguedes (Weverton Guedes)](https://github.com/owevertonguedes) [PR #14620](https://github.com/microsoft/vscode-cpptools/pull/14620)
|
||||||
|
* Fix custom configurations being discarded when `C_Cpp.mergeConfigurations` is enabled and a provider supplies the file `uri` as a `vscode.Uri`. [#14621](https://github.com/microsoft/vscode-cpptools/issues/14621)
|
||||||
|
* Thanks for the contribution. [@owevertonguedes (Weverton Guedes)](https://github.com/owevertonguedes) [PR #14624](https://github.com/microsoft/vscode-cpptools/pull/14624)
|
||||||
|
* Fix a tag parser crash when a UTF-8 string literal is concatenated with a narrow string literal containing an invalid multibyte sequence.
|
||||||
|
* Fix potential browse database corruption when the same workspace is opened by multiple processes on Linux and macOS.
|
||||||
|
* Fix a crash when reading files saved in certain multibyte encodings such as GB18030 or EUC-JP.
|
||||||
|
* Fix an incorrect file path in an error message on Windows.
|
||||||
|
* Other potential crash fixes.
|
||||||
|
* Update dependencies.
|
||||||
|
|
||||||
|
## Version 1.33.5: July 28, 2026
|
||||||
|
### Bug Fixes
|
||||||
|
* Fix the remote process picker `ps` command not working with some shells. [#14442](https://github.com/microsoft/vscode-cpptools/issues/14442)
|
||||||
|
* Thanks for the contribution. [@HuzaifaAbdulRehman](https://github.com/HuzaifaAbdulRehman) [PR #14592](https://github.com/microsoft/vscode-cpptools/pull/14592)
|
||||||
|
* Fix a spurious IntelliSense error with class template argument deduction (CTAD). [#14453](https://github.com/microsoft/vscode-cpptools/issues/14453), [#14459](https://github.com/microsoft/vscode-cpptools/issues/14459), [#14504](https://github.com/microsoft/vscode-cpptools/issues/14504)
|
||||||
|
* Fix 'Run C/C++ File' not running the program in PowerShell when terminal shell integration is unavailable. [#14583](https://github.com/microsoft/vscode-cpptools/issues/14583)
|
||||||
|
* Thanks for the contribution. [@owevertonguedes (Weverton Guedes)](https://github.com/owevertonguedes) [PR #14585](https://github.com/microsoft/vscode-cpptools/pull/14585)
|
||||||
|
* Fix the build tools walkthrough for Visual Studio 2026. [PR #14589](https://github.com/microsoft/vscode-cpptools/pull/14589)
|
||||||
|
* Fix empty database folders being created in every folder of a multi-root workspace.
|
||||||
|
* Fix 'Rescan Workspace' triggering a full database reset instead of only a rescan.
|
||||||
|
* Fix several potential deadlocks and data races in the language server.
|
||||||
|
* Reduce memory usage to help avoid out-of-memory crashes.
|
||||||
|
* Fix an incorrect `#include` casing error on Linux.
|
||||||
|
* Fix an IntelliSense crash.
|
||||||
|
* Various localization updates.
|
||||||
|
* Update dependencies.
|
||||||
|
|
||||||
|
## Version 1.33.4: July 8, 2026
|
||||||
|
### Bug Fixes
|
||||||
|
* Fix the wording for the `#include` errors detected message. [#8227](https://github.com/microsoft/vscode-cpptools/issues/8227)
|
||||||
|
* Fix another "directory_cache" crash.
|
||||||
|
* Update some localization.
|
||||||
|
|
||||||
|
## Version 1.33.3: July 6, 2026
|
||||||
|
### Enhancement
|
||||||
|
* 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
|
### Enhancements
|
||||||
* Add support for `program` in attach debug configurations. [#14046](https://github.com/microsoft/vscode-cpptools/issues/14046)
|
* 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)
|
* Thanks for the contribution. [@Subham-KRLX (Subham)](https://github.com/Subham-KRLX) [PR #14108](https://github.com/microsoft/vscode-cpptools/pull/14108)
|
||||||
|
* Remove unnecessary `console.debug` logging. [#14294](https://github.com/microsoft/vscode-cpptools/issues/14294)
|
||||||
|
* 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.
|
* Update SQLite to the latest version.
|
||||||
|
|
||||||
### Bug Fixes
|
### 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 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 `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
|
### Bug Fix
|
||||||
* Fix a potential language server deadlock after editing code.
|
* Fix a potential language server deadlock after editing code.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -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.
|
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.
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
**[Quick survey](https://www.research.net/r/VBVV6C6)**
|
**[Quick survey](https://aka.ms/vcvscodesurvey)**
|
||||||
<br>
|
<br>
|
||||||
Let us know what you think of the extension by taking the quick survey.
|
Let us know what you think of the extension by taking the quick survey.
|
||||||
|
|
||||||
|
|||||||
+523
-350
File diff suppressed because it is too large
Load Diff
@@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"cpfe",
|
|
||||||
"--wchar_t_keyword",
|
|
||||||
"--no_warnings",
|
|
||||||
"--rtti",
|
|
||||||
"--edge",
|
|
||||||
"--exceptions",
|
|
||||||
"--error_limit",
|
|
||||||
"25000",
|
|
||||||
"-D_EDG_COMPILER",
|
|
||||||
"-D_USE_DECLSPECS_FOR_SAL=1"
|
|
||||||
],
|
|
||||||
"source_file_format": "-f %s",
|
|
||||||
"expressions": [
|
|
||||||
{
|
|
||||||
"match": "^/I(.*)",
|
|
||||||
"replace": "-I\n$1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"match": "^/D(.*)",
|
|
||||||
"replace": "-D$1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"match": "^/AI(.*)",
|
|
||||||
"replace": "--using_directory\n$1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"match": "^/dE--(.*)",
|
|
||||||
"replace": "--$1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-Dunix=1",
|
|
||||||
"-D__unix__=1",
|
|
||||||
"-D__linux__=1",
|
|
||||||
"-D__arm__=1",
|
|
||||||
"-D__ARM_32BIT_STATE=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=int",
|
|
||||||
"-D__SIZE_TYPE__=unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=long int"
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-Dunix=1",
|
|
||||||
"-D__unix__=1",
|
|
||||||
"-D__linux__=1",
|
|
||||||
"-D__aarch64__=1",
|
|
||||||
"-D__ARM_64BIT_STATE=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=long int",
|
|
||||||
"-D__SIZE_TYPE__=long unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=int"
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-Dunix=1",
|
|
||||||
"-D__unix__=1",
|
|
||||||
"-D__linux__=1",
|
|
||||||
"-D__x86_64=1",
|
|
||||||
"-D__x86_64__=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=long int",
|
|
||||||
"-D__SIZE_TYPE__=long unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=int"
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-Dunix=1",
|
|
||||||
"-D__unix__=1",
|
|
||||||
"-D__linux__=1",
|
|
||||||
"-D__i386=1",
|
|
||||||
"-D__i386__=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=int",
|
|
||||||
"-D__SIZE_TYPE__=unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=long int"
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-Dunix=1",
|
|
||||||
"-D__unix__=1",
|
|
||||||
"-D__linux__=1",
|
|
||||||
"-D__arm__=1",
|
|
||||||
"-D__ARM_32BIT_STATE=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=int",
|
|
||||||
"-D__SIZE_TYPE__=unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=long int"
|
|
||||||
],
|
|
||||||
"defaults_op" : "merge"
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-Dunix=1",
|
|
||||||
"-D__unix__=1",
|
|
||||||
"-D__linux__=1",
|
|
||||||
"-D__aarch64__=1",
|
|
||||||
"-D__ARM_64BIT_STATE=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=long int",
|
|
||||||
"-D__SIZE_TYPE__=long unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=int"
|
|
||||||
],
|
|
||||||
"defaults_op" : "merge"
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-Dunix=1",
|
|
||||||
"-D__unix__=1",
|
|
||||||
"-D__linux__=1",
|
|
||||||
"-D__x86_64=1",
|
|
||||||
"-D__x86_64__=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=long int",
|
|
||||||
"-D__SIZE_TYPE__=long unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=int"
|
|
||||||
],
|
|
||||||
"defaults_op" : "merge"
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-Dunix=1",
|
|
||||||
"-D__unix__=1",
|
|
||||||
"-D__linux__=1",
|
|
||||||
"-D__i386=1",
|
|
||||||
"-D__i386__=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=int",
|
|
||||||
"-D__SIZE_TYPE__=unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=long int"
|
|
||||||
],
|
|
||||||
"defaults_op" : "merge"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-D__APPLE__=1",
|
|
||||||
"-D__MACH__=1",
|
|
||||||
"-D__arm__=1",
|
|
||||||
"-D__ARM_32BIT_STATE=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=int",
|
|
||||||
"-D__SIZE_TYPE__=unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=long int"
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-D__APPLE__=1",
|
|
||||||
"-D__MACH__=1",
|
|
||||||
"-D__aarch64__=1",
|
|
||||||
"-D__ARM_64BIT_STATE=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=long int",
|
|
||||||
"-D__SIZE_TYPE__=long unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=int"
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-D__APPLE__=1",
|
|
||||||
"-D__MACH__=1",
|
|
||||||
"-D__x86_64=1",
|
|
||||||
"-D__x86_64__=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=long int",
|
|
||||||
"-D__SIZE_TYPE__=long unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=int"
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-D__APPLE__=1",
|
|
||||||
"-D__MACH__=1",
|
|
||||||
"-D__i386=1",
|
|
||||||
"-D__i386__=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=int",
|
|
||||||
"-D__SIZE_TYPE__=unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=long int"
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-D__APPLE__=1",
|
|
||||||
"-D__MACH__=1",
|
|
||||||
"-D__arm__=1",
|
|
||||||
"-D__ARM_32BIT_STATE=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=int",
|
|
||||||
"-D__SIZE_TYPE__=unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=long int"
|
|
||||||
],
|
|
||||||
"defaults_op" : "merge"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-D__APPLE__=1",
|
|
||||||
"-D__MACH__=1",
|
|
||||||
"-D__aarch64__=1",
|
|
||||||
"-D__ARM_64BIT_STATE=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=long int",
|
|
||||||
"-D__SIZE_TYPE__=long unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=int"
|
|
||||||
],
|
|
||||||
"defaults_op" : "merge"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-D__APPLE__=1",
|
|
||||||
"-D__MACH__=1",
|
|
||||||
"-D__x86_64=1",
|
|
||||||
"-D__x86_64__=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=long int",
|
|
||||||
"-D__SIZE_TYPE__=long unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=int"
|
|
||||||
],
|
|
||||||
"defaults_op" : "merge"
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
"-D__APPLE__=1",
|
|
||||||
"-D__MACH__=1",
|
|
||||||
"-D__i386=1",
|
|
||||||
"-D__i386__=1",
|
|
||||||
"-D__PTRDIFF_TYPE__=int",
|
|
||||||
"-D__SIZE_TYPE__=unsigned int",
|
|
||||||
"-D__WCHAR_TYPE__=long int"
|
|
||||||
],
|
|
||||||
"defaults_op" : "merge"
|
|
||||||
}
|
|
||||||
@@ -2810,7 +2810,7 @@
|
|||||||
"Nejde vyhodnotit hodnotu nekompletní položky %t.",
|
"Nejde vyhodnotit hodnotu nekompletní položky %t.",
|
||||||
"Systém ignoroval návratovou hodnotu z rutiny deklarované pomocí atributu nodiscard.",
|
"Systém ignoroval návratovou hodnotu z rutiny deklarované pomocí atributu nodiscard.",
|
||||||
"Systém ignoroval typ návratové hodnoty s atributem nodiscard.",
|
"Systém ignoroval typ návratové hodnoty s atributem nodiscard.",
|
||||||
"Atribut nodiscard neplatí pro destruktory nebo rutiny s návratovým typem void.",
|
"Atribut nodiscard neplatí pro destruktory nebo rutiny s návratovým typem void.",
|
||||||
"Atribut fallthrough platí jenom pro příkazy null.",
|
"Atribut fallthrough platí jenom pro příkazy null.",
|
||||||
"Atribut fallthrough se může vyskytovat jenom uvnitř příkazu switch.",
|
"Atribut fallthrough se může vyskytovat jenom uvnitř příkazu switch.",
|
||||||
"Příkaz fallthrough musí předcházet návěstí větve příkazu switch nebo výchozí hodnotě.",
|
"Příkaz fallthrough musí předcházet návěstí větve příkazu switch nebo výchozí hodnotě.",
|
||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"„static“ je zde nestandardní",
|
"„static“ je zde nestandardní",
|
||||||
"%nd byl dříve deklarován bez explicitního základu výčtu",
|
"%nd byl dříve deklarován bez explicitního základu výčtu",
|
||||||
"Chybějící typename je tady nestandardní.",
|
"Chybějící typename je tady nestandardní.",
|
||||||
"Zkrácená syntaxe šablony funkce není standardní pro vodítka dedukce"
|
"Zkrácená syntaxe šablony funkce není standardní pro vodítka dedukce",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"„static“ entspricht hier nicht dem Standard",
|
"„static“ entspricht hier nicht dem Standard",
|
||||||
"%nd wurde zuvor ohne explizite Enumerationsbasis deklariert",
|
"%nd wurde zuvor ohne explizite Enumerationsbasis deklariert",
|
||||||
"Fehlender „typename“ entspricht hier nicht dem Standard.",
|
"Fehlender „typename“ entspricht hier nicht dem Standard.",
|
||||||
"Die abgekürzte Funktionsvorlagensyntax entspricht nicht dem Standard für Deduktionsleitfäden."
|
"Die abgekürzte Funktionsvorlagensyntax entspricht nicht dem Standard für Deduktionsleitfäden.",
|
||||||
]
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
|
]
|
||||||
|
|||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"\"static\" no es estándar aquí",
|
"\"static\" no es estándar aquí",
|
||||||
"%nd se declaró previamente sin una base explícita de enumeración",
|
"%nd se declaró previamente sin una base explícita de enumeración",
|
||||||
"falta 'typename' no estándar aquí",
|
"falta 'typename' no estándar aquí",
|
||||||
"La sintaxis abreviada de las plantillas de funciones no es estándar para las guías de deducción"
|
"La sintaxis abreviada de las plantillas de funciones no es estándar para las guías de deducción",
|
||||||
]
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
|
]
|
||||||
|
|||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"« static » n’est pas standard ici",
|
"« static » n’est pas standard ici",
|
||||||
"%nd a été déclaré précédemment sans base d’énumération explicite",
|
"%nd a été déclaré précédemment sans base d’énumération explicite",
|
||||||
"le mot-clé « typename » manquant n’est pas standard ici",
|
"le mot-clé « typename » manquant n’est pas standard ici",
|
||||||
"la syntaxe abrégée du modèle de fonction n’est pas standard pour les guides de déduction"
|
"la syntaxe abrégée du modèle de fonction n’est pas standard pour les guides de déduction",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"'static' non è standard qui",
|
"'static' non è standard qui",
|
||||||
"%nd era stato dichiarato in precedenza senza una base di enumerazione esplicita",
|
"%nd era stato dichiarato in precedenza senza una base di enumerazione esplicita",
|
||||||
"manca 'typename' che qui non è standard",
|
"manca 'typename' che qui non è standard",
|
||||||
"la sintassi abbreviata del modello di funzione non è standard per le guide alla deduzione"
|
"la sintassi abbreviata del modello di funzione non è standard per le guide alla deduzione",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3705,7 +3705,7 @@
|
|||||||
"<constructor-call>",
|
"<constructor-call>",
|
||||||
"<NULL expression>",
|
"<NULL expression>",
|
||||||
"<error>",
|
"<error>",
|
||||||
"<NULL routine>",
|
"<NULL ルーチン>",
|
||||||
"<default>",
|
"<default>",
|
||||||
"パラメーター #",
|
"パラメーター #",
|
||||||
" (1 つ上のレベル)",
|
" (1 つ上のレベル)",
|
||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"'static' はここでは非標準です",
|
"'static' はここでは非標準です",
|
||||||
"%nd は、明示的な列挙型ベースなしで以前に宣言されました",
|
"%nd は、明示的な列挙型ベースなしで以前に宣言されました",
|
||||||
"見つからない 'typename' はここでは非標準です",
|
"見つからない 'typename' はここでは非標準です",
|
||||||
"省略形の関数テンプレート構文は、推論ガイドでは非標準です"
|
"省略形の関数テンプレート構文は、推論ガイドでは非標準です",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3705,7 +3705,7 @@
|
|||||||
"<constructor-call>",
|
"<constructor-call>",
|
||||||
"<NULL expression>",
|
"<NULL expression>",
|
||||||
"<error>",
|
"<error>",
|
||||||
"<NULL routine>",
|
"<NULL 루틴>",
|
||||||
"<default>",
|
"<default>",
|
||||||
"parameter #",
|
"parameter #",
|
||||||
" (한 수준 위로)",
|
" (한 수준 위로)",
|
||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"여기서 'static'은 표준이 아닙니다.",
|
"여기서 'static'은 표준이 아닙니다.",
|
||||||
"%nd은(는) 이전에 명시적 열거형 기반 없이 선언되었습니다.",
|
"%nd은(는) 이전에 명시적 열거형 기반 없이 선언되었습니다.",
|
||||||
"여기서 누락된 'typename'이 표준이 아닙니다.",
|
"여기서 누락된 'typename'이 표준이 아닙니다.",
|
||||||
"약식 함수 템플릿 구문은 추론 가이드에 대한 표준이 아닙니다."
|
"약식 함수 템플릿 구문은 추론 가이드에 대한 표준이 아닙니다.",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -2739,7 +2739,7 @@
|
|||||||
"wyrażenie niedozwolone w kontekście, którego nie obliczono",
|
"wyrażenie niedozwolone w kontekście, którego nie obliczono",
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
"wyrażenie „return” jest niedozwolone w koprocedurze (zamiast tego użyj wyrażenia „co_return”)",
|
"instrukcja „return” jest niedozwolona w koprocedurze (użyj zamiast niej instrukcji „co_return”)",
|
||||||
"wyrażenie „co_return” jest dozwolone tylko w koprocedurach",
|
"wyrażenie „co_return” jest dozwolone tylko w koprocedurach",
|
||||||
"nie można porównać wartości zmiennoprzecinkowych",
|
"nie można porównać wartości zmiennoprzecinkowych",
|
||||||
"nie można porównać wartości wskaźników, ponieważ nie wskazują na ten sam kompletny obiekt lub wskazują na podobiekty o różnej dostępności",
|
"nie można porównać wartości wskaźników, ponieważ nie wskazują na ten sam kompletny obiekt lub wskazują na podobiekty o różnej dostępności",
|
||||||
@@ -3177,7 +3177,7 @@
|
|||||||
"brak instrukcji co_return, podczas gdy %t nie ma elementu „return_void” na końcu %n",
|
"brak instrukcji co_return, podczas gdy %t nie ma elementu „return_void” na końcu %n",
|
||||||
"nie znaleziono wariantu nothrow globalnego elementu „operator new” dla alokacji stanu koprocedury",
|
"nie znaleziono wariantu nothrow globalnego elementu „operator new” dla alokacji stanu koprocedury",
|
||||||
"nie znaleziono zdatnego do użycia elementu „operator delete” dla cofania alokacji koprocedury",
|
"nie znaleziono zdatnego do użycia elementu „operator delete” dla cofania alokacji koprocedury",
|
||||||
"funkcja constexpr nie może być kokprocedurą",
|
"funkcja constexpr nie może być koprocedurą",
|
||||||
"argument operacji dla tego wyrażenia %s jest rozpoznawany jako niebędący klasą typ %t",
|
"argument operacji dla tego wyrażenia %s jest rozpoznawany jako niebędący klasą typ %t",
|
||||||
"wyrażenie co_await jest niedozwolone w inicjatorze statycznym",
|
"wyrażenie co_await jest niedozwolone w inicjatorze statycznym",
|
||||||
"wyrażenie co_await wywołujące funkcję %n musi być niezwracalne",
|
"wyrażenie co_await wywołujące funkcję %n musi być niezwracalne",
|
||||||
@@ -3705,7 +3705,7 @@
|
|||||||
"<constructor-call>",
|
"<constructor-call>",
|
||||||
"<NULL expression>",
|
"<NULL expression>",
|
||||||
"<error>",
|
"<error>",
|
||||||
"<NULL routine>",
|
"<procedura NULL>",
|
||||||
"<default>",
|
"<default>",
|
||||||
"parametr #",
|
"parametr #",
|
||||||
" (jeden poziom wyżej)",
|
" (jeden poziom wyżej)",
|
||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"„static” jest tutaj niestandardowy",
|
"„static” jest tutaj niestandardowy",
|
||||||
"funkcja %nd została poprzednio zadeklarowana bez jawnej bazy wyliczenia",
|
"funkcja %nd została poprzednio zadeklarowana bez jawnej bazy wyliczenia",
|
||||||
"brak elementu „typename” jest tutaj niestandardowe",
|
"brak elementu „typename” jest tutaj niestandardowe",
|
||||||
"skrócona składnia szablonu funkcji jest niestandardowa dla przewodników dedukcji"
|
"skrócona składnia szablonu funkcji jest niestandardowa dla przewodników dedukcji",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"\"static\" não é padrão aqui",
|
"\"static\" não é padrão aqui",
|
||||||
"%nd foi declarado anteriormente sem uma base de enumeração explícita",
|
"%nd foi declarado anteriormente sem uma base de enumeração explícita",
|
||||||
"\"typename\" ausente não é padrão aqui",
|
"\"typename\" ausente não é padrão aqui",
|
||||||
"a sintaxe abreviada de template de função é não padrão para guias de dedução"
|
"a sintaxe abreviada de template de função é não padrão para guias de dedução",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"\"static\" является здесь нестандартным",
|
"\"static\" является здесь нестандартным",
|
||||||
"%nd ранее был объявлен без явной базы перечисления",
|
"%nd ранее был объявлен без явной базы перечисления",
|
||||||
"отсутствие typename здесь является нестандартным",
|
"отсутствие typename здесь является нестандартным",
|
||||||
"сокращенный синтаксис шаблона функции не является стандартным для правил дедукции"
|
"сокращенный синтаксис шаблона функции не является стандартным для правил дедукции",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1664,7 +1664,7 @@
|
|||||||
"#include_next, birincil kaynak dosyada kullanılamıyor",
|
"#include_next, birincil kaynak dosyada kullanılamıyor",
|
||||||
"şablon üye tanımında %no1 belirtilemiyor -- onun yerine %no2 varsayıldı",
|
"şablon üye tanımında %no1 belirtilemiyor -- onun yerine %no2 varsayıldı",
|
||||||
"yerel işlev bildiriminde, %sq özniteliği yoksayılıyor",
|
"yerel işlev bildiriminde, %sq özniteliği yoksayılıyor",
|
||||||
"%sq öğesi ile %n içerisinde birleştirme işlemi, geçerli bir simge oluşturmuyor",
|
"%sq öğesi ile %n içerisinde birleştirme işlemi, geçerli bir belirteç oluşturmuyor",
|
||||||
"%no belirsiz (%n2 varsayıldı)",
|
"%no belirsiz (%n2 varsayıldı)",
|
||||||
"statik bir üye işlev üzerinde tür niteleyicisine izin verilmiyor",
|
"statik bir üye işlev üzerinde tür niteleyicisine izin verilmiyor",
|
||||||
"bir tür niteleyicisine, bir oluşturucu veya yıkıcı üzerinde izin verilmiyor",
|
"bir tür niteleyicisine, bir oluşturucu veya yıkıcı üzerinde izin verilmiyor",
|
||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"'static' burada standart dışıdır",
|
"'static' burada standart dışıdır",
|
||||||
"%nd daha önce açık bir sabit liste tabanı olmadan tanımlanmıştı",
|
"%nd daha önce açık bir sabit liste tabanı olmadan tanımlanmıştı",
|
||||||
"eksik 'typename' burada standart dışı",
|
"eksik 'typename' burada standart dışı",
|
||||||
"kısaltılmış işlev şablonu sözdizimi çıkarsama kılavuzları için standart değil"
|
"kısaltılmış işlev şablonu sözdizimi çıkarsama kılavuzları için standart değil",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3604,7 +3604,7 @@
|
|||||||
"第一个参数必须是指向整数、enum 或支持的浮点类型的指针",
|
"第一个参数必须是指向整数、enum 或支持的浮点类型的指针",
|
||||||
"编译多个翻译单元时无法使用 C++ 模块",
|
"编译多个翻译单元时无法使用 C++ 模块",
|
||||||
"C++ 模块不能与 C++11 之前的 'export' 功能一起使用",
|
"C++ 模块不能与 C++11 之前的 'export' 功能一起使用",
|
||||||
"不支持 IFC 令牌 %sq",
|
"不支持 IFC 标记 %sq",
|
||||||
"'pass_object_size' 属性仅对函数声明的参数有效",
|
"'pass_object_size' 属性仅对函数声明的参数有效",
|
||||||
"%sq 属性 %d1 的参数必须介于 0 和 %d2 之间",
|
"%sq 属性 %d1 的参数必须介于 0 和 %d2 之间",
|
||||||
"此处的 ref-qualifier 被忽略",
|
"此处的 ref-qualifier 被忽略",
|
||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"此处使用 \"static\" 不符合标准",
|
"此处使用 \"static\" 不符合标准",
|
||||||
"之前声明 %nd 时未指定显式枚举基类型",
|
"之前声明 %nd 时未指定显式枚举基类型",
|
||||||
"此处缺少 'typename' 属于非标准用法",
|
"此处缺少 'typename' 属于非标准用法",
|
||||||
"缩写函数模板语法对于推导指南是不标准的"
|
"缩写函数模板语法对于推导指南是不标准的",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"記憶體不足。請考慮啟用 64 位元 IntelliSense 引擎,並在設定中增加 IntelliSense 記憶體限制。",
|
"記憶體不足。請考慮啟用 64 位元 IntelliSense 引擎,並在設定中增加 IntelliSense 記憶體限制。",
|
||||||
null,
|
null,
|
||||||
"檔案結尾處有未封閉的註解",
|
"檔案結尾處有未封閉的註解",
|
||||||
"無法辨認的語彙基元",
|
"無法辨認的 Token",
|
||||||
"遺漏右引號",
|
"遺漏右引號",
|
||||||
"不允許巢狀註解",
|
"不允許巢狀註解",
|
||||||
"這裡不應該出現 '#'",
|
"這裡不應該出現 '#'",
|
||||||
@@ -721,8 +721,8 @@
|
|||||||
"不允許 mutable",
|
"不允許 mutable",
|
||||||
"不允許 %n 的重新宣告更改其存取權",
|
"不允許 %n 的重新宣告更改其存取權",
|
||||||
null,
|
null,
|
||||||
"可能誤用替代的語彙基元 '<:'",
|
"可能誤用替代的 Token '<:'",
|
||||||
"可能誤用替代的語彙基元 '%%:'",
|
"可能誤用替代的 Token '%%:'",
|
||||||
"不允許命名空間定義",
|
"不允許命名空間定義",
|
||||||
"名稱必須是命名空間名稱",
|
"名稱必須是命名空間名稱",
|
||||||
"不允許命名空間別名定義",
|
"不允許命名空間別名定義",
|
||||||
@@ -782,7 +782,7 @@
|
|||||||
"參考的目標是 %nd1 -- 根據舊的 for-init 範圍規則,它可能已 %nd2",
|
"參考的目標是 %nd1 -- 根據舊的 for-init 範圍規則,它可能已 %nd2",
|
||||||
"控制 for-init 差異時警告的選項只有在編譯 C++ 時才能使用",
|
"控制 for-init 差異時警告的選項只有在編譯 C++ 時才能使用",
|
||||||
"這裡需要虛擬 %n 的定義",
|
"這裡需要虛擬 %n 的定義",
|
||||||
"空白註解被解譯為語彙基元帶入的運算子 '##'",
|
"空白註解被解譯為 Token 帶入的運算子 '##'",
|
||||||
"friend 宣告不能有儲存類別",
|
"friend 宣告不能有儲存類別",
|
||||||
"這個宣告不能有 %no 的樣板參數清單",
|
"這個宣告不能有 %no 的樣板參數清單",
|
||||||
"%n 不是有效的類別成員範本",
|
"%n 不是有效的類別成員範本",
|
||||||
@@ -1664,7 +1664,7 @@
|
|||||||
"#include_next 不能用於主要原始程式檔",
|
"#include_next 不能用於主要原始程式檔",
|
||||||
"無法在樣板成員定義中指定 %no1 -- 假設為 %no2",
|
"無法在樣板成員定義中指定 %no1 -- 假設為 %no2",
|
||||||
"區域函式宣告忽略 %sq 屬性",
|
"區域函式宣告忽略 %sq 屬性",
|
||||||
"與 %sq (於 %n 中) 的串連不會建立有效的語彙基元",
|
"與 %sq (於 %n 中) 的串連不會建立有效的 Token",
|
||||||
"%no 模稜兩可 (假設為 %n2)",
|
"%no 模稜兩可 (假設為 %n2)",
|
||||||
"靜態成員函式不能有類型限定詞",
|
"靜態成員函式不能有類型限定詞",
|
||||||
"建構函式或解構函式不能有類型限定詞",
|
"建構函式或解構函式不能有類型限定詞",
|
||||||
@@ -3388,7 +3388,7 @@
|
|||||||
"當 %sq 用於匯入或模組指示詞中時,不得為巨集",
|
"當 %sq 用於匯入或模組指示詞中時,不得為巨集",
|
||||||
"這個指示詞只能出現在全域命名空間範圍內",
|
"這個指示詞只能出現在全域命名空間範圍內",
|
||||||
"'export' 宣告只能出現在全域或命名空間範圍",
|
"'export' 宣告只能出現在全域或命名空間範圍",
|
||||||
"%sq 剖析為識別碼而非關鍵字,因為後續的權杖與前置處理器指示詞的標記不相符",
|
"%sq 剖析為識別碼而非關鍵字,因為後續的 Token 與前置處理器指示詞的標記不相符",
|
||||||
"這似乎是前置處理器指示詞的開頭,但是缺少 ';',後面緊接著新行會防止",
|
"這似乎是前置處理器指示詞的開頭,但是缺少 ';',後面緊接著新行會防止",
|
||||||
"這似乎是模組前置處理指示詞,但這類指示詞不能出現在巨集展開中",
|
"這似乎是模組前置處理指示詞,但這類指示詞不能出現在巨集展開中",
|
||||||
"'module' 指示詞不能出現在條件式包含的範圍 (例如,#if、#else、#elseif 等)",
|
"'module' 指示詞不能出現在條件式包含的範圍 (例如,#if、#else、#elseif 等)",
|
||||||
@@ -3604,7 +3604,7 @@
|
|||||||
"第一個引數必須是整數的指標、enum 或支援的浮點類型",
|
"第一個引數必須是整數的指標、enum 或支援的浮點類型",
|
||||||
"編譯多個翻譯單元時,無法使用 C++ 模組",
|
"編譯多個翻譯單元時,無法使用 C++ 模組",
|
||||||
"C++ 模組無法搭配先前的 C++11 'export' 功能使用",
|
"C++ 模組無法搭配先前的 C++11 'export' 功能使用",
|
||||||
"IFC 權杖 %sq 不受支援",
|
"IFC Token %sq 不受支援",
|
||||||
"'pass_object_size' 屬性僅在函式宣告的參數上有效",
|
"'pass_object_size' 屬性僅在函式宣告的參數上有效",
|
||||||
"%sq 屬性 %d1 的引數必須是介於 0 到 %d2 之間的值",
|
"%sq 屬性 %d1 的引數必須是介於 0 到 %d2 之間的值",
|
||||||
"這裡會忽略 ref-qualifier",
|
"這裡會忽略 ref-qualifier",
|
||||||
@@ -3624,11 +3624,11 @@
|
|||||||
"在此模式下,'auto' 作為類型規範並非標準用法",
|
"在此模式下,'auto' 作為類型規範並非標準用法",
|
||||||
"由於檔案損毀,無法匯入模組檔案 %sq",
|
"由於檔案損毀,無法匯入模組檔案 %sq",
|
||||||
"IFC",
|
"IFC",
|
||||||
"成員宣告後插入了沒有直接關聯的權杖",
|
"成員宣告後插入了沒有直接關聯的 Token",
|
||||||
"錯誤的插入範圍 (%r)",
|
"錯誤的插入範圍 (%r)",
|
||||||
"預期為 std::string_view 類型的值,但收到 %t",
|
"預期為 std::string_view 類型的值,但收到 %t",
|
||||||
"陳述式後插入了沒有直接關聯的權杖",
|
"陳述式後插入了沒有直接關聯的 Token",
|
||||||
"宣告後插入了沒有直接關聯的權杖",
|
"宣告後插入了沒有直接關聯的 Token",
|
||||||
"Tuple 索引值 (%d) 溢位",
|
"Tuple 索引值 (%d) 溢位",
|
||||||
">> 輸出來自 std::meta::__report_tokens",
|
">> 輸出來自 std::meta::__report_tokens",
|
||||||
">> 結束輸出自 std::meta::__report_tokens",
|
">> 結束輸出自 std::meta::__report_tokens",
|
||||||
@@ -3747,5 +3747,6 @@
|
|||||||
"此處使用的 'static' 非標準",
|
"此處使用的 'static' 非標準",
|
||||||
"%nd 先前宣告時未明確指定的列舉基底",
|
"%nd 先前宣告時未明確指定的列舉基底",
|
||||||
"此處缺少 'typename' 非標準用法",
|
"此處缺少 'typename' 非標準用法",
|
||||||
"簡化函式範本語法在推導指南中並非標準用法"
|
"簡化函式範本語法在推導指南中並非標準用法",
|
||||||
|
"too many nested user-defined conversions (possible cycle of converting routines)"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"defaults": [
|
|
||||||
],
|
|
||||||
"defaults_op": "merge"
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user