diff --git a/.github/actions/.npmrc b/.github/actions/.npmrc index d8324806f..fdfca0176 100644 --- a/.github/actions/.npmrc +++ b/.github/actions/.npmrc @@ -1,2 +1,3 @@ registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ -always-auth=true \ No newline at end of file +# Disable postinstall scripts for supply chain security. Allowlist exceptions with npm trust: https://docs.npmjs.com/cli/v11/commands/npm-trust +ignore-scripts=true diff --git a/.github/actions/AddComment/action.yml b/.github/actions/AddComment/action.yml index 8820d6b59..02419ddcd 100644 --- a/.github/actions/AddComment/action.yml +++ b/.github/actions/AddComment/action.yml @@ -38,5 +38,5 @@ inputs: readonly: description: If true, changes are not applied. runs: - using: 'node20' + using: 'node24' main: 'index.js' diff --git a/.github/actions/Locker/action.yml b/.github/actions/Locker/action.yml index 0b20af00a..8b850faa3 100644 --- a/.github/actions/Locker/action.yml +++ b/.github/actions/Locker/action.yml @@ -29,5 +29,5 @@ inputs: readonly: description: If true, changes are not applied. runs: - using: 'node20' + using: 'node24' main: 'index.js' diff --git a/.github/actions/Reopener/action.yml b/.github/actions/Reopener/action.yml index f12a1443d..128d23d79 100644 --- a/.github/actions/Reopener/action.yml +++ b/.github/actions/Reopener/action.yml @@ -33,5 +33,5 @@ inputs: readonly: description: If true, changes are not applied. runs: - using: 'node20' + using: 'node24' main: 'index.js' diff --git a/.github/actions/StaleCloser/action.yml b/.github/actions/StaleCloser/action.yml index c081109eb..43c1bba66 100644 --- a/.github/actions/StaleCloser/action.yml +++ b/.github/actions/StaleCloser/action.yml @@ -43,5 +43,5 @@ inputs: readonly: description: If true, changes are not applied. runs: - using: 'node20' + using: 'node24' main: 'index.js' diff --git a/.github/actions/common/utils.ts b/.github/actions/common/utils.ts index e46ca0a68..b1180f850 100644 --- a/.github/actions/common/utils.ts +++ b/.github/actions/common/utils.ts @@ -25,7 +25,6 @@ export const normalizeIssue = (issue: { const cleanse = (str: string) => { let out = str .toLowerCase() - .replace(//gu, '') .replace(/.* version: .*/gu, '') .replace(/issue type: .*/gu, '') .replace(/vs ?code/gu, '') @@ -36,6 +35,12 @@ export const normalizeIssue = (issue: { .replace(/\s+/gu, ' ') .replace(/```[^`]*?```/gu, ''); + while ( + out.includes('') && + out.indexOf('-->') > out.indexOf('') + 3); + } while ( out.includes(`
`) && out.includes('
') && @@ -116,9 +121,9 @@ Repo: ${context.repo.owner}/${context.repo.repo} /gu, '--@>') - .replace(/\/|\\/gu, 'slash-')} + .replace(/ `); }; diff --git a/.github/actions/package-lock.json b/.github/actions/package-lock.json index d14093aa0..256495ff6 100644 --- a/.github/actions/package-lock.json +++ b/.github/actions/package-lock.json @@ -12,9 +12,8 @@ "@actions/github": "^8.0.1", "@octokit/rest": "^21.1.1", "@slack/web-api": "^6.9.1", - "applicationinsights": "^2.5.1", - "axios": "^1.13.5", - "uuid": "^8.3.2" + "axios": "^1.16.0", + "uuid": "^14.0.0" }, "devDependencies": { "@azure/storage-blob": "^12.13.0", @@ -286,25 +285,25 @@ } }, "node_modules/@aws-sdk/core": { - "version": "3.973.16", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/core/-/core-3.973.16.tgz", - "integrity": "sha1-FA0BqTO2fCVIQWxeH2vKbiJj21Q=", + "version": "3.973.20", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/core/-/core-3.973.20.tgz", + "integrity": "sha1-eH4lCdftf0pndRl0MfTuyQWIXXk=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "^3.973.4", - "@aws-sdk/xml-builder": "^3.972.9", - "@smithy/core": "^3.23.7", - "@smithy/node-config-provider": "^4.3.10", - "@smithy/property-provider": "^4.2.10", - "@smithy/protocol-http": "^5.3.10", - "@smithy/signature-v4": "^5.3.10", - "@smithy/smithy-client": "^4.12.1", - "@smithy/types": "^4.13.0", - "@smithy/util-base64": "^4.3.1", - "@smithy/util-middleware": "^4.2.10", - "@smithy/util-utf8": "^4.2.1", + "@aws-sdk/types": "^3.973.6", + "@aws-sdk/xml-builder": "^3.972.11", + "@smithy/core": "^3.23.11", + "@smithy/node-config-provider": "^4.3.12", + "@smithy/property-provider": "^4.2.12", + "@smithy/protocol-http": "^5.3.12", + "@smithy/signature-v4": "^5.3.12", + "@smithy/smithy-client": "^4.12.5", + "@smithy/types": "^4.13.1", + "@smithy/util-base64": "^4.3.2", + "@smithy/util-middleware": "^4.2.12", + "@smithy/util-utf8": "^4.2.2", "tslib": "^2.6.2" }, "engines": { @@ -312,17 +311,17 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.972.7", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.972.7.tgz", - "integrity": "sha1-jXK3zu8nU+9d6I6mQ8jhEG/Kb5I=", + "version": "3.972.13", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.972.13.tgz", + "integrity": "sha1-aUQMldvjxkcnBccBU0qGar8Gzc4=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/nested-clients": "^3.996.4", - "@aws-sdk/types": "^3.973.4", - "@smithy/property-provider": "^4.2.10", - "@smithy/types": "^4.13.0", + "@aws-sdk/nested-clients": "^3.996.10", + "@aws-sdk/types": "^3.973.6", + "@smithy/property-provider": "^4.2.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -330,17 +329,17 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.972.14", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.14.tgz", - "integrity": "sha1-SgztnXN4FLLyP3czZI6NFkVqiPE=", + "version": "3.972.18", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.18.tgz", + "integrity": "sha1-GeXZAAHWv8kCjKpG34rJUmIMFK0=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "^3.973.16", - "@aws-sdk/types": "^3.973.4", - "@smithy/property-provider": "^4.2.10", - "@smithy/types": "^4.13.0", + "@aws-sdk/core": "^3.973.20", + "@aws-sdk/types": "^3.973.6", + "@smithy/property-provider": "^4.2.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -348,22 +347,22 @@ } }, "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.972.16", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.16.tgz", - "integrity": "sha1-H31UnauS8Jn6/VKRnFs3Hrq+5Uk=", + "version": "3.972.20", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.20.tgz", + "integrity": "sha1-jV1W07crQGVTtcQVH84OM5vzL38=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "^3.973.16", - "@aws-sdk/types": "^3.973.4", - "@smithy/fetch-http-handler": "^5.3.12", - "@smithy/node-http-handler": "^4.4.13", - "@smithy/property-provider": "^4.2.10", - "@smithy/protocol-http": "^5.3.10", - "@smithy/smithy-client": "^4.12.1", - "@smithy/types": "^4.13.0", - "@smithy/util-stream": "^4.5.16", + "@aws-sdk/core": "^3.973.20", + "@aws-sdk/types": "^3.973.6", + "@smithy/fetch-http-handler": "^5.3.15", + "@smithy/node-http-handler": "^4.4.16", + "@smithy/property-provider": "^4.2.12", + "@smithy/protocol-http": "^5.3.12", + "@smithy/smithy-client": "^4.12.5", + "@smithy/types": "^4.13.1", + "@smithy/util-stream": "^4.5.19", "tslib": "^2.6.2" }, "engines": { @@ -371,26 +370,26 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.972.14", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.14.tgz", - "integrity": "sha1-YuVGmRUf2NtvHr4jNXBHsBKs3jg=", + "version": "3.972.20", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.20.tgz", + "integrity": "sha1-b+oc8YkjPQgoj+qSO+VglWogBxo=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "^3.973.16", - "@aws-sdk/credential-provider-env": "^3.972.14", - "@aws-sdk/credential-provider-http": "^3.972.16", - "@aws-sdk/credential-provider-login": "^3.972.14", - "@aws-sdk/credential-provider-process": "^3.972.14", - "@aws-sdk/credential-provider-sso": "^3.972.14", - "@aws-sdk/credential-provider-web-identity": "^3.972.14", - "@aws-sdk/nested-clients": "^3.996.4", - "@aws-sdk/types": "^3.973.4", - "@smithy/credential-provider-imds": "^4.2.10", - "@smithy/property-provider": "^4.2.10", - "@smithy/shared-ini-file-loader": "^4.4.5", - "@smithy/types": "^4.13.0", + "@aws-sdk/core": "^3.973.20", + "@aws-sdk/credential-provider-env": "^3.972.18", + "@aws-sdk/credential-provider-http": "^3.972.20", + "@aws-sdk/credential-provider-login": "^3.972.20", + "@aws-sdk/credential-provider-process": "^3.972.18", + "@aws-sdk/credential-provider-sso": "^3.972.20", + "@aws-sdk/credential-provider-web-identity": "^3.972.20", + "@aws-sdk/nested-clients": "^3.996.10", + "@aws-sdk/types": "^3.973.6", + "@smithy/credential-provider-imds": "^4.2.12", + "@smithy/property-provider": "^4.2.12", + "@smithy/shared-ini-file-loader": "^4.4.7", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -398,20 +397,20 @@ } }, "node_modules/@aws-sdk/credential-provider-login": { - "version": "3.972.14", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.14.tgz", - "integrity": "sha1-sUV9EumwZWAxQiJ8m4/i04Pu7Gg=", + "version": "3.972.20", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.20.tgz", + "integrity": "sha1-TM/+Ogj3P8DoH331XfJh61vQr44=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "^3.973.16", - "@aws-sdk/nested-clients": "^3.996.4", - "@aws-sdk/types": "^3.973.4", - "@smithy/property-provider": "^4.2.10", - "@smithy/protocol-http": "^5.3.10", - "@smithy/shared-ini-file-loader": "^4.4.5", - "@smithy/types": "^4.13.0", + "@aws-sdk/core": "^3.973.20", + "@aws-sdk/nested-clients": "^3.996.10", + "@aws-sdk/types": "^3.973.6", + "@smithy/property-provider": "^4.2.12", + "@smithy/protocol-http": "^5.3.12", + "@smithy/shared-ini-file-loader": "^4.4.7", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -419,24 +418,24 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.972.15", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.15.tgz", - "integrity": "sha1-TpO5Rdn0ETP6vqCit5h4HhMaxEw=", + "version": "3.972.21", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.21.tgz", + "integrity": "sha1-zQ1lgbfVQJAxsa5ULegpANgqeM4=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "^3.972.14", - "@aws-sdk/credential-provider-http": "^3.972.16", - "@aws-sdk/credential-provider-ini": "^3.972.14", - "@aws-sdk/credential-provider-process": "^3.972.14", - "@aws-sdk/credential-provider-sso": "^3.972.14", - "@aws-sdk/credential-provider-web-identity": "^3.972.14", - "@aws-sdk/types": "^3.973.4", - "@smithy/credential-provider-imds": "^4.2.10", - "@smithy/property-provider": "^4.2.10", - "@smithy/shared-ini-file-loader": "^4.4.5", - "@smithy/types": "^4.13.0", + "@aws-sdk/credential-provider-env": "^3.972.18", + "@aws-sdk/credential-provider-http": "^3.972.20", + "@aws-sdk/credential-provider-ini": "^3.972.20", + "@aws-sdk/credential-provider-process": "^3.972.18", + "@aws-sdk/credential-provider-sso": "^3.972.20", + "@aws-sdk/credential-provider-web-identity": "^3.972.20", + "@aws-sdk/types": "^3.973.6", + "@smithy/credential-provider-imds": "^4.2.12", + "@smithy/property-provider": "^4.2.12", + "@smithy/shared-ini-file-loader": "^4.4.7", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -444,18 +443,18 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.972.14", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.14.tgz", - "integrity": "sha1-Bp6iKQzbsv2tSltltulCXrk7PlQ=", + "version": "3.972.18", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.18.tgz", + "integrity": "sha1-dWbfU0yWGfpBVxsKxIFSUalD2YI=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "^3.973.16", - "@aws-sdk/types": "^3.973.4", - "@smithy/property-provider": "^4.2.10", - "@smithy/shared-ini-file-loader": "^4.4.5", - "@smithy/types": "^4.13.0", + "@aws-sdk/core": "^3.973.20", + "@aws-sdk/types": "^3.973.6", + "@smithy/property-provider": "^4.2.12", + "@smithy/shared-ini-file-loader": "^4.4.7", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -463,20 +462,20 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.972.14", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.14.tgz", - "integrity": "sha1-SOTXpmtEoGrrdUa5B2YsLhdd/Wk=", + "version": "3.972.20", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.20.tgz", + "integrity": "sha1-SHEijeFdWrBJWQ1HvkZcVT7KvvY=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "^3.973.16", - "@aws-sdk/nested-clients": "^3.996.4", - "@aws-sdk/token-providers": "3.1001.0", - "@aws-sdk/types": "^3.973.4", - "@smithy/property-provider": "^4.2.10", - "@smithy/shared-ini-file-loader": "^4.4.5", - "@smithy/types": "^4.13.0", + "@aws-sdk/core": "^3.973.20", + "@aws-sdk/nested-clients": "^3.996.10", + "@aws-sdk/token-providers": "3.1009.0", + "@aws-sdk/types": "^3.973.6", + "@smithy/property-provider": "^4.2.12", + "@smithy/shared-ini-file-loader": "^4.4.7", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -484,19 +483,19 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.972.14", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.14.tgz", - "integrity": "sha1-9MoCJh2B2m578XYVs779DhbJzmY=", + "version": "3.972.20", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.20.tgz", + "integrity": "sha1-l4IRmU6wdKq8QkTOwGfyS2iIvCM=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "^3.973.16", - "@aws-sdk/nested-clients": "^3.996.4", - "@aws-sdk/types": "^3.973.4", - "@smithy/property-provider": "^4.2.10", - "@smithy/shared-ini-file-loader": "^4.4.5", - "@smithy/types": "^4.13.0", + "@aws-sdk/core": "^3.973.20", + "@aws-sdk/nested-clients": "^3.996.10", + "@aws-sdk/types": "^3.973.6", + "@smithy/property-provider": "^4.2.12", + "@smithy/shared-ini-file-loader": "^4.4.7", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -537,16 +536,16 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.972.6", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/middleware-host-header/-/middleware-host-header-3.972.6.tgz", - "integrity": "sha1-gQko0nnmDK/s0NbHAGSvYfl3y1Y=", + "version": "3.972.8", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/middleware-host-header/-/middleware-host-header-3.972.8.tgz", + "integrity": "sha1-chhullALSbOPtUgta3v5XluYUoE=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "^3.973.4", - "@smithy/protocol-http": "^5.3.10", - "@smithy/types": "^4.13.0", + "@aws-sdk/types": "^3.973.6", + "@smithy/protocol-http": "^5.3.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -554,15 +553,15 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.972.6", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/middleware-logger/-/middleware-logger-3.972.6.tgz", - "integrity": "sha1-/MliLOTilTOgyenTADH/ao/zf2A=", + "version": "3.972.8", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/middleware-logger/-/middleware-logger-3.972.8.tgz", + "integrity": "sha1-f+5CI6/Lb3go299Op0XOFQJ884Q=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "^3.973.4", - "@smithy/types": "^4.13.0", + "@aws-sdk/types": "^3.973.6", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -570,17 +569,17 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.972.6", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.972.6.tgz", - "integrity": "sha1-NfAsJa6lXWY2XcZNv+jFpbkQR1Y=", + "version": "3.972.8", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.972.8.tgz", + "integrity": "sha1-By8/CWCmZsf1dWZh+TQPVUTCYzo=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "^3.973.4", + "@aws-sdk/types": "^3.973.6", "@aws/lambda-invoke-store": "^0.2.2", - "@smithy/protocol-http": "^5.3.10", - "@smithy/types": "^4.13.0", + "@smithy/protocol-http": "^5.3.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -588,19 +587,20 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.972.16", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.16.tgz", - "integrity": "sha1-oeAf5zQX0SKvjvyeJhGBhoK6Wjc=", + "version": "3.972.21", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.21.tgz", + "integrity": "sha1-8XSBTFRG3Hcvg5lF7uU1onspcqs=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "^3.973.16", - "@aws-sdk/types": "^3.973.4", - "@aws-sdk/util-endpoints": "^3.996.3", - "@smithy/core": "^3.23.7", - "@smithy/protocol-http": "^5.3.10", - "@smithy/types": "^4.13.0", + "@aws-sdk/core": "^3.973.20", + "@aws-sdk/types": "^3.973.6", + "@aws-sdk/util-endpoints": "^3.996.5", + "@smithy/core": "^3.23.11", + "@smithy/protocol-http": "^5.3.12", + "@smithy/types": "^4.13.1", + "@smithy/util-retry": "^4.2.12", "tslib": "^2.6.2" }, "engines": { @@ -608,50 +608,50 @@ } }, "node_modules/@aws-sdk/nested-clients": { - "version": "3.996.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/nested-clients/-/nested-clients-3.996.4.tgz", - "integrity": "sha1-ENsh3lHRtffDZEUKJYIgBd7zFqY=", + "version": "3.996.10", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/nested-clients/-/nested-clients-3.996.10.tgz", + "integrity": "sha1-rtXGMPcLYfFSSiMIINYu9qDGbww=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.16", - "@aws-sdk/middleware-host-header": "^3.972.6", - "@aws-sdk/middleware-logger": "^3.972.6", - "@aws-sdk/middleware-recursion-detection": "^3.972.6", - "@aws-sdk/middleware-user-agent": "^3.972.16", - "@aws-sdk/region-config-resolver": "^3.972.6", - "@aws-sdk/types": "^3.973.4", - "@aws-sdk/util-endpoints": "^3.996.3", - "@aws-sdk/util-user-agent-browser": "^3.972.6", - "@aws-sdk/util-user-agent-node": "^3.973.1", - "@smithy/config-resolver": "^4.4.9", - "@smithy/core": "^3.23.7", - "@smithy/fetch-http-handler": "^5.3.12", - "@smithy/hash-node": "^4.2.10", - "@smithy/invalid-dependency": "^4.2.10", - "@smithy/middleware-content-length": "^4.2.10", - "@smithy/middleware-endpoint": "^4.4.21", - "@smithy/middleware-retry": "^4.4.38", - "@smithy/middleware-serde": "^4.2.11", - "@smithy/middleware-stack": "^4.2.10", - "@smithy/node-config-provider": "^4.3.10", - "@smithy/node-http-handler": "^4.4.13", - "@smithy/protocol-http": "^5.3.10", - "@smithy/smithy-client": "^4.12.1", - "@smithy/types": "^4.13.0", - "@smithy/url-parser": "^4.2.10", - "@smithy/util-base64": "^4.3.1", - "@smithy/util-body-length-browser": "^4.2.1", - "@smithy/util-body-length-node": "^4.2.2", - "@smithy/util-defaults-mode-browser": "^4.3.37", - "@smithy/util-defaults-mode-node": "^4.2.40", - "@smithy/util-endpoints": "^3.3.1", - "@smithy/util-middleware": "^4.2.10", - "@smithy/util-retry": "^4.2.10", - "@smithy/util-utf8": "^4.2.1", + "@aws-sdk/core": "^3.973.20", + "@aws-sdk/middleware-host-header": "^3.972.8", + "@aws-sdk/middleware-logger": "^3.972.8", + "@aws-sdk/middleware-recursion-detection": "^3.972.8", + "@aws-sdk/middleware-user-agent": "^3.972.21", + "@aws-sdk/region-config-resolver": "^3.972.8", + "@aws-sdk/types": "^3.973.6", + "@aws-sdk/util-endpoints": "^3.996.5", + "@aws-sdk/util-user-agent-browser": "^3.972.8", + "@aws-sdk/util-user-agent-node": "^3.973.7", + "@smithy/config-resolver": "^4.4.11", + "@smithy/core": "^3.23.11", + "@smithy/fetch-http-handler": "^5.3.15", + "@smithy/hash-node": "^4.2.12", + "@smithy/invalid-dependency": "^4.2.12", + "@smithy/middleware-content-length": "^4.2.12", + "@smithy/middleware-endpoint": "^4.4.25", + "@smithy/middleware-retry": "^4.4.42", + "@smithy/middleware-serde": "^4.2.14", + "@smithy/middleware-stack": "^4.2.12", + "@smithy/node-config-provider": "^4.3.12", + "@smithy/node-http-handler": "^4.4.16", + "@smithy/protocol-http": "^5.3.12", + "@smithy/smithy-client": "^4.12.5", + "@smithy/types": "^4.13.1", + "@smithy/url-parser": "^4.2.12", + "@smithy/util-base64": "^4.3.2", + "@smithy/util-body-length-browser": "^4.2.2", + "@smithy/util-body-length-node": "^4.2.3", + "@smithy/util-defaults-mode-browser": "^4.3.41", + "@smithy/util-defaults-mode-node": "^4.2.44", + "@smithy/util-endpoints": "^3.3.3", + "@smithy/util-middleware": "^4.2.12", + "@smithy/util-retry": "^4.2.12", + "@smithy/util-utf8": "^4.2.2", "tslib": "^2.6.2" }, "engines": { @@ -659,17 +659,17 @@ } }, "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.972.6", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/region-config-resolver/-/region-config-resolver-3.972.6.tgz", - "integrity": "sha1-WT330ATWOsoHqcV5m6zn2o3rRs0=", + "version": "3.972.8", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/region-config-resolver/-/region-config-resolver-3.972.8.tgz", + "integrity": "sha1-dhR18LBvqwu7qVRHfma1HS94D1A=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "^3.973.4", - "@smithy/config-resolver": "^4.4.9", - "@smithy/node-config-provider": "^4.3.10", - "@smithy/types": "^4.13.0", + "@aws-sdk/types": "^3.973.6", + "@smithy/config-resolver": "^4.4.11", + "@smithy/node-config-provider": "^4.3.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -677,19 +677,19 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.1001.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/token-providers/-/token-providers-3.1001.0.tgz", - "integrity": "sha1-B5zRT8RNKtDK4qX11eC0EtTo9gI=", + "version": "3.1009.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/token-providers/-/token-providers-3.1009.0.tgz", + "integrity": "sha1-SlRgTkOJsPgDh0jGR9tem22pqac=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/core": "^3.973.16", - "@aws-sdk/nested-clients": "^3.996.4", - "@aws-sdk/types": "^3.973.4", - "@smithy/property-provider": "^4.2.10", - "@smithy/shared-ini-file-loader": "^4.4.5", - "@smithy/types": "^4.13.0", + "@aws-sdk/core": "^3.973.20", + "@aws-sdk/nested-clients": "^3.996.10", + "@aws-sdk/types": "^3.973.6", + "@smithy/property-provider": "^4.2.12", + "@smithy/shared-ini-file-loader": "^4.4.7", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -697,14 +697,14 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.973.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/types/-/types-3.973.4.tgz", - "integrity": "sha1-fLhwsI/YPcuD5MrjIaMQhAiqoCE=", + "version": "3.973.6", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/types/-/types-3.973.6.tgz", + "integrity": "sha1-GWSnwBtcsYvvpEWZitHQL4bFQy0=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -712,17 +712,17 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.996.3", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/util-endpoints/-/util-endpoints-3.996.3.tgz", - "integrity": "sha1-DdTny9vbaRV6oKL2D7z0ctvwoTk=", + "version": "3.996.5", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/util-endpoints/-/util-endpoints-3.996.5.tgz", + "integrity": "sha1-axLoCGmuboQHW8JMKk5ic+qH38I=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "^3.973.4", - "@smithy/types": "^4.13.0", - "@smithy/url-parser": "^4.2.10", - "@smithy/util-endpoints": "^3.3.1", + "@aws-sdk/types": "^3.973.6", + "@smithy/types": "^4.13.1", + "@smithy/url-parser": "^4.2.12", + "@smithy/util-endpoints": "^3.3.3", "tslib": "^2.6.2" }, "engines": { @@ -744,31 +744,32 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.972.6", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.972.6.tgz", - "integrity": "sha1-Uite91hHXsTEEkz6h8XLeeH4cZ0=", + "version": "3.972.8", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.972.8.tgz", + "integrity": "sha1-EESEXJfImM1o/D+cdzSUpqmM34A=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/types": "^3.973.4", - "@smithy/types": "^4.13.0", + "@aws-sdk/types": "^3.973.6", + "@smithy/types": "^4.13.1", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.973.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.973.1.tgz", - "integrity": "sha1-WQ2G3HXQeyPuGFh5frpER+MmCdk=", + "version": "3.973.7", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.973.7.tgz", + "integrity": "sha1-3VSTHlWbAxpQSponEsEK31yJx8I=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@aws-sdk/middleware-user-agent": "^3.972.16", - "@aws-sdk/types": "^3.973.4", - "@smithy/node-config-provider": "^4.3.10", - "@smithy/types": "^4.13.0", + "@aws-sdk/middleware-user-agent": "^3.972.21", + "@aws-sdk/types": "^3.973.6", + "@smithy/node-config-provider": "^4.3.12", + "@smithy/types": "^4.13.1", + "@smithy/util-config-provider": "^4.2.2", "tslib": "^2.6.2" }, "engines": { @@ -784,42 +785,22 @@ } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.972.9", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/xml-builder/-/xml-builder-3.972.9.tgz", - "integrity": "sha1-OKQ6CoYMTHMQDXJ+WyjEMzlZe1A=", + "version": "3.972.22", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws-sdk/xml-builder/-/xml-builder-3.972.22.tgz", + "integrity": "sha1-HkTKn9nD/cPZr5VAztAk80z8YLI=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", - "fast-xml-parser": "5.4.1", + "@nodable/entities": "2.1.0", + "@smithy/types": "^4.14.1", + "fast-xml-parser": "5.7.2", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser": { - "version": "5.4.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-xml-parser/-/fast-xml-parser-5.4.1.tgz", - "integrity": "sha1-DIG47PswIeWtg6o9+QSvGaBbxgE=", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "fast-xml-builder": "^1.0.0", - "strnum": "^2.1.2" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, "node_modules/@aws/lambda-invoke-store": { "version": "0.2.3", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.3.tgz", @@ -835,6 +816,7 @@ "version": "2.1.2", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/abort-controller/-/abort-controller-2.1.2.tgz", "integrity": "sha1-Qv4MyrI4QdmQWBLFjxCC0neEVm0=", + "dev": true, "license": "MIT", "dependencies": { "tslib": "^2.6.2" @@ -946,6 +928,7 @@ "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/core-tracing/-/core-tracing-1.3.1.tgz", "integrity": "sha1-6XEEXJAeqcEQYWsOHbJyUHeB1fY=", + "dev": true, "license": "MIT", "dependencies": { "tslib": "^2.6.2" @@ -958,6 +941,7 @@ "version": "1.13.1", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/core-util/-/core-util-1.13.1.tgz", "integrity": "sha1-bf8v9tPJxkMMb007PmXeUx8Quv4=", + "dev": true, "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -986,6 +970,7 @@ "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/logger/-/logger-1.3.0.tgz", "integrity": "sha1-VQHPhdT1JjBgKozHXfdlaMlpqCc=", + "dev": true, "license": "MIT", "dependencies": { "@typespec/ts-http-runtime": "^0.3.0", @@ -995,39 +980,6 @@ "node": ">=20.0.0" } }, - "node_modules/@azure/opentelemetry-instrumentation-azure-sdk": { - "version": "1.0.0-beta.9", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.9.tgz", - "integrity": "sha1-2EUdOcNC3yrLxvSkFpArvSMV8TM=", - "license": "MIT", - "dependencies": { - "@azure/core-tracing": "^1.2.0", - "@azure/logger": "^1.0.0", - "@opentelemetry/api": "^1.9.0", - "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.200.0", - "@opentelemetry/sdk-trace-web": "^2.0.0", - "tslib": "^2.7.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@azure/opentelemetry-instrumentation-azure-sdk/node_modules/@opentelemetry/core": { - "version": "2.6.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/core/-/core-2.6.0.tgz", - "integrity": "sha1-cZyCntmL16+Aii0sgzdN8f0fPGY=", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/semantic-conventions": "^1.29.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, "node_modules/@azure/storage-blob": { "version": "12.31.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/storage-blob/-/storage-blob-12.31.0.tgz", @@ -1215,12 +1167,6 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@microsoft/applicationinsights-web-snippet": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@microsoft/applicationinsights-web-snippet/-/applicationinsights-web-snippet-1.0.1.tgz", - "integrity": "sha1-a7eIspAuSL9dRgw4xrt/7daG3dc=", - "license": "MIT" - }, "node_modules/@mongodb-js/saslprep": { "version": "1.4.6", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@mongodb-js/saslprep/-/saslprep-1.4.6.tgz", @@ -1232,6 +1178,19 @@ "sparse-bitfield": "^3.0.3" } }, + "node_modules/@nodable/entities": { + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@nodable/entities/-/entities-2.1.0.tgz", + "integrity": "sha1-9UPlxkRnINTPnkmKgwGd0VmXO8I=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/nodable" + } + ], + "license": "MIT" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1604,194 +1563,6 @@ "@octokit/openapi-types": "^27.0.0" } }, - "node_modules/@opentelemetry/api": { - "version": "1.9.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/api/-/api-1.9.0.tgz", - "integrity": "sha1-0D66aCc9wPdQnio9XLoh6uEDef4=", - "license": "Apache-2.0", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/api-logs": { - "version": "0.200.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/api-logs/-/api-logs-0.200.0.tgz", - "integrity": "sha1-+QFf2ESSDBOWhxWzzcz1pNT/kH4=", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/core": { - "version": "1.30.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/core/-/core-1.30.1.tgz", - "integrity": "sha1-oLRouzljWN+AGIFwnqOCmfwwqyc=", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/semantic-conventions": "1.28.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/core/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha1-M3+yvKBFPQcmaW50X1AGRBH2RtY=", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/instrumentation": { - "version": "0.200.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/instrumentation/-/instrumentation-0.200.0.tgz", - "integrity": "sha1-KdHU9wy/DLHKny94lmN5sL6Wvdw=", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.200.0", - "@types/shimmer": "^1.2.0", - "import-in-the-middle": "^1.8.1", - "require-in-the-middle": "^7.1.1", - "shimmer": "^1.2.1" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/resources": { - "version": "1.30.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/resources/-/resources-1.30.1.tgz", - "integrity": "sha1-pOrhfr2WlH/cemT5McpLceGM6WQ=", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/semantic-conventions": "1.28.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/resources/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha1-M3+yvKBFPQcmaW50X1AGRBH2RtY=", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/sdk-trace-base": { - "version": "1.30.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.30.1.tgz", - "integrity": "sha1-QaQiNAltyY6PRU0kVR/IC4Fv6zQ=", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/semantic-conventions": "1.28.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha1-M3+yvKBFPQcmaW50X1AGRBH2RtY=", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/sdk-trace-web": { - "version": "2.6.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/sdk-trace-web/-/sdk-trace-web-2.6.0.tgz", - "integrity": "sha1-26JsNUh5vAzr6bAIJGSxoUTjG8o=", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.6.0", - "@opentelemetry/sdk-trace-base": "2.6.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-trace-web/node_modules/@opentelemetry/core": { - "version": "2.6.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/core/-/core-2.6.0.tgz", - "integrity": "sha1-cZyCntmL16+Aii0sgzdN8f0fPGY=", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/semantic-conventions": "^1.29.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-trace-web/node_modules/@opentelemetry/resources": { - "version": "2.6.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/resources/-/resources-2.6.0.tgz", - "integrity": "sha1-GpRdu4mGBD2LWTw1jV2OPea+z1o=", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.6.0", - "@opentelemetry/semantic-conventions": "^1.29.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-trace-web/node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.6.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.6.0.tgz", - "integrity": "sha1-1+dSoJBvK8rjwSYeIkrvPjs3Rvk=", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "2.6.0", - "@opentelemetry/resources": "2.6.0", - "@opentelemetry/semantic-conventions": "^1.29.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.40.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz", - "integrity": "sha1-ELKUTKVZOGWQaDOSAiqJfu/QEdM=", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, "node_modules/@slack/logger": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@slack/logger/-/logger-3.0.0.tgz", @@ -1839,14 +1610,14 @@ } }, "node_modules/@smithy/abort-controller": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/abort-controller/-/abort-controller-4.2.10.tgz", - "integrity": "sha1-vWiO1iy9XIXMkzzWxgyO8F+y5e4=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/abort-controller/-/abort-controller-4.2.12.tgz", + "integrity": "sha1-gMhkFvIysLTnnO9TCHfvh9YmrEI=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -1854,18 +1625,18 @@ } }, "node_modules/@smithy/config-resolver": { - "version": "4.4.9", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/config-resolver/-/config-resolver-4.4.9.tgz", - "integrity": "sha1-pzmN1QcVOFmgmmTdpS9MrJJ5p68=", + "version": "4.4.11", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/config-resolver/-/config-resolver-4.4.11.tgz", + "integrity": "sha1-vPIyTslHLEc3RCUQ0JxJ3foe5xg=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^4.3.10", - "@smithy/types": "^4.13.0", - "@smithy/util-config-provider": "^4.2.1", - "@smithy/util-endpoints": "^3.3.1", - "@smithy/util-middleware": "^4.2.10", + "@smithy/node-config-provider": "^4.3.12", + "@smithy/types": "^4.13.1", + "@smithy/util-config-provider": "^4.2.2", + "@smithy/util-endpoints": "^3.3.3", + "@smithy/util-middleware": "^4.2.12", "tslib": "^2.6.2" }, "engines": { @@ -1873,22 +1644,22 @@ } }, "node_modules/@smithy/core": { - "version": "3.23.7", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/core/-/core-3.23.7.tgz", - "integrity": "sha1-kOC3KquQck2QghPFlx8XKZQv20M=", + "version": "3.23.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/core/-/core-3.23.12.tgz", + "integrity": "sha1-oWU3uwMmAzesWt2jGu2zJfz5uwY=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/middleware-serde": "^4.2.11", - "@smithy/protocol-http": "^5.3.10", - "@smithy/types": "^4.13.0", - "@smithy/util-base64": "^4.3.1", - "@smithy/util-body-length-browser": "^4.2.1", - "@smithy/util-middleware": "^4.2.10", - "@smithy/util-stream": "^4.5.16", - "@smithy/util-utf8": "^4.2.1", - "@smithy/uuid": "^1.1.1", + "@smithy/protocol-http": "^5.3.12", + "@smithy/types": "^4.13.1", + "@smithy/url-parser": "^4.2.12", + "@smithy/util-base64": "^4.3.2", + "@smithy/util-body-length-browser": "^4.2.2", + "@smithy/util-middleware": "^4.2.12", + "@smithy/util-stream": "^4.5.20", + "@smithy/util-utf8": "^4.2.2", + "@smithy/uuid": "^1.1.2", "tslib": "^2.6.2" }, "engines": { @@ -1896,17 +1667,17 @@ } }, "node_modules/@smithy/credential-provider-imds": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.10.tgz", - "integrity": "sha1-yuUCsoJXoRD8RyoVMcGfvEugcDc=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.12.tgz", + "integrity": "sha1-+i5SEWysfq9WJeC/05mkkntZj2Y=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^4.3.10", - "@smithy/property-provider": "^4.2.10", - "@smithy/types": "^4.13.0", - "@smithy/url-parser": "^4.2.10", + "@smithy/node-config-provider": "^4.3.12", + "@smithy/property-provider": "^4.2.12", + "@smithy/types": "^4.13.1", + "@smithy/url-parser": "^4.2.12", "tslib": "^2.6.2" }, "engines": { @@ -1914,17 +1685,17 @@ } }, "node_modules/@smithy/fetch-http-handler": { - "version": "5.3.12", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.12.tgz", - "integrity": "sha1-e7yh1G73HfjlZmCYDFNigQNVInY=", + "version": "5.3.15", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.15.tgz", + "integrity": "sha1-rPaaizurA5bSeC/JAbrQuVfIxqI=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/protocol-http": "^5.3.10", - "@smithy/querystring-builder": "^4.2.10", - "@smithy/types": "^4.13.0", - "@smithy/util-base64": "^4.3.1", + "@smithy/protocol-http": "^5.3.12", + "@smithy/querystring-builder": "^4.2.12", + "@smithy/types": "^4.13.1", + "@smithy/util-base64": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -1932,16 +1703,16 @@ } }, "node_modules/@smithy/hash-node": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/hash-node/-/hash-node-4.2.10.tgz", - "integrity": "sha1-XCO9lOYaFzqQ12WBW7wofPV0Cc4=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/hash-node/-/hash-node-4.2.12.tgz", + "integrity": "sha1-Duf2odKVjDE+4ksHFZ3LlUd5JEE=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", - "@smithy/util-buffer-from": "^4.2.1", - "@smithy/util-utf8": "^4.2.1", + "@smithy/types": "^4.13.1", + "@smithy/util-buffer-from": "^4.2.2", + "@smithy/util-utf8": "^4.2.2", "tslib": "^2.6.2" }, "engines": { @@ -1949,14 +1720,14 @@ } }, "node_modules/@smithy/invalid-dependency": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/invalid-dependency/-/invalid-dependency-4.2.10.tgz", - "integrity": "sha1-fvuIspLxSEMnndd0rPin0yL1o3E=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/invalid-dependency/-/invalid-dependency-4.2.12.tgz", + "integrity": "sha1-GijBP7M2hLkYSNTW7FEEocFBPn8=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -1964,9 +1735,9 @@ } }, "node_modules/@smithy/is-array-buffer": { - "version": "4.2.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/is-array-buffer/-/is-array-buffer-4.2.1.tgz", - "integrity": "sha1-EPccQQeWzxCMZbsCBKmMFdATGvM=", + "version": "4.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/is-array-buffer/-/is-array-buffer-4.2.2.tgz", + "integrity": "sha1-xAHOVLEqFlKesck4oLbCJHy3Y7g=", "dev": true, "license": "Apache-2.0", "optional": true, @@ -1978,15 +1749,15 @@ } }, "node_modules/@smithy/middleware-content-length": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/middleware-content-length/-/middleware-content-length-4.2.10.tgz", - "integrity": "sha1-lpr4ERKZ0tMvbem6xMqGImFvtKM=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/middleware-content-length/-/middleware-content-length-4.2.12.tgz", + "integrity": "sha1-3sl+oURLEuc0FWt2TplTsrN8cP0=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/protocol-http": "^5.3.10", - "@smithy/types": "^4.13.0", + "@smithy/protocol-http": "^5.3.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -1994,20 +1765,20 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "4.4.21", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.21.tgz", - "integrity": "sha1-h3+x8Lxa+UKrJQWDGhos88JhcJA=", + "version": "4.4.26", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.26.tgz", + "integrity": "sha1-FvoR+9ypggIKmjhwD0QNN9LyajM=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/core": "^3.23.7", - "@smithy/middleware-serde": "^4.2.11", - "@smithy/node-config-provider": "^4.3.10", - "@smithy/shared-ini-file-loader": "^4.4.5", - "@smithy/types": "^4.13.0", - "@smithy/url-parser": "^4.2.10", - "@smithy/util-middleware": "^4.2.10", + "@smithy/core": "^3.23.12", + "@smithy/middleware-serde": "^4.2.15", + "@smithy/node-config-provider": "^4.3.12", + "@smithy/shared-ini-file-loader": "^4.4.7", + "@smithy/types": "^4.13.1", + "@smithy/url-parser": "^4.2.12", + "@smithy/util-middleware": "^4.2.12", "tslib": "^2.6.2" }, "engines": { @@ -2015,21 +1786,21 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "4.4.38", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/middleware-retry/-/middleware-retry-4.4.38.tgz", - "integrity": "sha1-jcuN80juoKsfaOsDj6xMuc7cESs=", + "version": "4.4.43", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/middleware-retry/-/middleware-retry-4.4.43.tgz", + "integrity": "sha1-d2RCo8O8raXT+uIcmZrVha3H0N8=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^4.3.10", - "@smithy/protocol-http": "^5.3.10", - "@smithy/service-error-classification": "^4.2.10", - "@smithy/smithy-client": "^4.12.1", - "@smithy/types": "^4.13.0", - "@smithy/util-middleware": "^4.2.10", - "@smithy/util-retry": "^4.2.10", - "@smithy/uuid": "^1.1.1", + "@smithy/node-config-provider": "^4.3.12", + "@smithy/protocol-http": "^5.3.12", + "@smithy/service-error-classification": "^4.2.12", + "@smithy/smithy-client": "^4.12.6", + "@smithy/types": "^4.13.1", + "@smithy/util-middleware": "^4.2.12", + "@smithy/util-retry": "^4.2.12", + "@smithy/uuid": "^1.1.2", "tslib": "^2.6.2" }, "engines": { @@ -2037,15 +1808,16 @@ } }, "node_modules/@smithy/middleware-serde": { - "version": "4.2.11", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/middleware-serde/-/middleware-serde-4.2.11.tgz", - "integrity": "sha1-pgtbYs+SiI5rPeItlWvdopJj70U=", + "version": "4.2.15", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/middleware-serde/-/middleware-serde-4.2.15.tgz", + "integrity": "sha1-GMbtYDOTibYueVXoIqvojm9T6lU=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/protocol-http": "^5.3.10", - "@smithy/types": "^4.13.0", + "@smithy/core": "^3.23.12", + "@smithy/protocol-http": "^5.3.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2053,14 +1825,14 @@ } }, "node_modules/@smithy/middleware-stack": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/middleware-stack/-/middleware-stack-4.2.10.tgz", - "integrity": "sha1-QRJ29Ft47U19XjyyxBNhQvRWyQc=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/middleware-stack/-/middleware-stack-4.2.12.tgz", + "integrity": "sha1-lrQ7L6sNSmcj+BP3a3JBiw/ba6A=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2068,16 +1840,16 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "4.3.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/node-config-provider/-/node-config-provider-4.3.10.tgz", - "integrity": "sha1-vVNyBsw7bRkF+8F0yV81iX2YgZs=", + "version": "4.3.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/node-config-provider/-/node-config-provider-4.3.12.tgz", + "integrity": "sha1-u3ItpuKhMK5YV1T6e8jZCfn11wI=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/property-provider": "^4.2.10", - "@smithy/shared-ini-file-loader": "^4.4.5", - "@smithy/types": "^4.13.0", + "@smithy/property-provider": "^4.2.12", + "@smithy/shared-ini-file-loader": "^4.4.7", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2085,17 +1857,17 @@ } }, "node_modules/@smithy/node-http-handler": { - "version": "4.4.13", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/node-http-handler/-/node-http-handler-4.4.13.tgz", - "integrity": "sha1-jz6prEJDjmM+c6ARMbsPOKTlZXs=", + "version": "4.5.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/node-http-handler/-/node-http-handler-4.5.0.tgz", + "integrity": "sha1-alBqDaRix55yX9vPpVsO7VuSlyc=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/abort-controller": "^4.2.10", - "@smithy/protocol-http": "^5.3.10", - "@smithy/querystring-builder": "^4.2.10", - "@smithy/types": "^4.13.0", + "@smithy/abort-controller": "^4.2.12", + "@smithy/protocol-http": "^5.3.12", + "@smithy/querystring-builder": "^4.2.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2103,14 +1875,14 @@ } }, "node_modules/@smithy/property-provider": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/property-provider/-/property-provider-4.2.10.tgz", - "integrity": "sha1-Bt/BX0B9QrhRSzY6g1BOcAjxI0Q=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/property-provider/-/property-provider-4.2.12.tgz", + "integrity": "sha1-6fjlzhJUE5c7FuOch89KzUEyTiE=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2118,14 +1890,14 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "5.3.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/protocol-http/-/protocol-http-5.3.10.tgz", - "integrity": "sha1-AgoPpuRzluvOqwEpa3aZCTGpPVo=", + "version": "5.3.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/protocol-http/-/protocol-http-5.3.12.tgz", + "integrity": "sha1-yRMFPn37rGzdfzdPC09ap8UY0OE=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2133,15 +1905,15 @@ } }, "node_modules/@smithy/querystring-builder": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/querystring-builder/-/querystring-builder-4.2.10.tgz", - "integrity": "sha1-BYU/QMGclFeEJSsi3WZy7Awuqx8=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/querystring-builder/-/querystring-builder-4.2.12.tgz", + "integrity": "sha1-IKAmaxUaS1hAn5AeFGMlenKDXBY=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", - "@smithy/util-uri-escape": "^4.2.1", + "@smithy/types": "^4.13.1", + "@smithy/util-uri-escape": "^4.2.2", "tslib": "^2.6.2" }, "engines": { @@ -2149,14 +1921,14 @@ } }, "node_modules/@smithy/querystring-parser": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/querystring-parser/-/querystring-parser-4.2.10.tgz", - "integrity": "sha1-GJdV1PmdzLW0jCzUE6umuvnmtjY=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/querystring-parser/-/querystring-parser-4.2.12.tgz", + "integrity": "sha1-kYy2CbLWBquB8nJ7/eAmXS67J1g=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2164,28 +1936,28 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/service-error-classification/-/service-error-classification-4.2.10.tgz", - "integrity": "sha1-DRQutxEG4b6KnfaR9LtLGbcmFQI=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/service-error-classification/-/service-error-classification-4.2.12.tgz", + "integrity": "sha1-eV6UhCB6z2OBep6c9n6QtC5yCEA=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0" + "@smithy/types": "^4.13.1" }, "engines": { "node": ">=18.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "4.4.5", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.5.tgz", - "integrity": "sha1-hMKdpKFGLnts4hsAxJ+Hia6AQJk=", + "version": "4.4.7", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.7.tgz", + "integrity": "sha1-GMxaIfhxUJ+vvlNae/RL3lpQByc=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2193,20 +1965,20 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "5.3.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/signature-v4/-/signature-v4-5.3.10.tgz", - "integrity": "sha1-lRfe/AKFudUPHIrRf2+Q5y+LWXY=", + "version": "5.3.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/signature-v4/-/signature-v4-5.3.12.tgz", + "integrity": "sha1-thzkCpS92R392PXyE2YxyOtn8lM=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/is-array-buffer": "^4.2.1", - "@smithy/protocol-http": "^5.3.10", - "@smithy/types": "^4.13.0", - "@smithy/util-hex-encoding": "^4.2.1", - "@smithy/util-middleware": "^4.2.10", - "@smithy/util-uri-escape": "^4.2.1", - "@smithy/util-utf8": "^4.2.1", + "@smithy/is-array-buffer": "^4.2.2", + "@smithy/protocol-http": "^5.3.12", + "@smithy/types": "^4.13.1", + "@smithy/util-hex-encoding": "^4.2.2", + "@smithy/util-middleware": "^4.2.12", + "@smithy/util-uri-escape": "^4.2.2", + "@smithy/util-utf8": "^4.2.2", "tslib": "^2.6.2" }, "engines": { @@ -2214,19 +1986,19 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "4.12.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/smithy-client/-/smithy-client-4.12.1.tgz", - "integrity": "sha1-T+c/2iF3d04+fhUkUxOu2SfsW20=", + "version": "4.12.6", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/smithy-client/-/smithy-client-4.12.6.tgz", + "integrity": "sha1-4hTwDtFLMNuGyO/3uaxkkq6NdDQ=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/core": "^3.23.7", - "@smithy/middleware-endpoint": "^4.4.21", - "@smithy/middleware-stack": "^4.2.10", - "@smithy/protocol-http": "^5.3.10", - "@smithy/types": "^4.13.0", - "@smithy/util-stream": "^4.5.16", + "@smithy/core": "^3.23.12", + "@smithy/middleware-endpoint": "^4.4.26", + "@smithy/middleware-stack": "^4.2.12", + "@smithy/protocol-http": "^5.3.12", + "@smithy/types": "^4.13.1", + "@smithy/util-stream": "^4.5.20", "tslib": "^2.6.2" }, "engines": { @@ -2234,9 +2006,9 @@ } }, "node_modules/@smithy/types": { - "version": "4.13.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/types/-/types-4.13.0.tgz", - "integrity": "sha1-l4cpegfucu901PfZPHRNEO1mTCE=", + "version": "4.14.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/types/-/types-4.14.1.tgz", + "integrity": "sha1-q6krTNtAbyorBi6C8eNyjYCafCM=", "dev": true, "license": "Apache-2.0", "optional": true, @@ -2248,15 +2020,15 @@ } }, "node_modules/@smithy/url-parser": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/url-parser/-/url-parser-4.2.10.tgz", - "integrity": "sha1-nBI+Ss1QdMwvRib8Ypdi2dvvyhg=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/url-parser/-/url-parser-4.2.12.tgz", + "integrity": "sha1-6UBVe/C46aJVOKQhlw9kvYJ/RW8=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/querystring-parser": "^4.2.10", - "@smithy/types": "^4.13.0", + "@smithy/querystring-parser": "^4.2.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2264,15 +2036,15 @@ } }, "node_modules/@smithy/util-base64": { - "version": "4.3.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-base64/-/util-base64-4.3.1.tgz", - "integrity": "sha1-16zJ/T6E0ctsegmGbyFXRX8ABcM=", + "version": "4.3.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-base64/-/util-base64-4.3.2.tgz", + "integrity": "sha1-vgK8spqHvnRDVkZ+ol/6QT5pXOo=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/util-buffer-from": "^4.2.1", - "@smithy/util-utf8": "^4.2.1", + "@smithy/util-buffer-from": "^4.2.2", + "@smithy/util-utf8": "^4.2.2", "tslib": "^2.6.2" }, "engines": { @@ -2280,9 +2052,9 @@ } }, "node_modules/@smithy/util-body-length-browser": { - "version": "4.2.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.1.tgz", - "integrity": "sha1-KidjwN+DHmBxzcOGNsZv3By73X4=", + "version": "4.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.2.tgz", + "integrity": "sha1-xEBCd9IgOYcqvbgOeAD5pj8mOGI=", "dev": true, "license": "Apache-2.0", "optional": true, @@ -2294,9 +2066,9 @@ } }, "node_modules/@smithy/util-body-length-node": { - "version": "4.2.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-body-length-node/-/util-body-length-node-4.2.2.tgz", - "integrity": "sha1-jXqPqDdwo1MS5x5xGBnJ4PGjhMI=", + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-body-length-node/-/util-body-length-node-4.2.3.tgz", + "integrity": "sha1-+SPKUw3vuGqaw8otMGa8ynswT7w=", "dev": true, "license": "Apache-2.0", "optional": true, @@ -2308,14 +2080,14 @@ } }, "node_modules/@smithy/util-buffer-from": { - "version": "4.2.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-buffer-from/-/util-buffer-from-4.2.1.tgz", - "integrity": "sha1-UDQs3mspoWmr3zkslURyqOwPN1U=", + "version": "4.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-buffer-from/-/util-buffer-from-4.2.2.tgz", + "integrity": "sha1-LGt4V3V9/Yj2zS02AWF5pAzMkTs=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/is-array-buffer": "^4.2.1", + "@smithy/is-array-buffer": "^4.2.2", "tslib": "^2.6.2" }, "engines": { @@ -2323,9 +2095,9 @@ } }, "node_modules/@smithy/util-config-provider": { - "version": "4.2.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-config-provider/-/util-config-provider-4.2.1.tgz", - "integrity": "sha1-Hh/onzHwA547b4ggYGhCQQxeFQk=", + "version": "4.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-config-provider/-/util-config-provider-4.2.2.tgz", + "integrity": "sha1-Uuv52JQoONGLxfsVIN4ehpnXqtY=", "dev": true, "license": "Apache-2.0", "optional": true, @@ -2337,16 +2109,16 @@ } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "4.3.37", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.37.tgz", - "integrity": "sha1-FLGE1zBuU8RQucE6ix3eJg5tv6I=", + "version": "4.3.42", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.42.tgz", + "integrity": "sha1-VfaLq/oMezBxDlO/5axoZKljI2s=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/property-provider": "^4.2.10", - "@smithy/smithy-client": "^4.12.1", - "@smithy/types": "^4.13.0", + "@smithy/property-provider": "^4.2.12", + "@smithy/smithy-client": "^4.12.6", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2354,19 +2126,19 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "4.2.40", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.40.tgz", - "integrity": "sha1-K2BQAf+qp91bZ9Nr0uDvJOwgryM=", + "version": "4.2.45", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.45.tgz", + "integrity": "sha1-lUrFFXevZFz4jGuE+nQulZf7vAA=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/config-resolver": "^4.4.9", - "@smithy/credential-provider-imds": "^4.2.10", - "@smithy/node-config-provider": "^4.3.10", - "@smithy/property-provider": "^4.2.10", - "@smithy/smithy-client": "^4.12.1", - "@smithy/types": "^4.13.0", + "@smithy/config-resolver": "^4.4.11", + "@smithy/credential-provider-imds": "^4.2.12", + "@smithy/node-config-provider": "^4.3.12", + "@smithy/property-provider": "^4.2.12", + "@smithy/smithy-client": "^4.12.6", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2374,15 +2146,15 @@ } }, "node_modules/@smithy/util-endpoints": { - "version": "3.3.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-endpoints/-/util-endpoints-3.3.1.tgz", - "integrity": "sha1-7qoeAQwpvazdaDPl7xY/ho0PEfY=", + "version": "3.3.3", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-endpoints/-/util-endpoints-3.3.3.tgz", + "integrity": "sha1-ARnxW8rDCzua8dPMCoR35xmdAYU=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^4.3.10", - "@smithy/types": "^4.13.0", + "@smithy/node-config-provider": "^4.3.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2390,9 +2162,9 @@ } }, "node_modules/@smithy/util-hex-encoding": { - "version": "4.2.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.1.tgz", - "integrity": "sha1-zsh8h0ksm6xrcLt0nTlIk41AuBs=", + "version": "4.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.2.tgz", + "integrity": "sha1-Sr8zNd0euIQEHYWJynYo2Bpv0dM=", "dev": true, "license": "Apache-2.0", "optional": true, @@ -2404,14 +2176,14 @@ } }, "node_modules/@smithy/util-middleware": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-middleware/-/util-middleware-4.2.10.tgz", - "integrity": "sha1-QbqUMp8BCrNMMlrXR0gFZa3kOtk=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-middleware/-/util-middleware-4.2.12.tgz", + "integrity": "sha1-1suDfCOQN14raVfn+Rc1DKS9h1c=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/types": "^4.13.0", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2419,15 +2191,15 @@ } }, "node_modules/@smithy/util-retry": { - "version": "4.2.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-retry/-/util-retry-4.2.10.tgz", - "integrity": "sha1-jJ8WUgI4zcEJ62+6fYdS5fKM61s=", + "version": "4.2.12", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-retry/-/util-retry-4.2.12.tgz", + "integrity": "sha1-vkgFr+5TD5WwCmunceGMtMMk+CI=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/service-error-classification": "^4.2.10", - "@smithy/types": "^4.13.0", + "@smithy/service-error-classification": "^4.2.12", + "@smithy/types": "^4.13.1", "tslib": "^2.6.2" }, "engines": { @@ -2435,20 +2207,20 @@ } }, "node_modules/@smithy/util-stream": { - "version": "4.5.16", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-stream/-/util-stream-4.5.16.tgz", - "integrity": "sha1-BOvcRqS4lKzTI3I//u067L8XWOQ=", + "version": "4.5.20", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-stream/-/util-stream-4.5.20.tgz", + "integrity": "sha1-LTEqyLnqF4BWGncEiwJ+fbHGo9Q=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/fetch-http-handler": "^5.3.12", - "@smithy/node-http-handler": "^4.4.13", - "@smithy/types": "^4.13.0", - "@smithy/util-base64": "^4.3.1", - "@smithy/util-buffer-from": "^4.2.1", - "@smithy/util-hex-encoding": "^4.2.1", - "@smithy/util-utf8": "^4.2.1", + "@smithy/fetch-http-handler": "^5.3.15", + "@smithy/node-http-handler": "^4.5.0", + "@smithy/types": "^4.13.1", + "@smithy/util-base64": "^4.3.2", + "@smithy/util-buffer-from": "^4.2.2", + "@smithy/util-hex-encoding": "^4.2.2", + "@smithy/util-utf8": "^4.2.2", "tslib": "^2.6.2" }, "engines": { @@ -2456,9 +2228,9 @@ } }, "node_modules/@smithy/util-uri-escape": { - "version": "4.2.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-uri-escape/-/util-uri-escape-4.2.1.tgz", - "integrity": "sha1-kzJ7L0MnzORtWQ0JX3lIKv3qQh0=", + "version": "4.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-uri-escape/-/util-uri-escape-4.2.2.tgz", + "integrity": "sha1-SOQCBuf+na78jUS7Q6GrF+dqv0o=", "dev": true, "license": "Apache-2.0", "optional": true, @@ -2470,14 +2242,14 @@ } }, "node_modules/@smithy/util-utf8": { - "version": "4.2.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-utf8/-/util-utf8-4.2.1.tgz", - "integrity": "sha1-73H9rjC4K6G5SwBe5CyObmMVpSw=", + "version": "4.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/util-utf8/-/util-utf8-4.2.2.tgz", + "integrity": "sha1-IdtoaYLm8zk6wmLkkUO0I3ATDxM=", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "@smithy/util-buffer-from": "^4.2.1", + "@smithy/util-buffer-from": "^4.2.2", "tslib": "^2.6.2" }, "engines": { @@ -2485,9 +2257,9 @@ } }, "node_modules/@smithy/uuid": { - "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/uuid/-/uuid-1.1.1.tgz", - "integrity": "sha1-yvria2p2QnUrXUNo4zxTY/6BjPI=", + "version": "1.1.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@smithy/uuid/-/uuid-1.1.2.tgz", + "integrity": "sha1-tul8cVhhXko8d16AnADYwmm1oS4=", "dev": true, "license": "Apache-2.0", "optional": true, @@ -2578,12 +2350,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/shimmer": { - "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/shimmer/-/shimmer-1.2.0.tgz", - "integrity": "sha1-m3Bq+W+gZBaCiEI5enDfu/HBTe0=", - "license": "MIT" - }, "node_modules/@types/uuid": { "version": "8.3.4", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/uuid/-/uuid-8.3.4.tgz", @@ -2826,6 +2592,7 @@ "version": "0.3.3", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.3.tgz", "integrity": "sha1-YnZ7iN87p/xTv9ZqlMiN/h3sVbw=", + "dev": true, "license": "MIT", "dependencies": { "http-proxy-agent": "^7.0.0", @@ -2847,6 +2614,7 @@ "version": "8.16.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn/-/acorn-8.16.0.tgz", "integrity": "sha1-TOecib5Ar+ev6POtuQKh8c6awIo=", + "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -2855,15 +2623,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha1-frFVexugXvGLXtDsZ1kb+rBGiO8=", - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -2891,6 +2650,7 @@ "version": "7.1.4", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha1-48121MVI7oldPD/Y3B9sW5Ay56g=", + "dev": true, "license": "MIT", "engines": { "node": ">= 14" @@ -2963,70 +2723,6 @@ "node": ">= 8" } }, - "node_modules/applicationinsights": { - "version": "2.9.8", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/applicationinsights/-/applicationinsights-2.9.8.tgz", - "integrity": "sha1-Pi3iTmBrgfkhUPIDixm43e0sk9c=", - "license": "MIT", - "dependencies": { - "@azure/core-auth": "1.7.2", - "@azure/core-rest-pipeline": "1.16.3", - "@azure/opentelemetry-instrumentation-azure-sdk": "^1.0.0-beta.5", - "@microsoft/applicationinsights-web-snippet": "1.0.1", - "@opentelemetry/api": "^1.7.0", - "@opentelemetry/core": "^1.19.0", - "@opentelemetry/sdk-trace-base": "^1.19.0", - "@opentelemetry/semantic-conventions": "^1.19.0", - "cls-hooked": "^4.2.2", - "continuation-local-storage": "^3.2.1", - "diagnostic-channel": "1.1.1", - "diagnostic-channel-publishers": "1.0.8" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "applicationinsights-native-metrics": "*" - }, - "peerDependenciesMeta": { - "applicationinsights-native-metrics": { - "optional": true - } - } - }, - "node_modules/applicationinsights/node_modules/@azure/core-auth": { - "version": "1.7.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/core-auth/-/core-auth-1.7.2.tgz", - "integrity": "sha1-VYt8t90SsAvuwHrl31kH103x69k=", - "license": "MIT", - "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/applicationinsights/node_modules/@azure/core-rest-pipeline": { - "version": "1.16.3", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/core-rest-pipeline/-/core-rest-pipeline-1.16.3.tgz", - "integrity": "sha1-veO8PrrX+IXd2d5q9eWo/CVLKH4=", - "license": "MIT", - "dependencies": { - "@azure/abort-controller": "^2.0.0", - "@azure/core-auth": "^1.4.0", - "@azure/core-tracing": "^1.0.1", - "@azure/core-util": "^1.9.0", - "@azure/logger": "^1.0.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/arg/-/arg-4.1.3.tgz", @@ -3061,40 +2757,6 @@ "node": "*" } }, - "node_modules/async-hook-jl": { - "version": "1.7.6", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/async-hook-jl/-/async-hook-jl-1.7.6.tgz", - "integrity": "sha1-T9JcL4ZNuvJ5xhDXO/l7GyhZXmg=", - "license": "MIT", - "dependencies": { - "stack-chain": "^1.3.7" - }, - "engines": { - "node": "^4.7 || >=6.9 || >=7.3" - } - }, - "node_modules/async-listener": { - "version": "0.6.10", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/async-listener/-/async-listener-0.6.10.tgz", - "integrity": "sha1-p8l6vlcLpgLXgic8DeYKUePhfLw=", - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^5.3.0", - "shimmer": "^1.1.0" - }, - "engines": { - "node": "<=0.11.8 || >0.11.10" - } - }, - "node_modules/async-listener/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/asynckit/-/asynckit-0.4.0.tgz", @@ -3102,27 +2764,27 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.13.6", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/axios/-/axios-1.13.6.tgz", - "integrity": "sha1-w/ktqRfcIJoV3SmTbSDVCJtrbJg=", + "version": "1.16.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/axios/-/axios-1.16.0.tgz", + "integrity": "sha1-+OXdkxzvKl+MMiFtV4Ttovh1Drc=", "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.11", + "follow-redirects": "^1.16.0", "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "proxy-from-env": "^2.1.0" } }, "node_modules/axios/node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha1-tJ5IhYBF/0y/awPhgFzrytNnkFM=", + "version": "4.0.6", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha1-KOhk4beG2+u2jbH0UvljUnhmWCc=", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" + "hasown": "^2.0.4", + "mime-types": "^2.1.35" }, "engines": { "node": ">= 6" @@ -3184,9 +2846,9 @@ "optional": true }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha1-q5tFRGblqMw6GHvqrVgEEqnFuEM=", + "version": "1.1.13", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha1-03h1wB3J7/mI3UnREqV8tntU7+Y=", "dev": true, "license": "MIT", "dependencies": { @@ -3375,12 +3037,6 @@ "node": ">= 6" } }, - "node_modules/cjs-module-lexer": { - "version": "1.4.3", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", - "integrity": "sha1-D3lzHrjP4exyrNQGbvrJ1hmRsA0=", - "license": "MIT" - }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/cliui/-/cliui-8.0.1.tgz", @@ -3396,29 +3052,6 @@ "node": ">=12" } }, - "node_modules/cls-hooked": { - "version": "4.2.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/cls-hooked/-/cls-hooked-4.2.2.tgz", - "integrity": "sha1-rS6aQJJoDNr/6y01UdoOIl6uGQg=", - "license": "BSD-2-Clause", - "dependencies": { - "async-hook-jl": "^1.7.6", - "emitter-listener": "^1.0.1", - "semver": "^5.4.1" - }, - "engines": { - "node": "^4.7 || >=6.9 || >=7.3 || >=8.2.1" - } - }, - "node_modules/cls-hooked/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", - "integrity": "sha1-SNVdtzfDKHzUg14X+hP+rOHEHvg=", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", @@ -3458,16 +3091,6 @@ "dev": true, "license": "MIT" }, - "node_modules/continuation-local-storage": { - "version": "3.2.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz", - "integrity": "sha1-EfYT906RT+mzTJKtLSj+auHbf/s=", - "license": "BSD-2-Clause", - "dependencies": { - "async-listener": "^0.6.0", - "emitter-listener": "^1.1.1" - } - }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/create-require/-/create-require-1.1.1.tgz", @@ -3494,6 +3117,7 @@ "version": "4.4.3", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/debug/-/debug-4.4.3.tgz", "integrity": "sha1-xq5DLZvZZiWC/OCHCbA4xY6ePWo=", + "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -3549,24 +3173,6 @@ "node": ">=0.4.0" } }, - "node_modules/diagnostic-channel": { - "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz", - "integrity": "sha1-RLYJct6e4FXBYhZTWw6ds/ag79A=", - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - } - }, - "node_modules/diagnostic-channel-publishers": { - "version": "1.0.8", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.8.tgz", - "integrity": "sha1-cAVXqQLEQ8sR+Znxn1CouzvkkKA=", - "license": "MIT", - "peerDependencies": { - "diagnostic-channel": "*" - } - }, "node_modules/diff": { "version": "5.2.2", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/diff/-/diff-5.2.2.tgz", @@ -3617,15 +3223,6 @@ "node": ">= 0.4" } }, - "node_modules/emitter-listener": { - "version": "1.1.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/emitter-listener/-/emitter-listener-1.1.2.tgz", - "integrity": "sha1-VrFA6PaZI3Wz18ssqxzHQy2WMug=", - "license": "BSD-2-Clause", - "dependencies": { - "shimmer": "^1.2.0" - } - }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -4021,9 +3618,9 @@ "license": "MIT" }, "node_modules/fast-xml-builder": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-xml-builder/-/fast-xml-builder-1.0.0.tgz", - "integrity": "sha1-pIXX6DgfHbmDzwBvhJ0QZuKTUkE=", + "version": "1.1.9", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-xml-builder/-/fast-xml-builder-1.1.9.tgz", + "integrity": "sha1-lr+N4eOl9WAUm2CShE205v0O448=", "dev": true, "funding": [ { @@ -4031,12 +3628,15 @@ "url": "https://github.com/sponsors/NaturalIntelligence" } ], - "license": "MIT" + "license": "MIT", + "dependencies": { + "path-expression-matcher": "^1.1.3" + } }, "node_modules/fast-xml-parser": { - "version": "5.4.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-xml-parser/-/fast-xml-parser-5.4.2.tgz", - "integrity": "sha1-f8ZkY7WSYLDF/Vft9GFIpBi95os=", + "version": "5.7.3", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-xml-parser/-/fast-xml-parser-5.7.3.tgz", + "integrity": "sha1-MJsEsI2DXe/GKrZXoLs0DA4Pvmo=", "dev": true, "funding": [ { @@ -4046,8 +3646,10 @@ ], "license": "MIT", "dependencies": { - "fast-xml-builder": "^1.0.0", - "strnum": "^2.1.2" + "@nodable/entities": "^2.1.0", + "fast-xml-builder": "^1.1.7", + "path-expression-matcher": "^1.5.0", + "strnum": "^2.2.3" }, "bin": { "fxparser": "src/cli/cli.js" @@ -4132,16 +3734,16 @@ } }, "node_modules/flatted": { - "version": "3.3.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/flatted/-/flatted-3.3.4.tgz", - "integrity": "sha1-CYbmgQCPDxP1jhhlbEeWdoLbX/Y=", + "version": "3.4.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha1-9cI8EH8PN96NvfJPE3IrO5jVJyY=", "dev": true, "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha1-d31z1yqS+OxNLkEOtHNSpWuOg0A=", + "version": "1.16.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha1-KEdKFZ07nRHvYgUKFO1g5N9tYbw=", "funding": [ { "type": "individual", @@ -4159,15 +3761,15 @@ } }, "node_modules/form-data": { - "version": "2.5.5", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-2.5.5.tgz", - "integrity": "sha1-pfY2Stfk5n6VtKB+LYxvcRx09iQ=", + "version": "2.5.6", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-2.5.6.tgz", + "integrity": "sha1-7zmz2Z4vyfJUIMDbeWL+Nsr80kQ=", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", + "hasown": "^2.0.4", "mime-types": "^2.1.35", "safe-buffer": "^5.2.1" }, @@ -4182,6 +3784,20 @@ "dev": true, "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", @@ -4282,9 +3898,9 @@ } }, "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha1-VPxTI3phPYVMe9N0Y6rRffhyFOc=", + "version": "2.0.3", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha1-BJMzi91Y4xmxA5xnz37kOYksAdk=", "dev": true, "license": "MIT", "dependencies": { @@ -4398,9 +4014,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", + "version": "2.0.4", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha1-jGLYy5C+sqrV0KW2dYGtmFTD8AM=", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -4423,6 +4039,7 @@ "version": "7.0.2", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha1-mosfJGhmwChQlIZYX2K48sGMJw4=", + "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.0", @@ -4436,6 +4053,7 @@ "version": "7.0.6", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha1-2o3+rH2hMLBcK6S1nJts1mYRprk=", + "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -4509,18 +4127,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-in-the-middle": { - "version": "1.15.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/import-in-the-middle/-/import-in-the-middle-1.15.0.tgz", - "integrity": "sha1-niCCejIrutrrXjusSeqPbUaF/dg=", - "license": "Apache-2.0", - "dependencies": { - "acorn": "^8.14.0", - "acorn-import-attributes": "^1.9.5", - "cjs-module-lexer": "^1.2.2", - "module-details-from-path": "^1.0.3" - } - }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -4550,9 +4156,9 @@ "license": "ISC" }, "node_modules/ip-address": { - "version": "10.1.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ip-address/-/ip-address-10.1.0.tgz", - "integrity": "sha1-2Nz/s00OAuskFCdESm4j9bBZWqQ=", + "version": "10.2.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ip-address/-/ip-address-10.2.0.tgz", + "integrity": "sha1-gF/BeLIMUYvUyFSLJP4wiS1/MgY=", "dev": true, "license": "MIT", "engines": { @@ -4572,21 +4178,6 @@ "node": ">=8" } }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha1-KpiAGoSfQ+Kt1kT7trxiKbGaTvQ=", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-electron": { "version": "2.2.2", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-electron/-/is-electron-2.2.2.tgz", @@ -4686,10 +4277,20 @@ "license": "ISC" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha1-hUwpJGdwW2mUduGi3swMijRYgGs=", + "version": "4.2.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha1-K9noVoLdkb1GmvuAnYFgQ7PUlSQ=", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -4925,9 +4526,9 @@ } }, "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha1-VPxTI3phPYVMe9N0Y6rRffhyFOc=", + "version": "2.0.3", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha1-BJMzi91Y4xmxA5xnz37kOYksAdk=", "dev": true, "license": "MIT", "dependencies": { @@ -4994,12 +4595,6 @@ "node": ">=10" } }, - "node_modules/module-details-from-path": { - "version": "1.0.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/module-details-from-path/-/module-details-from-path-1.0.4.tgz", - "integrity": "sha1-tmL9zZP2yD0/JSidoM6ByNloW5Q=", - "license": "MIT" - }, "node_modules/mongodb": { "version": "4.17.2", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/mongodb/-/mongodb-4.17.2.tgz", @@ -5034,6 +4629,7 @@ "version": "2.1.3", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "dev": true, "license": "MIT" }, "node_modules/natural-compare": { @@ -5214,6 +4810,22 @@ "node": ">=8" } }, + "node_modules/path-expression-matcher": { + "version": "1.5.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/path-expression-matcher/-/path-expression-matcher-1.5.0.tgz", + "integrity": "sha1-O5hUXciP/rtZPi2EWNCSnaknX0o=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -5234,12 +4846,6 @@ "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", - "license": "MIT" - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/path-type/-/path-type-4.0.0.tgz", @@ -5261,9 +4867,9 @@ } }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "version": "2.3.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha1-WpQpFeJrNy3A8OZ1MUmhbmscVgE=", "dev": true, "license": "MIT", "engines": { @@ -5323,10 +4929,13 @@ } }, "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha1-4QLxbKNVQkhldV0sno6k8k1Yw+I=", - "license": "MIT" + "version": "2.1.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha1-p0h1aK2tV3z6qn6IxJyrOrMIGro=", + "license": "MIT", + "engines": { + "node": ">=10" + } }, "node_modules/punycode": { "version": "2.3.1", @@ -5382,40 +4991,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-in-the-middle": { - "version": "7.5.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/require-in-the-middle/-/require-in-the-middle-7.5.2.tgz", - "integrity": "sha1-3CWxSK/61C5XDPDkG6MNwA8XA+w=", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3", - "resolve": "^1.22.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha1-qthXzh/7i/qbCxrCnxFWOD9owmI=", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/resolve-from/-/resolve-from-4.0.0.tgz", @@ -5531,6 +5106,7 @@ "version": "7.7.4", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/semver/-/semver-7.7.4.tgz", "integrity": "sha1-KEZONgYOmR+noR0CedLT87V6foo=", + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -5540,9 +5116,9 @@ } }, "node_modules/serialize-javascript": { - "version": "7.0.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-7.0.4.tgz", - "integrity": "sha1-xRdzW9W3Yx3R/Bke4Zy7cT/44Fw=", + "version": "7.0.5", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-7.0.5.tgz", + "integrity": "sha1-x5jMBVL/uwiYGRSkKodW4znQ1bE=", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -5572,12 +5148,6 @@ "node": ">=8" } }, - "node_modules/shimmer": { - "version": "1.2.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/shimmer/-/shimmer-1.2.1.tgz", - "integrity": "sha1-YQhZ994ye1h+/r9QH7QxF/mv8zc=", - "license": "BSD-2-Clause" - }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/slash/-/slash-3.0.0.tgz", @@ -5625,12 +5195,6 @@ "memory-pager": "^1.0.2" } }, - "node_modules/stack-chain": { - "version": "1.3.7", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/stack-chain/-/stack-chain-1.3.7.tgz", - "integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=", - "license": "MIT" - }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", @@ -5673,9 +5237,9 @@ } }, "node_modules/strnum": { - "version": "2.2.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/strnum/-/strnum-2.2.0.tgz", - "integrity": "sha1-i1grY35GIfYv9xRJPgzjCEb5A6Y=", + "version": "2.3.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/strnum/-/strnum-2.3.0.tgz", + "integrity": "sha1-gb+/71PbjDIX6mKpjAJohuxKJ2E=", "dev": true, "funding": [ { @@ -5698,18 +5262,6 @@ "node": ">=8" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha1-btpL00SjyUrqN21MwxvHcxEDngk=", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/text-table/-/text-table-0.2.0.tgz", @@ -5801,6 +5353,7 @@ "version": "2.8.1", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tslib/-/tslib-2.8.1.tgz", "integrity": "sha1-YS7+TtI11Wfoq6Xypfq3AoCt6D8=", + "dev": true, "license": "0BSD" }, "node_modules/tsutils": { @@ -5886,9 +5439,9 @@ } }, "node_modules/undici": { - "version": "6.23.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-6.23.0.tgz", - "integrity": "sha1-eVMId0TZCVqW8RXeMUDKOCiv86Q=", + "version": "6.27.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-6.27.0.tgz", + "integrity": "sha1-Qfnkj3xaQNJzdsqurYyan8e8qcQ=", "license": "MIT", "engines": { "node": ">=18.17" @@ -5917,12 +5470,16 @@ } }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "version": "14.0.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/uuid/-/uuid-14.0.0.tgz", + "integrity": "sha1-CviDIgFj0mT/4MCE9riom5Zmlm0=", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist-node/bin/uuid" } }, "node_modules/v8-compile-cache-lib": { diff --git a/.github/actions/package.json b/.github/actions/package.json index d9b5c37d8..606844fef 100644 --- a/.github/actions/package.json +++ b/.github/actions/package.json @@ -14,9 +14,8 @@ "@actions/github": "^8.0.1", "@octokit/rest": "^21.1.1", "@slack/web-api": "^6.9.1", - "applicationinsights": "^2.5.1", - "axios": "^1.13.5", - "uuid": "^8.3.2" + "axios": "^1.16.0", + "uuid": "^14.0.0" }, "devDependencies": { "@azure/storage-blob": "^12.13.0", @@ -40,6 +39,8 @@ "yargs": "^17.5.1" }, "overrides": { - "serialize-javascript": "^7.0.4" + "serialize-javascript": "^7.0.5", + "flatted": "^3.4.2", + "fast-xml-parser": "^5.5.7" } } diff --git a/.github/workflows/bug-debugger.yml b/.github/workflows/bug-debugger.yml index 2ac8f2f53..bcafecc0f 100644 --- a/.github/workflows/bug-debugger.yml +++ b/.github/workflows/bug-debugger.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Add Comment @@ -27,3 +30,4 @@ jobs: createdAfter: "2024-07-22" addComment: "Thank you for reporting this issue. We’ll let you know if we need more information to investigate it. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated." addLabels: help wanted + diff --git a/.github/workflows/by-design-closer-debugger .yml b/.github/workflows/by-design-closer-debugger .yml index 3d390c3d4..f03586b37 100644 --- a/.github/workflows/by-design-closer-debugger .yml +++ b/.github/workflows/by-design-closer-debugger .yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v3 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -26,3 +29,4 @@ jobs: ignoreLabels: Language Service,internal closeDays: 0 closeComment: "This issue has been closed because the described behavior was determined to be by design." + diff --git a/.github/workflows/by-design-closer.yml b/.github/workflows/by-design-closer.yml index 719478e53..0fe17b3d3 100644 --- a/.github/workflows/by-design-closer.yml +++ b/.github/workflows/by-design-closer.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v3 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -28,3 +31,4 @@ jobs: closeComment: "This issue has been closed because the described behavior was determined to be by design." pingDays: 80 pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant." + diff --git a/.github/workflows/ci_linux.yml b/.github/workflows/ci_linux.yml index 85847d1fc..3b6761ce4 100644 --- a/.github/workflows/ci_linux.yml +++ b/.github/workflows/ci_linux.yml @@ -5,10 +5,20 @@ on: branches: [ main ] pull_request: 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: job: uses: ./.github/workflows/job-compile-and-test.yml with: - runner-env: ubuntu-22.04 - platform: linux \ No newline at end of file + runner-env: ubuntu-24.04 + platform: linux + checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }} diff --git a/.github/workflows/ci_mac.yml b/.github/workflows/ci_mac.yml index 7dfe198dd..40acb5f1a 100644 --- a/.github/workflows/ci_mac.yml +++ b/.github/workflows/ci_mac.yml @@ -5,11 +5,21 @@ on: branches: [ main ] pull_request: 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: job: uses: ./.github/workflows/job-compile-and-test.yml with: - runner-env: macos-14 + runner-env: macos-15 platform: mac - yarn-args: --network-timeout 100000 \ No newline at end of file + checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }} + yarn-args: --network-timeout 100000 diff --git a/.github/workflows/ci_windows.yml b/.github/workflows/ci_windows.yml index 9bdfea1d1..fb75c2673 100644 --- a/.github/workflows/ci_windows.yml +++ b/.github/workflows/ci_windows.yml @@ -5,10 +5,20 @@ on: branches: [ main ] pull_request: 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: job: uses: ./.github/workflows/job-compile-and-test.yml with: - runner-env: windows-2022 + runner-env: windows-2025 platform: windows + checkout-ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.target-ref || github.ref }} diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 3332d12a2..cb836d8b9 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -19,6 +19,9 @@ on: schedule: - cron: '29 4 * * 3' +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: analyze: name: Analyze (${{ matrix.language }}) @@ -56,7 +59,7 @@ 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 steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL @@ -91,3 +94,4 @@ jobs: uses: github/codeql-action/analyze@v3 with: category: "/language:${{matrix.language}}" + diff --git a/.github/workflows/duplicate-closer.yml b/.github/workflows/duplicate-closer.yml index 736bab5ab..29c41d85d 100644 --- a/.github/workflows/duplicate-closer.yml +++ b/.github/workflows/duplicate-closer.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -28,3 +31,4 @@ jobs: closeComment: "This issue has been closed because it is a duplicate of another issue we are tracking." pingDays: 80 pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant." + diff --git a/.github/workflows/enhancement-closer-no-milestone.yml b/.github/workflows/enhancement-closer-no-milestone.yml index 736e91e04..a24e19937 100644 --- a/.github/workflows/enhancement-closer-no-milestone.yml +++ b/.github/workflows/enhancement-closer-no-milestone.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -30,3 +33,4 @@ jobs: closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog." setMilestoneId: 30 ignoreMilestoneNames: "*" + diff --git a/.github/workflows/enhancement-closer-triage.yml b/.github/workflows/enhancement-closer-triage.yml index 543bb972f..30d8230a9 100644 --- a/.github/workflows/enhancement-closer-triage.yml +++ b/.github/workflows/enhancement-closer-triage.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -30,3 +33,4 @@ jobs: closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog." milestoneName: Triage milestoneId: 30 + diff --git a/.github/workflows/enhancement-reopener.yml b/.github/workflows/enhancement-reopener.yml index df3d486f6..b10666057 100644 --- a/.github/workflows/enhancement-reopener.yml +++ b/.github/workflows/enhancement-reopener.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Run Reopener @@ -31,3 +34,4 @@ jobs: milestoneName: Triage setMilestoneId: 28 removeLabels: more votes needed + diff --git a/.github/workflows/external-closer-debugger.yml b/.github/workflows/external-closer-debugger.yml index e2181415d..dc5f35fa1 100644 --- a/.github/workflows/external-closer-debugger.yml +++ b/.github/workflows/external-closer-debugger.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -26,3 +29,4 @@ jobs: ignoreLabels: Language Service,internal closeDays: 0 closeComment: "This issue has been closed because it is external or not applicable to the extension." + diff --git a/.github/workflows/feature-request-closer-no-milestone.yml b/.github/workflows/feature-request-closer-no-milestone.yml index f314c89ff..5312c0756 100644 --- a/.github/workflows/feature-request-closer-no-milestone.yml +++ b/.github/workflows/feature-request-closer-no-milestone.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -30,3 +33,4 @@ jobs: closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog." setMilestoneId: 30 ignoreMilestoneNames: "*" + diff --git a/.github/workflows/feature-request-closer-triage.yml b/.github/workflows/feature-request-closer-triage.yml index f1bd800ec..4ddab0ed6 100644 --- a/.github/workflows/feature-request-closer-triage.yml +++ b/.github/workflows/feature-request-closer-triage.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -30,3 +33,4 @@ jobs: closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog." milestoneName: Triage milestoneId: 30 + diff --git a/.github/workflows/feature-request-debugger.yml b/.github/workflows/feature-request-debugger.yml index 1da2d3e6c..5202d0c53 100644 --- a/.github/workflows/feature-request-debugger.yml +++ b/.github/workflows/feature-request-debugger.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Add Comment @@ -27,3 +30,4 @@ jobs: createdAfter: "2024-07-22" addComment: "Thank you for your feature request. While we may not be able to implement it immediately, we will monitor community reactions to see how it fits into our backlog. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated." addLabels: help wanted + diff --git a/.github/workflows/feature-request-reopener.yml b/.github/workflows/feature-request-reopener.yml index a47392801..a060e2d13 100644 --- a/.github/workflows/feature-request-reopener.yml +++ b/.github/workflows/feature-request-reopener.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Run Reopener @@ -31,3 +34,4 @@ jobs: milestoneName: Triage setMilestoneId: 28 removeLabels: more votes needed + diff --git a/.github/workflows/investigate-closer-debugger.yml b/.github/workflows/investigate-closer-debugger.yml index f709ba8f5..d3b823ae9 100644 --- a/.github/workflows/investigate-closer-debugger.yml +++ b/.github/workflows/investigate-closer-debugger.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -26,3 +29,4 @@ jobs: ignoreLabels: Language Service,internal closeDays: 180 closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue." + diff --git a/.github/workflows/investigate-costing-closer-debugger.yml b/.github/workflows/investigate-costing-closer-debugger.yml index 142f58703..7b68f50f4 100644 --- a/.github/workflows/investigate-costing-closer-debugger.yml +++ b/.github/workflows/investigate-costing-closer-debugger.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -26,3 +29,4 @@ jobs: ignoreLabels: Language Service,internal closeDays: 180 closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue." + diff --git a/.github/workflows/job-compile-and-test.yml b/.github/workflows/job-compile-and-test.yml index 2468e22a8..bbdea87f1 100644 --- a/.github/workflows/job-compile-and-test.yml +++ b/.github/workflows/job-compile-and-test.yml @@ -11,20 +11,28 @@ on: # Expects 'mac', 'linux', or 'windows' required: true type: string + checkout-ref: + required: false + type: string yarn-args: type: string +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: build: runs-on: ${{ inputs.runner-env }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 + with: + ref: ${{ inputs.checkout-ref }} - - name: Use Node.js 22 + - name: Use Node.js 24 uses: actions/setup-node@v4 with: - node-version: 22 + node-version: 24 - name: Install Dependencies run: yarn install ${{ inputs.yarn-args }} @@ -63,6 +71,11 @@ jobs: # run: yarn test --scenario=MultirootDeadlockTest # working-directory: Extension + # - name: Run E2E IntelliSense features tests + # 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. # Another way to start xvfb https://github.com/microsoft/vscode-test/blob/master/sample/azure-pipelines.yml @@ -78,4 +91,12 @@ jobs: # uses: coactions/setup-xvfb@v1 # with: # run: yarn test --scenario=MultirootDeadlockTest - # working-directory: Extension \ No newline at end of file + # 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=RunWithoutDebugging + # working-directory: Extension + diff --git a/.github/workflows/locker.yml b/.github/workflows/locker.yml index e965d2fdd..79d843630 100644 --- a/.github/workflows/locker.yml +++ b/.github/workflows/locker.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Run Locker @@ -25,3 +28,4 @@ jobs: daysSinceClose: 45 daysSinceUpdate: 3 ignoreLabels: more votes needed,debugger,internal + diff --git a/.github/workflows/more-info-needed-closer-debugger.yml b/.github/workflows/more-info-needed-closer-debugger.yml index 52c3dc12f..87ae5cd38 100644 --- a/.github/workflows/more-info-needed-closer-debugger.yml +++ b/.github/workflows/more-info-needed-closer-debugger.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -29,3 +32,4 @@ jobs: closeComment: "This issue has been closed because it needs more information and has not had recent activity." pingDays: 7 pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information." + diff --git a/.github/workflows/more-info-needed-closer.yml b/.github/workflows/more-info-needed-closer.yml index b02f83bab..1d2016775 100644 --- a/.github/workflows/more-info-needed-closer.yml +++ b/.github/workflows/more-info-needed-closer.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -28,3 +31,4 @@ jobs: closeComment: "This issue has been closed because it needs more information and has not had recent activity." pingDays: 14 pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information." + diff --git a/.github/workflows/question-closer-debugger.yml b/.github/workflows/question-closer-debugger.yml index 32e48268c..75616ceb3 100644 --- a/.github/workflows/question-closer-debugger.yml +++ b/.github/workflows/question-closer-debugger.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -29,3 +32,4 @@ jobs: closeComment: "This issue has been closed because it is a question and has not had recent activity." pingDays: 7 pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered." + diff --git a/.github/workflows/question-closer.yml b/.github/workflows/question-closer.yml index a01c4d74b..ebcdb99be 100644 --- a/.github/workflows/question-closer.yml +++ b/.github/workflows/question-closer.yml @@ -8,6 +8,9 @@ on: description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub" default: false +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: main: runs-on: ubuntu-latest @@ -15,7 +18,7 @@ jobs: issues: write steps: - name: Checkout Actions - uses: actions/checkout@v2 + uses: actions/checkout@v5 - name: Install Actions run: cd ./.github/actions && npm install --production && cd ../.. - name: Stale Closer @@ -28,3 +31,4 @@ jobs: closeComment: "This issue has been closed because it is a question and has not had recent activity." pingDays: 80 pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered." + diff --git a/Build/cg/cg.yml b/Build/cg/cg.yml index 77193ffe2..415874be5 100644 --- a/Build/cg/cg.yml +++ b/Build/cg/cg.yml @@ -31,12 +31,12 @@ extends: parameters: pool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows sdl: sourceAnalysisPool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows binskim: preReleaseVersion: '4.3.1' @@ -61,7 +61,7 @@ extends: featureFlags: autoBaseline: false settings: - networkIsolationPolicy: Permissive,CFSClean,CFSClean2 + networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3 stages: - stage: build @@ -81,9 +81,6 @@ extends: steps: - checkout: self - - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3 - displayName: Use Yarn 1.x - - task: UseNode@1 displayName: Use Node 22.x inputs: @@ -102,16 +99,22 @@ extends: script: | export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g') cd "$SRC_DIR/Extension" - yarn run vsix-prepublish + npm run vsix-prepublish 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 exit 1 fi retryCountOnTaskFailure: 3 - - script: | - cd $(Build.SourcesDirectory)\Extension - npx @vscode/vsce@3.7.1 package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix - name: ProcessRunner_12 + - script: yarn install --frozen-lockfile + displayName: Install dependencies with yarn + workingDirectory: $(Build.SourcesDirectory)\Extension + + - 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)\Extension + + - script: npx vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix displayName: Run VSCE to package vsix + workingDirectory: $(Build.SourcesDirectory)\Extension diff --git a/Build/loc/TranslationsImportExport.yml b/Build/loc/TranslationsImportExport.yml index 78e33955b..b64e16825 100644 --- a/Build/loc/TranslationsImportExport.yml +++ b/Build/loc/TranslationsImportExport.yml @@ -30,12 +30,12 @@ extends: parameters: pool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows sdl: sourceAnalysisPool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows stages: - stage: stage diff --git a/Build/package/cpptools_extension_pack.yml b/Build/package/cpptools_extension_pack.yml index e9cb64567..426c6e5da 100644 --- a/Build/package/cpptools_extension_pack.yml +++ b/Build/package/cpptools_extension_pack.yml @@ -24,15 +24,15 @@ extends: parameters: pool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows sdl: sourceAnalysisPool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows settings: - networkIsolationPolicy: Permissive,CFSClean,CFSClean2 + networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3 stages: - stage: package diff --git a/Build/package/cpptools_themes.yml b/Build/package/cpptools_themes.yml index 8cf1f3571..d4f6ff287 100644 --- a/Build/package/cpptools_themes.yml +++ b/Build/package/cpptools_themes.yml @@ -24,15 +24,15 @@ extends: parameters: pool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows sdl: sourceAnalysisPool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows settings: - networkIsolationPolicy: Permissive,CFSClean,CFSClean2 + networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3 stages: - stage: package diff --git a/Build/package/jobs_package_vsix.yml b/Build/package/jobs_package_vsix.yml index c2a4b17fa..5f80eee6e 100644 --- a/Build/package/jobs_package_vsix.yml +++ b/Build/package/jobs_package_vsix.yml @@ -38,9 +38,6 @@ jobs: inputs: version: 22.x - - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3 - displayName: Use Yarn 1.x - - script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc displayName: Delete .npmrc if it exists @@ -51,9 +48,9 @@ jobs: script: | export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g') cd "$SRC_DIR/${{ parameters.srcDir }}" - yarn install + npm install if [ $? -ne 0 ]; then - echo "yarn install failed, sleeping for 30s before retrying..." + echo "npm install failed, sleeping for 30s before retrying..." sleep 30 exit 1 fi @@ -62,13 +59,24 @@ jobs: - script: mkdir $(Build.ArtifactStagingDirectory)\vsix displayName: Create Staging Directory - - script: | - cd $(Build.SourcesDirectory)\${{ parameters.srcDir }} - npx @vscode/vsce@3.7.1 package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix + - script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.9.1 + displayName: Install vsce + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} + + - script: npm rebuild @vscode/vsce-sign --ignore-scripts=false + 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 @vscode/vsce@3.7.1 generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest + - 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 diff --git a/Build/publish/cpptools_extension_pack.yml b/Build/publish/cpptools_extension_pack.yml index b5e55d7bf..cb30e5212 100644 --- a/Build/publish/cpptools_extension_pack.yml +++ b/Build/publish/cpptools_extension_pack.yml @@ -18,12 +18,12 @@ extends: parameters: pool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows sdl: sourceAnalysisPool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows stages: diff --git a/Build/publish/cpptools_themes.yml b/Build/publish/cpptools_themes.yml index 1659dff10..ea93bbce7 100644 --- a/Build/publish/cpptools_themes.yml +++ b/Build/publish/cpptools_themes.yml @@ -18,12 +18,12 @@ extends: parameters: pool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows sdl: sourceAnalysisPool: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 os: windows stages: diff --git a/Build/publish/jobs_publish_vsix.yml b/Build/publish/jobs_publish_vsix.yml index 9cab81201..0b7c5ee83 100644 --- a/Build/publish/jobs_publish_vsix.yml +++ b/Build/publish/jobs_publish_vsix.yml @@ -31,8 +31,16 @@ jobs: $aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken" - - script: | - npx @vscode/vsce@3.7.1 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 + - script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.9.1 + 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 env: VSCE_PAT: $(AAD_TOKEN) diff --git a/Extension/.npmrc b/Extension/.npmrc index d8324806f..fdfca0176 100644 --- a/Extension/.npmrc +++ b/Extension/.npmrc @@ -1,2 +1,3 @@ registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ -always-auth=true \ No newline at end of file +# Disable postinstall scripts for supply chain security. Allowlist exceptions with npm trust: https://docs.npmjs.com/cli/v11/commands/npm-trust +ignore-scripts=true diff --git a/Extension/.scripts/common.ts b/Extension/.scripts/common.ts index 29758c269..c40e94398 100644 --- a/Extension/.scripts/common.ts +++ b/Extension/.scripts/common.ts @@ -39,7 +39,7 @@ chdir($root); // dump unhandled async errors to the console and exit. 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); }); diff --git a/Extension/.scripts/copyExtensionBinaries.ts b/Extension/.scripts/copyExtensionBinaries.ts new file mode 100644 index 000000000..0ebf078be --- /dev/null +++ b/Extension/.scripts/copyExtensionBinaries.ts @@ -0,0 +1,113 @@ +/* -------------------------------------------------------------------------------------------- + * 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 { join } from 'node:path'; +import { $args, $root, green, heading, note } 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 { + try { + const entries = await readdir(root, { withFileTypes: true }); + const candidates: Promise[] = 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 findLatestInstalledExtension(providedPath?: string): Promise { + if (providedPath) { + return providedPath; + } + + const searchRoots: string[] = [ + join(homedir(), '.vscode', 'extensions'), + join(homedir(), '.vscode-insiders', 'extensions'), + join(homedir(), '.vscode-server', 'extensions'), + join(homedir(), '.vscode-server-insiders', 'extensions') + ]; + + 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; +} + +export async function main(sourcePath = $args[0]) { + 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}`); +} diff --git a/Extension/.vscode/launch.json b/Extension/.vscode/launch.json index 4323f133d..a110f3407 100644 --- a/Extension/.vscode/launch.json +++ b/Extension/.vscode/launch.json @@ -97,6 +97,10 @@ "label": "MultirootDeadlockTest ", "value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace" }, + { + "label": "RunWithoutDebugging ", + "value": "${workspaceFolder}/test/scenarios/RunWithoutDebugging/assets/" + }, { "label": "SimpleCppProject ", "value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace" diff --git a/Extension/.vscodeignore b/Extension/.vscodeignore index ca69612fc..59e8dac79 100644 --- a/Extension/.vscodeignore +++ b/Extension/.vscodeignore @@ -35,7 +35,6 @@ eslint.config.js gulpfile.js localized_string_ids.h readme.developer.md -Reinstalling the Extension.md test.tsconfig.json translations_auto_pr.js tsconfig.json diff --git a/Extension/.yarn-bootstrap/package-lock.json b/Extension/.yarn-bootstrap/package-lock.json new file mode 100644 index 000000000..c63097e37 --- /dev/null +++ b/Extension/.yarn-bootstrap/package-lock.json @@ -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" + } + } + } +} \ No newline at end of file diff --git a/Extension/.yarn-bootstrap/package.json b/Extension/.yarn-bootstrap/package.json new file mode 100644 index 000000000..295eab7fe --- /dev/null +++ b/Extension/.yarn-bootstrap/package.json @@ -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" + } +} \ No newline at end of file diff --git a/Extension/CHANGELOG.md b/Extension/CHANGELOG.md index f2c163a43..13757a930 100644 --- a/Extension/CHANGELOG.md +++ b/Extension/CHANGELOG.md @@ -1,29 +1,88 @@ # C/C++ for Visual Studio Code Changelog -## Version 1.31.1: March 10, 2026 +## 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) +* Fix some regression crashes. + +## 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 -* Update clang-tidy and clang-format from 21.1.4 to 22.1.0. -* Update support for the latest compiler versions. +* 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 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) -* Add IntelliSense support for `__builtin_is_implicit_lifetime`. -* Fix three IntelliSense process crashes. -* Fix a bug with `-embed-directory`. -* Add some missing translations. +* 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) -## Version 1.31.0: February 19, 2026 +### Enhancements +* Add a `C_Cpp.doxygen.generateOnCodeAction` setting to allow disabling of Doxygen generation code actions. [#14341](https://github.com/microsoft/vscode-cpptools/issues/14341) +* Add a `cpptools.waitForTagParsing` command (for use by the `C/C++ DevTools` extension). [PR #14407](https://github.com/microsoft/vscode-cpptools/pull/14407/changes) +* Improve wildcard matching with the debugger natvis. [MIEngine#1162](https://github.com/microsoft/MIEngine/issues/1162) +* Add support for `HideRawView` with the debugger natvis. [MIEngine#1458](https://github.com/microsoft/MIEngine/issues/1458) + +### Bug Fixes +* Fix high CPU usage caused by repeated calls to `selectChatModels`. [#14168](https://github.com/microsoft/vscode-cpptools/issues/14168), [#14211](https://github.com/microsoft/vscode-cpptools/issues/14211), [#14241](https://github.com/microsoft/vscode-cpptools/issues/14241) +* Fix the MSVC developer environment not working if `UCRTVersion` isn't found, and update the walkthrough instructions for installing MSVC. [#14352](https://github.com/microsoft/vscode-cpptools/issues/14352) +* Fix an IntelliSense crash when three special-case comments are used in a template. [#14360](https://github.com/microsoft/vscode-cpptools/issues/14360) +* Fix Copilot hover taking too many premium requests. [#14372](https://github.com/microsoft/vscode-cpptools/issues/14372) +* Fix null pointers being expandable for variables in the debugger. [MIEngine#698](https://github.com/microsoft/MIEngine/issues/698) +* Fix recursive `{this}` evaluation with the debugger natvis. [MIEngine#1391](https://github.com/microsoft/MIEngine/issues/1391) +* Update clang-tidy and clang-format from 22.1.1 to 22.1.3 (bug fixes). +* Fix a bug with semantic colorization of operators. + +## Version 1.31.5: April 20, 2026 +### Bug Fixes +* Fix `Reinstalling the Extension.md` not being found. [#14389](https://github.com/microsoft/vscode-cpptools/issues/14389) +* Fix the `C/C++ DevTools` extension language service tools not working after the `C/C++` extension updates via `Restart Extensions`. [#14392](https://github.com/microsoft/vscode-cpptools/issues/14392) + +## Version 1.31.4: March 31, 2026 +### Bug Fix +* Debugging cpptools and cpptools-srv processes on macOS (to get call stacks) is now blocked when SIP is enabled (due to a potential security issue). + +## Version 1.31.3: March 24, 2026 ### Enhancements * Add support for `program` in attach debug configurations. [#14046](https://github.com/microsoft/vscode-cpptools/issues/14046) * Thanks for the contribution. [@Subham-KRLX (Subham)](https://github.com/Subham-KRLX) [PR #14108](https://github.com/microsoft/vscode-cpptools/pull/14108) +* 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. ### Bug Fixes * Fix an IntelliSense error with deducing `this` (explicit object member functions) with conversion operators. [#14140](https://github.com/microsoft/vscode-cpptools/issues/14140) * Fix `embed-dir` compiler arguments not being handled for IntelliSense. [#14154](https://github.com/microsoft/vscode-cpptools/issues/14154) +* Fix workspace symbol search with `scope::variable` not working after symbols are deleted and then added back. [#14200](https://github.com/microsoft/vscode-cpptools/issues/14200) +* Fix bugs where a path was checked for existence but not whether it was a file or a folder. [#14257](https://github.com/microsoft/vscode-cpptools/issues/14257) +* Fix the Call Hierarchy Callers Of progress UI not showing. [#14287](https://github.com/microsoft/vscode-cpptools/issues/14287) +* Fix an IntelliSense crash when using GCC 16 `span` and `string`. [#14309](https://github.com/microsoft/vscode-cpptools/issues/14309) +* Fix `_CONTROL_FLOW_GUARD` not being defined when `/guard:cf` is used in MSVC mode. [#14310](https://github.com/microsoft/vscode-cpptools/issues/14310) +* Add IntelliSense support for `__builtin_is_implicit_lifetime`. +* Fix three IntelliSense process crashes. +* Fix some missing translations. -## Version 1.30.5: February 9. 2026 +## Version 1.30.5: February 9, 2026 ### Bug Fix * Fix a potential language server deadlock after editing code. diff --git a/Extension/README.md b/Extension/README.md index d6a505631..6a06178cc 100644 --- a/Extension/README.md +++ b/Extension/README.md @@ -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.
-**[Quick survey](https://www.research.net/r/VBVV6C6)** +**[Quick survey](https://aka.ms/vcvscodesurvey)**
Let us know what you think of the extension by taking the quick survey. diff --git a/Extension/ThirdPartyNotices.txt b/Extension/ThirdPartyNotices.txt index 48635c5a6..06f108394 100644 --- a/Extension/ThirdPartyNotices.txt +++ b/Extension/ThirdPartyNotices.txt @@ -568,6 +568,32 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +minimatch 4.2.6 - ISC +https://github.com/isaacs/minimatch#readme + +Copyright (c) 2011-2022 Isaac Z. Schlueter and Contributors + +The ISC License + +Copyright (c) 2011-2022 Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + --------------------------------------------------------- --------------------------------------------------------- @@ -1117,6 +1143,44 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +@nevware21/ts-utils 0.14.0 - MIT +https://github.com/nevware21/ts-utils + +Copyright (c) 2022 NevWare21 Solutions LLC +Copyright (c) 2023 NevWare21 Solutions LLC +Copyright (c) 2024 NevWare21 Solutions LLC +Copyright (c) 2025 NevWare21 Solutions LLC +Copyright (c) 2026 NevWare21 Solutions LLC +Copyright (c) 2022-2025 NevWare21 Solutions LLC +Copyright (c) NevWare21 Solutions LLC and contributors + +MIT License + +Copyright (c) 2022 NevWare21 Solutions LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + --------------------------------------------------------- --------------------------------------------------------- @@ -1250,7 +1314,7 @@ SOFTWARE. --------------------------------------------------------- -@xmldom/xmldom 0.8.11 - MIT +@xmldom/xmldom 0.8.13 - MIT https://github.com/xmldom/xmldom Copyright 2019 - present Christopher J. Brody and other contributors @@ -1334,7 +1398,7 @@ SOFTWARE. --------------------------------------------------------- -axios 1.13.6 - MIT +axios 1.16.0 - MIT https://axios-http.com/ Copyright (c) 2014-present, Facebook, Inc. @@ -1506,70 +1570,6 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- - ---------------------------------------------------------- - -brace-expansion 1.1.12 - MIT -https://github.com/juliangruber/brace-expansion - -Copyright (c) 2013 Julian Gruber - -MIT License - -Copyright (c) 2013 Julian Gruber - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - ---------------------------------------------------------- - ---------------------------------------------------------- - -brace-expansion 2.0.2 - MIT -https://github.com/juliangruber/brace-expansion - -Copyright (c) 2013 Julian Gruber - -MIT License - -Copyright (c) 2013 Julian Gruber - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------- --------------------------------------------------------- @@ -1642,7 +1642,7 @@ SOFTWARE. chokidar 3.6.0 - MIT https://github.com/paulmillr/chokidar -(c) Paul Miller +(c) Paul Miller Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker The MIT License (MIT) @@ -1765,6 +1765,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. core-util-is 1.0.3 - MIT https://github.com/isaacs/core-util-is#readme +Copyright Node.js contributors Copyright Joyent, Inc. and other Node contributors Copyright Node.js contributors. All rights reserved. @@ -2089,7 +2090,7 @@ THE SOFTWARE. --------------------------------------------------------- -follow-redirects 1.15.11 - MIT +follow-redirects 1.16.0 - MIT https://github.com/follow-redirects/follow-redirects Copyright 2014-present Olivier Lalonde , James Talmage , Ruben Verborgh @@ -2275,38 +2276,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- - ---------------------------------------------------------- - -hasown 2.0.2 - MIT -https://github.com/inspect-js/hasOwn#readme - -Copyright (c) Jordan Harband and contributors - -MIT License - -Copyright (c) Jordan Harband and contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - --------------------------------------------------------- --------------------------------------------------------- @@ -2598,6 +2567,7 @@ merge2 1.4.1 - MIT https://github.com/teambition/merge2 Copyright (c) 2014-2020 Teambition +(c) Teambition (https://www.teambition.com) The MIT License (MIT) @@ -3016,7 +2986,7 @@ THE SOFTWARE. --------------------------------------------------------- -picomatch 2.3.1 - MIT +picomatch 2.3.2 - MIT https://github.com/micromatch/picomatch Copyright (c) 2017-present, Jon Schlinkert @@ -3114,7 +3084,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- -proxy-from-env 1.1.0 - MIT +proxy-from-env 2.1.0 - MIT https://github.com/Rob--W/proxy-from-env#readme Copyright (c) 2016-2018 Rob Wu @@ -3181,7 +3151,7 @@ readdirp 3.6.0 - MIT https://github.com/paulmillr/readdirp Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com) -Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller +Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller ( https://paulmillr.com ) MIT License @@ -3275,7 +3245,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- -shell-quote 1.8.2 - MIT +shell-quote 1.8.4 - MIT https://github.com/ljharb/shell-quote Copyright (c) 2013 James Halliday (mail@substack.net) @@ -3341,7 +3311,7 @@ SOFTWARE. --------------------------------------------------------- -tmp 0.2.5 - MIT +tmp 0.2.7 - MIT http://github.com/raszi/node-tmp Copyright (c) 2014 KARASZI Istvan @@ -3425,22 +3395,20 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI --------------------------------------------------------- -vscode-jsonrpc 8.1.0 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme +uuid 14.0.0 - MIT +https://github.com/uuidjs/uuid#readme -Copyright (c) Microsoft Corporation +Copyright (c) 2010-2020 Robert Kieffer and other contributors -Copyright (c) Microsoft Corporation - -All rights reserved. +The MIT License (MIT) -MIT License +Copyright (c) 2010-2020 Robert Kieffer and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- @@ -3469,7 +3437,7 @@ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI --------------------------------------------------------- -vscode-languageclient 8.1.0 - MIT +vscode-languageclient 9.0.1 - MIT https://github.com/Microsoft/vscode-languageserver-node#readme Copyright (c) Microsoft Corporation @@ -3487,29 +3455,6 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-languageserver-protocol 3.17.3 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) Microsoft Corporation -Copyright (c) TypeFox, Microsoft and others - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------- --------------------------------------------------------- @@ -3533,28 +3478,6 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- - ---------------------------------------------------------- - -vscode-languageserver-types 3.17.3 - MIT -https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) Microsoft Corporation - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - --------------------------------------------------------- --------------------------------------------------------- diff --git a/Extension/bin/common.json b/Extension/bin/common.json deleted file mode 100644 index ae5b8b3eb..000000000 --- a/Extension/bin/common.json +++ /dev/null @@ -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" - } - ] -} \ No newline at end of file diff --git a/Extension/cpp.hint b/Extension/bin/cpp.hint similarity index 100% rename from Extension/cpp.hint rename to Extension/bin/cpp.hint diff --git a/Extension/bin/linux.clang.arm.json b/Extension/bin/linux.clang.arm.json deleted file mode 100644 index 9cb51ab2c..000000000 --- a/Extension/bin/linux.clang.arm.json +++ /dev/null @@ -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" -} diff --git a/Extension/bin/linux.clang.arm64.json b/Extension/bin/linux.clang.arm64.json deleted file mode 100644 index eebe976d4..000000000 --- a/Extension/bin/linux.clang.arm64.json +++ /dev/null @@ -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" -} diff --git a/Extension/bin/linux.clang.x64.json b/Extension/bin/linux.clang.x64.json deleted file mode 100644 index 383389821..000000000 --- a/Extension/bin/linux.clang.x64.json +++ /dev/null @@ -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" -} diff --git a/Extension/bin/linux.clang.x86.json b/Extension/bin/linux.clang.x86.json deleted file mode 100644 index 2f4e27578..000000000 --- a/Extension/bin/linux.clang.x86.json +++ /dev/null @@ -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" -} diff --git a/Extension/bin/linux.gcc.arm.json b/Extension/bin/linux.gcc.arm.json deleted file mode 100644 index e7e0fc818..000000000 --- a/Extension/bin/linux.gcc.arm.json +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/Extension/bin/linux.gcc.arm64.json b/Extension/bin/linux.gcc.arm64.json deleted file mode 100644 index 931b1c6e6..000000000 --- a/Extension/bin/linux.gcc.arm64.json +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/Extension/bin/linux.gcc.x64.json b/Extension/bin/linux.gcc.x64.json deleted file mode 100644 index 6d6e2a1be..000000000 --- a/Extension/bin/linux.gcc.x64.json +++ /dev/null @@ -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" -} diff --git a/Extension/bin/linux.gcc.x86.json b/Extension/bin/linux.gcc.x86.json deleted file mode 100644 index 8972cce04..000000000 --- a/Extension/bin/linux.gcc.x86.json +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/Extension/bin/macos.clang.arm.json b/Extension/bin/macos.clang.arm.json deleted file mode 100644 index 3c6484f3c..000000000 --- a/Extension/bin/macos.clang.arm.json +++ /dev/null @@ -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" -} diff --git a/Extension/bin/macos.clang.arm64.json b/Extension/bin/macos.clang.arm64.json deleted file mode 100644 index 63c6fe0e2..000000000 --- a/Extension/bin/macos.clang.arm64.json +++ /dev/null @@ -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" -} diff --git a/Extension/bin/macos.clang.x64.json b/Extension/bin/macos.clang.x64.json deleted file mode 100644 index 1a24ac74e..000000000 --- a/Extension/bin/macos.clang.x64.json +++ /dev/null @@ -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" -} diff --git a/Extension/bin/macos.clang.x86.json b/Extension/bin/macos.clang.x86.json deleted file mode 100644 index 173ae66b6..000000000 --- a/Extension/bin/macos.clang.x86.json +++ /dev/null @@ -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" -} diff --git a/Extension/bin/macos.gcc.arm.json b/Extension/bin/macos.gcc.arm.json deleted file mode 100644 index 4722bbaa4..000000000 --- a/Extension/bin/macos.gcc.arm.json +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/Extension/bin/macos.gcc.arm64.json b/Extension/bin/macos.gcc.arm64.json deleted file mode 100644 index bfe134a8b..000000000 --- a/Extension/bin/macos.gcc.arm64.json +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/Extension/bin/macos.gcc.x64.json b/Extension/bin/macos.gcc.x64.json deleted file mode 100644 index f7286d2f1..000000000 --- a/Extension/bin/macos.gcc.x64.json +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/Extension/bin/macos.gcc.x86.json b/Extension/bin/macos.gcc.x86.json deleted file mode 100644 index b07752292..000000000 --- a/Extension/bin/macos.gcc.x86.json +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/Extension/bin/messages/tr/messages.json b/Extension/bin/messages/tr/messages.json index 0a5bb759c..a12691580 100644 --- a/Extension/bin/messages/tr/messages.json +++ b/Extension/bin/messages/tr/messages.json @@ -1664,7 +1664,7 @@ "#include_next, birincil kaynak dosyada kullanılamıyor", "şablon üye tanımında %no1 belirtilemiyor -- onun yerine %no2 varsayıldı", "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ı)", "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", diff --git a/Extension/bin/messages/zh-cn/messages.json b/Extension/bin/messages/zh-cn/messages.json index 3e76f245f..ffb8859a0 100644 --- a/Extension/bin/messages/zh-cn/messages.json +++ b/Extension/bin/messages/zh-cn/messages.json @@ -3604,7 +3604,7 @@ "第一个参数必须是指向整数、enum 或支持的浮点类型的指针", "编译多个翻译单元时无法使用 C++ 模块", "C++ 模块不能与 C++11 之前的 'export' 功能一起使用", - "不支持 IFC 令牌 %sq", + "不支持 IFC 标记 %sq", "'pass_object_size' 属性仅对函数声明的参数有效", "%sq 属性 %d1 的参数必须介于 0 和 %d2 之间", "此处的 ref-qualifier 被忽略", diff --git a/Extension/bin/messages/zh-tw/messages.json b/Extension/bin/messages/zh-tw/messages.json index 2b69182ee..8b6bdd208 100644 --- a/Extension/bin/messages/zh-tw/messages.json +++ b/Extension/bin/messages/zh-tw/messages.json @@ -6,7 +6,7 @@ "記憶體不足。請考慮啟用 64 位元 IntelliSense 引擎,並在設定中增加 IntelliSense 記憶體限制。", null, "檔案結尾處有未封閉的註解", - "無法辨認的語彙基元", + "無法辨認的 Token", "遺漏右引號", "不允許巢狀註解", "這裡不應該出現 '#'", @@ -721,8 +721,8 @@ "不允許 mutable", "不允許 %n 的重新宣告更改其存取權", null, - "可能誤用替代的語彙基元 '<:'", - "可能誤用替代的語彙基元 '%%:'", + "可能誤用替代的 Token '<:'", + "可能誤用替代的 Token '%%:'", "不允許命名空間定義", "名稱必須是命名空間名稱", "不允許命名空間別名定義", @@ -782,7 +782,7 @@ "參考的目標是 %nd1 -- 根據舊的 for-init 範圍規則,它可能已 %nd2", "控制 for-init 差異時警告的選項只有在編譯 C++ 時才能使用", "這裡需要虛擬 %n 的定義", - "空白註解被解譯為語彙基元帶入的運算子 '##'", + "空白註解被解譯為 Token 帶入的運算子 '##'", "friend 宣告不能有儲存類別", "這個宣告不能有 %no 的樣板參數清單", "%n 不是有效的類別成員範本", @@ -1664,7 +1664,7 @@ "#include_next 不能用於主要原始程式檔", "無法在樣板成員定義中指定 %no1 -- 假設為 %no2", "區域函式宣告忽略 %sq 屬性", - "與 %sq (於 %n 中) 的串連不會建立有效的語彙基元", + "與 %sq (於 %n 中) 的串連不會建立有效的 Token", "%no 模稜兩可 (假設為 %n2)", "靜態成員函式不能有類型限定詞", "建構函式或解構函式不能有類型限定詞", @@ -3388,7 +3388,7 @@ "當 %sq 用於匯入或模組指示詞中時,不得為巨集", "這個指示詞只能出現在全域命名空間範圍內", "'export' 宣告只能出現在全域或命名空間範圍", - "%sq 剖析為識別碼而非關鍵字,因為後續的權杖與前置處理器指示詞的標記不相符", + "%sq 剖析為識別碼而非關鍵字,因為後續的 Token 與前置處理器指示詞的標記不相符", "這似乎是前置處理器指示詞的開頭,但是缺少 ';',後面緊接著新行會防止", "這似乎是模組前置處理指示詞,但這類指示詞不能出現在巨集展開中", "'module' 指示詞不能出現在條件式包含的範圍 (例如,#if、#else、#elseif 等)", @@ -3604,7 +3604,7 @@ "第一個引數必須是整數的指標、enum 或支援的浮點類型", "編譯多個翻譯單元時,無法使用 C++ 模組", "C++ 模組無法搭配先前的 C++11 'export' 功能使用", - "IFC 權杖 %sq 不受支援", + "IFC Token %sq 不受支援", "'pass_object_size' 屬性僅在函式宣告的參數上有效", "%sq 屬性 %d1 的引數必須是介於 0 到 %d2 之間的值", "這裡會忽略 ref-qualifier", @@ -3624,11 +3624,11 @@ "在此模式下,'auto' 作為類型規範並非標準用法", "由於檔案損毀,無法匯入模組檔案 %sq", "IFC", - "成員宣告後插入了沒有直接關聯的權杖", + "成員宣告後插入了沒有直接關聯的 Token", "錯誤的插入範圍 (%r)", "預期為 std::string_view 類型的值,但收到 %t", - "陳述式後插入了沒有直接關聯的權杖", - "宣告後插入了沒有直接關聯的權杖", + "陳述式後插入了沒有直接關聯的 Token", + "宣告後插入了沒有直接關聯的 Token", "Tuple 索引值 (%d) 溢位", ">> 輸出來自 std::meta::__report_tokens", ">> 結束輸出自 std::meta::__report_tokens", diff --git a/Extension/bin/windows.clang.arm.json b/Extension/bin/windows.clang.arm.json deleted file mode 100644 index 2a62f646c..000000000 --- a/Extension/bin/windows.clang.arm.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "defaults": [ - ], - "defaults_op": "merge" -} diff --git a/Extension/bin/windows.clang.arm64.json b/Extension/bin/windows.clang.arm64.json deleted file mode 100644 index 2a62f646c..000000000 --- a/Extension/bin/windows.clang.arm64.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "defaults": [ - ], - "defaults_op": "merge" -} diff --git a/Extension/bin/windows.clang.x64.json b/Extension/bin/windows.clang.x64.json deleted file mode 100644 index 2a62f646c..000000000 --- a/Extension/bin/windows.clang.x64.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "defaults": [ - ], - "defaults_op": "merge" -} diff --git a/Extension/bin/windows.clang.x86.json b/Extension/bin/windows.clang.x86.json deleted file mode 100644 index 2a62f646c..000000000 --- a/Extension/bin/windows.clang.x86.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "defaults": [ - ], - "defaults_op": "merge" -} diff --git a/Extension/bin/windows.gcc.arm.json b/Extension/bin/windows.gcc.arm.json deleted file mode 100644 index d5640b09c..000000000 --- a/Extension/bin/windows.gcc.arm.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "defaults": [ - ], - "defaults_op": "merge" -} \ No newline at end of file diff --git a/Extension/bin/windows.gcc.arm64.json b/Extension/bin/windows.gcc.arm64.json deleted file mode 100644 index 2a49e30c0..000000000 --- a/Extension/bin/windows.gcc.arm64.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "defaults": [ - ], - "defaults_op": "merge" -} diff --git a/Extension/bin/windows.gcc.x64.json b/Extension/bin/windows.gcc.x64.json deleted file mode 100644 index d5640b09c..000000000 --- a/Extension/bin/windows.gcc.x64.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "defaults": [ - ], - "defaults_op": "merge" -} \ No newline at end of file diff --git a/Extension/bin/windows.gcc.x86.json b/Extension/bin/windows.gcc.x86.json deleted file mode 100644 index d5640b09c..000000000 --- a/Extension/bin/windows.gcc.x86.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "defaults": [ - ], - "defaults_op": "merge" -} \ No newline at end of file diff --git a/Extension/bin/windows.msvc.arm.json b/Extension/bin/windows.msvc.arm.json deleted file mode 100644 index 2941a80ed..000000000 --- a/Extension/bin/windows.msvc.arm.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "defaults": [ - "-D_MSC_EXTENSIONS", - "--microsoft", - "--microsoft_bugs", - "--microsoft_version", - "1951", - "-D_MSC_VER=1951", - "-D_MSC_FULL_VER=195136122", - "-D_MSC_BUILD=0", - "-D_M_ARM=7" - ], - "defaults_op": "merge" -} diff --git a/Extension/bin/windows.msvc.arm64.json b/Extension/bin/windows.msvc.arm64.json deleted file mode 100644 index cf65c3080..000000000 --- a/Extension/bin/windows.msvc.arm64.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "defaults": [ - "-D_MSC_EXTENSIONS", - "--microsoft", - "--microsoft_bugs", - "--microsoft_version", - "1951", - "-D_CPPUNWIND=1", - "-D_MSC_VER=1951", - "-D_MSC_FULL_VER=195136122", - "-D_MSC_BUILD=0", - "-D_M_ARM64=1" - ], - "defaults_op": "merge" -} diff --git a/Extension/bin/windows.msvc.x64.json b/Extension/bin/windows.msvc.x64.json deleted file mode 100644 index fb060ce36..000000000 --- a/Extension/bin/windows.msvc.x64.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "defaults": [ - "-D_MSC_EXTENSIONS", - "--microsoft", - "--microsoft_bugs", - "--microsoft_version", - "1951", - "-D_CPPUNWIND=1", - "-D_MSC_VER=1951", - "-D_MSC_FULL_VER=195136122", - "-D_MSC_BUILD=0", - "-D_M_X64=100", - "-D_M_AMD64=100" - ], - "defaults_op": "merge" -} diff --git a/Extension/bin/windows.msvc.x86.json b/Extension/bin/windows.msvc.x86.json deleted file mode 100644 index d536045a6..000000000 --- a/Extension/bin/windows.msvc.x86.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "defaults": [ - "-D_MSC_EXTENSIONS", - "--microsoft", - "--microsoft_bugs", - "--microsoft_version", - "1951", - "-D_MSC_VER=1951", - "-D_MSC_FULL_VER=195136122", - "-D_MSC_BUILD=0", - "-D_M_IX86=600", - "-D_M_IX86_FP=2" - ], - "defaults_op": "merge" -} diff --git a/Extension/c_cpp_properties.schema.json b/Extension/c_cpp_properties.schema.json index 1760634e9..999706ffe 100644 --- a/Extension/c_cpp_properties.schema.json +++ b/Extension/c_cpp_properties.schema.json @@ -213,17 +213,6 @@ "recursiveIncludes": { "type": "object", "properties": { - "reduce": { - "markdownDescription": "Set to `always` to always reduce the number of recursive include paths provided to IntelliSense to only those paths currently referenced by #include statements. This requires first parsing files to determine which headers are included. Set to `never` to provide all recursive include paths to IntelliSense. Reducing the number of recursive include paths may improve IntelliSense performance when a very large number of recursive include paths are involved. Not reducing the number of recursive include paths can improve IntelliSense performance by avoiding the need to parse files to determine which include paths to provide. The `default` value is currently to reduce the number of recursive include paths provided to IntelliSense.", - "descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.", - "type": "string", - "enum": [ - "always", - "never", - "default", - "${default}" - ] - }, "priority": { "markdownDescription": "The priority of recursive include paths. If set to `beforeSystemIncludes`, the recursive include paths will be searched before system include paths. If set to `afterSystemIncludes`, the recursive include paths will be searched after system include paths. `beforeSystemIncludes` would more closely reflect the search order of a compiler, while `afterSystemIncludes` may result in improved performance.", "descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.", diff --git a/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json index 61ac3732a..89fdb70ff 100644 --- a/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/chs/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "设为 `true` 以仅处理直接或间接包含为标头的文件,设为 `false` 则处理指定包含路径下的所有文件。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "所生成的符号数据库的路径。如果指定了相对路径,则它将相对于工作区的默认存储位置。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "用于索引和分析工作区符号的路径列表(供“转到定义”、“查找所有引用”等使用)。默认情况下,在这些路径上进行搜索为递归搜索。指定 `*` 以指示非递归搜索。例如,`${workspaceFolder}` 将搜索所有子目录,而 `${workspaceFolder}/*` 将不进行搜索。", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "设置为 `always` 可始终将提供给 IntelliSense 的递归包含路径数减少到仅限当前由 #include 语句引用的路径。这需要首先分析文件以确定包含哪些标头。设置为 `never` 可将所有递归包含路径提供给 IntelliSense。当涉及到大量递归包含路径时,减少递归包含路径的数量可能会提高 IntelliSense 性能。如果不减少递归包含路径的数量,则可以通过避免需要分析文件以确定要提供的包含路径来提高 IntelliSense 性能。`default` 值目前会减少提供给 IntelliSense 的递归包含路径数。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "递归包含路径的优先级。如果设置为 `beforeSystemIncludes`,则会在系统包含路径之前搜索递归包含路径。如果设置为 `afterSystemIncludes` ,则会在系统包含路径后搜索递归包含路径。`beforeSystemIncludes` 将更密切地反映编译器的搜索顺序,而 `afterSystemIncludes` 则可能导致性能提升。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "搜索递归包含的子目录的顺序。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可通过命令`${cpptools:activeConfigCustomVariable}` 查询的自定义变量,用于 `launch.json` 或 `tasks.json`. 中的输入变量。", diff --git a/Extension/i18n/chs/package.i18n.json b/Extension/i18n/chs/package.i18n.json index 5cdf362d7..39f8d259b 100644 --- a/Extension/i18n/chs/package.i18n.json +++ b/Extension/i18n/chs/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "与要从中输出诊断的标头名称匹配的 POSIX 扩展正则表达式 (ERE)。始终显示来自每个翻译单元的主文件的诊断。支持 `${workspaceFolder}` 变量(如果不存在 `.clang-tidy` 文件,则该变量将用作默认回退值)。如果此选项不是 `null` (空),则将替代 `.clang-tidy` 文件中的 `HeaderFilterRegex` 选项(如果有)。", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "要传递给 `clang-tidy` 的其他命令行参数。这些优先于等效的 `C_Cpp.codeAnalysis.clangTidy.*` 设置。", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "如果设置了 `true` 和 `compileCommands`,则 `-p=` 参数将传递给 `clang-tidy`,而不是在 `--` 之后传递生成参数。如果未设置环境变量以便可以找到系统包含项,则此操作可能不起作用。", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "已启用的 `clang-tidy` 检查列表。这些值将追加到 `.clang-tidy` 文件中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有)。除非显式禁用,否则始终使用默认检查 `clang-analyzer-*`。", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "已启用的 `clang-tidy` 检查列表。这些值将追加到 `.clang-tidy` 文件中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有)。除非显式禁用,否则将始终启用默认检查 `clang-analyzer-core.*`。", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "已禁用的 `clang-tidy` 检查列表。该值将追加到 `.clang-tidy` 文件中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有)。", "c_cpp.configuration.formatting.description": "配置格式设置引擎。", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "`clang-format` 将用于格式代码。", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "用作生成的用户路径的路径分隔符的字符。", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "如果为 `true`,则悬停和自动完成的工具提示将仅显示结构化注释的某些标签。否则,将显示所有注释。", "c_cpp.configuration.doxygen.generateOnType.description": "控制在键入所选注释样式后是否自动插入 Doxygen 注释。", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "控制是否启用生成 Doxygen 注释的代码操作。", "c_cpp.configuration.doxygen.generatedStyle.description": "用作 Doxygen 注释起始行的字符串。", "c_cpp.configuration.doxygen.sectionTags.description": "启用“简化结构化注释”设置后,选择希望在工具提示区域中悬停时显示的 Doxygen 节标记。 ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "开始多行或单行注释块的模式。多行注释块的延续模式默认为 ` * `,或单行注释块默认为此字符串。", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "如果此条目仅用于堆栈帧位置映射,则为 False。如果在指定断点位置时也需要使用此条目,则为 True。", "c_cpp.debuggers.symbolOptions.description": "用于控制如何找到和加载符号(.pdb 文件)的选项。", "c_cpp.debuggers.unknownBreakpointHandling.description": "控制在命中时如何处理(通常通过原始 GDB 命令)外部设置的断点。\n允许的值为 \"throw\" (好像应用程序抛出了异常)和 \"stop\" (只会暂停调试会话)。默认值为 \"throw\"。", + "c_cpp.debuggers.debuginfod.description": "控制 GDB 的 debuginfod 行为,以从 debuginfod 服务器下载调试符号。", + "c_cpp.debuggers.debuginfod.enabled.description": "如果为 true (默认值),则启用 GDB 的 debuginfod 支持。设置为 false 可阻止 GDB 联系 debuginfod 服务器。", + "c_cpp.debuggers.debuginfod.timeout.description": "debuginfod 服务器请求的超时(以秒为单位)。默认值为 30。设置为 0 可使用 GDB/libdebuginfod 默认值(无替代)。", "c_cpp.debuggers.VSSymbolOptions.description": "提供用于找到符号并将其加载到调试适配器的配置。", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "在其中搜索 .pdb 文件的符号服务器 URL (例如 http​://MyExampleSymbolServer)或目录(例如 /build/symbols)的数组。除了默认位置,还将搜索这些目录 - 在模块以及 pdb 最初放置到的路径的旁边。", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "如果为 \"true\",则 Microsoft 符号服务器(https​://msdl.microsoft.com​/download/symbols)会添加到符号搜索路径。如果未指定,此选项会默认为 \"false\"。", diff --git a/Extension/i18n/chs/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/chs/src/Debugger/debugAdapterDescriptorFactory.i18n.json index 95a451cb9..f72734b58 100644 --- a/Extension/i18n/chs/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/chs/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "调试程序类型“{0}”不适用于非 Windows 计算机。" + "debugger.not.available": "调试程序类型“{0}”不适用于非 Windows 计算机。", + "debugger.noDebug.requestType.not.supported": "仅启动配置支持“运行但不调试”。", + "debugger.noDebug.pipeTransport.not.supported": "已设置 \"pipeTransport\" 的配置不支持“运行但不调试”。", + "debugger.noDebug.debugServerPath.not.supported": "已设置 \"debugServerPath\" 的配置不支持“运行但不调试”。", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "已设置 \"miDebuggerServerAddress\" 的配置不支持“运行但不调试”。", + "debugger.noDebug.coreDumpPath.not.supported": "已设置 \"coreDumpPath\" 的配置不支持“运行但不调试”。" } \ No newline at end of file diff --git a/Extension/i18n/chs/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/chs/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..22ae523af --- /dev/null +++ b/Extension/i18n/chs/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "找不到终端仿真器。请将 $TERMINAL 环境变量设置为你选择的终端仿真器,或安装以下程序之一: x-terminal-emulator、gnome-terminal、konsole、xterm。" +} \ No newline at end of file diff --git a/Extension/i18n/chs/src/nativeStrings.i18n.json b/Extension/i18n/chs/src/nativeStrings.i18n.json index 043efd6fe..c46073f95 100644 --- a/Extension/i18n/chs/src/nativeStrings.i18n.json +++ b/Extension/i18n/chs/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "在 compile_commands.json 文件中找不到 \"{0}\"。此文件将改用文件夹“{1}”中的 c_cpp_properties.json 中包含的 \"includePath\"。", "copilot_hover_link": "生成 Copilot 摘要", "browse_path_not_found": "无法为不存在的文件夹 {0} 中的文件编制索引", - "license_terms": "C/C++ 扩展只能用于 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 以及后续的 Microsoft 产品和服务,以开发和测试您的应用程序。" + "license_terms": "C/C++ 扩展只能用于 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 以及后续的 Microsoft 产品和服务,以开发和测试您的应用程序。", + "help_title": "Microsoft C++ 语言服务器", + "help_usage": "使用情况: {0} [选项]", + "help_options_header": "选项:", + "help_help": "显示此帮助消息并退出。", + "help_version": "显示版本信息并退出。", + "help_accept_eula": "永久接受最终用户许可协议(EULA)。", + "help_stderr": "不将 stderr 重定向到 /dev/null (对调试有用)。", + "help_login": "启动交互式登录(需要 GitHub Copilot 订阅)。", + "help_force_login": "即使已完成身份验证,也强制启动登录流程。", + "help_allow_plaintext": "如果安全密钥链不可用,允许以明文存储凭据。", + "help_log_dir": "指定日志文件的目录(默认值: 系统临时目录)。", + "help_log_level": "将日志详细级别从 0 (仅错误)设置为 9 (详细)。", + "help_lsp_config": "将参数指定为绝对路径,或相对于工作区根目录或其 .github 文件夹的路径。", + "help_disable_telemetry": "禁用发送遥测数据。", + "auth_device_flow_prompt": "若要通过 GitHub 进行身份验证,请复制代码 {0},然后访问 {1}。正在等待授权...", + "auth_timed_out": "等待授权超时。", + "auth_success": "已成功通过 GitHub 身份验证。", + "auth_save_failed": "GitHub 身份验证成功,但无法保存令牌。", + "auth_keyring_error": "Keyring 错误: {0}", + "auth_keyring_locked": "keyring 集合已锁定。请解锁或重启 gnome-keyring-daemon。", + "auth_keyring_unavailable": "没有可用的 keyring 服务。安装并启动 gnome-keyring: sudo apt install gnome-keyring", + "auth_try_plaintext": "或通过传递 --login --allow-plaintext-secret-storage 允许明文存储。", + "auth_expired": "设备代码已过期。请重试。", + "auth_denied": "用户拒绝了授权。", + "auth_unexpected_error": "轮询期间发生意外错误: {0}", + "auth_login_failed": "GitHub 登录失败。尝试从命令行使用 --login 运行以登录。", + "auth_eula_required": "必须接受 EULA 才能继续。请使用 --accept-eula 运行。", + "auth_already_authenticated": "已通过 GitHub 身份验证。使用 --force-login 重新进行身份验证。", + "config_unsupported_version": "初始化失败: 配置版本不受支持。仅支持版本 1。", + "config_file_not_found": "初始化失败: 未找到配置文件“{0}”。", + "config_parse_failed": "初始化失败: 无法解析配置文件“{0}”。请验证 JSON 格式。错误: {1}", + "config_repo_path_invalid": "初始化失败: \"repositoryPath\" 未配置或无效。", + "config_missing_source": "初始化失败: 必须配置 \"compileCommands\" 或 \"cppProperties\"。", + "config_dual_source": "初始化失败: 不能同时配置 \"compileCommands\" 和 \"cppProperties\"。", + "config_compile_commands_not_found": "初始化失败: 未找到 \"compileCommands\" 路径:“{0}”。", + "config_cpp_properties_not_found": "初始化失败: 未找到 \"cppProperties\" 路径:“{0}”。", + "config_cpp_properties_parse_failed": "初始化失败: 无法解析 \"cppProperties\" 指定的文件:“{0}”。请验证 JSON 格式。错误: {1}", + "config_cpp_properties_schema_invalid": "初始化失败: 无法从 \"cppProperties\" 文件读取配置:“{0}”。请验证架构。", + "config_no_configurations": "初始化失败:“{0}”不包含有效的 \"configurations\" 数组。", + "config_configuration_not_found": "初始化失败: 在 \"cppProperties\" 文件中找不到配置“{0}”:“{1}”。", + "config_paths_cache_missing": "初始化失败: 缺少 LSP 配置路径缓存。", + "curl_not_found": "未找到 libcurl ({0})。身份验证和遥测需要 libcurl。", + "curl_install_macos": "macOS 默认应已提供 libcurl。如果缺失,请通过以下命令安装: brew install curl", + "curl_install_linux": "安装 libcurl: sudo apt install libcurl4 (Debian/Ubuntu)或 sudo dnf install libcurl (Fedora/RHEL)。", + "curl_symbols_missing": "已加载 libcurl,但缺少必需的符号。这可能表示 libcurl 版本太旧或不兼容。没有兼容的 libcurl,语言服务器无法运行。", + "keytar_not_found": "未找到 libsecret-1.so.0 ({0})。安全凭据存储需要 libsecret。安装 libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu)或 sudo dnf install libsecret (Fedora/RHEL)。", + "keytar_symbols_missing": "已加载 libsecret,但缺少必需的符号。没有兼容的 libsecret,语言服务器无法运行。", + "telemetry_disable_failed": "禁用遥测失败。", + "lsp_method_not_found": "未找到方法: {0}", + "intellisense_same_canonical_path": "无法为与现有文件具有相同规范化路径的文件处理 IntelliSense。URI: {0},规范化路径: {1}", + "status_initializing": "正在初始化", + "status_initializing_with_n_of_m": "正在初始化({0}/{1})", + "status_initializing_with_n_of_m_and_text": "正在初始化({0}/{1}): {2}", + "status_initializing_with_text": "正在初始化 {0}", + "status_initializing_projects": "正在初始化项目", + "status_initializing_projects_with_n_of_m": "正在初始化项目({0}/{1})", + "status_initializing_projects_with_n_of_m_and_text": "正在初始化项目({0}/{1}): {2}", + "status_initializing_projects_with_text": "正在初始化项目 {0}", + "status_checking_for_outdated_files": "正在检查过期文件", + "status_checking_for_outdated_files_with_n_of_m": "正在检查过期文件({0}/{1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "正在检查过期文件({0}/{1}): {2}", + "status_checking_for_outdated_files_with_text": "正在检查过期文件 {0}", + "status_parsing_files": "正在解析文件", + "status_parsing_files_with_n_of_m": "正在解析文件({0}/{1})", + "status_parsing_files_with_n_of_m_and_text": "正在解析文件({0}/{1}): {2}", + "status_parsing_files_with_text": "正在解析文件 {0}", + "status_parsing_includes": "正在解析包含的文件", + "status_parsing_includes_with_n_of_m": "正在解析包含的文件({0}/{1})", + "status_parsing_includes_with_n_of_m_and_text": "正在解析包含的文件({0}/{1}): {2}", + "status_parsing_includes_with_text": "正在解析包含的文件 {0}", + "status_scanning_includes": "正在扫描 #includes 以查找更多文件", + "status_scanning_includes_with_n_of_m": "正在扫描 #includes 以查找更多文件({0}/{1})", + "status_scanning_includes_with_n_of_m_and_text": "正在扫描 #includes 以查找更多文件({0}/{1}): {2}", + "status_scanning_includes_with_text": "正在扫描 #includes 以查找更多文件 {0} {1}", + "status_updating_external_dependencies": "就绪(正在更新外部依赖项)", + "status_updating_external_dependencies_with_n_of_m": "就绪(正在更新外部依赖项)({0}/{1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "就绪(正在更新外部依赖项)({0}/{1}): {2}", + "status_updating_external_dependencies_with_text": "就绪(正在更新外部依赖项){0}", + "status_optimizing_database": "就绪(正在优化数据库)", + "status_optimizing_database_with_n_of_m": "就绪(正在优化数据库)({0}/{1})", + "status_optimizing_database_with_n_of_m_and_text": "就绪(正在优化数据库)({0}/{1}): {2}", + "status_optimizing_database_with_text": "就绪(正在优化数据库){0}", + "status_creating_indexes": "正在创建索引", + "status_creating_indexes_with_n_of_m": "正在创建索引({0}/{1})", + "status_creating_indexes_with_n_of_m_and_text": "正在创建索引({0}/{1}): {2}", + "status_creating_indexes_with_text": "正在创建索引 {0}", + "status_evaluating_file": "正在评估", + "status_evaluating_file_with_n_of_m": "正在计算({0}/{1})", + "status_evaluating_file_with_n_of_m_and_text": "正在计算({0}/{1}): {2}", + "status_evaluating_file_with_text": "正在计算 {0}", + "status_indexing_files": "正在为文件编制索引", + "status_indexing_files_with_n_of_m": "正在为文件编制索引({0} of {1})", + "status_indexing_files_with_n_of_m_and_text": "正在为文件编制索引({0}/{1}): {2}", + "status_indexing_files_with_text": "正在为文件编制索引 {0}", + "help_allow_missing_lsp_config": "即使指定的 --lsp-config 文件不存在,也允许服务器启动。", + "initialize_failed_during_engine_setup": "引擎设置期间初始化失败。", + "important_label": "重要说明:" } \ No newline at end of file diff --git a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index f00efc3e5..e8c8170eb 100644 --- a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "在 Windows 上安装 C++ 编译器", "walkthrough.windows.text1": "如果要对 Windows 进行 C++ 开发,建议安装 Microsoft Visual C++ (MSVC)编译器。", - "walkthrough.windows.text2": "若要安装 MSVC,请打开 VS Code 终端(CTRL + `)并在以下命令中粘贴:\n", + "walkthrough.windows.text2": "若要安装 MSVC,请打开 VS Code 终端(CTRL + `)并在以下命令中粘贴:", "walkthrough.windows.note1": "注意", "walkthrough.windows.note1.text": "可以使用 Visual Studio 生成工具中的 C++ 工具集以及 Visual Studio Code 以编译、生成并验证任何 C++ 代码库,前提是同时具有有效的 Visual Studio 许可证(社区版、专业版或企业版),且正积极将其用于开发该 C++ 代码库。", "walkthrough.windows.verify.compiler": "验证编译器安装", diff --git a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index f00efc3e5..e8c8170eb 100644 --- a/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/chs/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "在 Windows 上安装 C++ 编译器", "walkthrough.windows.text1": "如果要对 Windows 进行 C++ 开发,建议安装 Microsoft Visual C++ (MSVC)编译器。", - "walkthrough.windows.text2": "若要安装 MSVC,请打开 VS Code 终端(CTRL + `)并在以下命令中粘贴:\n", + "walkthrough.windows.text2": "若要安装 MSVC,请打开 VS Code 终端(CTRL + `)并在以下命令中粘贴:", "walkthrough.windows.note1": "注意", "walkthrough.windows.note1.text": "可以使用 Visual Studio 生成工具中的 C++ 工具集以及 Visual Studio Code 以编译、生成并验证任何 C++ 代码库,前提是同时具有有效的 Visual Studio 许可证(社区版、专业版或企业版),且正积极将其用于开发该 C++ 代码库。", "walkthrough.windows.verify.compiler": "验证编译器安装", diff --git a/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json index b15485371..296a89140 100644 --- a/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/cht/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "設為 `true`,就會只處理直接或間接以標頭形式包含的檔案。設為 `false`,則會處理位於指定 include 路徑下的所有檔案。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "產生的符號資料庫路徑。如果指定了相對路徑,就會是相對於工作區預設儲存位置的路徑。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "用來為工作區符號進行索引編製與剖析的路徑清單 (供 [移至定義]、[尋找所有參考] 等使用)。根據預設,會以遞迴方式搜尋這些路徑。指定 `*` 表示非遞迴搜尋。例如,`${workspaceFolder}` 將在所有子目錄中搜尋,`${workspaceFolder}/*` 則不會。", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "設定為 `always`,可使 IntelliSense 始終僅提供目前由 #include 陳述式參考的遞迴包含路徑。這需要先剖析檔案,以確定包含哪些標頭。設定為 `never` 以將所有遞迴包含路徑提供給 IntelliSense。當涉及非常大量的遞迴包含路徑時,減少遞迴包含路徑數目可能會改善 IntelliSense 的效能。不減少遞迴包含路徑的數量,可避免需要剖析檔案以決定要提供哪些包含路徑,從而 IntelliSense 效能。目前的 `default` 值會減少 IntelliSense 提供的遞迴包含路徑數量。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "遞迴包含路徑的優先順序。如果設定為 `beforeSystemIncludes`,則會在系統包含路徑之前搜尋遞迴包含路徑。如果設定為 `afterSystemIncludes`,系統會在包含路徑之後搜尋遞迴包含路徑。`beforeSystemIncludes` 會更密切地反映編譯器的搜尋順序,而 `afterSystemIncludes` 可能會改善效能。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "搜尋遞迴包含之子目錄的順序。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可透過命令 `${cpptools:activeConfigCustomVariable}` 查詢的自訂變數,用於 `launch.json` 或 `tasks.json` 的輸入變數。", diff --git a/Extension/i18n/cht/package.i18n.json b/Extension/i18n/cht/package.i18n.json index 185a9a890..aee7fcbc1 100644 --- a/Extension/i18n/cht/package.i18n.json +++ b/Extension/i18n/cht/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "符合輸出診斷來源之標頭名稱的 POSIX 擴充規則運算式 (ERE)。來自每個編譯單位之主要檔案的診斷將一律顯示。支援 `${workspaceFolder}` 變數 (如果沒有 `.clang-tidy` 檔案,則作為預設後援值)。若此選項並非 `null` (空白),則會覆寫 `.clang-tidy` 檔案中的 `HeaderFilterRegex` 選項 (如果有的話)。", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "要傳遞給 `clang-tidy` 的其他命令列引數。這些命令列引數會比對等的 `C_Cpp.codeAnalysis.clangTidy.*` 設定優先考慮。", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "如果設定了 `true` 和 `compileCommands`,則 `-p=` 引數會傳遞至 `clang-tidy`,而非在 `--` 之後傳遞組建引數。若未設定環境變數以找到系統包含的環境變數,可能無法運作。", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "已啟用的 `clang-tidy` 檢查清單。值會附加到 `.clang-tidy` 檔案中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有的話)。除非明確地停用,否則一律使用預設檢查 `clang-analyzer-*`。", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "已啟用的 `clang-tidy` 檢查清單。這些值會附加至 `.clang-tidy` 檔案中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有的話)。除非明確停用,否則一律使用預設檢查 `clang-analyzer-core.*`。", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "已停用的 `clang-tidy` 檢查清單。值會附加到 `.clang-tidy` 檔案中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有的話)。", "c_cpp.configuration.formatting.description": "選擇格式設定引擎。", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "將使用 `clang-format` 來格式化程式碼。", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "作為所產生使用者路徑之路徑分隔符的字元。", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "若為 `true`,暫留與自動完成的工具提示只會顯示特定結構化註解標籤,否則將會顯示所有註解。", "c_cpp.configuration.doxygen.generateOnType.description": "控制是否在輸入選擇的註解樣式後自動插入 Doxygen 註解。", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "控制是否啟用產生 Doxygen 註解的程式碼動作。", "c_cpp.configuration.doxygen.generatedStyle.description": "作為 Doxygen 註解起始行的字元字串。", "c_cpp.configuration.doxygen.sectionTags.description": "選取啟用 [簡化結構化註解] 設定時,要在於工具提示區域暫留時顯示的 [Doxygen] 區段標籤。 ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "開始多行或單行註解區塊的模式。對於多行註解區塊,接續模式預設為 ` * `,或此字串表示單行註解區塊。", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "若此項目只用於堆疊框架位置對應,則為 False; 若在指定中斷點位置時也應該使用此項目,則為 True。", "c_cpp.debuggers.symbolOptions.description": "控制如何找到並載入符號 (.pdb 檔案) 的選項。", "c_cpp.debuggers.unknownBreakpointHandling.description": "控制叫用時如何處理在外部設定的中斷點 (通常是透過原始 GDB 命令)。\n允許的值為 \"throw\",其作用就像應用程式擲出例外,以及 \"stop\",其只會暫停偵錯工作階段。預設值為 \"throw\"。", + "c_cpp.debuggers.debuginfod.description": "控制從 debuginfod 伺服器下載偵錯符號的 GDB debuginfod 行為。", + "c_cpp.debuggers.debuginfod.enabled.description": "如果為 true (預設值),則會啟用 GDB 的 debuginfod 支援。設定為 False 以防止 GDB 聯繫 debuginfod 伺服器。", + "c_cpp.debuggers.debuginfod.timeout.description": "debuginfod 伺服器要求的逾時秒數。預設值為 30。設定為 0 以使用 GDB/libdebuginfod 預設值 (無覆寫)。", "c_cpp.debuggers.VSSymbolOptions.description": "提供將符號尋找及載入至偵錯介面卡的設定。", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "符號陣列伺服器 URL (範例: http​://MyExampleSymbolServer) 或目錄 (範例: /build/symbols) 搜尋 .pdb 檔案。除了預設位置 (位於模組旁和 pdb 原先放置的路徑),也會搜尋這些目錄。", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "如果是 'true',則會將 Microsoft 符號伺服器 (https​://msdl.microsoft.com​/download/symbols) 新增至符號搜尋路徑。若未指定,這個選項會預設為 'false'。", diff --git a/Extension/i18n/cht/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/cht/src/Debugger/debugAdapterDescriptorFactory.i18n.json index b3dbcd156..0a4a105c5 100644 --- a/Extension/i18n/cht/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/cht/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "非 Windows 電腦無法使用偵錯工具類型 '{0}'。" + "debugger.not.available": "非 Windows 電腦無法使用偵錯工具類型 '{0}'。", + "debugger.noDebug.requestType.not.supported": "僅啟動設定才支援「執行但不進行偵錯」。", + "debugger.noDebug.pipeTransport.not.supported": "設定 'pipeTransport' 的設定不支援「執行但不進行偵錯」。", + "debugger.noDebug.debugServerPath.not.supported": "設定 'debugServerPath' 的設定不支援「執行但不進行偵錯」。", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "設定 'miDebuggerServerAddress' 的設定不支援「執行但不進行偵錯」。", + "debugger.noDebug.coreDumpPath.not.supported": "設定 'coreDumpPath' 的設定不支援「執行但不進行偵錯」。" } \ No newline at end of file diff --git a/Extension/i18n/cht/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/cht/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..41b36024c --- /dev/null +++ b/Extension/i18n/cht/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "找不到終端機模擬器。請將 $TERMINAL 環境變數設定為您所選擇的終端機模擬器,或安裝下列其中一項: x-terminal-emulator、gnome-terminal、konsole、xterm。" +} \ No newline at end of file diff --git a/Extension/i18n/cht/src/nativeStrings.i18n.json b/Extension/i18n/cht/src/nativeStrings.i18n.json index 710ad9c85..60580063f 100644 --- a/Extension/i18n/cht/src/nativeStrings.i18n.json +++ b/Extension/i18n/cht/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "在 compile_commands.json 檔案中找不到 \"{0}\"。將對此檔案改用資料夾 '{1}' 中 c_cpp_properties.json 的 'includePath'。", "copilot_hover_link": "產生 Copilot 摘要", "browse_path_not_found": "無法為以下不存在的資料夾中的檔案編製索引:{0}", - "license_terms": "C/C++ 擴充功能僅能與 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 及後續的 Microsoft 產品與服務搭配使用,以開發和測試您的應用程式。" + "license_terms": "C/C++ 擴充功能僅能與 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 及後續的 Microsoft 產品與服務搭配使用,以開發和測試您的應用程式。", + "help_title": "Microsoft C++ 語言伺服器", + "help_usage": "使用方式: {0} [選項]", + "help_options_header": "選項:", + "help_help": "顯示此說明訊息並結束。", + "help_version": "顯示版本資訊並結束。", + "help_accept_eula": "永久接受終端使用者授權合約 (EULA)。", + "help_stderr": "請勿將 stderr 重新導向至 /dev/null (對偵錯很有幫助)。", + "help_login": "起始互動登入 (需要 GitHub Copilot 訂閱)。", + "help_force_login": "即使已驗證,仍強制登入程序。", + "help_allow_plaintext": "若無法使用安全 Keychain,允許以純文字儲存認證。", + "help_log_dir": "指定記錄檔的目錄 (預設: 系統暫存目錄)。", + "help_log_level": "將記錄詳細程度設定為從 0 (僅錯誤) 到 9 (詳細資訊)。", + "help_lsp_config": "請將參數指定為絕對路徑,或相對於工作區根目錄或其 .github 資料夾。", + "help_disable_telemetry": "停用傳送遙測資料。", + "auth_device_flow_prompt": "若要使用 GitHub 驗證,請複製代碼 {0},然後前往 {1}。正在等候授權...", + "auth_timed_out": "等候授權時逾時。", + "auth_success": "已成功使用 GitHub 驗證。", + "auth_save_failed": "GitHub 驗證成功,但無法儲存權杖。", + "auth_keyring_error": "Keyring 錯誤: {0}", + "auth_keyring_locked": "Keyring 集合已鎖定。請將其解除鎖定,或重新啟動 gnome-keyring-daemon。", + "auth_keyring_unavailable": "沒有可用的 Keyring 服務。請安裝並啟動 gnome-keyring: sudo apt install gnome-keyring", + "auth_try_plaintext": "或透過傳遞 --login --allow-plaintext-secret-storage 以允許純文字儲存。", + "auth_expired": "裝置代碼已過期。請再試一次。", + "auth_denied": "使用者拒絕授權。", + "auth_unexpected_error": "輪詢期間發生未預期的錯誤: {0}", + "auth_login_failed": "GitHub 登入失敗。請嘗試使用命令列中的 --login 進行登入。", + "auth_eula_required": "必須接受 EULA 才能繼續。請使用 --accept-eula 執行。", + "auth_already_authenticated": "已使用 GitHub 驗證。使用 --force-login 重新驗證。", + "config_unsupported_version": "初始化失敗: 不支援的設定版本。僅支援版本 1。", + "config_file_not_found": "初始化失敗: 找不到設定檔 '{0}'。", + "config_parse_failed": "初始化失敗: 無法剖析設定檔 '{0}'。請確認 JSON 格式。錯誤: {1}", + "config_repo_path_invalid": "初始化失敗: 未設定 'repositoryPath' 或其無效。", + "config_missing_source": "初始化失敗: 必須設定 'compileCommands' 或 'cppProperties'。", + "config_dual_source": "初始化失敗: 無法同時設定 'compileCommands' 與 'cppProperties'。", + "config_compile_commands_not_found": "初始化失敗: 找不到 'compileCommands' 路徑: '{0}'。", + "config_cpp_properties_not_found": "初始化失敗: 找不到 'cppProperties' 路徑: '{0}'。", + "config_cpp_properties_parse_failed": "初始化失敗: 無法剖析 'cppProperties' 所指定的檔案: '{0}'。請確認 JSON 格式。錯誤: {1}", + "config_cpp_properties_schema_invalid": "初始化失敗: 無法從 'cppProperties' 檔案讀取設定: '{0}'。請驗證結構描述。", + "config_no_configurations": "初始化失敗: '{0}' 未包含有效的 'configurations' 陣列。", + "config_configuration_not_found": "初始化失敗: 在 'cppProperties' 檔案中找不到設定 '{0}': '{1}'。", + "config_paths_cache_missing": "初始化失敗: 缺少 LSP 設定路徑快取。", + "curl_not_found": "找不到 libcurl ({0})。驗證與遙測需要 libcurl。", + "curl_install_macos": "macOS 預設應提供 libcurl。若缺少,請透過下列命令安裝: brew install curl", + "curl_install_linux": "安裝 libcurl: sudo apt install libcurl4 (Debian/Ubuntu) 或 sudo dnf install libcurl (Fedora/RHEL)。", + "curl_symbols_missing": "已載入 libcurl,但缺少必要符號。這可能表示 libcurl 版本非常舊或不相容。語言伺服器必須搭配相容的 libcurl 才能運作。", + "keytar_not_found": "找不到 libsecret-1.so.0 ({0})。安全認證儲存需要 libsecret。安裝 libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) 或 sudo dnf install libsecret (Fedora/RHEL)。", + "keytar_symbols_missing": "已載入 libsecret,但缺少必要符號。語言伺服器必須搭配相容的 libsecret 才能運作。", + "telemetry_disable_failed": "無法停用遙測。", + "lsp_method_not_found": "找不到方法: {0}", + "intellisense_same_canonical_path": "無法處理 IntelliSense,因為檔案與現有檔案具有相同的規範化路徑。URI: {0},規範化路徑: {1}", + "status_initializing": "正在初始化", + "status_initializing_with_n_of_m": "正在初始化 ({0}/{1})", + "status_initializing_with_n_of_m_and_text": "正在初始化 ({0}/{1}): {2}", + "status_initializing_with_text": "正在初始化 {0}", + "status_initializing_projects": "正在初始化專案", + "status_initializing_projects_with_n_of_m": "正在初始化專案 ({0}/{1})", + "status_initializing_projects_with_n_of_m_and_text": "正在初始化專案 ({0}/{1}): {2}", + "status_initializing_projects_with_text": "正在初始化專案 {0}", + "status_checking_for_outdated_files": "正在檢查過期檔案", + "status_checking_for_outdated_files_with_n_of_m": "正在檢查過期檔案 ({0}/{1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "正在檢查過期檔案 ({0}/{1}): {2}", + "status_checking_for_outdated_files_with_text": "正在檢查過期檔案 {0}", + "status_parsing_files": "正在剖析檔案", + "status_parsing_files_with_n_of_m": "正在剖析檔案 ({0}/{1})", + "status_parsing_files_with_n_of_m_and_text": "正在剖析檔案 ({0}/{1}): {2}", + "status_parsing_files_with_text": "正在剖析檔案 {0}", + "status_parsing_includes": "正在剖析包含的檔案", + "status_parsing_includes_with_n_of_m": "正在剖析包含的檔案 ({0}/{1})", + "status_parsing_includes_with_n_of_m_and_text": "正在剖析包含的檔案 ({0}/{1}): {2}", + "status_parsing_includes_with_text": "正在剖析包含的檔案 {0}", + "status_scanning_includes": "正在掃描 #includes 以尋找更多檔案", + "status_scanning_includes_with_n_of_m": "正在掃描 #includes 以尋找更多檔案 ({0}/{1})", + "status_scanning_includes_with_n_of_m_and_text": "正在掃描 #includes 以尋找更多檔案 ({0}/{1}): {2}", + "status_scanning_includes_with_text": "正在掃描 #includes 以尋找更多檔案 {0} {1}", + "status_updating_external_dependencies": "就緒 (更新外部相依性)", + "status_updating_external_dependencies_with_n_of_m": "就緒 (正在更新外部相依性) ({0}/{1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "就緒 (正在更新外部相依性) ({0}/{1}): {2}", + "status_updating_external_dependencies_with_text": "就緒 (正在更新外部相依性) {0}", + "status_optimizing_database": "就緒 (正在最佳化資料庫)", + "status_optimizing_database_with_n_of_m": "就緒 (正在最佳化資料庫) ({0}/{1})", + "status_optimizing_database_with_n_of_m_and_text": "就緒 (正在最佳化資料庫) ({0}/{1}): {2}", + "status_optimizing_database_with_text": "就緒 (正在最佳化資料庫) {0}", + "status_creating_indexes": "正在建立索引", + "status_creating_indexes_with_n_of_m": "正在建立索引 ({0}/{1})", + "status_creating_indexes_with_n_of_m_and_text": "正在建立索引 ({0}/{1}): {2}", + "status_creating_indexes_with_text": "正在建立索引 {0}", + "status_evaluating_file": "正在評估", + "status_evaluating_file_with_n_of_m": "正在評估 ({0}/{1})", + "status_evaluating_file_with_n_of_m_and_text": "正在評估 ({0}/{1}): {2}", + "status_evaluating_file_with_text": "正在評估 {0}", + "status_indexing_files": "正在編製索引檔案", + "status_indexing_files_with_n_of_m": "正在編製索引檔案 ({0}/{1})", + "status_indexing_files_with_n_of_m_and_text": "正在編製索引檔案 ({0}/{1}): {2}", + "status_indexing_files_with_text": "正在編製索引檔案 {0}", + "help_allow_missing_lsp_config": "即使指定的 --lsp-config 檔案不存在,仍允許伺服器啟動。", + "initialize_failed_during_engine_setup": "引擎設定期間初始化失敗。", + "important_label": "重要:" } \ No newline at end of file diff --git a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index ce905e1e1..282d9add8 100644 --- a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "在 Windows 上安裝 C++ 編譯器", "walkthrough.windows.text1": "如果您正在進行 Windows 的 C++ 開發,建議您安裝 Microsoft Visual C++ (MSVC) 編譯器。", - "walkthrough.windows.text2": "若要安裝 MSVC,請開啟 VS Code 終端機 (CTRL + `),然後在下列命令中貼上:\n", + "walkthrough.windows.text2": "若要安裝 MSVC,請開啟 VS Code 終端機 (CTRL + `),然後在下列命令中貼上:", "walkthrough.windows.note1": "備註", "walkthrough.windows.note1.text": "您可以使用 Visual Studio Build Tools 中的 C++ 工具組以及 Visual Studio Code 來編譯、組建及驗證任何 C++ 程式碼基底,只要您也擁有有效的 Visual Studio 授權 (社群版、專業版或企業版),且您正積極開發該 C++ 程式碼基底。", "walkthrough.windows.verify.compiler": "驗證編譯器安裝", diff --git a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index ce905e1e1..282d9add8 100644 --- a/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/cht/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "在 Windows 上安裝 C++ 編譯器", "walkthrough.windows.text1": "如果您正在進行 Windows 的 C++ 開發,建議您安裝 Microsoft Visual C++ (MSVC) 編譯器。", - "walkthrough.windows.text2": "若要安裝 MSVC,請開啟 VS Code 終端機 (CTRL + `),然後在下列命令中貼上:\n", + "walkthrough.windows.text2": "若要安裝 MSVC,請開啟 VS Code 終端機 (CTRL + `),然後在下列命令中貼上:", "walkthrough.windows.note1": "備註", "walkthrough.windows.note1.text": "您可以使用 Visual Studio Build Tools 中的 C++ 工具組以及 Visual Studio Code 來編譯、組建及驗證任何 C++ 程式碼基底,只要您也擁有有效的 Visual Studio 授權 (社群版、專業版或企業版),且您正積極開發該 C++ 程式碼基底。", "walkthrough.windows.verify.compiler": "驗證編譯器安裝", diff --git a/Extension/i18n/csy/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/csy/c_cpp_properties.schema.json.i18n.json index cf2f35fc9..e3c1fa8e5 100644 --- a/Extension/i18n/csy/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/csy/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "Nastavte na hodnotu `true`, pokud chcete zpracovat jen soubory přímo nebo nepřímo zahrnuté jako hlavičky. Pokud chcete zpracovat všechny soubory na zadaných cestách pro vložené soubory, nastavte na hodnotu `false`.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Cesta k vygenerované databázi symbolů. Pokud se zadá relativní cesta, nastaví se jako relativní k výchozímu umístění úložiště pracovního prostoru.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Seznam cest, které se použijí pro indexování a parsování symbolů pracovního prostoru (použijí se pro funkce Go to Definition, Find All References apod.). Hledání na těchto cestách je standardně rekurzivní. Pokud chcete zadat nerekurzivní vyhledávání, zadejte `*`. Například `${workspaceFolder}` prohledá všechny podadresáře, ale `${workspaceFolder}/*` ne.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "Nastavením na `always` se počet cest rekurzivních souborů k zahrnutí poskytovaných funkci IntelliSense vždy sníží pouze na ty cesty, na které aktuálně odkazují příkazy #include. K tomu je potřeba nejdříve analyzovat soubory a zjistit, které hlavičky jsou zahrnuty. Nastavením na `never` poskytnete funkci IntelliSense všechny cesty rekurzivních souborů k zahrnutí. Snížení počtu cest rekurzivních souborů k zahrnutí může zlepšit výkon funkce IntelliSense, pokud se jedná o velmi velký počet cest souborů k zahrnutí. Nesnižování počtu cest rekurzivních souborů k zahrnutí může zlepšit výkon funkce IntelliSense, protože se vyhnete nutnosti analyzovat soubory a určit, které cesty souborů k zahrnutí je třeba poskytnout. Hodnota `default` aktuálně slouží ke snížení počtu cest rekurzivních souborů k zahrnutí poskytovaných funkci IntelliSense.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "Priorita cest rekurzivních souborů zahrnutí Pokud je nastavená hodnota `beforeSystemIncludes`, budou se cesty rekurzivních souborů k zahrnutí prohledávat před cestami systémových souborů k zahrnutí. Pokud je nastaveno na `afterSystemIncludes`, budou cesty rekurzivních souborů k zahrnutí prohledávány až po cestách systémových souborů k zahrnutí. Hodnota `beforeSystemIncludes` by přesněji vyjadřovala pořadí vyhledávání kompilátoru, zatímco výsledkem použití hodnoty `afterSystemIncludes` může být vyšší výkon.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "Pořadí, ve kterém se prohledávají podadresáře rekurzivních souborů k zahrnutí", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Vlastní proměnné, na které se dá poslat dotaz prostřednictvím příkazu `${cpptools:activeConfigCustomVariable}`, aby se použily jako vstupní proměnné v souborech `launch.json` nebo `tasks.json`.", diff --git a/Extension/i18n/csy/package.i18n.json b/Extension/i18n/csy/package.i18n.json index cb31ce14d..045b5ca0a 100644 --- a/Extension/i18n/csy/package.i18n.json +++ b/Extension/i18n/csy/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Rozšířený regulární výraz POSIX (ERE) odpovídající názvům záhlaví pro výstup diagnostiky. Diagnostika z hlavního souboru každé jednotky překladu se vždy zobrazí. Proměnná `${workspaceFolder}` se podporuje (a používá se jako výchozí základní hodnota, pokud neexistuje žádný soubor `.clang-tidy`). Pokud tato možnost není `null` (prázdná), přepíše možnost `HeaderFilterRegex` v souboru `.clang-tidy`, pokud existuje.", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "Další argumenty příkazového řádku, které se mají předat do `clang-tidy`. Mají přednost před ekvivalentním nastavením `C_Cpp.codeAnalysis.clangTidy.*`.", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "Pokud je nastavená hodnota `true` a `compileCommands`, argument `-p=` se předá do `clang-tidy` místo toho, aby se argumenty sestavení předávaly po `--`. To nemusí fungovat, pokud proměnné prostředí nejsou nastaveny tak, aby bylo možné nalézt systémové zahrnutí.", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Seznam povolených kontrol `clang-tidy`. Hodnoty jsou připojeny k hodnotě `Checks` v souboru `.clang-tidy` nebo `#C_Cpp.codeAnalysis.clangTidy.config#`, pokud existují. Pokud není explicitně zakázaná, použije se výchozí kontrola `clang-analyzer-*`.", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Seznam povolených kontrol `clang-tidy`. Hodnoty jsou připojeny k hodnotě `Checks` v souboru `.clang-tidy` nebo `#C_Cpp.codeAnalysis.clangTidy.config#`, pokud existují. Pokud není explicitně zakázaná, použije se výchozí kontrola `clang-analyzer-core.*`.", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "Seznam zakázaných kontrol `clang-tidy`. Hodnoty jsou připojeny k hodnotě `Checks` v souboru `.clang-tidy` nebo `#C_Cpp.codeAnalysis.clangTidy.config#`, pokud existují.", "c_cpp.configuration.formatting.description": "Nakonfiguruje nástroj pro formátování.", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "K formátování kódu se použije `clang-format`.", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Znak použitý jako oddělovač cesty pro generované uživatelské cesty", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Když se tato možnost nastaví na `true`, popisky ovládacích prvků po najetí myší a automatické dokončování budou zobrazovat jen určité popisky strukturovaných komentářů. Jinak se budou zobrazovat všechny komentáře.", "c_cpp.configuration.doxygen.generateOnType.description": "Určuje, jestli se má po zadání zvoleného stylu komentáře automaticky vložit komentář Doxygen.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Určuje, zda je povolena akce kódu pro generování komentáře Doxygen.", "c_cpp.configuration.doxygen.generatedStyle.description": "Řetězec znaků použitý jako počáteční řádek komentáře Doxygen.", "c_cpp.configuration.doxygen.sectionTags.description": "Vyberte značky oddílu Doxygen, které chcete zobrazit při najetí myší v oblasti popisu, pokud je povolené nastavení Zjednodušit strukturované komentáře. ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "Vzor, který zahájí víceřádkový nebo jednořádkový blok komentáře. Výchozí vzor pro pokračování je pro víceřádkové bloky komentářů ` * `, nebo tento řetězec pro jednořádkové bloky.", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "False, pokud se tato položka používá jen k mapování umístění bloku zásobníku. True, pokud se tato entita má použít i při zadávání umístění zarážek", "c_cpp.debuggers.symbolOptions.description": "Možnosti kontroly způsobu, jakým se hledají a načítají symboly (soubory .pdb).", "c_cpp.debuggers.unknownBreakpointHandling.description": "Určuje, jak se mají zarážky nastavené externě (obvykle prostřednictvím nezpracovaných příkazů GDB) zpracovávat při průchodu.\nPovolené hodnoty jsou throw, která se chová, jako by aplikace vyvolala výjimku, a stop, která pouze pozastaví ladicí relaci. Výchozí hodnota je throw.", + "c_cpp.debuggers.debuginfod.description": "Řídí chování debuginfod v GDB při stahování symbolů ladění ze serverů debuginfod.", + "c_cpp.debuggers.debuginfod.enabled.description": "Při hodnotě true (výchozí) je podpora debuginfod v GDB povolená. Pokud chcete zabránit GDB v kontaktování serverů debuginfod, nastavte hodnotu false.", + "c_cpp.debuggers.debuginfod.timeout.description": "Časový limit v sekundách pro žádosti serveru debuginfod. Výchozí hodnota je 30. Pokud chcete použít výchozí hodnoty GDB/libdebuginfod, nastavte hodnotu 0 (bez přepsání).", "c_cpp.debuggers.VSSymbolOptions.description": "Poskytuje konfiguraci pro vyhledávání a načítání symbolů do ladicího adaptéru.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "Pole adres URL serveru symbolů (například: http​://MyExampleSymbolServer) nebo adresářů (například: /build/symbols) k vyhledávání souborů .pdb. Tyto adresáře budou prohledány kromě výchozích umístění – vedle modulu a cesty, kam byl soubor pdb původně přemístěn.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "Pokud je hodnota true, přidá se do cesty pro hledání symbolů server symbolů pro produkty Microsoft (https​://msdl.microsoft.com​/download/symbols). Pokud tato možnost není zadaná, výchozí hodnota je false.", diff --git a/Extension/i18n/csy/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/csy/src/Debugger/debugAdapterDescriptorFactory.i18n.json index bf6c8c6fb..bf28c08df 100644 --- a/Extension/i18n/csy/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/csy/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "Typ ladicího programu {0} není pro počítače, které nepoužívají Windows, k dispozici." + "debugger.not.available": "Typ ladicího programu {0} není pro počítače, které nepoužívají Windows, k dispozici.", + "debugger.noDebug.requestType.not.supported": "Spuštění bez ladění je podporováno pouze pro konfigurace spuštění.", + "debugger.noDebug.pipeTransport.not.supported": "Spuštění bez ladění není podporováno pro konfigurace s nastavenou hodnotou pipeTransport.", + "debugger.noDebug.debugServerPath.not.supported": "Spuštění bez ladění není podporováno pro konfigurace s nastavenou hodnotou debugServerPath.", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "Spuštění bez ladění není podporováno pro konfigurace s nastavenou hodnotou miDebuggerServerAddress.", + "debugger.noDebug.coreDumpPath.not.supported": "Spuštění bez ladění není podporováno pro konfigurace s nastavenou hodnotou coreDumpPath." } \ No newline at end of file diff --git a/Extension/i18n/csy/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/csy/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..e31b6a8d9 --- /dev/null +++ b/Extension/i18n/csy/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "Nenašel se žádný emulátor terminálu. Nastavte proměnnou prostředí $TERMINAL na vámi preferovaný emulátor terminálu nebo nainstalujte některý z následujících: x-terminal-emulator, gnome-terminal, konsole, xterm." +} \ No newline at end of file diff --git a/Extension/i18n/csy/src/nativeStrings.i18n.json b/Extension/i18n/csy/src/nativeStrings.i18n.json index 87e57ef7e..66c190532 100644 --- a/Extension/i18n/csy/src/nativeStrings.i18n.json +++ b/Extension/i18n/csy/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "V souborech compile_commands.json se nepovedlo najít {0}. Pro tento soubor se místo toho použije includePath ze souboru c_cpp_properties.json ve složce {1}.", "copilot_hover_link": "Vygenerovat souhrn Copilotu", "browse_path_not_found": "Nelze indexovat soubory z neexistující složky: {0}", - "license_terms": "Rozšíření C/C++ lze používat pouze s těmito produkty a službami pro vývoj a testování aplikací a nástupci těchto produktů a služeb od Microsoftu: Microsoft Visual Studio, Visual Studio pro Mac, Visual Studio Code, Azure DevOps a Team Foundation Server." + "license_terms": "Rozšíření C/C++ lze používat pouze s těmito produkty a službami pro vývoj a testování aplikací a nástupci těchto produktů a služeb od Microsoftu: Microsoft Visual Studio, Visual Studio pro Mac, Visual Studio Code, Azure DevOps a Team Foundation Server.", + "help_title": "Jazykový server Microsoft C++", + "help_usage": "Použití: {0} [možnosti]", + "help_options_header": "Možnosti:", + "help_help": "Umožňuje zobrazit tuto zprávu nápovědy a ukončit zobrazení.", + "help_version": "Zobrazí informace o verzi a ukončí se.", + "help_accept_eula": "Trvale přijměte licenční smlouvu s koncovým uživatelem (EULA).", + "help_stderr": "Nepřesměrovává stderr na /dev/null (užitečné pro ladění).", + "help_login": "Inicializujte interaktivní přihlášení (vyžaduje se předplatné GitHub Copilota).", + "help_force_login": "Vynuťte proces přihlášení, i když už proběhlo ověření.", + "help_allow_plaintext": "Povolí ukládání přihlašovacích údajů ve formátu prostého textu, pokud není zabezpečená sada klíčů k dispozici.", + "help_log_dir": "Zadejte adresář pro soubory protokolu (výchozí: systémový dočasný adresář).", + "help_log_level": "Nastavte úroveň podrobností protokolování z 0 (pouze chyby) na 9 (podrobné).", + "help_lsp_config": "Zadejte parametr jako absolutní cestu nebo relativně ke kořenovému adresáři pracovního prostoru nebo jeho složce .github.", + "help_disable_telemetry": "Zakažte odesílání telemetrických dat.", + "auth_device_flow_prompt": "Pokud se chcete ověřit pomocí GitHubu, zkopírujte prosím kód {0} a pak navštivte {1}. Čeká se na autorizaci...", + "auth_timed_out": "Při čekání na autorizaci vypršel časový limit.", + "auth_success": "Ověření pomocí GitHubu proběhlo úspěšně.", + "auth_save_failed": "Ověřování u GitHubu proběhlo úspěšně, ale tokeny se nepodařilo uložit.", + "auth_keyring_error": "Chyba keyringu: {0}", + "auth_keyring_locked": "Kolekce keyring je uzamčena. Odemkněte ji nebo restartujte daemon-keyring-daemon.", + "auth_keyring_unavailable": "Není k dispozici žádná služba keyring. Instalace a spuštění keyringu: sudo apt install apt-keyring", + "auth_try_plaintext": "Nebo povolte úložiště prostého textu předáním --login --allow-plaintext-secret-storage.", + "auth_expired": "Platnost kódu zařízení vypršela. Zkuste to prosím znovu.", + "auth_denied": "Uživatel zamítl autorizaci.", + "auth_unexpected_error": "Během dotazování došlo k neočekávané chybě: {0}", + "auth_login_failed": "Nepovedlo se přihlásit ke GitHubu. Zkuste se přihlásit spuštěním příkazu --login z příkazového řádku.", + "auth_eula_required": "Aby bylo možné pokračovat, musí být přijata smlouva EULA. Spusťte příkaz --accept-eula.", + "auth_already_authenticated": "Už ověřeno pomocí GitHubu. K opětovnému ověření použijte --force-login.", + "config_unsupported_version": "Inicializace se nezdařila: Nepodporovaná verze konfigurace. Podporuje se jenom verze 1.", + "config_file_not_found": "Inicializace se nezdařila: Konfigurační soubor {0} nebyl nalezen.", + "config_parse_failed": "Inicializace se nezdařila: Nelze parsovat konfigurační soubor {0}. Ověřte formát JSON. Chyba: {1}", + "config_repo_path_invalid": "Inicializace se nezdařila: vlastnost repositoryPath není nakonfigurována nebo je neplatná.", + "config_missing_source": "Inicializace se nezdařila: je nutné nakonfigurovat compileCommands nebo cppProperties.", + "config_dual_source": "Inicializace se nezdařila: parametry compileCommands a cppProperties nelze nakonfigurovat současně.", + "config_compile_commands_not_found": "Inicializace se nezdařila: Cesta compileCommands nebyla nalezena: {0}.", + "config_cpp_properties_not_found": "Inicializace se nezdařila: Cesta cppProperties nebyla nalezena: {0}.", + "config_cpp_properties_parse_failed": "Inicializace se nezdařila: Nelze parsovat soubor určený vlastností cppProperties: {0}. Ověřte formát JSON. Chyba: {1}", + "config_cpp_properties_schema_invalid": "Inicializace se nezdařila: Nelze číst konfiguraci ze souboru cppProperties: {0}. Ověřte schéma.", + "config_no_configurations": "Inicializace se nezdařila: {0} neobsahuje platné pole „configurations“.", + "config_configuration_not_found": "Inicializace se nezdařila: Konfigurace {0} nebyla v souboru cppProperties nalezena: {1}.", + "config_paths_cache_missing": "Inicializace se nezdařila: Chybí mezipaměť konfiguračních cest LSP.", + "curl_not_found": "libcurl nebyl nalezen ({0}). libcurl se vyžaduje pro ověřování a telemetrii.", + "curl_install_macos": "libcurl by měl být ve výchozím nastavení dostupný v macOS. Pokud chybí, nainstalujte prostřednictvím: brew install curl", + "curl_install_linux": "Nainstalujte libcurl: sudo apt install libcurl4 (Debian/Ubuntu) nebo sudo dnf install libcurl (Fedora/RHEL).", + "curl_symbols_missing": "Libcurl se načetl, ale chybí požadované symboly. To může znamenat velmi starou nebo nekompatibilní verzi knihovny. Jazykový server nemůže pracovat bez kompatibilní knihovny libcurl.", + "keytar_not_found": "libsecret-1.so.0 nebyl nalezen ({0}). Pro zabezpečené úložiště přihlašovacích údajů se vyžaduje libsecret. Nainstalujte libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) nebo sudo dnf install libsecret (Fedora/RHEL).", + "keytar_symbols_missing": "libsecret se načetl, ale chybí požadované symboly. Jazykový server nemůže pracovat bez kompatibilního libsecret.", + "telemetry_disable_failed": "Nepovedlo se zakázat telemetrii.", + "lsp_method_not_found": "Metoda nebyla nalezena: {0}", + "intellisense_same_canonical_path": "Nejde zpracovat IntelliSense pro soubor se stejnou kanonizovanou cestou jako existující soubor. Identifikátor URI: {0}, kanonizovaná cesta: {1}", + "status_initializing": "Probíhá inicializace", + "status_initializing_with_n_of_m": "Probíhá inicializace ({0} z(e) {1})", + "status_initializing_with_n_of_m_and_text": "Probíhá inicializace ({0} z(e) {1}): {2}", + "status_initializing_with_text": "Inicializuje se {0}", + "status_initializing_projects": "Inicializace projektů", + "status_initializing_projects_with_n_of_m": "Inicializují se projekty ({0} z(e) {1})", + "status_initializing_projects_with_n_of_m_and_text": "Inicializují se projekty ({0} z(e) {1}): {2}", + "status_initializing_projects_with_text": "Inicializace projektů {0}", + "status_checking_for_outdated_files": "Hledají se zastaralé soubory", + "status_checking_for_outdated_files_with_n_of_m": "Hledají se zastaralé soubory ({0} z(e) {1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "Hledají se zastaralé soubory ({0} z(e) {1}): {2}", + "status_checking_for_outdated_files_with_text": "Hledají se zastaralé soubory {0}", + "status_parsing_files": "Parsují se soubory", + "status_parsing_files_with_n_of_m": "Parsují se soubory ({0} z(e) {1})", + "status_parsing_files_with_n_of_m_and_text": "Parsují se soubory ({0} z(e) {1}): {2}", + "status_parsing_files_with_text": "Parsují se soubory {0}", + "status_parsing_includes": "Parsují se zahrnuté soubory", + "status_parsing_includes_with_n_of_m": "Parsují se zahrnuté soubory ({0} z(e) {1})", + "status_parsing_includes_with_n_of_m_and_text": "Parsují se zahrnuté soubory ({0} z(e) {1}): {2}", + "status_parsing_includes_with_text": "Parsují se zahrnuté soubory {0}", + "status_scanning_includes": "V #includes se hledají další soubory", + "status_scanning_includes_with_n_of_m": "V #includes se hledají další soubory ({0} z(e) {1})", + "status_scanning_includes_with_n_of_m_and_text": "V #includes se hledají další soubory ({0} z(e) {1}): {2}", + "status_scanning_includes_with_text": "V #includes se hledají další soubory {0} {1}", + "status_updating_external_dependencies": "Připraveno (aktualizování externích závislostí)", + "status_updating_external_dependencies_with_n_of_m": "Připraveno (aktualizování externích závislostí) ({0} z(e) {1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "Připraveno (aktualizování externích závislostí) ({0} z(e) {1}): {2}", + "status_updating_external_dependencies_with_text": "Připraveno (aktualizování externích závislostí) {0}", + "status_optimizing_database": "Připraveno (optimalizování databáze)", + "status_optimizing_database_with_n_of_m": "Připraveno (optimalizování databáze) ({0} z(e) {1})", + "status_optimizing_database_with_n_of_m_and_text": "Připraveno (optimalizování databáze) ({0} z(e) {1}): {2}", + "status_optimizing_database_with_text": "Připraveno (optimalizování databáze) {0}", + "status_creating_indexes": "Vytváření indexů", + "status_creating_indexes_with_n_of_m": "Vytváření indexů ({0} z(e) {1})", + "status_creating_indexes_with_n_of_m_and_text": "Vytváření indexů ({0} z(e) {1}): {2}", + "status_creating_indexes_with_text": "Vytváření indexů {0}", + "status_evaluating_file": "Vyhodnocování", + "status_evaluating_file_with_n_of_m": "Vyhodnocování ({0} z(e) {1})", + "status_evaluating_file_with_n_of_m_and_text": "Vyhodnocování ({0} z(e) {1}): {2}", + "status_evaluating_file_with_text": "Vyhodnocuje se {0}", + "status_indexing_files": "Probíhá indexování souborů", + "status_indexing_files_with_n_of_m": "Probíhá indexování souborů ({0} z(e) {1})", + "status_indexing_files_with_n_of_m_and_text": "Probíhá indexování souborů ({0} z(e) {1}): {2}", + "status_indexing_files_with_text": "Probíhá indexování souborů {0}", + "help_allow_missing_lsp_config": "Povolit spuštění serveru i v případě, že zadaný soubor --lsp-config neexistuje.", + "initialize_failed_during_engine_setup": "Inicializace se během instalace modulu nezdařila.", + "important_label": "Důležité:" } \ No newline at end of file diff --git a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 2cd36a1fa..e2a72d870 100644 --- a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Instalace kompilátoru jazyka C++ v systému Windows", "walkthrough.windows.text1": "Pokud provádíte vývoj C++ pro Windows, doporučujeme nainstalovat kompilátor Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Pokud chcete nainstalovat MSVC, otevřete terminál VS Code (CTRL + `) a vložte následující příkaz:\n", + "walkthrough.windows.text2": "Pokud chcete nainstalovat MSVC, otevřete terminál VS Code (CTRL + `) a vložte následující příkaz:", "walkthrough.windows.note1": "Poznámka", "walkthrough.windows.note1.text": "Můžete použít sadu nástrojů C++ z Visual Studio Build Tools spolu s Visual Studio Code ke kompilaci, sestavení a ověření jakékoli kódové báze C++, pokud máte také platnou licenci Visual Studio (buď Community, Pro nebo Enterprise), kterou aktivně používáte k vývoji kódové báze C++.", "walkthrough.windows.verify.compiler": "Ověřování instalace kompilátoru", diff --git a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 2cd36a1fa..e2a72d870 100644 --- a/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/csy/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Instalace kompilátoru jazyka C++ v systému Windows", "walkthrough.windows.text1": "Pokud provádíte vývoj C++ pro Windows, doporučujeme nainstalovat kompilátor Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Pokud chcete nainstalovat MSVC, otevřete terminál VS Code (CTRL + `) a vložte následující příkaz:\n", + "walkthrough.windows.text2": "Pokud chcete nainstalovat MSVC, otevřete terminál VS Code (CTRL + `) a vložte následující příkaz:", "walkthrough.windows.note1": "Poznámka", "walkthrough.windows.note1.text": "Můžete použít sadu nástrojů C++ z Visual Studio Build Tools spolu s Visual Studio Code ke kompilaci, sestavení a ověření jakékoli kódové báze C++, pokud máte také platnou licenci Visual Studio (buď Community, Pro nebo Enterprise), kterou aktivně používáte k vývoji kódové báze C++.", "walkthrough.windows.verify.compiler": "Ověřování instalace kompilátoru", diff --git a/Extension/i18n/deu/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/deu/c_cpp_properties.schema.json.i18n.json index d5e9b8272..ed7c9dc10 100644 --- a/Extension/i18n/deu/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/deu/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "Legen Sie diesen Wert auf `true` fest, um nur die Dateien zu verarbeiten, die direkt oder indirekt als Header enthalten sind. Legen Sie diesen Wert auf `false` fest, um alle Dateien unter den angegebenen Includepfaden zu verarbeiten.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Pfad zur generierten Symboldatenbank. Wenn ein relativer Pfad angegeben wird, wird er relativ zum Standardspeicherort des Arbeitsbereichs erstellt.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Eine Liste der Pfade, die für die Indizierung und Analyse von Arbeitsbereichssymbolen verwendet werden sollen (z. B. bei \"Gehe zu Definition\" oder \"Alle Verweise suchen\"). Die Suche in diesen Pfaden ist standardmäßig rekursiv. Geben Sie `*` an, um eine nicht rekursive Suche durchzuführen. Beispiel: `${workspaceFolder}` durchsucht alle Unterverzeichnisse, `${workspaceFolder}/*` hingegen nicht.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "Legen Sie diese Option auf `always` fest, um die Anzahl der rekursiven Includepfade, die für IntelliSense bereitgestellt werden, immer auf die Pfade zu reduzieren, auf die derzeit von #include-Anweisungen verwiesen wird. Dazu müssen zuerst die Dateien analysiert werden, um zu bestimmen, welche Kopfzeilen eingeschlossen werden. Legen Sie diese Option auf `never` fest, um alle rekursiven Includepfade für IntelliSense bereitzustellen. Wenn Sie die Anzahl rekursiver Includepfade verringern, kann sich die Leistung von IntelliSense verbessern, wenn eine sehr große Anzahl rekursiver Includepfade betroffen ist. Wenn Sie die Anzahl rekursiver Includepfade nicht verringern, kann die Leistung von IntelliSense verbessert werden, da die Dateien nicht analysiert werden müssen, um zu bestimmen, welche Includepfade bereitgestellt werden sollen. Beim Wert `default` wird derzeit die Anzahl rekursiver Includepfade verringert, die für IntelliSense bereitgestellt werden.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "Die Priorität rekursiver Includepfade. Wenn sie auf `beforeSystemIncludes` festgelegt ist, werden die rekursiven Includepfade vor den systemseitigen Includepfaden durchsucht. Wenn sie auf `afterSystemIncludes` festgelegt ist, werden die rekursiven Includepfade nach den systemseitigen Includepfaden durchsucht. `beforeSystemIncludes` entspricht eher der Suchreihenfolge eines Compilers, während `afterSystemIncludes` zu einer verbesserten Leistung führen kann.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "Die Reihenfolge, in der Unterverzeichnisse rekursiver Includepfade durchsucht werden.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Benutzerdefinierte Variablen, die über den Befehl `${cpptools:activeConfigCustomVariable}` abgefragt werden können, um sie für die Eingabevariablen in `launch.json` oder `tasks.json` zu verwenden.", diff --git a/Extension/i18n/deu/package.i18n.json b/Extension/i18n/deu/package.i18n.json index e761f068a..8f35de49b 100644 --- a/Extension/i18n/deu/package.i18n.json +++ b/Extension/i18n/deu/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Ein erweiterter regulärer POSIX-Ausdruck (Extended Regular Expression/ERE), der dem Namen der Header entspricht, aus denen die Diagnose ausgegeben werden soll. Diagnosen aus der Hauptdatei jeder Übersetzungseinheit werden immer angezeigt. Die Variable `${workspaceFolder}` wird unterstützt (und als standardmäßiger Fallbackwert benutzt, wenn keine `.clang-tidy`-Datei vorhanden ist). Wenn diese Option nicht `null` (leer) ist, überschreibt sie die Option `HeaderFilterRegex` in einer `.clang-tidy`-Datei, sofern vorhanden.", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "Zusätzliche Befehlszeilenargumente, die an `clang-tidy` übergeben werden sollen. Diese haben Vorrang vor den entsprechenden Einstellungen für `C_Cpp.codeAnalysis.clangTidy.*`.", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "Wenn `true` und `compileCommands` festgelegt sind, wird das Argument `-p=` an `clang-tidy` übergeben, anstatt Buildargumente hinter `--` zu übergeben. Dies funktioniert möglicherweise nicht, wenn Umgebungsvariablen nicht so festgelegt sind, dass vom System eingeschlossene Elemente gefunden werden können.", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Liste der aktivierten `clang-tidy`-Überprüfungen. Die Werte werden an `Checks` in einer `.clang-tidy`-Datei oder (falls vorhanden) an `#C_Cpp.codeAnalysis.clangTidy.config#` angefügt. Die Standardüberprüfung `clang-analyzer-*` wird immer verwendet, es sei denn, sie ist explizit deaktiviert.", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Liste der aktivierten `clang-tidy`-Überprüfungen. Die Werte werden an `Checks` in einer `.clang-tidy`-Datei oder (falls vorhanden) an `#C_Cpp.codeAnalysis.clangTidy.config#` angefügt. Die Standardüberprüfung `clang-analyzer-core.*` wird immer verwendet, es sei denn, sie ist explizit deaktiviert.", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "Liste der aktivierten `clang-tidy`-Überprüfungen. Die Werte werden an `Checks` in einer `.clang-tidy`-Datei oder (falls vorhanden) an `#C_Cpp.codeAnalysis.clangTidy.config#` angefügt.", "c_cpp.configuration.formatting.description": "Konfiguriert das Formatierungsmodul.", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "`clang-format` wird zum Formatieren von Code verwendet.", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Das Zeichen, das als Pfadtrennzeichen für generierte Benutzerpfade verwendet wird.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Wenn `true` festgelegt ist, zeigen die QuickInfos für Draufzeigen und AutoVervollständigen nur bestimmte Bezeichnungen strukturierter Kommentare an. Andernfalls werden alle Kommentare angezeigt.", "c_cpp.configuration.doxygen.generateOnType.description": "Steuert, ob der Doxygenkommentar nach Eingabe des ausgewählten Kommentarstils automatisch eingefügt wird.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Steuert, ob die Codeaktion zum Generieren eines Doxygen-Kommentars aktiviert ist.", "c_cpp.configuration.doxygen.generatedStyle.description": "Die Zeichenfolge von Zeichen, die als Startzeile des Doxygen-Kommentars verwendet wird.", "c_cpp.configuration.doxygen.sectionTags.description": "Wählen Sie die Doxygen-Abschnittstags aus, die beim Daraufzeigen im QuickInfo-Bereich angezeigt werden sollen, wenn die Einstellung \"Strukturierte Kommentare vereinfachen\" aktiviert ist. ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "Muster, mit dem ein mehrzeiliger oder einzeiliger Kommentarblock beginnt. Das Fortsetzungsmuster wird standardmäßig auf ` * ` für mehrzeilige Kommentarblöcke oder auf diese Zeichenfolge für einzeilige Kommentarblöcke festgelegt.", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "FALSE, wenn dieser Eintrag nur für eine Stapelrahmen-Speicherortzuordnung verwendet wird. TRUE, wenn dieser Eintrag auch zum Angeben von Haltepunktpositionen verwendet werden soll.", "c_cpp.debuggers.symbolOptions.description": "Optionen zum Steuern, wie Symbole (PDB-Dateien) gefunden und geladen werden.", "c_cpp.debuggers.unknownBreakpointHandling.description": "Steuert, wie extern gesetzte Haltepunkte (normalerweise über rohe GDB-Befehle) behandelt werden, wenn ihnen begegnet wird.\nErlaubte Werte sind \"throw\", was sich so verhält, als ob eine Ausnahme von der Anwendung ausgelöst würde, und \"stop\", was die Debugsitzung nur pausiert. Der Standardwert ist \"throw\".", + "c_cpp.debuggers.debuginfod.description": "Steuert das debuginfod-Verhalten von GDB beim Herunterladen von Debugsymbolen von debuginfod-Servern.", + "c_cpp.debuggers.debuginfod.enabled.description": "Wenn auf TRUE (Standard) festgelegt, ist die debuginfod-Unterstützung in GDB aktiviert. Legen Sie den Wert auf FALSE fest, um zu verhindern, dass GDB debuginfod-Server kontaktiert.", + "c_cpp.debuggers.debuginfod.timeout.description": "Das Zeitlimit in Sekunden für debuginfod-Serveranforderungen. Standardwert ist 30. Auf 0 festlegen, um die Standardwerte von GDB/libdebuginfod zu verwenden (keine Überschreibung).", "c_cpp.debuggers.VSSymbolOptions.description": "Stellt eine Konfiguration zum Suchen und Laden von Symbolen in den Debugadapter bereit.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "Ein Array von Symbolserver-URLs (Beispiel: http​://MyExampleSymbolServer) oder Verzeichnisse (Beispiel:/Build/Symbols) für die Suche nach PDB-Dateien. Diese Verzeichnisse werden zusätzlich zu den Standardspeicherorten durchsucht – neben dem Modul und dem Pfad, in dem die PDB ursprünglich abgelegt wurde.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "Wenn „true“, wird der Microsoft-Symbolserver (https​://msdl.microsoft.com​/download/symbols) dem Symbolsuchpfad hinzugefügt. Wenn nicht angegeben, wird diese Option standardmäßig auf „false“ eingestellt.", diff --git a/Extension/i18n/deu/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/deu/src/Debugger/debugAdapterDescriptorFactory.i18n.json index 55b61ef95..72016e1b3 100644 --- a/Extension/i18n/deu/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/deu/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "Der Debuggertyp \"{0}\" ist für Nicht-Windows-Computer nicht verfügbar." + "debugger.not.available": "Der Debuggertyp \"{0}\" ist für Nicht-Windows-Computer nicht verfügbar.", + "debugger.noDebug.requestType.not.supported": "„Ausführen ohne Debuggen“ wird nur für Startkonfigurationen unterstützt.", + "debugger.noDebug.pipeTransport.not.supported": "„Ausführen ohne Debuggen“ wird für Konfigurationen mit festgelegtem „pipeTransport“ nicht unterstützt.", + "debugger.noDebug.debugServerPath.not.supported": "„Ausführen ohne Debuggen“ wird für Konfigurationen, für die „debugServerPath“ festgelegt ist, nicht unterstützt.", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "Das Ausführen ohne Debuggen wird für Konfigurationen mit festgelegter „miDebuggerServerAddress“ nicht unterstützt.", + "debugger.noDebug.coreDumpPath.not.supported": "„Ausführen ohne Debuggen“ wird für Konfigurationen, für die „coreDumpPath“ festgelegt ist, nicht unterstützt." } \ No newline at end of file diff --git a/Extension/i18n/deu/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/deu/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..4475cb987 --- /dev/null +++ b/Extension/i18n/deu/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "Kein Terminalemulator gefunden. Legen Sie die Umgebungsvariable $TERMINAL auf den Terminalemulator Ihrer Wahl fest, oder installieren Sie eine der folgenden Komponenten: x-terminal-emulator, gnome-terminal, konsole, xterm." +} \ No newline at end of file diff --git a/Extension/i18n/deu/src/nativeStrings.i18n.json b/Extension/i18n/deu/src/nativeStrings.i18n.json index 9cfda51cf..a5b61c554 100644 --- a/Extension/i18n/deu/src/nativeStrings.i18n.json +++ b/Extension/i18n/deu/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "„{0}“ wurde in compile_commands.json-Dateien nicht gefunden. Stattdessen wird „includePath“ aus „c_cpp_properties.json“ im Ordner „{1}“ für diese Datei verwendet.", "copilot_hover_link": "Copilot-Zusammenfassung generieren", "browse_path_not_found": "Dateien aus einem nicht vorhandenen Ordner können nicht indiziert werden: {0}", - "license_terms": "Die C/C++-Erweiterung darf nur mit Microsoft Visual Studio, Visual Studio für Mac, Visual Studio Code, Azure DevOps, Team Foundation Server und nachfolgenden Produkten und Diensten von Microsoft verwendet werden, um Ihre Anwendungen zu entwickeln und zu testen." + "license_terms": "Die C/C++-Erweiterung darf nur mit Microsoft Visual Studio, Visual Studio für Mac, Visual Studio Code, Azure DevOps, Team Foundation Server und nachfolgenden Produkten und Diensten von Microsoft verwendet werden, um Ihre Anwendungen zu entwickeln und zu testen.", + "help_title": "Microsoft C++ Language Server", + "help_usage": "Syntax: {0} [Optionen]", + "help_options_header": "Optionen:", + "help_help": "Diese Hilfemeldung anzeigen und beenden.", + "help_version": "Versionsinformationen anzeigen und beenden.", + "help_accept_eula": "Akzeptieren Sie den Endbenutzer-Lizenzvertrag (EULA) dauerhaft.", + "help_stderr": "stderr nicht an /dev/null umleiten (nützlich für das Debuggen).", + "help_login": "Interaktive Anmeldung initiieren (GitHub Copilot-Abonnement erforderlich).", + "help_force_login": "Anmeldevorgang erzwingen, auch wenn er bereits authentifiziert ist.", + "help_allow_plaintext": "Speichern von Anmeldeinformationen im Klartext zulassen, wenn ein sicherer Schlüsselbund nicht verfügbar ist.", + "help_log_dir": "Geben Sie das Verzeichnis für Protokolldateien an (Standard: temporäres Systemverzeichnis).", + "help_log_level": "Legen Sie die Ausführlichkeit der Protokollierung von 0 (nur Fehler) bis 9 (ausführlich) fest.", + "help_lsp_config": "Parameter als absoluten Pfad oder relativ zum Arbeitsbereichsstamm oder dem zugehörigen GitHub-Ordner angeben.", + "help_disable_telemetry": "Senden von Telemetriedaten deaktivieren.", + "auth_device_flow_prompt": "Um sich bei GitHub zu authentifizieren, kopieren Sie den Code {0}, und besuchen Sie dann {1}. Auf Autorisierung warten …", + "auth_timed_out": "Timeout beim Warten auf Autorisierung.", + "auth_success": "Die Authentifizierung bei GitHub war erfolgreich.", + "auth_save_failed": "Die GitHub-Authentifizierung war erfolgreich, Token konnten jedoch nicht gespeichert werden.", + "auth_keyring_error": "Schlüsselbundfehler: {0}", + "auth_keyring_locked": "Die Schlüsselbundsammlung ist gesperrt. Entsperren Sie ihn, oder starten Sie „restart-keyring-daemon“ neu.", + "auth_keyring_unavailable": "Es ist kein Schlüsselbunddienst verfügbar. „endpoint-keyring“ installieren und starten: sudo apt install endpoint-keyring", + "auth_try_plaintext": "Alternativ können Sie Klartextspeicher zulassen, indem Sie „--login --allow-plaintext-secret-storage“ übergeben.", + "auth_expired": "Der Gerätecode ist abgelaufen. Versuchen Sie es noch einmal.", + "auth_denied": "Die Autorisierung wurde vom Benutzer verweigert.", + "auth_unexpected_error": "Unerwarteter Fehler beim Abrufen: {0}", + "auth_login_failed": "Die GitHub-Anmeldung ist fehlgeschlagen. --login über die Befehlszeile ausführen, um sich anzumelden.", + "auth_eula_required": "EULA muss akzeptiert werden, um den Vorgang fortzusetzen. Mit --accept-eula ausführen.", + "auth_already_authenticated": "Bereits bei GitHub authentifiziert. Verwenden Sie „--force-login“, um sich erneut zu authentifizieren.", + "config_unsupported_version": "Initialisierungsfehler: Nicht unterstützte Konfigurationsversion. Es wird nur Version 1 unterstützt.", + "config_file_not_found": "Initialisierungsfehler: Die Konfigurationsdatei „{0}“ wurde nicht gefunden.", + "config_parse_failed": "Fehler bei der Initialisierung: Die Konfigurationsdatei „{0}“ kann nicht analysiert werden. JSON-Format überprüfen. Fehler: {1}", + "config_repo_path_invalid": "Fehler bei der Initialisierung: „repositoryPath“ ist nicht konfiguriert oder ungültig.", + "config_missing_source": "Initialisierungsfehler: „compileCommands“ oder „cppProperties“ müssen konfiguriert sein.", + "config_dual_source": "Fehler bei der Initialisierung: „compileCommands“ und „cppProperties“ können nicht beide konfiguriert werden.", + "config_compile_commands_not_found": "Initialisierungsfehler: Der Pfad „compileCommands“ wurde nicht gefunden: „{0}“.", + "config_cpp_properties_not_found": "Initialisierungsfehler: Der Pfad „cppProperties“ wurde nicht gefunden: „{0}“.", + "config_cpp_properties_parse_failed": "Initialisierungsfehler: Die durch „cppProperties“ angegebene Datei kann nicht analysiert werden: „{0}“. JSON-Format überprüfen. Fehler: {1}", + "config_cpp_properties_schema_invalid": "Initialisierungsfehler: Die Konfiguration kann nicht aus der Datei „cppProperties“ gelesen werden: „{0}“. Überprüfen Sie das Schema.", + "config_no_configurations": "Fehler bei der Initialisierung: „{0}“ enthält kein gültiges Array „configurations“.", + "config_configuration_not_found": "Fehler bei der Initialisierung: Die Konfiguration „{0}“ wurde in der Datei „cppProperties“ nicht gefunden: „{1}“.", + "config_paths_cache_missing": "Fehler bei der Initialisierung: Der Cache für LSP-Konfigurationspfade fehlt.", + "curl_not_found": "libcurl nicht gefunden ({0}). libcurl ist für die Authentifizierung und Telemetrie erforderlich.", + "curl_install_macos": "libcurl sollte standardmäßig unter macOS verfügbar sein. Falls nicht vorhanden, installieren über: brew install curl", + "curl_install_linux": "libcurl: sudo apt install libcurl4 (Debian/Ubuntu) oder sudo dnf install libcurl (Fedora/RHEL) installieren.", + "curl_symbols_missing": "libcurl geladen, aber erforderliche Symbole fehlen. Dies kann auf eine sehr alte oder inkompatible libcurl-Version hinweisen. Der Sprachserver kann nicht ohne kompatible libcurl ausgeführt werden.", + "keytar_not_found": "libsecret-1.so.0 wurde nicht gefunden ({0}). libsecret ist für die sichere Speicherung von Anmeldeinformationen erforderlich. libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) oder sudo dnf install libsecret (Fedora/RHEL) installieren.", + "keytar_symbols_missing": "libsecret geladen, aber erforderliche Symbole fehlen. Der Sprachserver kann nicht ohne kompatibles libsecret ausgeführt werden.", + "telemetry_disable_failed": "Fehler beim Deaktivieren der Telemetrie.", + "lsp_method_not_found": "Methode nicht gefunden: {0}", + "intellisense_same_canonical_path": "IntelliSense kann für eine Datei mit demselben kanonisierten Pfad wie eine vorhandene Datei nicht verarbeitet werden. URI: {0}, kanonischer Pfad: {1}", + "status_initializing": "Initialisierung", + "status_initializing_with_n_of_m": "Initialisierung ({0} von {1})", + "status_initializing_with_n_of_m_and_text": "Initialisierung ({0} von {1}): {2}", + "status_initializing_with_text": "{0} wird initialisiert", + "status_initializing_projects": "Projekte werden initialisiert", + "status_initializing_projects_with_n_of_m": "Projekte werden initialisiert ({0} von {1})", + "status_initializing_projects_with_n_of_m_and_text": "Projekte werden initialisiert ({0} von {1}): {2}", + "status_initializing_projects_with_text": "Projekte werden initialisiert {0}", + "status_checking_for_outdated_files": "Veraltete Dateien werden gesucht", + "status_checking_for_outdated_files_with_n_of_m": "Veraltete Dateien werden gesucht ({0} von {1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "Veraltete Dateien werden gesucht ({0} von {1}): {2}", + "status_checking_for_outdated_files_with_text": "Veraltete Dateien werden gesucht {0}", + "status_parsing_files": "Dateien werden analysiert", + "status_parsing_files_with_n_of_m": "Dateien werden analysiert: ({0} von {1})", + "status_parsing_files_with_n_of_m_and_text": "Dateien werden analysiert: ({0} von {1}): {2}", + "status_parsing_files_with_text": "Dateien werden analysiert {0}", + "status_parsing_includes": "Eingeschlossene Dateien werden analysiert", + "status_parsing_includes_with_n_of_m": "Eingeschlossene Dateien werden analysiert ({0} von {1})", + "status_parsing_includes_with_n_of_m_and_text": "Eingeschlossene Dateien werden analysiert ({0} von {1}): {2}", + "status_parsing_includes_with_text": "Eingeschlossene Dateien werden analysiert {0}", + "status_scanning_includes": "#includes nach zusätzlichen Dateien durchsuchen", + "status_scanning_includes_with_n_of_m": "#includes nach zusätzlichen Dateien durchsuchen ({0} von {1})", + "status_scanning_includes_with_n_of_m_and_text": "#includes nach zusätzlichen Dateien durchsuchen ({0} von {1}): {2}", + "status_scanning_includes_with_text": "#includes nach zusätzlichen Dateien durchsuchen {0} {1}", + "status_updating_external_dependencies": "Bereit (Externe Abhängigkeiten werden aktualisiert)", + "status_updating_external_dependencies_with_n_of_m": "Bereit (Externe Abhängigkeiten werden aktualisiert) ({0} von {1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "Bereit (Externe Abhängigkeiten werden aktualisiert) ({0} von {1}): {2}", + "status_updating_external_dependencies_with_text": "Bereit (Externe Abhängigkeiten werden aktualisiert) {0}", + "status_optimizing_database": "Bereit (Datenbank wird optimiert)", + "status_optimizing_database_with_n_of_m": "Bereit (Datenbank wird optimiert) ({0} von {1})", + "status_optimizing_database_with_n_of_m_and_text": "Bereit (Datenbank wird optimiert) ({0} von {1}): {2}", + "status_optimizing_database_with_text": "Bereit (Datenbank wird optimiert) {0}", + "status_creating_indexes": "Indizes werden erstellt", + "status_creating_indexes_with_n_of_m": "Indizes werden erstellt ({0} von {1})", + "status_creating_indexes_with_n_of_m_and_text": "Indizes werden erstellt ({0} von {1}): {2}", + "status_creating_indexes_with_text": "Indizes werden erstellt {0}", + "status_evaluating_file": "Wird ausgewertet", + "status_evaluating_file_with_n_of_m": "Wird ausgewertet ({0} von {1})", + "status_evaluating_file_with_n_of_m_and_text": "Wird ausgewertet ({0} von {1}): {2}", + "status_evaluating_file_with_text": "{0} wird ausgewertet", + "status_indexing_files": "Indizieren von Dateien", + "status_indexing_files_with_n_of_m": "Indizieren von Dateien ({0} von {1})", + "status_indexing_files_with_n_of_m_and_text": "Indizieren von Dateien ({0} von {1}): {2}", + "status_indexing_files_with_text": "Indizieren von Dateien {0}", + "help_allow_missing_lsp_config": "Zulassen, dass der Server gestartet wird, auch wenn die angegebene --lsp-config-Datei nicht vorhanden ist.", + "initialize_failed_during_engine_setup": "Fehler bei der Initialisierung während der Engine-Einrichtung.", + "important_label": "Wichtig:" } \ No newline at end of file diff --git a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 4adc886c9..438c4cc6b 100644 --- a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "C++-Compiler unter Windows installieren", "walkthrough.windows.text1": "Wenn Sie mithilfe von C++ unter Windows entwickeln, empfehlen wir die Installation des Microsoft Visual C++-Compiler (MSVC).", - "walkthrough.windows.text2": "Öffnen Sie zum Installieren von MSVC das VS Code-Terminal (STRG + `), und fügen Sie den folgenden Befehl ein:\n", + "walkthrough.windows.text2": "Öffnen Sie zum Installieren von MSVC das VS Code-Terminal (STRG + `), und fügen Sie den folgenden Befehl ein:", "walkthrough.windows.note1": "Hinweis", "walkthrough.windows.note1.text": "Sie können das C++-Toolset aus Visual Studio Build Tools zusammen mit Visual Studio Code zum Kompilieren, Erstellen und Überprüfen von C++-Codebasis verwenden, sofern Sie auch über eine gültige Visual Studio-Lizenz (Community, Pro oder Enterprise) verfügen, die Sie aktiv zum Entwickeln dieser C++-Codebasis verwenden.", "walkthrough.windows.verify.compiler": "Überprüfen der Compilerinstallation", diff --git a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 4adc886c9..438c4cc6b 100644 --- a/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/deu/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "C++-Compiler unter Windows installieren", "walkthrough.windows.text1": "Wenn Sie mithilfe von C++ unter Windows entwickeln, empfehlen wir die Installation des Microsoft Visual C++-Compiler (MSVC).", - "walkthrough.windows.text2": "Öffnen Sie zum Installieren von MSVC das VS Code-Terminal (STRG + `), und fügen Sie den folgenden Befehl ein:\n", + "walkthrough.windows.text2": "Öffnen Sie zum Installieren von MSVC das VS Code-Terminal (STRG + `), und fügen Sie den folgenden Befehl ein:", "walkthrough.windows.note1": "Hinweis", "walkthrough.windows.note1.text": "Sie können das C++-Toolset aus Visual Studio Build Tools zusammen mit Visual Studio Code zum Kompilieren, Erstellen und Überprüfen von C++-Codebasis verwenden, sofern Sie auch über eine gültige Visual Studio-Lizenz (Community, Pro oder Enterprise) verfügen, die Sie aktiv zum Entwickeln dieser C++-Codebasis verwenden.", "walkthrough.windows.verify.compiler": "Überprüfen der Compilerinstallation", diff --git a/Extension/i18n/esn/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/esn/c_cpp_properties.schema.json.i18n.json index df7834494..dd4a317e8 100644 --- a/Extension/i18n/esn/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/esn/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "Establecer `true` para procesar únicamente los archivos incluidos directa o indirectamente como encabezados. Establecer `false` para procesar todos los archivos en las rutas de acceso de inclusión especificadas.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Ruta de acceso a la base de datos de símbolos generada. Si se especifica una ruta de acceso relativa, será relativa a la ubicación de almacenamiento predeterminada del área de trabajo.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Lista de rutas de acceso que se usarán para indexar y analizar símbolos del área de trabajo (que se usarán con comandos como 'Go to Definition', 'Find All References', etc.). La búsqueda en estas rutas de acceso es recursiva de forma predeterminada. Especifique `*` para indicar una búsqueda no recursiva. Por ejemplo, `${workspaceFolder}` buscará en todos los subdirectorios, mientras que `${workspaceFolder}/*` no lo hará.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "Establézcalo en `always` para reducir siempre el número de rutas de inclusión recursivas proporcionadas a IntelliSense solo a aquellas rutas a las que hacen referencia actualmente las instrucciones #include. Esto requiere primero analizar los archivos para determinar qué encabezados se incluyen. Establézcalo en `never` para proporcionar todas las rutas de inclusión recursivas a IntelliSense. Reducir el número de rutas de inclusiones recursivas puede mejorar el rendimiento de IntelliSense cuando hay un gran número de rutas de inclusión recursivas involucradas. No reducir el número de rutas de inclusión recursivas puede mejorar el rendimiento de IntelliSense al evitar la necesidad de analizar archivos para determinar qué rutas de inclusión proporcionar. El valor `default` actualmente es para reducir el número de rutas de inclusión recursivas proporcionadas a IntelliSense.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "La prioridad de las rutas de acceso de inclusión recursivas. Si se establece en `beforeSystemIncludes`, se buscarán las rutas de inclusión recursivas antes que las rutas de inclusión del sistema. Si se establece en `afterSystemIncludes`, se buscarán las rutas de inclusión recursivas después de las rutas de inclusión del sistema. `beforeSystemIncludes` reflejaría más fielmente el orden de búsqueda de un compilador, mientras que `afterSystemIncludes` podría resultar en un mejor rendimiento.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "El orden en el que se buscan los subdirectorios de las inclusiones recursivas.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Variables personalizadas que pueden consultarse mediante el comando `${cpptools:activeConfigCustomVariable}` para utilizarlas en las variables de entrada en `launch.json` o `tasks.json`.", diff --git a/Extension/i18n/esn/package.i18n.json b/Extension/i18n/esn/package.i18n.json index 19ca36c2b..d0fe8d350 100644 --- a/Extension/i18n/esn/package.i18n.json +++ b/Extension/i18n/esn/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Expresión regular extendida (ERE) POSIX que coincide con los nombres de los encabezados de los que se van a generar diagnósticos. Siempre se muestran los diagnósticos del archivo principal de cada unidad de traducción. Se admite la variable `${workspaceFolder}` (y se usa como valor de reserva predeterminado si no existe ningún archivo `.clang-tidy`). Si esta opción no es `null` (vacía), invalida la opción `HeaderFilterRegex` en un archivo `.clang-tidy`, si existe.", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "Argumentos adicionales de la línea de comandos que se pasan a `clang-tidy`. Tienen prioridad sobre la configuración equivalente `C_Cpp.codeAnalysis.clangTidy.*`.", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "Si se establece `true` y `compileCommands`, el argumento `-p=` se pasa a `clang-tidy` en lugar de pasar los argumentos de compilación después de `--`. Esto puede no funcionar si no se establecen las variables de entorno para que se puedan encontrar las inclusiones del sistema.", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Lista de comprobaciones `clang-tidy` habilitadas. Los valores se anexan a `Checks` en un archivo `.clang-tidy` o `#C_Cpp.codeAnalysis.clangTidy.config#`, si los hay. La comprobación predeterminada `clang-analyzer-*` se usa siempre a menos que se deshabilite explícitamente.", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Lista de comprobaciones `clang-tidy` habilitadas. Los valores se anexan a `Checks` en un archivo `.clang-tidy` o `#C_Cpp.codeAnalysis.clangTidy.config#`, si existe. La comprobación predeterminada `clang-analyzer-core.*` siempre se usa a menos que se deshabilite explícitamente.", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "Lista de comprobaciones `clang-tidy` deshabilitadas. Los valores se anexan a `Checks` en un archivo `.clang-tidy` o `#C_Cpp.codeAnalysis.clangTidy.config#`, si los hay.", "c_cpp.configuration.formatting.description": "Configura el motor de formato", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "`clang-format` se usará para formatear el código.", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Carácter utilizado como separador de ruta de acceso para las rutas de acceso de usuario generadas.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Si es `true`, la información sobre herramientas al mantener el puntero y autocompletar solo mostrará ciertas etiquetas de comentarios estructurados. De lo contrario, se muestran todos los comentarios.", "c_cpp.configuration.doxygen.generateOnType.description": "Controla si se va a insertar automáticamente el comentario de Doxygen después de escribir el estilo de comentario elegido.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Controla si está habilitada la acción de código para generar un comentario Doxygen.", "c_cpp.configuration.doxygen.generatedStyle.description": "La cadena de caracteres utilizada como línea de inicio del comentario de Doxygen.", "c_cpp.configuration.doxygen.sectionTags.description": "Seleccione las etiquetas de sección de Doxygen que quiere que aparezcan al mantener el puntero en el área de información sobre herramientas cuando esté habilitada la opción 'simplificar comentarios estructurados'. ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "Patrón que comienza un bloque de comentario de una o varias líneas. El valor predeterminado del patrón de continuación es ` * ` para los bloques de comentario multilínea o esta cadena para los bloques de comentario de una línea.", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "False si la entrada solo se usa para la asignación de ubicación del marco de pila. True si la entrada debe usarse también al especificar ubicaciones de los puntos de interrupción.", "c_cpp.debuggers.symbolOptions.description": "Opciones para controlar cómo se encuentran y se cargan los símbolos (archivos .pdb).", "c_cpp.debuggers.unknownBreakpointHandling.description": "Controla cómo se controlan los puntos de interrupción establecidos externamente (normalmente a través de comandos GDB sin procesar) cuando se alcanzan.\nLos valores permitidos son \"throw\", que actúa como si la aplicación iniciara una excepción y \"stop\", que solo pausa la sesión de depuración. El valor predeterminado es \"throw\".", + "c_cpp.debuggers.debuginfod.description": "Controla el comportamiento de debuginfod de GDB para descargar símbolos de depuración de servidores debuginfod.", + "c_cpp.debuggers.debuginfod.enabled.description": "Si es true (valor predeterminado), la compatibilidad con debuginfod de GDB está habilitada. Se establece en false para evitar que GDB se ponga en contacto con los servidores debuginfod.", + "c_cpp.debuggers.debuginfod.timeout.description": "Tiempo de espera, en segundos, para las solicitudes al servidor debuginfod. El valor predeterminado es 30. Se establece en 0 para usar los valores predeterminados de GDB/libdebuginfod (sin invalidación).", "c_cpp.debuggers.VSSymbolOptions.description": "Proporciona la configuración para buscar y cargar símbolos en el adaptador de depuración.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "Matriz de direcciones URL del servidor de símbolos (ejemplo: http​://MiServidordeSímblosdeEjemplo) o de directorios (ejemplo: /compilar/symbols) para buscar archivos. pdb. Se buscarán estos directorios además de las ubicaciones predeterminadas, junto al módulo y la ruta de acceso en la que se anuló originalmente el archivo pdb.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "Si es «verdadero», se agrega el servidor de símbolos de Microsoft (https​://msdl.microsoft.com​/download/symbols) a la ruta de búsqueda de símbolos. Si no se especifica, esta opción tendrá el valor predeterminado de «falso».", diff --git a/Extension/i18n/esn/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/esn/src/Debugger/debugAdapterDescriptorFactory.i18n.json index 1350794d6..0d10aae8c 100644 --- a/Extension/i18n/esn/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/esn/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "El tipo de depurador '{0}' no está disponible para equipos que no son de Windows." + "debugger.not.available": "El tipo de depurador '{0}' no está disponible para equipos que no son de Windows.", + "debugger.noDebug.requestType.not.supported": "Ejecutar sin depuración solo se admite para las configuraciones de inicio.", + "debugger.noDebug.pipeTransport.not.supported": "No se admite ejecutar sin depuración para configuraciones con \"pipeTransport\" establecido.", + "debugger.noDebug.debugServerPath.not.supported": "No se admite ejecutar sin depuración para configuraciones con el valor \"debugServerPath\" establecido.", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "No se admite ejecutar sin depuración para configuraciones con el conjunto \"miDebuggerServerAddress\".", + "debugger.noDebug.coreDumpPath.not.supported": "No se admite ejecutar sin depuración para configuraciones con \"coreDumpPath\" establecido." } \ No newline at end of file diff --git a/Extension/i18n/esn/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/esn/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..74690fbb2 --- /dev/null +++ b/Extension/i18n/esn/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "No se encontró ningún emulador de terminal. Establezca la variable de entorno $TERMINAL en el emulador de terminal que prefiera o instale una de las siguientes opciones: x-terminal-emulator, gnome-terminal, konsole, xterm." +} \ No newline at end of file diff --git a/Extension/i18n/esn/src/nativeStrings.i18n.json b/Extension/i18n/esn/src/nativeStrings.i18n.json index 55898bfa6..39869996e 100644 --- a/Extension/i18n/esn/src/nativeStrings.i18n.json +++ b/Extension/i18n/esn/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "\"{0}\" no se encuentra en compile_commands.json archivos. ''includePath'' de c_cpp_properties.json de la carpeta ''{1}'' se usará en su lugar para este archivo.", "copilot_hover_link": "Generar resumen de Copilot", "browse_path_not_found": "No se pueden indexar archivos de una carpeta inexistente: {0}", - "license_terms": "La extensión de C/C++ solo se puede utilizar con Microsoft Visual Studio, Visual Studio para Mac, Visual Studio Code, Azure DevOps, Team Foundation Server y productos y servicios sucesores de Microsoft para desarrollar y probar sus aplicaciones." + "license_terms": "La extensión de C/C++ solo se puede utilizar con Microsoft Visual Studio, Visual Studio para Mac, Visual Studio Code, Azure DevOps, Team Foundation Server y productos y servicios sucesores de Microsoft para desarrollar y probar sus aplicaciones.", + "help_title": "Servidor de lenguaje Microsoft C++", + "help_usage": "Uso: {0} [opciones]", + "help_options_header": "Opciones:", + "help_help": "Mostrar este mensaje de ayuda y salir.", + "help_version": "Mostrar información de versión y salir.", + "help_accept_eula": "Aceptar permanentemente el Contrato de licencia para el usuario final (EULA).", + "help_stderr": "No redirigir stderr a /dev/null (útil para la depuración).", + "help_login": "Inicie el inicio de sesión interactivo (se requiere una suscripción de GitHub Copilot).", + "help_force_login": "Fuerce el proceso de inicio de sesión, incluso si ya se ha autenticado.", + "help_allow_plaintext": "Permitir almacenar credenciales en texto sin formato si no hay un llavero seguro disponible.", + "help_log_dir": "Especifique el directorio para los archivos de registro (valor predeterminado: directorio temporal del sistema).", + "help_log_level": "Establezca el nivel de detalle del registro de 0 (solo errores) en 9 (detallado).", + "help_lsp_config": "Especifique el parámetro como una ruta de acceso absoluta o relativa a la raíz del área de trabajo o su carpeta .github.", + "help_disable_telemetry": "Deshabilite el envío de datos de telemetría.", + "auth_device_flow_prompt": "Para autenticarse con GitHub, copie el código {0} y visite {1}. Esperando autorización...", + "auth_timed_out": "Se agotó el tiempo de espera para la autorización.", + "auth_success": "Se ha autenticado correctamente con GitHub.", + "auth_save_failed": "La autenticación de GitHub se realizó correctamente, pero no se pudieron guardar los tokens.", + "auth_keyring_error": "Error de conjunto de claves: {0}", + "auth_keyring_locked": "La colección de teclados está bloqueada. Desbloquee o reinicie gnome-keyring-daemon.", + "auth_keyring_unavailable": "No hay ningún servicio de conjunto de claves disponible. Instalación e inicio de gnome-keyring: sudo apt install gnome-keyring", + "auth_try_plaintext": "O bien, permita el almacenamiento de texto sin formato pasando --login --allow-plaintext-secret-storage.", + "auth_expired": "El código de dispositivo ha expirado. Inténtelo de nuevo.", + "auth_denied": "El usuario denegó la autorización.", + "auth_unexpected_error": "Error inesperado durante el sondeo: {0}", + "auth_login_failed": "Error de inicio de sesión de GitHub. Intente ejecutar con --login desde la línea de comandos para iniciar sesión.", + "auth_eula_required": "Se debe aceptar el EULA para continuar. Se ejecuta con --accept-eula.", + "auth_already_authenticated": "Ya se ha autenticado con GitHub. Use --force-login para volver a autenticarse.", + "config_unsupported_version": "Error de inicialización: versión de configuración no admitida. Solo se admite la versión 1.", + "config_file_not_found": "Error de inicialización: no se encontró el archivo de configuración ''{0}\".", + "config_parse_failed": "Error de inicialización: no se puede analizar el archivo de configuración ''{0}\". Compruebe el formato JSON. Error: {1}", + "config_repo_path_invalid": "Error de inicialización: \"repositoryPath\" no está configurado o no es válido.", + "config_missing_source": "Error de inicialización: se debe configurar \"compileCommands\" o \"cppProperties\".", + "config_dual_source": "Error de inicialización: no se pueden configurar a la vez \"compileCommands\" y \"cppProperties\".", + "config_compile_commands_not_found": "Error de inicialización: no se encontró la ruta de acceso \"compileCommands\": \"{0}\".", + "config_cpp_properties_not_found": "Error de inicialización: no se encontró la ruta de acceso \"cppProperties\": \"{0}\".", + "config_cpp_properties_parse_failed": "Error de inicialización: no se puede analizar el archivo especificado por \"cppProperties\": \"{0}\". Compruebe el formato JSON. Error: {1}", + "config_cpp_properties_schema_invalid": "Error de inicialización: no se puede leer la configuración del archivo \"cppProperties\": \"{0}\". Compruebe el esquema.", + "config_no_configurations": "Error de inicialización: \"{0}\" no contiene una matriz \"configurations\" válida.", + "config_configuration_not_found": "Error de inicialización: no se encontró la configuración \"{0}\" en el archivo 'cppProperties': \"{1}\".", + "config_paths_cache_missing": "Error de inicialización: falta la caché de rutas de acceso de configuración LSP.", + "curl_not_found": "No se encontró libcurl ({0}). libcurl es necesario para la autenticación y la telemetría.", + "curl_install_macos": "libcurl debe estar disponible en macOS de forma predeterminada. Si falta, instálelo a través de: brew install curl", + "curl_install_linux": "Instale libcurl: sudo apt install libcurl4 (Debian/Ubuntu) o sudo dnf install libcurl (Fedora/RHEL).", + "curl_symbols_missing": "libcurl se cargó, pero faltan los símbolos necesarios. Esto puede indicar una versión de libcurl muy antigua o incompatible. El servidor de lenguaje no puede funcionar sin un libcurl compatible.", + "keytar_not_found": "libsecret-1.so.0 no se encuentra ({0}). libsecret es necesario para el almacenamiento seguro de credenciales. Instale libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) o sudo dnf install libsecret (Fedora/RHEL).", + "keytar_symbols_missing": "libsecret se ha cargado, pero faltan los símbolos necesarios. El servidor de lenguaje no puede funcionar sin una versión compatible de libsecret.", + "telemetry_disable_failed": "No se pudo deshabilitar la telemetría.", + "lsp_method_not_found": "Método no encontrado: {0}", + "intellisense_same_canonical_path": "No se puede procesar IntelliSense para un archivo con la misma ruta de acceso canónica que un archivo existente. URI: {0}, ruta de acceso canónica: {1}", + "status_initializing": "Inicializando", + "status_initializing_with_n_of_m": "Inicializando ({0} de {1})", + "status_initializing_with_n_of_m_and_text": "Inicializando ({0} de {1}): {2}", + "status_initializing_with_text": "Inicializando {0}", + "status_initializing_projects": "Inicializando proyectos", + "status_initializing_projects_with_n_of_m": "Inicializando proyectos ({0} de {1})", + "status_initializing_projects_with_n_of_m_and_text": "Inicializando proyectos ({0} de {1}): {2}", + "status_initializing_projects_with_text": "Iniciando el proyecto {0}", + "status_checking_for_outdated_files": "Comprobando si hay archivos obsoletos", + "status_checking_for_outdated_files_with_n_of_m": "Comprobando si hay archivos obsoletos ({0} de {1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "Comprobando si hay archivos obsoletos ({0} de {1}): {2}", + "status_checking_for_outdated_files_with_text": "Comprobando si hay archivos no actualizados {0}", + "status_parsing_files": "Análisis de archivos", + "status_parsing_files_with_n_of_m": "Analizar archivos ({0} de {1})", + "status_parsing_files_with_n_of_m_and_text": "Análisis de archivos ({0} de {1}): {2}", + "status_parsing_files_with_text": "Análisis de archivos {0}", + "status_parsing_includes": "Análisis de archivos incluidos", + "status_parsing_includes_with_n_of_m": "Análisis de archivos incluidos ({0} de {1})", + "status_parsing_includes_with_n_of_m_and_text": "Análisis de archivos incluidos ({0} de {1}): {2}", + "status_parsing_includes_with_text": "Análisis de archivos incluidos {0}", + "status_scanning_includes": "Examinando #includes en busca de más archivos", + "status_scanning_includes_with_n_of_m": "Examinando #includes en busca de más archivos ({0} de {1})", + "status_scanning_includes_with_n_of_m_and_text": "Examinando #includes en busca de más archivos ({0} de {1}): {2}", + "status_scanning_includes_with_text": "Examinando #includes en busca de más archivos {0} {1}", + "status_updating_external_dependencies": "Listo (actualizando dependencias externas)", + "status_updating_external_dependencies_with_n_of_m": "Listo (actualizando dependencias externas) ({0} de {1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "Listo (actualizando dependencias externas) ({0} de {1}): {2}", + "status_updating_external_dependencies_with_text": "Listo (actualizando dependencias externas) {0}", + "status_optimizing_database": "Listo (optimizando la base de datos)", + "status_optimizing_database_with_n_of_m": "Listo (optimización de la base de datos) ({0} de {1})", + "status_optimizing_database_with_n_of_m_and_text": "Listo (optimización de la base de datos) ({0} de {1}): {2}", + "status_optimizing_database_with_text": "Listo (optimizando la base de datos) {0}", + "status_creating_indexes": "Creando índices", + "status_creating_indexes_with_n_of_m": "Creación de índices ({0} de {1})", + "status_creating_indexes_with_n_of_m_and_text": "Creando índices ({0} de {1}): {2}", + "status_creating_indexes_with_text": "Creación de índices {0}", + "status_evaluating_file": "Evaluando", + "status_evaluating_file_with_n_of_m": "Evaluación ({0} de {1})", + "status_evaluating_file_with_n_of_m_and_text": "Evaluando ({0} de {1}): {2}", + "status_evaluating_file_with_text": "Evaluación {0}", + "status_indexing_files": "Indexación de archivos", + "status_indexing_files_with_n_of_m": "Indexación de archivos ({0} de {1})", + "status_indexing_files_with_n_of_m_and_text": "Indexación de archivos ({0} de {1}): {2}", + "status_indexing_files_with_text": "Indexación de archivos {0}", + "help_allow_missing_lsp_config": "Permita que el servidor se inicie incluso si el archivo --lsp-config especificado no existe.", + "initialize_failed_during_engine_setup": "Error de inicialización durante la configuración del motor.", + "important_label": "Importante:" } \ No newline at end of file diff --git a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index af10336f5..43d907f5d 100644 --- a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Instalación de un compilador de C++ en Windows", "walkthrough.windows.text1": "Si está desarrollando C++ para Windows, le recomendamos que instale el compilador Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Para instalar MSVC, abra el terminal de VS Code (CTRL + `) y pegue el siguiente comando:\n", + "walkthrough.windows.text2": "Para instalar MSVC, abra el terminal de VS Code (CTRL + `) y pegue el siguiente comando:", "walkthrough.windows.note1": "Nota", "walkthrough.windows.note1.text": "Puede usar el conjunto de herramientas de C++ de Visual Studio Build Tools junto con Visual Studio Code para compilar y comprobar cualquier código base de C++, siempre que también tenga una licencia de Visual Studio válida (Community, Pro o Enterprise) que esté usando de manera activa para desarrollar ese código base de C++.", "walkthrough.windows.verify.compiler": "Comprobación de la instalación del compilador", diff --git a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index af10336f5..43d907f5d 100644 --- a/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/esn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Instalación de un compilador de C++ en Windows", "walkthrough.windows.text1": "Si está desarrollando C++ para Windows, le recomendamos que instale el compilador Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Para instalar MSVC, abra el terminal de VS Code (CTRL + `) y pegue el siguiente comando:\n", + "walkthrough.windows.text2": "Para instalar MSVC, abra el terminal de VS Code (CTRL + `) y pegue el siguiente comando:", "walkthrough.windows.note1": "Nota", "walkthrough.windows.note1.text": "Puede usar el conjunto de herramientas de C++ de Visual Studio Build Tools junto con Visual Studio Code para compilar y comprobar cualquier código base de C++, siempre que también tenga una licencia de Visual Studio válida (Community, Pro o Enterprise) que esté usando de manera activa para desarrollar ese código base de C++.", "walkthrough.windows.verify.compiler": "Comprobación de la instalación del compilador", diff --git a/Extension/i18n/fra/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/fra/c_cpp_properties.schema.json.i18n.json index 98760d951..6c4dae507 100644 --- a/Extension/i18n/fra/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/fra/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "Défini sur `true` pour traiter uniquement les fichiers directement ou indirectement inclus en tant qu’en-têtes. Défini sur `false` pour traiter tous les fichiers sous les chemins d’accès Include spécifiés.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Chemin de la base de données de symboles générée. Si un chemin relatif est spécifié, il est relatif à l'emplacement de stockage par défaut de l'espace de travail.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Liste de chemins à utiliser pour l'indexation et l'analyse des symboles d'espace de travail (à utiliser par 'Atteindre la définition', 'Rechercher toutes les références', etc.). La recherche sur ces chemins est récursive par défaut. Spécifiez `*` pour indiquer une recherche non récursive. Par exemple, `${workspaceFolder}` permet d'effectuer une recherche parmi tous les sous-répertoires, ce qui n'est pas le cas de `${workspaceFolder}/*`.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "Affectez la valeur `always` pour toujours réduire le nombre de chemins d’accès d’inclusion récursive fournis à IntelliSense uniquement aux chemins actuellement référencés par des instructions #include. Pour cela, vous devez d’abord analyser les fichiers pour déterminer quels en-têtes sont inclus. Affectez la valeur `never` pour fournir tous les chemins d’accès d’inclusion récursive à IntelliSense. La réduction du nombre de chemins d’accès d’inclusion récursive peut améliorer les performances d’IntelliSense lorsque de très nombreux chemins d’accès d’inclusion récursive sont impliqués. Ne pas réduire le nombre de chemins d’accès d’inclusion récursive peut améliorer les performances d’IntelliSense en évitant la nécessité d’analyser les fichiers pour déterminer quels chemins d’accès d’inclusion fournir. La valeur `default` permet actuellement de réduire le nombre de chemins d’accès d’inclusion récursive fournis à IntelliSense.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "Priorité des chemins d’accès d’inclusion récursive. Si la valeur est `beforeSystemIncludes`, les chemins d’accès d’inclusion récursive seront recherchés avant les chemins d’accès d’inclusion système. Si la valeur est `afterSystemIncludes`, les chemins d’accès d’inclusion récursive seront recherchés après les chemins d’accès d’inclusion système. `beforeSystemIncludes` reflète plus étroitement l’ordre de recherche d’un compilateur, tandis que `afterSystemIncludes` peut améliorer les performances.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "Ordre dans lequel les sous-répertoires des inclusions récursives sont recherchés.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Variables personnalisées qui peuvent être interrogées par le biais de la commande `${cpptools:activeConfigCustomVariable}` à utiliser pour les variables d'entrée dans `launch.json` ou `tasks.json`.", diff --git a/Extension/i18n/fra/package.i18n.json b/Extension/i18n/fra/package.i18n.json index 9d2b1d888..3d46e19b8 100644 --- a/Extension/i18n/fra/package.i18n.json +++ b/Extension/i18n/fra/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Expression régulière étendue POSIX (ERE) correspondant aux noms des en-têtes à partir des diagnostics de sortie. Les diagnostics du fichier principal de chaque unité de traduction sont toujours affichés. La variable `${workspaceFolder}` est prise en charge (et est utilisée comme valeur de secours par défaut si aucun fichier `.clang-tidy` n’existe). Si cette option n’est pas `null` (vide), elle remplace l’option `HeaderFilterRegex` dans un fichier `.clang-tidy`, le cas échéant.", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "Arguments de ligne de commande supplémentaires à passer à `clang-tidy`. Ces paramètres sont prioritaires sur les paramètres équivalents `C_Cpp.codeAnalysis.clangTidy.*`.", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "Si `true` et `compileCommands` sont définis, l’argument `-p=` est passé à `clang-tidy` au lieu de passer les arguments de build après `--`. Cela peut ne pas fonctionner si les variables d’environnement ne sont pas définies de façon à trouver les fichiers Include du système.", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Liste des vérifications `clang-tidy` activées. Les valeurs sont ajoutées aux `Checks` dans un fichier `.clang-tidy` ou `#C_Cpp.codeAnalysis.clangTidy.config#`, le cas échéant. La vérification par défaut `clang-analyzer-*` est toujours utilisée, sauf si elle est explicitement désactivée.", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Liste des vérifications `clang-tidy` activées. Les valeurs sont ajoutées aux `Checks` dans un fichier `.clang-tidy` ou `#C_Cpp.codeAnalysis.clangTidy.config#`, le cas échéant. La vérification par défaut `clang-analyzer-core.*`est toujours utilisée, sauf si elle est explicitement désactivée.", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "Liste des vérifications `clang-tidy` désactivées. Les valeurs sont ajoutées aux `Checks` dans un fichier `.clang-tidy` ou `#C_Cpp.codeAnalysis.clangTidy.config#`, le cas échéant.", "c_cpp.configuration.formatting.description": "Configure le moteur de mise en forme.", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "`clang-format` sera utilisé pour mettre en forme le code.", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Caractère utilisé comme séparateur de chemins d’accès pour les chemins d’utilisateur générés.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Si la valeur est `true`, les info-bulles de pointage et d'autocomplétion affichent uniquement certaines étiquettes de commentaires structurés. Sinon, tous les commentaires sont affichés.", "c_cpp.configuration.doxygen.generateOnType.description": "Contrôle s’il faut insérer automatiquement le commentaire Doxygen après avoir tapé le style de commentaire choisi.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Contrôle si l’action de code permettant de générer un commentaire Doxygen est activée.", "c_cpp.configuration.doxygen.generatedStyle.description": "Chaîne de caractères utilisée comme ligne de départ du commentaire Doxygen.", "c_cpp.configuration.doxygen.sectionTags.description": "Sélectionnez les balises de section Doxygen que vous souhaitez afficher sur le pointage dans la zone d’info-bulle lorsque le paramètre « Simplifier les commentaires structurés » est activé. ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "Modèle qui commence un bloc de commentaires multiligne ou monoligne. Le modèle consécutif a la valeur par défaut ` * ` pour les blocs de commentaires multilignes ou cette chaîne pour les blocs de commentaires monolignes.", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "La valeur est false si cette entrée est utilisée uniquement pour le mappage d'emplacements de frame de pile. La valeur est true si cette entrée doit également être utilisée au moment de la spécification d'emplacements de point d'arrêt.", "c_cpp.debuggers.symbolOptions.description": "Options permettant de contrôler la façon dont les symboles (fichiers .pdb) sont trouvés et chargés.", "c_cpp.debuggers.unknownBreakpointHandling.description": "Contrôle la façon dont les points d’arrêt définis en externe (généralement via des commandes GDB brutes) sont gérés en cas d’accès.\nLes valeurs autorisées sont « throw », qui agit comme si une exception était levée par l’application, et « stop », qui suspend uniquement la session de débogage. La valeur par défaut est « throw ».", + "c_cpp.debuggers.debuginfod.description": "Permet de contrôler le comportement de debuginfod par GDB pour télécharger les symboles de débogage à partir de serveurs debuginfod.", + "c_cpp.debuggers.debuginfod.enabled.description": "Si la valeur est true (par défaut), la prise en charge de debuginfod par GDB est activée. Définissez-la sur false pour empêcher GDB de contacter des serveurs debuginfod.", + "c_cpp.debuggers.debuginfod.timeout.description": "Délai d’expiration en secondes pour les requêtes du serveur debuginfod. La valeur par défaut est 30. Définissez sur 0 pour utiliser les valeurs par défaut de GDB/libdebuginfod (aucune substitution).", "c_cpp.debuggers.VSSymbolOptions.description": "Fournit la configuration pour localiser et charger des symboles sur l’adaptateur de débogage.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "Tableau d’URL de serveur de symboles (exemple : http​://MyExampleSymbolServer) ou répertoires (exemple : /build/symbols) pour rechercher des fichiers .pdb. Ces répertoires seront recherchés en plus des emplacements par défaut, en regard du module et du chemin d’accès vers lequel le fichier pdb a été supprimé à l’origine.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "Si la valeur est « true », le serveur de symboles Microsoft (https​://msdl.microsoft.com​/download/symbols) est ajouté au chemin de recherche des symboles. Si elle n’est pas spécifiée, cette option a la valeur par défaut « false ».", diff --git a/Extension/i18n/fra/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/fra/src/Debugger/debugAdapterDescriptorFactory.i18n.json index 04de7143e..2e42f9a27 100644 --- a/Extension/i18n/fra/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/fra/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "Le type de débogueur '{0}' n’est pas disponible pour les machines non Windows." + "debugger.not.available": "Le type de débogueur '{0}' n’est pas disponible pour les machines non Windows.", + "debugger.noDebug.requestType.not.supported": "L’exécution sans débogage n’est prise en charge que pour les configurations de lancement.", + "debugger.noDebug.pipeTransport.not.supported": "L’exécution sans débogage n’est pas prise en charge pour les configurations où « pipeTransport » est défini.", + "debugger.noDebug.debugServerPath.not.supported": "L’exécution sans débogage n’est pas prise en charge pour les configurations où « debugServerPath » est défini.", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "L’exécution sans débogage n’est pas prise en charge pour les configurations où « miDebuggerServerAddress » est défini.", + "debugger.noDebug.coreDumpPath.not.supported": "L’exécution sans débogage n’est pas prise en charge pour les configurations où « coreDumpPath » est défini." } \ No newline at end of file diff --git a/Extension/i18n/fra/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/fra/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..52f9e9c95 --- /dev/null +++ b/Extension/i18n/fra/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "Émulateur de terminal introuvable. Veuillez définir la variable d’environnement $TERMINAL sur l’émulateur de terminal de votre choix, ou installez l’un des éléments suivants : x-terminal-emulator, gnome-terminal, konsole, xterm." +} \ No newline at end of file diff --git a/Extension/i18n/fra/src/nativeStrings.i18n.json b/Extension/i18n/fra/src/nativeStrings.i18n.json index 657c7ac29..83ce896b1 100644 --- a/Extension/i18n/fra/src/nativeStrings.i18n.json +++ b/Extension/i18n/fra/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "« {0} » n'a pas été trouvé dans les fichiers compile_commands.json. « includePath » from c_cpp_properties.json in folder « {1} » sera utilisé pour ce fichier à la place.", "copilot_hover_link": "Générer un résumé de Copilot", "browse_path_not_found": "Impossible d’indexer des fichiers à partir d’un dossier inexistant : {0}", - "license_terms": "Vous ne pouvez utiliser l’extension C/C++ qu’avec Microsoft Visual Studio, Visual Studio pour Mac, Visual Studio Code, Azure DevOps, Team Foundation Server et les produits et services Microsoft qui leur succèdent pour développer et tester vos applications." + "license_terms": "Vous ne pouvez utiliser l’extension C/C++ qu’avec Microsoft Visual Studio, Visual Studio pour Mac, Visual Studio Code, Azure DevOps, Team Foundation Server et les produits et services Microsoft qui leur succèdent pour développer et tester vos applications.", + "help_title": "Serveur de langage Microsoft C++", + "help_usage": "Utilisation : {0} [options]", + "help_options_header": "Options :", + "help_help": "Afficher ce message d’aide et quitter.", + "help_version": "Afficher les informations de version et quitter.", + "help_accept_eula": "Acceptez définitivement le Contrat de licence utilisateur final (CLUF).", + "help_stderr": "Ne redirigez pas stderr vers /dev/null (utile pour le débogage).", + "help_login": "Lancez une connexion interactive (abonnement à GitHub Copilot requis).", + "help_force_login": "Forcer le processus de connexion, même si vous êtes déjà authentifié(e).", + "help_allow_plaintext": "Autoriser le stockage des informations d’identification en texte clair si un trousseau sécurisé n’est pas disponible.", + "help_log_dir": "Spécifiez le répertoire des fichiers journaux (par défaut : répertoire temporaire système).", + "help_log_level": "Définissez le niveau de détail de la journalisation de 0 (erreurs uniquement) à 9 (très détaillé).", + "help_lsp_config": "Spécifiez le paramètre sous forme de chemin absolu, ou relatif à la racine de l’espace de travail ou à son dossier .github.", + "help_disable_telemetry": "Désactivez l’envoi de données de télémétrie.", + "auth_device_flow_prompt": "Pour vous authentifier auprès de GitHub, copiez le code {0}, puis rendez-vous sur {1}. En attente de l’autorisation...", + "auth_timed_out": "Le délai d’attente pour l’autorisation a expiré.", + "auth_success": "Authentification réussie auprès de GitHub.", + "auth_save_failed": "L’authentification GitHub a réussi, mais les jetons n’ont pas pu être enregistrés.", + "auth_keyring_error": "Erreur de trousseau : {0}", + "auth_keyring_locked": "La collection de trousseaux de clés est verrouillée. Déverrouillez-la ou redémarrez gnome-keyring-daemon.", + "auth_keyring_unavailable": "Aucun service de trousseau n’est disponible. Installez et démarrez gnome-keyring : sudo apt install gnome-keyring", + "auth_try_plaintext": "Ou autorisez le stockage en texte clair en passant --login --allow-plaintext-secret-storage.", + "auth_expired": "Le code de l’appareil a expiré. Veuillez réessayer.", + "auth_denied": "L’autorisation a été refusée par l’utilisateur(-trice).", + "auth_unexpected_error": "Erreur inattendue lors de l’interrogation : {0}", + "auth_login_failed": "Nous n’avons pas pu effectuer la connexion à GitHub. Essayez d’exécuter la commande avec --login depuis la ligne de commande pour vous connecter.", + "auth_eula_required": "Le CLUF doit être accepté pour continuer. Exécutez avec --accept-eula.", + "auth_already_authenticated": "Déjà authentifié auprès de GitHub. Utilisez --force-login pour vous réauthentifier.", + "config_unsupported_version": "Échec de l’initialisation : version de configuration non prise en charge. Seule la version 1 est prise en charge.", + "config_file_not_found": "Échec de l’initialisation : le fichier de configuration « {0} » est introuvable.", + "config_parse_failed": "Échec de l’initialisation : impossible d’analyser le fichier de configuration « {0} ». Vérifiez le format JSON. Erreur : {1}", + "config_repo_path_invalid": "Échec de l’initialisation : « repositoryPath » n’est pas configuré ou n’est pas valide.", + "config_missing_source": "Échec de l’initialisation : « compileCommands » ou « cppProperties » doit être configuré.", + "config_dual_source": "Échec de l’initialisation : « compileCommands » et « cppProperties » ne peuvent pas être configurés simultanément.", + "config_compile_commands_not_found": "Échec de l’initialisation : chemin « compileCommands » introuvable : « {0} ».", + "config_cpp_properties_not_found": "Échec de l’initialisation : chemin « cppProperties » introuvable : « {0} ».", + "config_cpp_properties_parse_failed": "Échec de l’initialisation : nous ne pouvons pas analyser le fichier spécifié par « cppProperties » : « {0} ». Vérifiez le format JSON. Erreur : {1}", + "config_cpp_properties_schema_invalid": "Échec de l’initialisation : impossible de lire la configuration à partir du fichier « cppProperties » : « {0} ». Vérifiez le schéma.", + "config_no_configurations": "Échec de l’initialisation : « {0} » ne contient pas de tableau « configurations » valide.", + "config_configuration_not_found": "Échec de l’initialisation : la configuration « {0} » est introuvable dans le fichier « cppProperties » : « {1} ».", + "config_paths_cache_missing": "Échec de l’initialisation : le cache des chemins de configuration LSP est manquant.", + "curl_not_found": "libcurl introuvable ({0}). libcurl est requis pour l’authentification et la télémétrie.", + "curl_install_macos": "libcurl doit être disponible par défaut sur macOS. S’il est manquant, installez-le avec : brew install curl", + "curl_install_linux": "Installez libcurl : sudo apt install libcurl4 (Debian/Ubuntu) ou sudo dnf install libcurl (Fedora/RHEL).", + "curl_symbols_missing": "libcurl chargé, mais les symboles requis sont manquants. Cela peut indiquer une version très ancienne ou incompatible de libcurl. Le serveur de langage ne peut pas fonctionner sans une version compatible de libcurl.", + "keytar_not_found": "libsecret-1.so.0 introuvable ({0}). libsecret est requis pour le stockage sécurisé des informations d’identification. Installez libsecret : sudo apt install libsecret-1-0 (Debian/Ubuntu) ou sudo dnf install libsecret (Fedora/RHEL).", + "keytar_symbols_missing": "libsecret chargé, mais les symboles requis sont manquants. Le serveur de langage ne peut pas fonctionner sans une version compatible de libsecret.", + "telemetry_disable_failed": "Échec de la désactivation de la télémétrie.", + "lsp_method_not_found": "Méthode introuvable : {0}", + "intellisense_same_canonical_path": "Nous ne pouvons pas traiter IntelliSense pour un fichier ayant le même chemin canonique qu’un fichier existant. URI : {0}, chemin canonique : {1}", + "status_initializing": "Initialisation en cours", + "status_initializing_with_n_of_m": "Initialisation en cours ({0} sur {1})", + "status_initializing_with_n_of_m_and_text": "Initialisation en cours ({0} sur {1}) : {2}", + "status_initializing_with_text": "Initialisation de {0}", + "status_initializing_projects": "Initialisation des projets", + "status_initializing_projects_with_n_of_m": "Initialisation des projets ({0} sur {1})", + "status_initializing_projects_with_n_of_m_and_text": "Initialisation des projets ({0} sur {1}) : {2}", + "status_initializing_projects_with_text": "Initialisation des projets {0}", + "status_checking_for_outdated_files": "Recherche de fichiers obsolètes", + "status_checking_for_outdated_files_with_n_of_m": "Recherche de fichiers obsolètes ({0} sur {1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "Recherche de fichiers obsolètes ({0} sur {1}) : {2}", + "status_checking_for_outdated_files_with_text": "Recherche de fichiers obsolètes {0}", + "status_parsing_files": "Analyse des fichiers", + "status_parsing_files_with_n_of_m": "Analyse des fichiers ({0} sur {1})", + "status_parsing_files_with_n_of_m_and_text": "Analyse des fichiers ({0} sur {1}) : {2}", + "status_parsing_files_with_text": "Analyse des fichiers {0}", + "status_parsing_includes": "Analyse des fichiers inclus", + "status_parsing_includes_with_n_of_m": "Analyse des fichiers inclus ({0} sur {1})", + "status_parsing_includes_with_n_of_m_and_text": "Analyse des fichiers inclus ({0} sur {1}) : {2}", + "status_parsing_includes_with_text": "Analyse des fichiers incluse {0}", + "status_scanning_includes": "Analyse des #includes pour des fichiers supplémentaires", + "status_scanning_includes_with_n_of_m": "Analyse des #includes pour des fichiers supplémentaires ({0} sur {1})", + "status_scanning_includes_with_n_of_m_and_text": "Analyse des #includes pour des fichiers supplémentaires ({0} sur {1}) : {2}", + "status_scanning_includes_with_text": "Analyse des #includes pour des fichiers supplémentaires {0} {1}", + "status_updating_external_dependencies": "Prêt (mise à jour des dépendances externes)", + "status_updating_external_dependencies_with_n_of_m": "Prêt(e) (mise à jour des dépendances externes) ({0} sur {1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "Prêt(e) (mise à jour des dépendances externes) ({0} sur {1}) : {2}", + "status_updating_external_dependencies_with_text": "Prêt(e) (mise à jour des dépendances externes) {0}", + "status_optimizing_database": "Prêt (optimisation de la base de données)", + "status_optimizing_database_with_n_of_m": "Prêt (optimisation de la base de données) ({0} sur {1})", + "status_optimizing_database_with_n_of_m_and_text": "Prêt (optimisation de la base de données) ({0} sur {1}) : {2}", + "status_optimizing_database_with_text": "Prêt (optimisation de la base de données) {0}", + "status_creating_indexes": "Création d’index", + "status_creating_indexes_with_n_of_m": "Création d’index ({0} sur {1})", + "status_creating_indexes_with_n_of_m_and_text": "Création d’index ({0} sur {1}) : {2}", + "status_creating_indexes_with_text": "Création d’index {0}", + "status_evaluating_file": "Évaluation", + "status_evaluating_file_with_n_of_m": "Évaluation ({0} sur {1})", + "status_evaluating_file_with_n_of_m_and_text": "Évaluation ({0} sur {1}) : {2}", + "status_evaluating_file_with_text": "Évaluation de {0} en cours...", + "status_indexing_files": "Indexation des fichiers", + "status_indexing_files_with_n_of_m": "Indexation des fichiers ({0} sur {1})", + "status_indexing_files_with_n_of_m_and_text": "Indexation des fichiers ({0} sur {1}) : {2}", + "status_indexing_files_with_text": "Indexation des fichiers {0}", + "help_allow_missing_lsp_config": "Autorisez le serveur à démarrer même si le fichier --lsp-config spécifié n’existe pas.", + "initialize_failed_during_engine_setup": "Échec de l’initialisation lors de la configuration du moteur.", + "important_label": "Important :" } \ No newline at end of file diff --git a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index d4802a35e..54eca74e3 100644 --- a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Installer un compilateur C++ sur Windows", "walkthrough.windows.text1": "Si vous effectuez un développement C++ pour Windows, nous vous recommandons d’installer le compilateur Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Pour installer MSVC, ouvrez le terminal VS Code (CTRL + `) et collez-le dans la commande suivante :\n", + "walkthrough.windows.text2": "Pour installer MSVC, ouvrez le terminal VS Code (CTRL + `) et collez-le dans la commande suivante :", "walkthrough.windows.note1": "Remarque", "walkthrough.windows.note1.text": "Vous pouvez utiliser l’ensemble d’outils C++ à partir de Visual Studio Build Tools avec Visual Studio Code pour compiler, générer et vérifier n’importe quelle base de code C++, tant que vous disposez également d’une licence Visual Studio valide (Community, Pro ou Enterprise) que vous utilisez activement pour développer cette base de code C++.", "walkthrough.windows.verify.compiler": "Vérification de l’installation du compilateur", diff --git a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index d4802a35e..54eca74e3 100644 --- a/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/fra/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Installer un compilateur C++ sur Windows", "walkthrough.windows.text1": "Si vous effectuez un développement C++ pour Windows, nous vous recommandons d’installer le compilateur Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Pour installer MSVC, ouvrez le terminal VS Code (CTRL + `) et collez-le dans la commande suivante :\n", + "walkthrough.windows.text2": "Pour installer MSVC, ouvrez le terminal VS Code (CTRL + `) et collez-le dans la commande suivante :", "walkthrough.windows.note1": "Remarque", "walkthrough.windows.note1.text": "Vous pouvez utiliser l’ensemble d’outils C++ à partir de Visual Studio Build Tools avec Visual Studio Code pour compiler, générer et vérifier n’importe quelle base de code C++, tant que vous disposez également d’une licence Visual Studio valide (Community, Pro ou Enterprise) que vous utilisez activement pour développer cette base de code C++.", "walkthrough.windows.verify.compiler": "Vérification de l’installation du compilateur", diff --git a/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json index 106635716..8c98c3859 100644 --- a/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/ita/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "Impostare su `true` per elaborare solo i file inclusi direttamente o indirettamente come intestazioni, su `false` per elaborare tutti i file nei percorsi di inclusione specificati.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Percorso del database dei simboli generato. Se viene specificato un percorso relativo, sarà relativo al percorso di archiviazione predefinito dell'area di lavoro.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Elenco di percorsi da usare per l'indicizzazione e l'analisi dei simboli dell'area di lavoro (usati da 'Vai alla definizione', 'Trova tutti i riferimenti' e così via). Per impostazione predefinita, la ricerca in questi percorsi è ricorsiva. Specificare `*` per indicare la ricerca non ricorsiva. Ad esempio, con `${workspaceFolder}` la ricerca verrà estesa a tutte le sottodirectory, mentre con `${workspaceFolder}/*` sarà limitata a quella corrente.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "Imposta su `always` per ridurre sempre il numero di percorsi di inclusione ricorsivi forniti a IntelliSense, limitandoli solo ai percorsi attualmente referenziati da istruzioni #include. Per determinare quali intestazioni sono incluse, è necessario prima analizzare i file. Imposta su `never` per fornire tutti i percorsi di inclusione ricorsivi a IntelliSense. La riduzione del numero di percorsi di inclusione ricorsivi può migliorare le prestazioni di IntelliSense in caso di un numero molto elevato di percorsi di inclusione ricorsivi. Non ridurre il numero di percorsi di inclusione ricorsivi può migliorare le prestazioni di IntelliSense evitando la necessità di analizzare i file per determinare quali percorsi di inclusione fornire. Il valore `default` attualmente consente di ridurre il numero di percorsi di inclusione ricorsivi forniti a IntelliSense.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "La priorità dei percorsi di inclusione ricorsivi. Se impostato su `beforeSystemIncludes`, i percorsi di inclusione ricorsivi verranno cercati prima dei percorsi di inclusione di sistema. Se impostato su `afterSystemIncludes`, i percorsi di inclusione ricorsivi verranno cercati dopo i percorsi di inclusione di sistema. `beforeSystemIncludes` rifletterebbe più accuratamente l'ordine di ricerca di un compilatore, mentre `afterSystemIncludes` potrebbe migliorare le prestazioni.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "L'ordine in cui vengono cercate le sottodirectory dei percorsi di inclusione ricorsivi.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Variabili personalizzate su cui è possibile eseguire query tramite il comando `${cpptools:activeConfigCustomVariable}` da usare per le variabili di input in `launch.json` o `tasks.json`.", diff --git a/Extension/i18n/ita/package.i18n.json b/Extension/i18n/ita/package.i18n.json index d2b315bf9..1a73943f9 100644 --- a/Extension/i18n/ita/package.i18n.json +++ b/Extension/i18n/ita/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Espressione regolare estesa POSIX (ERE) corrispondente ai nomi delle intestazioni da cui eseguire la diagnostica di output. La diagnostica dal file principale di ogni unità di conversione viene sempre visualizzata. La variabile `${workspaceFolder}` è supportata e viene usata come valore di fallback predefinito se non esiste alcun file `.clang-tidy`. Se questa opzione non è `null` (vuota), esegue l'override dell'opzione `HeaderFilterRegex` in un file `.clang-tidy`, se presente.", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "Argomenti aggiuntivi della riga di comando da passare a `clang-tidy`. Hanno la precedenza sulle impostazioni equivalenti di `C_Cpp.codeAnalysis.clangTidy.*`.", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "Se `true` e `compileCommands` sono impostati, l'argomento `-p=` viene passato a `clang-tidy` anziché agli argomenti di compilazione passati dopo `--`. Questa operazione potrebbe non funzionare se le variabili di ambiente non sono impostate in modo da poter trovare direttive include di sistema.", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Elenco dei controlli `clang-tidy` abilitati. I valori vengono aggiunti a `Checks` in un file `.clang-tidy` o `#C_Cpp.codeAnalysis.clangTidy.config#`, se presente. Il controllo predefinito `clang-analyzer-*` viene sempre usato a meno che non sia disabilitato in modo esplicito.", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Elenco dei controlli `clang-tidy` abilitati. I valori vengono accodati a `Checks` in un file `.clang-tidy` o `#C_Cpp.codeAnalysis.clangTidy.config#`, se presente. Viene sempre usato il controllo predefinito `clang-analyzer-core.*` a meno che non venga disabilitato in modo esplicito.", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "Elenco dei controlli `clang-tidy` disabilitati. I valori vengono aggiunti a `Checks` in un file `.clang-tidy` o `#C_Cpp.codeAnalysis.clangTidy.config#`, se presente.", "c_cpp.configuration.formatting.description": "Configurare il motore di formattazione.", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "Per formattare il codice, verrà usato `clang-format`.", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Carattere utilizzato come separatore di percorso per i percorsi utente generati.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Se è `true`, le descrizioni comando al passaggio del mouse e del completamento automatico visualizzeranno solo alcune etichette di commenti strutturati. In caso contrario, vengono visualizzati tutti i commenti.", "c_cpp.configuration.doxygen.generateOnType.description": "Controlla se inserire automaticamente il commento Doxygen dopo aver digitato lo stile di commento scelto.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Controllare se l'azione codice per generare un commento Doxygen è abilitata.", "c_cpp.configuration.doxygen.generatedStyle.description": "Stringa di caratteri utilizzata come riga iniziale del commento Doxygen.", "c_cpp.configuration.doxygen.sectionTags.description": "Seleziona i tag di sezione Doxygen da visualizzare al passaggio del mouse nell'area della descrizione comando quando è abilitata l'impostazione 'Semplifica commenti strutturati'. ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "Criterio con cui inizia un blocco di commento su più righe o su una sola riga. Il criterio di continuazione è impostato su `* ` per i blocchi di commento su più righe o su questa stringa per i blocchi di commento su una sola riga.", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "False se questa voce viene usata solo per il mapping dei percorsi dello stack frame. True se questa voce deve essere usata anche quando si specificano i percorsi dei punti di interruzione.", "c_cpp.debuggers.symbolOptions.description": "Opzioni per controllare il modo in cui vengono trovati e caricati i simboli (file PDB).", "c_cpp.debuggers.unknownBreakpointHandling.description": "Controllare la modalità di gestione dei punti di interruzione impostati esternamente (in genere tramite comandi GDB non elaborati) quando vengono selezionati.\nI valori consentiti sono \"throw\", che funziona come se fosse stata generata un'eccezione dall'applicazione e \"stop\", che sospende solo la sessione di debug. Il valore predefinito è \"throw\".", + "c_cpp.debuggers.debuginfod.description": "Controllare il comportamento di debuginfod in GDB per il download dei simboli di debug dai server debuginfod.", + "c_cpp.debuggers.debuginfod.enabled.description": "Se true (impostazione predefinita), il supporto a debuginfod di GDB è abilitato. Impostare su false per impedire a GDB di contattare i server debuginfod.", + "c_cpp.debuggers.debuginfod.timeout.description": "Il timeout in secondi per le richieste al server debuginfod. Il valore predefinito è 30. Impostare su 0 per usare le impostazioni predefinite di GDB/libdebuginfod (senza override).", "c_cpp.debuggers.VSSymbolOptions.description": "Fornisce la configurazione per l'individuazione e il caricamento dei simboli nell'adattatore di debug.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "Matrice di URL del server dei simboli, ad esempio http​://MyExampleSymbolServer, o di directory, ad esempio /build/symbols, in cui eseguire la ricerca dei file PDB. La ricerca verrà eseguita in queste directory oltre che nei percorsi predefiniti, in aggiunta al modulo e al percorso in cui è stato rilasciato originariamente il file PDB.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "Se 'true', il server dei simboli Microsoft (https​://msdl.microsoft.com​/download/symbols) viene aggiunto al percorso di ricerca dei simboli. Se non è specificata, l'impostazione predefinita di questa opzione è 'false'.", diff --git a/Extension/i18n/ita/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/ita/src/Debugger/debugAdapterDescriptorFactory.i18n.json index ab3d0476b..3af87b013 100644 --- a/Extension/i18n/ita/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/ita/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "Il tipo di debugger '{0}' non è disponibile per computer non Windows." + "debugger.not.available": "Il tipo di debugger '{0}' non è disponibile per computer non Windows.", + "debugger.noDebug.requestType.not.supported": "L'opzione Esegui senza debug è supportata solo per le configurazioni di avvio.", + "debugger.noDebug.pipeTransport.not.supported": "L'opzione Esegui senza debug non è supportata per le configurazioni con \"pipeTransport\" impostato.", + "debugger.noDebug.debugServerPath.not.supported": "L'opzione Esegui senza debug non è supportata per le configurazioni con \"debugServerPath\" impostato.", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "L'opzione Esegui senza debug non è supportata per le configurazioni con \"miDebuggerServerAddress\" impostato.", + "debugger.noDebug.coreDumpPath.not.supported": "L'opzione Esegui senza debug non è supportata per le configurazioni con \"coreDumpPath\" impostato." } \ No newline at end of file diff --git a/Extension/i18n/ita/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/ita/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..3732030ac --- /dev/null +++ b/Extension/i18n/ita/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "Nessun emulatore di terminale trovato. Impostare la variabile d'ambiente $TERMINAL sull'emulatore del terminale preferito, oppure installarne uno dei seguenti: x-terminal-emulator, gnome-terminal, konsole, xterm." +} \ No newline at end of file diff --git a/Extension/i18n/ita/src/nativeStrings.i18n.json b/Extension/i18n/ita/src/nativeStrings.i18n.json index 0c48d859e..50c5fd083 100644 --- a/Extension/i18n/ita/src/nativeStrings.i18n.json +++ b/Extension/i18n/ita/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "\"{0}\" non è stato trovato nei file compile_commands.json. In alternativa per questo file verrà usato ''includePath'' del file c_cpp_properties.json nella cartella ''{1}''.", "copilot_hover_link": "Genera riepilogo Copilot", "browse_path_not_found": "Non è possibile indicizzare i file da una cartella non esistente: {0}", - "license_terms": "L'estensione C/C++ può essere utilizzata solo con Microsoft Visual Studio, Visual Studio per Mac, Visual Studio Code, Azure DevOps, Team Foundation Server e i successori dei prodotti e servizi Microsoft per sviluppare e testare le tue applicazioni." + "license_terms": "L'estensione C/C++ può essere utilizzata solo con Microsoft Visual Studio, Visual Studio per Mac, Visual Studio Code, Azure DevOps, Team Foundation Server e i successori dei prodotti e servizi Microsoft per sviluppare e testare le tue applicazioni.", + "help_title": "Server di linguaggio Microsoft C++", + "help_usage": "Sintassi: {0} [opzioni]", + "help_options_header": "Opzioni:", + "help_help": "Visualizza questo messaggio della Guida ed esce.", + "help_version": "Visualizza le informazioni sulla versione ed esce.", + "help_accept_eula": "Accettare definitivamente il Contratto di licenza con l'utente finale (EULA).", + "help_stderr": "Non reindirizzare stderr a /dev/null (utile per il debug).", + "help_login": "Avviare l'accesso interattivo (è necessaria la sottoscrizione a GitHub Copilot).", + "help_force_login": "Forzare il processo di accesso, anche se l'autenticazione è già stata eseguita.", + "help_allow_plaintext": "Consentire l'archiviazione delle credenziali in testo non crittografato se non è disponibile un keychain sicuro.", + "help_log_dir": "Specificare la directory per i file di lg (impostazione predefinita: directory temporanea di sistema).", + "help_log_level": "Impostare il livello di dettaglio dei log da 0 (solo errori) a 9 (dettagliato).", + "help_lsp_config": "Specificare il parametro come percorso assoluto o rispetto alla radice dell'area di lavoro o alla relativa cartella .github.", + "help_disable_telemetry": "Disabilitare l'invio dei dati di telemetria.", + "auth_device_flow_prompt": "Per autenticarsi con GitHub, copiare il codice {0} e quindi visitare {1}. In attesa dell'autorizzazione...", + "auth_timed_out": "Timeout durante l'attesa di autorizzazione.", + "auth_success": "Autenticazione con GitHub riuscita.", + "auth_save_failed": "L'autenticazione con GitHub è riuscita, ma non è stato possibile salvare i token.", + "auth_keyring_error": "Errore keyring: {0}", + "auth_keyring_locked": "La raccolta keyring è bloccata. Sbloccarla o riavviare gnome-keyring-daemon.", + "auth_keyring_unavailable": "Nessun servizio keyring disponibile. Installare e avviare gnome-keyring: sudo apt install gnome-keyring", + "auth_try_plaintext": "In alternativa, consentire l'archiviazione di testo non crittografato passando --login --allow-plaintext-secret-storage.", + "auth_expired": "Il codice del dispositivo è scaduto. Riprovare.", + "auth_denied": "Autorizzazione negata dall'utente.", + "auth_unexpected_error": "Errore imprevisto durante il polling: {0}", + "auth_login_failed": "Accesso a GitHub non riuscito. Per eseguire l'accesso, provare a eseguire --login dalla riga di comando.", + "auth_eula_required": "Per continuare, è necessario accettare il contratto di licenza con l'utente finale. Eseguire con --accept-eula.", + "auth_already_authenticated": "Autenticazione con GitHub già eseguita. Usare --force-login per ripetere l'autenticazione.", + "config_unsupported_version": "Inizializzazione non riuscita: versione di configurazione non supportata. È supportata solo la versione 1.", + "config_file_not_found": "Inizializzazione non riuscita: file di configurazione '{0}' non trovato.", + "config_parse_failed": "Inizializzazione non riuscita:non è possibile analizzare il file di configurazione '{0}'. Verificare il formato JSON. Errore: {1}", + "config_repo_path_invalid": "Inizializzazione non riuscita: 'repositoryPath' non è configurato o non è valido.", + "config_missing_source": "Inizializzazione non riuscita: è necessario configurare 'compileCommands' o 'cppProperties'.", + "config_dual_source": "Inizializzazione non riuscita: non è possibile configurare sia 'compileCommands' sia 'cppProperties'.", + "config_compile_commands_not_found": "Inizializzazione non riuscita: percorso di 'compileCommands' non trovato: '{0}'.", + "config_cpp_properties_not_found": "Inizializzazione non riuscita: percorso 'cppProperties' non trovato: '{0}'.", + "config_cpp_properties_parse_failed": "Inizializzazione non riuscita: non è possibile analizzare il file specificato da 'cppProperties': '{0}'. Verificare il formato JSON. Errore: {1}", + "config_cpp_properties_schema_invalid": "Inizializzazione non riuscita: non è possibile leggere la configurazione dal file 'cppProperties': '{0}'. Verificare lo schema.", + "config_no_configurations": "Inizializzazione non riuscita: '{0}' non contiene una matrice 'configurations' valida.", + "config_configuration_not_found": "Inizializzazione non riuscita: la configurazione '{0}' non è stata trovata nel file 'cppProperties': '{1}'.", + "config_paths_cache_missing": "Inizializzazione non riuscita: manca la cache dei percorsi di configurazione LSP.", + "curl_not_found": "libcurl non trovato ({0}). libcurl è necessario per l'autenticazione e la telemetria.", + "curl_install_macos": "Per impostazione predefinita libcurl dovrebbe essere disponibile in macOS. Se non è presente, installarlo con: brew install curl", + "curl_install_linux": "Installare libcurl: sudo apt install libcurl4 (Debian/Ubuntu) o sudo dnf install libcurl (Fedora/RHEL).", + "curl_symbols_missing": "libcurl è stato scaricato ma mancano i simboli necessari. Ciò potrebbe indicare una versione di libcurl molto obsoleta o incompatibile. Il server di linguaggio non può funzionare senza una versione compatibile di libcurl.", + "keytar_not_found": "libsecret-1.so.0 non trovato ({0}). libsecret è necessario per l'archiviazione sicura delle credenziali. Installare libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) o sudo dnf install libsecret (Fedora/RHEL).", + "keytar_symbols_missing": "libsecret è stato caricato, ma mancano i simboli necessari. Il server di linguaggio non può funzionare senza una versione compatibile di libsecret.", + "telemetry_disable_failed": "Disabilitazione della telemetria non riuscita.", + "lsp_method_not_found": "Metodo non trovato: {0}", + "intellisense_same_canonical_path": "Non è possibile elaborare IntelliSense per un file con lo stesso percorso canonico di un file esistente. URI: {0}, percorso canonico: {1}", + "status_initializing": "Inizializzazione", + "status_initializing_with_n_of_m": "Inizializzazione ({0} di {1})", + "status_initializing_with_n_of_m_and_text": "Inizializzazione ({0} di {1}): {2}", + "status_initializing_with_text": "Inizializzazione di {0}", + "status_initializing_projects": "Inizializzazione dei progetti", + "status_initializing_projects_with_n_of_m": "Inizializzazione dei progetti ({0} di {1})", + "status_initializing_projects_with_n_of_m_and_text": "Inizializzazione dei progetti ({0} di {1}): {2}", + "status_initializing_projects_with_text": "Inizializzazione dei progetti {0}", + "status_checking_for_outdated_files": "Verifica della presenza di file non aggiornati", + "status_checking_for_outdated_files_with_n_of_m": "Verifica della presenza di file non aggiornati ({0} di {1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "Verifica della presenza di file non aggiornati ({0} di {1}): {2}", + "status_checking_for_outdated_files_with_text": "Verifica della presenza di file non aggiornati {0}", + "status_parsing_files": "Analisi dei file", + "status_parsing_files_with_n_of_m": "Analisi dei file ({0} di {1})", + "status_parsing_files_with_n_of_m_and_text": "Analisi dei file ({0} di {1}): {2}", + "status_parsing_files_with_text": "Analisi dei file {0}", + "status_parsing_includes": "Analisi dei file inclusi", + "status_parsing_includes_with_n_of_m": "Analisi dei file inclusi ({0} di {1})", + "status_parsing_includes_with_n_of_m_and_text": "Analisi dei file inclusi ({0} di {1}): {2}", + "status_parsing_includes_with_text": "Analisi dei file inclusi {0}", + "status_scanning_includes": "Analisi di #includes per la verifica di altri file", + "status_scanning_includes_with_n_of_m": "Analisi di #includes per la verifica di altri file ({0} di {1})", + "status_scanning_includes_with_n_of_m_and_text": "Analisi di #includes per la verifica di altri file ({0} di {1}): {2}", + "status_scanning_includes_with_text": "Analisi di #includes per la verifica di altri file {0} {1}", + "status_updating_external_dependencies": "Abilitato (aggiornamento dipendenze esterne)", + "status_updating_external_dependencies_with_n_of_m": "Pronto (Aggiornamento delle dipendenze esterne) ({0} di {1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "Pronto (Aggiornamento delle dipendenze esterne) ({0} di {1}): {2}", + "status_updating_external_dependencies_with_text": "Pronto (Aggiornamento delle dipendenze esterne) {0}", + "status_optimizing_database": "Pronto (Ottimizzazione del database)", + "status_optimizing_database_with_n_of_m": "Pronto (Ottimizzazione del database) ({0} di {1})", + "status_optimizing_database_with_n_of_m_and_text": "Pronto (Ottimizzazione del database) ({0} di {1}): {2}", + "status_optimizing_database_with_text": "Pronto (Ottimizzazione del database) {0}", + "status_creating_indexes": "Creazione di indici", + "status_creating_indexes_with_n_of_m": "Creazione degli indici ({0} di {1})", + "status_creating_indexes_with_n_of_m_and_text": "Creazione degli indici ({0} di {1}): {2}", + "status_creating_indexes_with_text": "Creazione di indici {0}", + "status_evaluating_file": "Valutazione", + "status_evaluating_file_with_n_of_m": "Valutazione ({0} di {1})", + "status_evaluating_file_with_n_of_m_and_text": "Valutazione ({0} di {1}): {2}", + "status_evaluating_file_with_text": "Valutazione di {0}", + "status_indexing_files": "Indicizzazione dei file", + "status_indexing_files_with_n_of_m": "Indicizzazione dei file ({0} di {1})", + "status_indexing_files_with_n_of_m_and_text": "Indicizzazione dei file ({0} di {1}): {2}", + "status_indexing_files_with_text": "Indicizzazione dei file {0}", + "help_allow_missing_lsp_config": "Consentire l'avvio del server anche se il file --lsp-config specificato non esiste.", + "initialize_failed_during_engine_setup": "Inizializzazione non riuscita durante la configurazione del motore.", + "important_label": "Importante:" } \ No newline at end of file diff --git a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 79390e5ab..92bb2f49f 100644 --- a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Installa un compilatore C++ in Windows", "walkthrough.windows.text1": "Se si sviluppa in C++ per Windows, è consigliabile installare il compilatore Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Per installare MSVC, aprire il terminale VS Code (CTRL+ `) e incollare il comando seguente:\n", + "walkthrough.windows.text2": "Per installare MSVC, aprire il terminale VS Code (CTRL+ `) e incollare il comando seguente:", "walkthrough.windows.note1": "Nota", "walkthrough.windows.note1.text": "È possibile usare il set di strumenti C++ di Visual Studio Build Tools insieme a Visual Studio Code per compilare, creare e verificare qualsiasi codebase C++, purché sia disponibile una licenza di Visual Studio valida (Community, Pro o Enterprise) usata attivamente per sviluppare la codebase C++.", "walkthrough.windows.verify.compiler": "Verifica dell'installazione del compilatore", diff --git a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 79390e5ab..92bb2f49f 100644 --- a/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/ita/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Installa un compilatore C++ in Windows", "walkthrough.windows.text1": "Se si sviluppa in C++ per Windows, è consigliabile installare il compilatore Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Per installare MSVC, aprire il terminale VS Code (CTRL+ `) e incollare il comando seguente:\n", + "walkthrough.windows.text2": "Per installare MSVC, aprire il terminale VS Code (CTRL+ `) e incollare il comando seguente:", "walkthrough.windows.note1": "Nota", "walkthrough.windows.note1.text": "È possibile usare il set di strumenti C++ di Visual Studio Build Tools insieme a Visual Studio Code per compilare, creare e verificare qualsiasi codebase C++, purché sia disponibile una licenza di Visual Studio valida (Community, Pro o Enterprise) usata attivamente per sviluppare la codebase C++.", "walkthrough.windows.verify.compiler": "Verifica dell'installazione del compilatore", diff --git a/Extension/i18n/jpn/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/jpn/c_cpp_properties.schema.json.i18n.json index 3a986cc85..b4342d64e 100644 --- a/Extension/i18n/jpn/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/jpn/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "ヘッダーとして直接的または間接的にインクルードされたファイルのみを処理する場合は `true` に設定し、指定したインクルード パスにあるすべてのファイルを処理する場合は `false` に設定します。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "生成されるシンボル データベースへのパスです。相対パスを指定した場合、ワークスペースの既定のストレージの場所に対する相対パスになります。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "ワークスペース シンボルのインデックス作成と解析に使用するパスの一覧です ([定義へ移動]、[すべての参照を検索] などに使用する)。既定では、これらのパスでの検索は再帰的です。非再帰的な検索を示すには `*` を指定します。たとえば、`${workspaceFolder}` を指定するとすべてのサブディレクトリが検索されますが、`${workspaceFolder}/*` を指定すると検索されません。", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "`always` に設定すると、IntelliSense に提供される再帰インクルード パスの数は常に #include ステートメントによって現在参照されているパスのみに減らされます。これには、まずファイルを解析して、どのヘッダーが含まれているかを判断する必要があります。すべての再帰インクルード パスを IntelliSense に提供するには、`never` に設定します。非常に多数の再帰インクルード パスが関係している場合、再帰インクルード パスの数を減らすと、IntelliSense のパフォーマンスが向上する可能性があります。再帰インクルード パスの数を減らさないことで、どのインクルード パスを提供するかを判断するためのファイル解析が不要になり、IntelliSense のパフォーマンスが向上する場合があります。現在、`default` 値は、IntelliSense に提供される再帰インクルード パスの数を減らすためのものです。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "再帰インクルード パスの優先順位。`beforeSystemIncludes` に設定すると、再帰インクルード パスはシステム インクルード パスの前に検索されます。`afterSystemIncludes` に設定すると、再帰インクルード パスはシステム インクルード パスの後に検索されます。`beforeSystemIncludes` に設定すると、コンパイラの検索順序により近くなりますが、`afterSystemIncludes` の方がパフォーマンスが向上する場合があります。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "再帰インクルードのサブディレクトリが検索される順序。", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "`launch.json` または `tasks.json` で入力変数として使用するためにコマンド `${cpptools:activeConfigCustomVariable}` を使用して照会できるカスタム変数。", diff --git a/Extension/i18n/jpn/package.i18n.json b/Extension/i18n/jpn/package.i18n.json index b9a20221c..991cc75fb 100644 --- a/Extension/i18n/jpn/package.i18n.json +++ b/Extension/i18n/jpn/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "診断を出力するヘッダーの名前と一致する POSIX 拡張正規表現 (ERE)。各翻訳単位のメイン ファイルからの診断は常に表示されます。`${workspaceFolder}` 変数はサポートされています (`.clang-tidy` ファイルが存在しない場合は、既定のフォールバック値として使用されます)。このオプションが `null` (空) でない場合は、`.clang-tidy` ファイルの `HeaderFilterRegex` オプションがオーバーライドされます (存在する場合)。", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "`clang-tidy` に渡す追加のコマンド ライン引数。これらは、同等の `C_Cpp.codeAnalysis.clangTidy.*` 設定よりも優先されます。", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "`true` および `compileCommands` が設定されている場合、ビルド引数が `--` の後に渡されるのではなく、`-p=` 引数が `clang-tidy` に渡されます。システム インクルードを見つけることができるように環境変数が設定されていない場合には、機能しない可能性があります。", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "有効な `clang-tidy` チェックの一覧。値は、`.clang-tidy` ファイルの `Checks` または `#C_Cpp.codeAnalysis.clangTidy.config#` (存在する場合) に追加されます。既定のチェック `clang-analyzer-*` は、明示的に無効にされていない限り、常に使用されます。", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "有効な `clang-tidy` チェックの一覧。値は、`.clang-tidy` ファイルの `Checks` または `#C_Cpp.codeAnalysis.clangTidy.config#` (存在する場合) に追加されます。既定のチェック `clang-analyzer-core.*` は、明示的に無効にされていない限り、常に使用されます。", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "無効な `clang-tidy` チェックの一覧。値は、`.clang-tidy` ファイルの `Checks` に追加され、存在する場合は `#C_Cpp.codeAnalysis.clangTidy.config#` に追加されます。", "c_cpp.configuration.formatting.description": "書式設定エンジンを構成します。", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "`clang-format` を使用してコードがフォーマットされます。", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "生成されたユーザー パスのパス区切り記号として使用される文字です。", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "`true` の場合、ホバーおよびオートコンプリートのヒントに、構造化されたコメントの特定のラベルのみが表示されます。それ以外の場合は、すべてのコメントが表示されます。", "c_cpp.configuration.doxygen.generateOnType.description": "選択したコメント スタイルを入力した後に、Doxygen コメントを自動的に挿入するかどうかを制御します。", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Doxygen コメントを生成するコード アクションを有効にするかどうかを制御します。", "c_cpp.configuration.doxygen.generatedStyle.description": "Doxygen コメントの開始行として使用される文字列です。", "c_cpp.configuration.doxygen.sectionTags.description": "[構造化コメントの簡略化] 設定が有効になっているときにヒント領域をポイントしたときに表示する Doxygen セクション タグを選択します。 ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "複数行または単一行のコメント ブロックの先頭に置くパターン。継続のパターンの既定値は、複数行コメント ブロックの場合は ` * `、単一行コメント ブロックの場合はこの文字列です。", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "このエントリをスタック フレームの場所のマッピングにのみ使用する場合は False です。ブレークポイントの位置を指定するときにもこのエントリを使用する必要がある場合は True です。", "c_cpp.debuggers.symbolOptions.description": "シンボル (.pdb ファイル) の検索と読み込みの方法を制御するオプションです。", "c_cpp.debuggers.unknownBreakpointHandling.description": "ヒットしたときに外部で設定されたブレークポイント (通常は生の GDB コマンドを使用) を処理する方法を制御します。\n許容される値は、アプリケーションによって例外がスローされたかのように動作する \"throw\" と、デバッグ セッションを一時停止するだけの \"stop\" です。既定値は \"throw\" です。", + "c_cpp.debuggers.debuginfod.description": "debuginfod サーバーからデバッグ シンボルをダウンロードする際の GDB の debuginfod の動作を制御します。", + "c_cpp.debuggers.debuginfod.enabled.description": "true (既定値) の場合、GDB の debuginfod サポートは有効です。GDB が debuginfod サーバーに接続できないようにするには、false に設定します。", + "c_cpp.debuggers.debuginfod.timeout.description": "debuginfod サーバー要求のタイムアウト (秒)。既定値は 30 です。GDB/libdebuginfod の既定値 (オーバーライドなし) を使用する場合は 0 に設定します。", "c_cpp.debuggers.VSSymbolOptions.description": "デバッグ アダプターへのシンボルの検索と読み込みのための構成を提供します。", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": ".pdb ファイルを検索するためのシンボル サーバー URL (例: http​://MyExampleSymbolServer) の配列またはディレクトリ (例: /build/symbols) の配列です。これらのディレクトリは、既定の場所 (すなわちモジュールと、 pdb が最初にドロップされたパスの横) に加えて、検索されます。", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "'true' の場合、Microsoft シンボルサーバー (https​://msdl.microsoft.com​/download/symbols) がシンボルの検索パスに追加されます。指定しない場合、このオプションの既定値は 'false' です。", diff --git a/Extension/i18n/jpn/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/jpn/src/Debugger/debugAdapterDescriptorFactory.i18n.json index c36ada614..20002ae62 100644 --- a/Extension/i18n/jpn/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/jpn/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "デバッガーのタイプ '{0}' は、Windows 以外のコンピューターでは使用できません。" + "debugger.not.available": "デバッガーのタイプ '{0}' は、Windows 以外のコンピューターでは使用できません。", + "debugger.noDebug.requestType.not.supported": "デバッグなしで実行は、起動構成でのみサポートされています。", + "debugger.noDebug.pipeTransport.not.supported": "'pipeTransport' が設定された構成では、デバッグなしで実行はサポートされていません。", + "debugger.noDebug.debugServerPath.not.supported": "'debugServerPath' が設定された構成では、デバッグなしで実行はサポートされていません。", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "'miDebuggerServerAddress' が設定された構成では、デバッグなしで実行はサポートされていません。", + "debugger.noDebug.coreDumpPath.not.supported": "'coreDumpPath' が設定された構成では、デバッグなしで実行はサポートされていません。" } \ No newline at end of file diff --git a/Extension/i18n/jpn/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/jpn/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..854b71812 --- /dev/null +++ b/Extension/i18n/jpn/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "ターミナル エミュレーターが見つかりません。$TERMINAL 環境変数を使用するターミナル エミュレーターに設定するか、次のいずれかをインストールしてください: x-terminal-emulator、gnome-terminal、konsole、xterm。" +} \ No newline at end of file diff --git a/Extension/i18n/jpn/src/nativeStrings.i18n.json b/Extension/i18n/jpn/src/nativeStrings.i18n.json index dfd6f2c87..a4492c59a 100644 --- a/Extension/i18n/jpn/src/nativeStrings.i18n.json +++ b/Extension/i18n/jpn/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "\"{0}\" が compile_commands.json ファイルに見つかりません。フォルダー '{1}' にある c_cpp_properties.json からの 'includePath' が、このファイルで代わりに使用されます。", "copilot_hover_link": "Copilot 要約の生成", "browse_path_not_found": "存在しないフォルダーにあるファイルにインデックスを付けることはできません: {0}", - "license_terms": "C/C++ 拡張機能は、Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server、およびアプリケーションの開発とテストをするための、後続の Microsoft 製品およびサービスでのみ使用できます。" + "license_terms": "C/C++ 拡張機能は、Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server、およびアプリケーションの開発とテストをするための、後続の Microsoft 製品およびサービスでのみ使用できます。", + "help_title": "Microsoft C++ 言語サーバー", + "help_usage": "使用法: {0} [オプション]", + "help_options_header": "オプション:", + "help_help": "このヘルプ メッセージを表示して終了します。", + "help_version": "バージョン情報を表示して終了します。", + "help_accept_eula": "エンド ユーザー使用許諾契約 (EULA) に完全に同意します。", + "help_stderr": "stderr を /dev/null にリダイレクトしないでください (デバッグに便利です)。", + "help_login": "対話型ログインを開始します (GitHub Copilot サブスクリプションが必要です)。", + "help_force_login": "既に認証されている場合でも、ログイン プロセスを強制します。", + "help_allow_plaintext": "安全なキーチェーンを使用できない場合、プレーンテキストでの認証情報の保存を許可します。", + "help_log_dir": "ログ ファイルのディレクトリを指定します (既定値: システムの一時ディレクトリ)。", + "help_log_level": "ログの詳細を 0 (エラーのみ) から 9 (詳細) の間で設定します。", + "help_lsp_config": "パラメーターは、絶対パスで指定するか、ワークスペースのルートまたはその .github フォルダーからの相対パスで指定してください。", + "help_disable_telemetry": "テレメトリ データの送信を無効にします。", + "auth_device_flow_prompt": "GitHub で認証するには、コード {0} をコピーしてから {1} にアクセスしてください。承認を待機しています...", + "auth_timed_out": "承認を待機中にタイム アウトしました。", + "auth_success": "GitHub で正常に認証されました。", + "auth_save_failed": "GitHub 認証に成功しましたが、トークンを保存できませんでした。", + "auth_keyring_error": "キーリング エラー: {0}", + "auth_keyring_locked": "キーリング コレクションがロックされています。ロックを解除するか、gnome-keyring-daemon を再起動してください。", + "auth_keyring_unavailable": "キーリング サービスは使用できません。gnome-keyring をインストールして起動します: sudo apt install gnome-keyring", + "auth_try_plaintext": "または、--login --allow-plaintext-secret-storage を渡して、プレーンテキストによる保存を許可します。", + "auth_expired": "デバイス コードの有効期限が切れました。もう一度お試しください。", + "auth_denied": "ユーザーによって承認が拒否されました。", + "auth_unexpected_error": "ポーリング中に予期しないエラーが発生しました: {0}", + "auth_login_failed": "GitHub ログインに失敗しました。ログインするには、コマンド ラインから --login を使用して実行してみてください。", + "auth_eula_required": "続行するには、EULA に同意する必要があります。--accept-eula を使用して実行します。", + "auth_already_authenticated": "GitHub で既に認証されています。--force-login を使用して再認証してください。", + "config_unsupported_version": "初期化に失敗しました: サポートされていない構成バージョンです。バージョン 1 のみサポートされています。", + "config_file_not_found": "初期化に失敗しました: 構成ファイル '{0}' が見つかりません。", + "config_parse_failed": "初期化に失敗しました: 構成ファイル '{0}' を解析できません。JSON 形式を確認します。エラー: {1}", + "config_repo_path_invalid": "初期化に失敗しました: 'repositoryPath' が構成されていないか、無効です。", + "config_missing_source": "初期化に失敗しました: 'compileCommands' または 'cppProperties' を構成する必要があります。", + "config_dual_source": "初期化に失敗しました: 'compileCommands' と 'cppProperties' を両方構成することはできません。", + "config_compile_commands_not_found": "初期化に失敗しました: 'compileCommands' パスが見つかりません: '{0}'。", + "config_cpp_properties_not_found": "初期化に失敗しました: 'cppProperties' パスが見つかりません: '{0}'。", + "config_cpp_properties_parse_failed": "初期化に失敗しました: 'cppProperties' によって指定されたファイルを解析できません: '{0}'。JSON 形式を確認します。エラー: {1}", + "config_cpp_properties_schema_invalid": "初期化に失敗しました: 'cppProperties' ファイルから構成を読み取ることができません: '{0}'。スキーマを確認します。", + "config_no_configurations": "初期化に失敗しました: '{0}' に有効な 'configurations' 配列が含まれていません。", + "config_configuration_not_found": "初期化に失敗しました: 構成 '{0}' が 'cppProperties' ファイルに含まれていません: '{1}'。", + "config_paths_cache_missing": "初期化に失敗しました: LSP 構成パス キャッシュがありません。", + "curl_not_found": "libcurl が見つかりません ({0})。認証とテレメトリには libcurl が必要です。", + "curl_install_macos": "libcurl は、既定で macOS で使用できる必要があります。見つからない場合は、brew install curl を使用してインストールしてください", + "curl_install_linux": "libcurl のインストール: sudo apt install libcurl4 (Debian/Ubuntu) または sudo dnf install libcurl (Fedora/RHEL)。", + "curl_symbols_missing": "libcurl が読み込まれましたが、必要なシンボルが不足しています。これは、libcurl のバージョンが非常に古いか、互換性がないことを示している可能性があります。言語サーバーは、互換性のある libcurl が存在しない場合は動作できません。", + "keytar_not_found": "libsecret-1.so.0 が見つかりません ({0})。認証情報を安全に保存するには libsecret が必要です。libsecret をインストールします: sudo apt install libsecret-1-0 (Debian/Ubuntu) または sudo dnf install libsecret (Fedora/RHEL)。", + "keytar_symbols_missing": "libsecret が読み込まれましたが、必要なシンボルが不足しています。言語サーバーは、互換性のある libsecret が存在しない場合は動作できません。", + "telemetry_disable_failed": "テレメトリを無効にできませんでした。", + "lsp_method_not_found": "メソッドが見つかりません: {0}", + "intellisense_same_canonical_path": "既存のファイルと正規化されたパスが同じであるファイルの IntelliSense は処理できません。URI: {0}、正規化されたパス: {1}", + "status_initializing": "初期化中", + "status_initializing_with_n_of_m": "初期化中 ({0}/{1})", + "status_initializing_with_n_of_m_and_text": "初期化中 ({0}/{1}): {2}", + "status_initializing_with_text": "{0} を初期化しています", + "status_initializing_projects": "プロジェクトを初期化しています", + "status_initializing_projects_with_n_of_m": "プロジェクトを初期化しています ({0}/{1})", + "status_initializing_projects_with_n_of_m_and_text": "プロジェクトを初期化しています ({0}/{1}): {2}", + "status_initializing_projects_with_text": "プロジェクトを初期化しています: {0}", + "status_checking_for_outdated_files": "古いファイルをチェックしています", + "status_checking_for_outdated_files_with_n_of_m": "古いファイルをチェックしています ({0}/{1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "古いファイルをチェックしています ({0}/{1}): {2}", + "status_checking_for_outdated_files_with_text": "古いファイルをチェックしています: {0}", + "status_parsing_files": "ファイルを解析しています", + "status_parsing_files_with_n_of_m": "ファイルを解析しています ({0}/{1})", + "status_parsing_files_with_n_of_m_and_text": "ファイルを解析しています ({0}/{1}): {2}", + "status_parsing_files_with_text": "ファイルを解析しています: {0}", + "status_parsing_includes": "インクルード ファイルを解析しています", + "status_parsing_includes_with_n_of_m": "インクルード ファイルを解析しています ({0}/{1})", + "status_parsing_includes_with_n_of_m_and_text": "インクルード ファイルを解析しています ({0}/{1}): {2}", + "status_parsing_includes_with_text": "インクルード ファイルを解析しています: {0}", + "status_scanning_includes": "追加ファイルの #includes をスキャンしています", + "status_scanning_includes_with_n_of_m": "追加ファイルの #includes をスキャンしています ({0}/{1})", + "status_scanning_includes_with_n_of_m_and_text": "追加ファイルの #includes をスキャンしています ({0}/{1}): {2}", + "status_scanning_includes_with_text": "追加ファイルの #includes をスキャンしています: {0} {1}", + "status_updating_external_dependencies": "準備完了 (外部依存関係の更新)", + "status_updating_external_dependencies_with_n_of_m": "準備完了 (外部依存関係の更新) ({0}/{1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "準備完了 (外部依存関係の更新) ({0}/{1}): {2}", + "status_updating_external_dependencies_with_text": "準備完了 (外部依存関係の更新): {0}", + "status_optimizing_database": "準備完了 (データベースの最適化)", + "status_optimizing_database_with_n_of_m": "準備完了 (データベースの最適化) ({0}/{1})", + "status_optimizing_database_with_n_of_m_and_text": "準備完了 (データベースの最適化) ({0}/{1}): {2}", + "status_optimizing_database_with_text": "準備完了 (データベースの最適化): {0}", + "status_creating_indexes": "インデックスを作成しています", + "status_creating_indexes_with_n_of_m": "インデックスを作成しています ({0}/{1})", + "status_creating_indexes_with_n_of_m_and_text": "インデックスを作成しています ({0}/{1}): {2}", + "status_creating_indexes_with_text": "インデックスを作成しています: {0}", + "status_evaluating_file": "評価中", + "status_evaluating_file_with_n_of_m": "評価中 ({0}/{1})", + "status_evaluating_file_with_n_of_m_and_text": "評価中 ({0}/{1}): {2}", + "status_evaluating_file_with_text": "{0} を評価中", + "status_indexing_files": "ファイルのインデックスを作成しています", + "status_indexing_files_with_n_of_m": "ファイルのインデックスを作成しています ({0}/{1})", + "status_indexing_files_with_n_of_m_and_text": "ファイルのインデックスを作成しています ({0}/{1}): {2}", + "status_indexing_files_with_text": "ファイルのインデックスを作成しています: {0}", + "help_allow_missing_lsp_config": "指定された --lsp-config ファイルが存在しない場合でも、サーバーの起動を許可します。", + "initialize_failed_during_engine_setup": "エンジンのセットアップ中に初期化に失敗しました。", + "important_label": "重要:" } \ No newline at end of file diff --git a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 34611a95f..f4f317490 100644 --- a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Windows で C++ コンパイラをインストールする", "walkthrough.windows.text1": "Windows 向けの C++ 開発を行っている場合は、Microsoft Visual C++ (MSVC) コンパイラをインストールすることをお勧めします。", - "walkthrough.windows.text2": "MSVC をインストールするには、VS Code ターミナル (CTRL + `) を開き、次のコマンドで貼り付けます:\n", + "walkthrough.windows.text2": "MSVC をインストールするには、VS Code ターミナルを開き (CTRL + `)、次のコマンドを貼り付けます:", "walkthrough.windows.note1": "メモ", "walkthrough.windows.note1.text": "有効な Visual Studio ライセンス (Community、Pro、Enterprise のいずれか) があり、その C++ コードベースの開発に積極的に使用している場合は、Visual Studio Build Tools の C++ ツールセットを Visual Studio Code と合わせて使用して、C++ コードベースのコンパイル、ビルド、および検証を行うことができます。", "walkthrough.windows.verify.compiler": "コンパイラのインストールの確認中", diff --git a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 34611a95f..f4f317490 100644 --- a/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/jpn/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Windows で C++ コンパイラをインストールする", "walkthrough.windows.text1": "Windows 向けの C++ 開発を行っている場合は、Microsoft Visual C++ (MSVC) コンパイラをインストールすることをお勧めします。", - "walkthrough.windows.text2": "MSVC をインストールするには、VS Code ターミナル (CTRL + `) を開き、次のコマンドで貼り付けます:\n", + "walkthrough.windows.text2": "MSVC をインストールするには、VS Code ターミナルを開き (CTRL + `)、次のコマンドを貼り付けます:", "walkthrough.windows.note1": "メモ", "walkthrough.windows.note1.text": "有効な Visual Studio ライセンス (Community、Pro、Enterprise のいずれか) があり、その C++ コードベースの開発に積極的に使用している場合は、Visual Studio Build Tools の C++ ツールセットを Visual Studio Code と合わせて使用して、C++ コードベースのコンパイル、ビルド、および検証を行うことができます。", "walkthrough.windows.verify.compiler": "コンパイラのインストールの確認中", diff --git a/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json index 987abc74f..205290c7e 100644 --- a/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/kor/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "헤더로 직접 또는 간접적으로 포함된 파일만 처리하려면 `true`로 설정합니다. 지정된 포함 경로 아래의 모든 파일을 처리하려면 `false`로 설정합니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "생성된 기호 데이터베이스의 경로입니다. 상대 경로가 지정된 경우 작업 영역의 기본 스토리지 위치에 대해 상대적으로 만들어집니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "작업 영역 기호의 인덱싱 및 구문 분석에 사용할 경로의 목록입니다('정의로 이동', '모든 참조 찾기' 등에서 사용). 이 경로에서 검색하는 작업은 기본적으로 재귀 작업입니다. 비재귀 검색을 나타내려면 `*`를 지정하세요. 예를 들어 `${workspaceFolder}`는 모든 하위 디렉터리를 검색하지만 `${workspaceFolder}/*`는 검색하지 않습니다.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "IntelliSense에 제공된 재귀 포함 경로의 수를 항상 현재 #include 문에서 참조하는 경로로만 줄이려면 `always`로 설정합니다. 포함되는 헤더를 확인하려면 먼저 파일을 구문 분석해야 합니다. IntelliSense에 대한 모든 재귀 포함 경로를 제공하려면 `never`로 설정합니다. 재귀 포함 경로의 수를 줄이면 매우 많은 수의 재귀 포함 경로가 관련된 경우 IntelliSense 성능이 향상될 수 있습니다. 재귀 포함 경로의 수를 줄이지 않으면 제공할 포함 경로를 확인하기 위해 파일을 구문 분석할 필요가 없으므로 IntelliSense 성능을 향상시킬 수 있습니다. `default` 값은 현재 IntelliSense에 제공된 재귀 포함 경로의 수를 줄이기 위한 것입니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "재귀 포함 경로의 우선 순위입니다. `beforeSystemIncludes`로 설정하면 시스템 포함 경로 전에 재귀 포함 경로가 검색됩니다. `afterSystemIncludes`로 설정하면 시스템 포함 경로 다음에 재귀 포함 경로가 검색됩니다. `beforeSystemIncludes`는 컴파일러의 검색 순서를 더 밀접하게 반영하지만 `afterSystemIncludes`는 성능이 향상될 수 있습니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "재귀 포함의 하위 디렉터리가 검색되는 순서입니다.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "`launch.json` 또는 `tasks.json`의 입력 변수에 사용하기 위해 `${cpptools:activeConfigCustomVariable}` 명령을 통해 쿼리할 수 있는 사용자 지정 변수입니다.", diff --git a/Extension/i18n/kor/package.i18n.json b/Extension/i18n/kor/package.i18n.json index 6741ff620..c9edc3bf4 100644 --- a/Extension/i18n/kor/package.i18n.json +++ b/Extension/i18n/kor/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "진단을 출력할 헤더의 이름과 일치하는 POSIX 확장 정규식(ERE)입니다. 각 번역 단위의 기본 파일에서 진단이 항상 표시됩니다. `${workspaceFolder}` 변수가 지원됩니다(`.clang-tidy` 파일이 없는 경우 기본 폴백 값으로 사용됨). 이 옵션이 `null`(비어 있음)이 아닌 경우 `.clang-tidy` 파일의 `HeaderFilterRegex` 옵션(있는 경우)을 재정의합니다.", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "`clang-tidy`에 전달할 추가 명령줄 인수입니다. 이는 동등한 `C_Cpp.codeAnalysis.clangTidy.*` 설정보다 우선합니다.", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "`true` 및 `compileCommands`가 설정되면 `--` 뒤에 빌드 인수가 전달되는 대신 `-p=` 인수가 `clang-tidy`에 전달됩니다. 시스템 포함을 찾을 수 있도록 환경 변수가 설정되지 않은 경우 작동하지 않을 수 있습니다.", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "사용하도록 설정된 `clang-tidy` 검사 목록입니다. 값은 `.clang-tidy` 파일의 `Checks` 또는 `#C_Cpp.codeAnalysis.clangTidy.config#`(있는 경우)에 추가됩니다. 기본 검사 `clang-analyzer-*`는 명시적으로 비활성화되지 않는 한 항상 사용됩니다.", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "활성화된 `clang-tidy` 검사 목록입니다. 값은 `.clang-tidy` 파일의 `Checks` 또는 `#C_Cpp.codeAnalysis.clangTidy.config#`(있는 경우)에 추가됩니다. 기본 검사 `clang-analyzer-core.*`는 명시적으로 비활성화되지 않는 한 항상 사용됩니다.", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "비활성화된 `clang-tidy` 검사 목록입니다. 값은 `.clang-tidy` 파일의 `Checks` 또는 `#C_Cpp.codeAnalysis.clangTidy.config#`(있는 경우)에 추가됩니다.", "c_cpp.configuration.formatting.description": "서식 지정 엔진을 구성합니다.", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "코드 서식을 지정하는 데 `clang-format`이 사용됩니다.", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "생성된 사용자 경로의 경로 구분 기호로 사용되는 문자입니다.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "`true`인 경우 가리키기 및 자동 완성 도구 설명에 구조적 주석의 특정 레이블만 표시됩니다. 그렇지 않으면 모든 주석이 표시됩니다.", "c_cpp.configuration.doxygen.generateOnType.description": "선택한 주석 스타일을 입력한 후 Doxygen 주석을 자동으로 삽입할지 여부를 제어합니다.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Doxygen 주석을 생성하는 코드 작업을 사용할지 여부를 제어합니다.", "c_cpp.configuration.doxygen.generatedStyle.description": "Doxygen 주석의 시작 줄로 사용되는 문자 문자열입니다.", "c_cpp.configuration.doxygen.sectionTags.description": "'구조적 설명 단순화' 설정이 활성화된 경우 도구 설명 영역에서 마우스를 가져가면 표시할 Doxygen 섹션 태그를 선택합니다. ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "여러 줄 또는 한 줄 주석 블록을 시작하는 패턴입니다. 기본적으로 여러 줄 주석 블록의 계속 패턴은 ` * `로 설정되고, 한 줄 주석 블록의 경우 이 문자열로 설정됩니다.", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "이 항목이 스택 프레임 위치 매핑에만 사용되면 False입니다. 이 항목이 중단점 위치를 지정할 때도 사용되어야 하면 True입니다.", "c_cpp.debuggers.symbolOptions.description": "기호(.pdb 파일)를 찾아서 로드하는 방법을 제어하는 옵션입니다.", "c_cpp.debuggers.unknownBreakpointHandling.description": "적중 시 외부에서 설정되는 중단점이(일반적으로 원시 GDB 명령을 통해) 처리되는 방식을 제어합니다.\n허용 값은 애플리케이션에서 예외가 발생한 것처럼 동작하는 \"throw\"와 디버그 세션만 일시 중지하는 \"stop\"입니다. 기본값은 \"throw\"입니다.", + "c_cpp.debuggers.debuginfod.description": "debuginfod 서버에서 디버그 기호를 다운로드할 때 GDB의 debuginfod 동작을 제어합니다.", + "c_cpp.debuggers.debuginfod.enabled.description": "true(기본값)이면 GDB의 debuginfod 지원이 활성화됩니다. GDB가 debuginfod 서버에 연결하지 않게 하려면 false로 설정하세요.", + "c_cpp.debuggers.debuginfod.timeout.description": "debuginfod 서버 요청에 대한 시간 제한(초)입니다. 기본값은 30입니다. GDB/libdebuginfod 기본값(재정의하지 않음)을 사용하려면 0으로 설정하세요.", "c_cpp.debuggers.VSSymbolOptions.description": "디버그 어댑터에 기호를 찾고 로드하기 위한 구성을 제공합니다.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": ".pdb 파일을 검색하는 기호 서버 URL(예: http​://MyExampleSymbolServer) 또는 디렉터리(예: /build/symbols)의 배열입니다. 이러한 디렉터리가 모듈 및 pdb가 원래 삭제된 경로 옆에 있는 기본 위치 외에 검색됩니다.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "'true'인 경우 Microsoft 기호 서버(https​://msdl.microsoft.com​/download/symbols)가 기호 검색 경로에 추가됩니다. 지정하지 않으면 이 옵션의 기본값은 'false'입니다.", diff --git a/Extension/i18n/kor/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/kor/src/Debugger/debugAdapterDescriptorFactory.i18n.json index 7401e5779..d73248987 100644 --- a/Extension/i18n/kor/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/kor/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "Windows가 아닌 머신에서는 '{0}' 디버거 형식을 사용할 수 없습니다." + "debugger.not.available": "Windows가 아닌 머신에서는 '{0}' 디버거 형식을 사용할 수 없습니다.", + "debugger.noDebug.requestType.not.supported": "디버깅하지 않고 실행은 시작 구성에만 지원됩니다.", + "debugger.noDebug.pipeTransport.not.supported": "'pipeTransport'가 설정된 구성에는 디버깅 없이 실행이 지원되지 않습니다.", + "debugger.noDebug.debugServerPath.not.supported": "'debugServerPath'가 설정된 구성에는 디버깅 없이 실행이 지원되지 않습니다.", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "'miDebuggerServerAddress'가 설정된 구성에는 디버깅 없이 실행이 지원되지 않습니다.", + "debugger.noDebug.coreDumpPath.not.supported": "'coreDumpPath'가 설정된 구성에는 디버깅 없이 실행이 지원되지 않습니다." } \ No newline at end of file diff --git a/Extension/i18n/kor/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/kor/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..6391c82ac --- /dev/null +++ b/Extension/i18n/kor/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "터미널 에뮬레이터를 찾을 수 없습니다. $TERMINAL 환경 변수를 원하는 터미널 에뮬레이터로 설정하거나 x-terminal-emulator, gnome-terminal, konsole, xterm 중 하나를 설치하세요." +} \ No newline at end of file diff --git a/Extension/i18n/kor/src/nativeStrings.i18n.json b/Extension/i18n/kor/src/nativeStrings.i18n.json index 1f99f8957..6c9f950d3 100644 --- a/Extension/i18n/kor/src/nativeStrings.i18n.json +++ b/Extension/i18n/kor/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "compile_commands.json 파일에서 \"{0}\"을(를) 찾을 수 없습니다. '{1}' 폴더의 c_cpp_properties.json 'includePath'가 대신 이 파일에 사용됩니다.", "copilot_hover_link": "Copilot 요약 생성", "browse_path_not_found": "존재하지 않는 폴더에서 파일을 인덱싱할 수 없습니다. {0}", - "license_terms": "C/C++ 확장은 애플리케이션을 개발하고 테스트하기 위해 Microsoft Visual Studio, 맥용 Visual Studio, Visual Studio Code, Azure DevOps, Team Foundation Server 및 후속 Microsoft 제품 및 서비스에만 사용할 수 있습니다." + "license_terms": "C/C++ 확장은 애플리케이션을 개발하고 테스트하기 위해 Microsoft Visual Studio, 맥용 Visual Studio, Visual Studio Code, Azure DevOps, Team Foundation Server 및 후속 Microsoft 제품 및 서비스에만 사용할 수 있습니다.", + "help_title": "Microsoft C++ 언어 서버", + "help_usage": "사용법: {0} [옵션]", + "help_options_header": "옵션:", + "help_help": "이 도움말 메시지를 표시하고 끝냅니다.", + "help_version": "버전 정보를 표시하고 끝냅니다.", + "help_accept_eula": "최종 사용자 사용권 계약(EULA)에 영구적으로 동의합니다.", + "help_stderr": "stderr을 /dev/null로 리디렉션하지 않습니다(디버깅에 유용함).", + "help_login": "대화형 로그인을 시작합니다(GitHub Copilot 구독 필요).", + "help_force_login": "이미 인증된 경우에도 로그인 프로세스를 강제로 적용합니다.", + "help_allow_plaintext": "보안 키체인을 사용할 수 없는 경우 자격 증명을 일반 텍스트로 저장할 수 있습니다.", + "help_log_dir": "로그 파일 디렉터리를 지정합니다(기본값: 시스템 임시 디렉터리).", + "help_log_level": "로깅 세부 정보 표시를 0(오류만)에서 9(자세히)로 설정합니다.", + "help_lsp_config": "매개 변수는 절대 경로나 작업 영역 루트 또는 .github 폴더를 기준으로 하는 상대 경로로 지정합니다.", + "help_disable_telemetry": "원격 분석 데이터 전송을 비활성화합니다.", + "auth_device_flow_prompt": "GitHub로 인증하려면 코드 {0}을(를) 복사한 다음 {1}(으)로 이동하세요. 권한 부여를 기다리는 중...", + "auth_timed_out": "권한 부여를 기다리는 동안 시간이 초과되었습니다.", + "auth_success": "GitHub로 인증되었습니다.", + "auth_save_failed": "GitHub 인증에 성공했지만 토큰을 저장할 수 없습니다.", + "auth_keyring_error": "인증 키 생성 오류: {0}", + "auth_keyring_locked": "인증 키 생성 컬렉션이 잠겨 있습니다. 잠금을 해제하거나 gnome-keyring-daemon을 다시 시작하세요.", + "auth_keyring_unavailable": "사용할 수 있는 인증 키 생성 서비스가 없습니다. gnome-keyring 설치 및 시작: sudo apt install gnome-keyring", + "auth_try_plaintext": "또는 --login --allow-plaintext-secret-storage를 전달하여 일반 텍스트 저장을 허용합니다.", + "auth_expired": "디바이스 코드가 만료되었습니다. 다시 시도하세요.", + "auth_denied": "사용자가 권한 부여를 거부했습니다.", + "auth_unexpected_error": "폴링하는 동안 예기치 않은 오류가 발생함: {0}", + "auth_login_failed": "GitHub 로그인에 실패했습니다. 명령줄에서 --login으로 실행하여 로그인해 보세요.", + "auth_eula_required": "계속하려면 EULA에 동의해야 합니다. --accept-eula를 사용하여 실행합니다.", + "auth_already_authenticated": "이미 GitHub로 인증되었습니다. --force-login을 사용하여 다시 인증합니다.", + "config_unsupported_version": "초기화 실패: 지원되지 않는 구성 버전입니다. 버전 1만 지원됩니다.", + "config_file_not_found": "초기화 실패: 구성 파일 '{0}'을(를) 찾을 수 없습니다.", + "config_parse_failed": "초기화 실패: 구성 파일 '{0}'을(를) 구문 분석할 수 없습니다. JSON 형식을 확인합니다. 오류: {1}", + "config_repo_path_invalid": "초기화 실패: 'repositoryPath'가 구성되지 않았거나 잘못되었습니다.", + "config_missing_source": "초기화 실패: 'compileCommands' 또는 'cppProperties'를 구성해야 합니다.", + "config_dual_source": "초기화 실패: 'compileCommands'와 'cppProperties'를 둘 다 구성할 수는 없습니다.", + "config_compile_commands_not_found": "초기화 실패: 'compileCommands' 경로를 찾을 수 없습니다. '{0}'.", + "config_cpp_properties_not_found": "초기화 실패: 'cppProperties' 경로를 찾을 수 없습니다. '{0}'.", + "config_cpp_properties_parse_failed": "초기화 실패: 'cppProperties'로 지정된 파일을 구문 분석할 수 없습니다. '{0}'. JSON 형식을 확인합니다. 오류: {1}", + "config_cpp_properties_schema_invalid": "초기화 실패: 'cppProperties' 파일에서 구성을 읽을 수 없습니다. '{0}'. 스키마를 확인하세요.", + "config_no_configurations": "초기화 실패: '{0}'에 유효한 'configurations' 배열이 포함되어 있지 않습니다.", + "config_configuration_not_found": "초기화 실패: 'cppProperties' 파일에서 구성 '{0}'을(를) 찾을 수 없습니다. '{1}'.", + "config_paths_cache_missing": "초기화 실패: LSP 구성 경로 캐시가 없습니다.", + "curl_not_found": "libcurl을 찾을 수 없습니다({0}). 인증 및 원격 분석에는 libcurl이 필요합니다.", + "curl_install_macos": "libcurl은 기본적으로 macOS에서 사용할 수 있어야 합니다. 없는 경우 다음을 통해 설치: brew install curl", + "curl_install_linux": "libcurl 설치: sudo apt install libcurl4(Debian/Ubuntu) 또는 sudo dnf install libcurl(Fedora/RHEL).", + "curl_symbols_missing": "libsecret이 로드되었지만 필요한 기호가 없습니다. 이는 매우 오래되었거나 호환되지 않는 libcurl 버전을 나타낼 수 있습니다. 언어 서버는 호환되는 libsecret 없이 작동할 수 없습니다.", + "keytar_not_found": "libsecret-1.so.0을 찾을 수 없습니다({0}). libsecret은 보안 자격 증명 스토리지에 필요합니다. libsecret 설치: sudo apt install libsecret-1-0(Debian/Ubuntu) 또는 sudo dnf install libsecret(Fedora/RHEL).", + "keytar_symbols_missing": "libsecret이 로드되었지만 필요한 기호가 없습니다. 언어 서버는 호환되는 libsecret 없이 작동할 수 없습니다.", + "telemetry_disable_failed": "원격 분석을 비활성화하지 못했습니다.", + "lsp_method_not_found": "메서드를 찾을 수 없음: {0}", + "intellisense_same_canonical_path": "기존 파일과 정규화된 경로가 같은 파일에 대해서는 IntelliSense를 처리할 수 없습니다. URI: {0}, 정규화된 경로: {1}", + "status_initializing": "초기화하는 중", + "status_initializing_with_n_of_m": "초기화하는 중({0}/{1})", + "status_initializing_with_n_of_m_and_text": "초기화하는 중({0}/{1}): {2}", + "status_initializing_with_text": "{0}을(를) 초기화하는 중", + "status_initializing_projects": "프로젝트를 초기화하는 중", + "status_initializing_projects_with_n_of_m": "프로젝트를 초기화하는 중({0}/{1}개)", + "status_initializing_projects_with_n_of_m_and_text": "프로젝트를 초기화하는 중({0}/{1}개): {2}", + "status_initializing_projects_with_text": "프로젝트을 초기화하는 중 {0}", + "status_checking_for_outdated_files": "오래된 파일을 검사하는 중", + "status_checking_for_outdated_files_with_n_of_m": "오래된 파일을 검사하는 중({0}/{1}개)", + "status_checking_for_outdated_files_with_n_of_m_and_text": "오래된 파일을 검사하는 중({0}/{1}개): {2}", + "status_checking_for_outdated_files_with_text": "오래된 파일을 검사하는 중 {0}", + "status_parsing_files": "파일을 구문 분석하는 중", + "status_parsing_files_with_n_of_m": "파일을 구문 분석하는 중({0}/{1}개)", + "status_parsing_files_with_n_of_m_and_text": "파일을 구문 분석하는 중({0}/{1}개): {2}", + "status_parsing_files_with_text": "파일을 구문 분석하는 중 {0}", + "status_parsing_includes": "포함된 파일을 구문 분석하는 중", + "status_parsing_includes_with_n_of_m": "포함된 파일을 구문 분석하는 중({0}/{1}개)", + "status_parsing_includes_with_n_of_m_and_text": "포함된 파일을 구문 분석하는 중({0}/{1}개): {2}", + "status_parsing_includes_with_text": "포함된 파일을 구문 분석하는 중 {0}", + "status_scanning_includes": "추가 파일에 대해 #includes를 검사하는 중", + "status_scanning_includes_with_n_of_m": "추가 파일에 대해 #includes를 검사하는 중({0}/{1}개)", + "status_scanning_includes_with_n_of_m_and_text": "추가 파일에 대해 #includes를 검사하는 중({0}/{1}개): {2}", + "status_scanning_includes_with_text": "추가 파일 {0} {1}에 대해 #includes를 검사하는 중", + "status_updating_external_dependencies": "준비(외부 종속성을 업데이트하는 중)", + "status_updating_external_dependencies_with_n_of_m": "준비(외부 종속성을 업데이트하는 중)({0}/{1}개)", + "status_updating_external_dependencies_with_n_of_m_and_text": "준비(외부 종속성을 업데이트하는 중)({0}/{1}개): {2}", + "status_updating_external_dependencies_with_text": "준비(외부 종속성을 업데이트하는 중) {0}", + "status_optimizing_database": "준비(데이터베이스를 최적화하는 중)", + "status_optimizing_database_with_n_of_m": "준비(데이터베이스를 최적화하는 중)({0}/{1}개)", + "status_optimizing_database_with_n_of_m_and_text": "준비(데이터베이스를 최적화하는 중)({0}/{1}개): {2}", + "status_optimizing_database_with_text": "준비(데이터베이스를 최적화하는 중) {0}", + "status_creating_indexes": "인덱스를 만드는 중", + "status_creating_indexes_with_n_of_m": "인덱스를 만드는 중({0}/{1}개)", + "status_creating_indexes_with_n_of_m_and_text": "인덱스를 만드는 중({0}/{1}개): {2}", + "status_creating_indexes_with_text": "인덱스를 만드는 중 {0}", + "status_evaluating_file": "평가하는 중", + "status_evaluating_file_with_n_of_m": "평가하는 중({0}/{1}개)", + "status_evaluating_file_with_n_of_m_and_text": "평가하는 중({0}/{1}개): {2}", + "status_evaluating_file_with_text": "{0}을(를) 평가하는 중", + "status_indexing_files": "파일을 인덱싱하는 중", + "status_indexing_files_with_n_of_m": "파일을 인덱싱하는 중({0}/{1}개)", + "status_indexing_files_with_n_of_m_and_text": "파일을 인덱싱하는 중({0}/{1}개): {2}", + "status_indexing_files_with_text": "파일을 인덱싱하는 중 {0}", + "help_allow_missing_lsp_config": "지정된 --lsp-config 파일이 없어도 서버를 시작할 수 있도록 허용합니다.", + "initialize_failed_during_engine_setup": "엔진을 설정하는 동안 초기화하지 못했습니다.", + "important_label": "중요:" } \ No newline at end of file diff --git a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 1afe7d81b..549632b44 100644 --- a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Windows에 C++ 컴파일러 설치", "walkthrough.windows.text1": "Windows용 C++ 개발 중인 경우 MSVC(Microsoft Visual C++) 컴파일러를 설치하는 것이 좋습니다.", - "walkthrough.windows.text2": "MSVC를 설치하려면 VS Code 터미널(CTRL + `)을 열고 다음 명령을 붙여 넣습니다.\n", + "walkthrough.windows.text2": "MSVC를 설치하려면 VS Code 터미널(CTRL + `)을 열고 다음 명령을 붙여 넣습니다.", "walkthrough.windows.note1": "메모", "walkthrough.windows.note1.text": "현재 C++ 코드베이스를 개발하는 데 적극적으로 사용 중인 유효한 Visual Studio 라이선스(Community, Pro 또는 Enterprise)가 있는 한 Visual Studio Build Tools의 C++ 도구 집합을 Visual Studio Code와 함께 사용하여 모든 C++ 코드베이스를 컴파일, 빌드 및 확인할 수 있습니다.", "walkthrough.windows.verify.compiler": "컴파일러 설치 확인 중", diff --git a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 1afe7d81b..549632b44 100644 --- a/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/kor/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Windows에 C++ 컴파일러 설치", "walkthrough.windows.text1": "Windows용 C++ 개발 중인 경우 MSVC(Microsoft Visual C++) 컴파일러를 설치하는 것이 좋습니다.", - "walkthrough.windows.text2": "MSVC를 설치하려면 VS Code 터미널(CTRL + `)을 열고 다음 명령을 붙여 넣습니다.\n", + "walkthrough.windows.text2": "MSVC를 설치하려면 VS Code 터미널(CTRL + `)을 열고 다음 명령을 붙여 넣습니다.", "walkthrough.windows.note1": "메모", "walkthrough.windows.note1.text": "현재 C++ 코드베이스를 개발하는 데 적극적으로 사용 중인 유효한 Visual Studio 라이선스(Community, Pro 또는 Enterprise)가 있는 한 Visual Studio Build Tools의 C++ 도구 집합을 Visual Studio Code와 함께 사용하여 모든 C++ 코드베이스를 컴파일, 빌드 및 확인할 수 있습니다.", "walkthrough.windows.verify.compiler": "컴파일러 설치 확인 중", diff --git a/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json index 063468ebe..a96a1a4b8 100644 --- a/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/plk/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "Ustaw na wartość `true`, aby przetwarzać tylko pliki bezpośrednio lub pośrednio dołączone w postaci nagłówków. Ustaw na wartość `false`, aby przetwarzać wszystkie pliki w określonych ścieżkach dołączania.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Ścieżka do generowanej bazy danych symboli. Jeśli zostanie określona ścieżka względna, będzie to ścieżka względem domyślnej lokalizacji magazynowania obszaru roboczego.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Lista ścieżek, która ma być używana do indeksowania i analizowania symboli obszaru roboczego (używana przez funkcje „Przejdź do definicji”, „Znajdź wszystkie odwołania”). Wyszukiwanie na tych ścieżkach jest domyślnie rekursywne. Za pomocą znaku `*` możesz określić wyszukiwanie jako nierekursywne. Na przykład `${workspaceFolder}` przeszukuje wszystkie podkatalogi, podczas gdy `${workspaceFolder}/*` już tego nie robi.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "Ustaw na wartość `always`, aby zawsze zmniejszać liczbę ścieżek rekursywnego dołączania dostarczanych do funkcji IntelliSense tylko do tych ścieżek, do których obecnie odwołują się instrukcje #include. Wymaga to najpierw przeanalizowania plików w celu określenia, które nagłówki są dołączane. Ustaw na wartość `never`, aby zapewnić wszystkie ścieżki rekursywnego dołączania do funkcji IntelliSense. Zmniejszenie liczby ścieżek rekursywnego dołączania może zwiększyć wydajność funkcji IntelliSense w przypadku dużej liczby ścieżek rekursywnego dołączania. Brak zmniejszenia liczby ścieżek rekursywnego dołączania może zwiększyć wydajność funkcji IntelliSense, unikając konieczności analizowania plików w celu określenia, które ścieżki dołączane należy podać. Wartość `default` służy obecnie do zmniejszania liczby ścieżek rekursywnego dołączania dostarczonych do funkcji IntelliSense.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "Priorytet ścieżek rekursywnego dołączania. W przypadku ustawienia na wartość `beforeSystemIncludes` ścieżki rekursywnego dołączania będą przeszukiwane przed ścieżkami systemowego dołączania. W przypadku ustawienia na wartość `afterSystemIncludes` ścieżki rekursywnego dołączania będą przeszukiwane po ścieżkach systemowego dołączania. Wartość `beforeSystemIncludes` będzie dokładniej odzwierciedlać kolejność wyszukiwania kompilatora, podczas gdy wartość `afterSystemIncludes` może przyczynić się do zwiększenia wydajności.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "Kolejność przeszukiwania podkatalogów rekursywnych dołączeń.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Zmienne niestandardowe, względem których można wykonywać zapytania za pomocą polecenia `${cpptools:activeConfigCustomVariable}`, aby użyć ich na potrzeby zmiennych wejściowych w plikach `launch.json` lub `tasks.json`.", diff --git a/Extension/i18n/plk/package.i18n.json b/Extension/i18n/plk/package.i18n.json index 99400a980..1a389ce31 100644 --- a/Extension/i18n/plk/package.i18n.json +++ b/Extension/i18n/plk/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Rozszerzone wyrażenie regularne (ERE) POSIX pasujące do nazw nagłówków do diagnostyki wyjściowej. Diagnostyka z głównego pliku każdej jednostki tłumaczenia jest zawsze wyświetlana. Zmienna `${workspaceFolder}` jest obsługiwana (i jest używana jako domyślna wartość rezerwowa, jeśli plik `.clang-tidy` nie istnieje). Jeśli ta opcja nie ma wartości `null` (pusta), zastępuje opcję `HeaderFilterRegex` w pliku `.clang-tidy`, jeśli istnieje.", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "Dodatkowe argumenty wiersza polecenia do przekazania do elementu `clang-tidy`. Mają one pierwszeństwo przed odpowiednikami ustawień `C_Cpp.codeAnalysis.clangTidy.*`.", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "Jeśli ustawiono wartości `true` i `compileCommands` argument `-p=` jest przekazywany do elementu `clang-tidy` zamiast argumentów kompilacji podawanych po znaku `--`. Może to nie działać, jeśli zmienne środowiskowe nie są ustawione, aby można było znaleźć dołączane elementy systemowe.", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Lista włączonych sprawdzeń `clang-tidy`. Wartości są dołączane do elementu `Checks` w pliku `.clang-tidy` lub konfiguracji `#C_Cpp.codeAnalysis.clangTidy.config#`, jeśli istnieją. Domyślne sprawdzenie `clang-analyzer-*` jest zawsze używane, chyba że jest jawnie wyłączone.", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Lista włączonych sprawdzeń `clang-tidy`. Wartości są dołączane do elementu `Checks` w pliku `.clang-tidy` lub konfiguracji `#C_Cpp.codeAnalysis.clangTidy.config#`, jeśli istnieją. Domyślna kontrola `clang-analyzer-core.*` jest zawsze stosowana, o ile nie zostanie jawnie wyłączona.", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "Lista wyłączonych testów `clang-tidy`. Wartości są dołączane do elementu `Checks` w pliku `.clang-tidy` lub konfiguracji `#C_Cpp.codeAnalysis.clangTidy.config#`, jeśli istnieją.", "c_cpp.configuration.formatting.description": "Konfiguruje aparat formatowania.", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "Do formatowania kodu będzie używane polecenie `clang-format`.", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Znak używany jako separator ścieżek dla wygenerowanych ścieżek użytkowników.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "W przypadku wartości `true` etykietki narzędzi najechania kursorem oraz automatycznego uzupełniania będą wyświetlać tylko określone etykiety komentarzy ze strukturą. W przeciwnym razie wyświetlane będą wszystkie komentarze.", "c_cpp.configuration.doxygen.generateOnType.description": "Określa, czy komentarz Doxygen ma być wstawiany automatycznie po wpisaniu wybranego stylu komentarza.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Określa, czy akcja kodu w celu wygenerowania komentarza Doxygen jest włączona.", "c_cpp.configuration.doxygen.generatedStyle.description": "Ciąg znaków używany jako wiersz początkowy komentarza Doxygen.", "c_cpp.configuration.doxygen.sectionTags.description": "Wybierz tagi sekcji Doxygen, które mają być wyświetlane po zatrzymaniu wskaźnika myszy w obszarze etykietki narzędzia po włączeniu ustawienia „Uprość komentarze strukturalne”. ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "Wzorzec, który rozpoczyna wielowierszowy lub jednowierszowy blok komentarza. Wartość domyślna wzorca kontynuacji to ` * ` w przypadku wielowierszowych bloków komentarzy lub ten ciąg w przypadku jednowierszowych bloków komentarza.", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "Wartość false, jeśli ten wpis jest używany tylko do mapowania lokalizacji ramki stosu. Wartość true, jeśli ten wpis powinien być również używany podczas określania lokalizacji punktów przerwania.", "c_cpp.debuggers.symbolOptions.description": "Opcje umożliwiające kontrolowanie sposobu znajdowania i ładowania symboli (plików PDB).", "c_cpp.debuggers.unknownBreakpointHandling.description": "Steruje sposobem obsługi punktów przerwania ustawianych zewnętrznie (zwykle za pośrednictwem nieprzetworzonych poleceń GDB) po trafieniu.\nDozwolone wartości to „throw”, które działają tak, jakby aplikacja zgłosiła wyjątek, i „stop”, co tylko wstrzymuje sesję debugowania. Wartość domyślna to „throw”.", + "c_cpp.debuggers.debuginfod.description": "Steruje zachowaniem debuginfod bazy danych GDB na potrzeby pobierania symboli debugowania z serwerów debuginfod.", + "c_cpp.debuggers.debuginfod.enabled.description": "Jeśli wartość to true (wartość domyślna), obsługa żądań debuginfod bazy danych GDB jest włączona. Ustaw wartość false, aby uniemożliwić bazie danych GDB kontaktowanie się z serwerami debuginfod.", + "c_cpp.debuggers.debuginfod.timeout.description": "Limit czasu w sekundach dla żądań debuginfod serwera. Wartość domyślna to 30. Ustaw wartość 0, aby używać domyślnych ustawień GDB/libdebuginfod (bez przesłonięcia).", "c_cpp.debuggers.VSSymbolOptions.description": "Zapewnia konfigurację umożliwiającą lokalizowanie i ładowanie symboli do adaptera debugowania.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "Tablica adresów URL serwera symboli (przykład: http:​//MyExampleSymbolServer) lub katalogów (przykład:/build/Symbols) w celu wyszukania plików PDB. Te katalogi zostaną wyszukane jako uzupełnienie lokalizacji domyślnych — obok modułu i ścieżki, do której plik PDB został pierwotnie porzucony.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "W przypadku wartości „true” serwer symboli firmy Microsoft (https​://msdl.microsoft.com​/download/symbols) zostanie dodany do ścieżki wyszukiwania symboli. Jeśli ta opcja nie zostanie określona, domyślnie zostanie wybrana wartość „false”.", diff --git a/Extension/i18n/plk/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/plk/src/Debugger/debugAdapterDescriptorFactory.i18n.json index 223a672cb..670edd14b 100644 --- a/Extension/i18n/plk/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/plk/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "Typ debugera „{0}” nie jest dostępny dla maszyn z systemem innym niż Windows." + "debugger.not.available": "Typ debugera „{0}” nie jest dostępny dla maszyn z systemem innym niż Windows.", + "debugger.noDebug.requestType.not.supported": "Uruchamianie bez debugowania jest obsługiwane tylko dla konfiguracji uruchamiania.", + "debugger.noDebug.pipeTransport.not.supported": "Uruchamianie bez debugowania nie jest obsługiwane dla konfiguracji z ustawionym parametrem „pipeTransport”.", + "debugger.noDebug.debugServerPath.not.supported": "Uruchamianie bez debugowania nie jest obsługiwane dla konfiguracji z ustawionym parametrem „debugServerPath”.", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "Uruchamianie bez debugowania nie jest obsługiwane dla konfiguracji z ustawionym parametrem „miDebuggerServerAddress”.", + "debugger.noDebug.coreDumpPath.not.supported": "Uruchamianie bez debugowania nie jest obsługiwane dla konfiguracji z ustawionym parametrem „coreDumpPath”." } \ No newline at end of file diff --git a/Extension/i18n/plk/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/plk/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..69d389654 --- /dev/null +++ b/Extension/i18n/plk/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "Nie znaleziono emulatora terminalu. Ustaw zmienną środowiskową $TERMINAL na wybrany emulator terminala lub zainstaluj jeden z następujących: x-terminal-emulator, gnome-terminal, konsole, xterm." +} \ No newline at end of file diff --git a/Extension/i18n/plk/src/nativeStrings.i18n.json b/Extension/i18n/plk/src/nativeStrings.i18n.json index 609de2211..e2b920e83 100644 --- a/Extension/i18n/plk/src/nativeStrings.i18n.json +++ b/Extension/i18n/plk/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "Nie znaleziono elementu „{0}” w plikach compile_commands.json. Zamiast tego dla tego pliku zostanie użyty element „includePath” z c_cpp_properties.json w folderze „{1}”.", "copilot_hover_link": "Generuj podsumowanie funkcji Copilot", "browse_path_not_found": "Nie można indeksować plików z nieistniejącego folderu: {0}", - "license_terms": "Rozszerzenie C/C++ może być używane tylko z programami Microsoft Visual Studio, Visual Studio dla komputerów Mac, Visual Studio Code, Azure DevOps, Team Foundation Server oraz kolejnymi wersjami produktów i usług firmy Microsoft do tworzenia i testowania aplikacji." + "license_terms": "Rozszerzenie C/C++ może być używane tylko z programami Microsoft Visual Studio, Visual Studio dla komputerów Mac, Visual Studio Code, Azure DevOps, Team Foundation Server oraz kolejnymi wersjami produktów i usług firmy Microsoft do tworzenia i testowania aplikacji.", + "help_title": "Serwer języka Microsoft C++", + "help_usage": "Użycie: {0} [opcje]", + "help_options_header": "Opcje:", + "help_help": "Wyświetl tę wiadomość pomocy i zamknij okno.", + "help_version": "Pokaż informacje o wersji i zakończ.", + "help_accept_eula": "Trwale zaakceptuj umowę licencyjną użytkownika końcowego (EULA).", + "help_stderr": "Nie przekierowuj strumienia stderr do /dev/null (przydatne podczas debugowania).", + "help_login": "Rozpocznij interaktywne logowanie (wymagana jest subskrypcja GitHub Copilot).", + "help_force_login": "Wymuś proces logowania, nawet jeśli został już uwierzytelniony.", + "help_allow_plaintext": "Zezwalaj na przechowywanie poświadczeń w postaci zwykłego tekstu, jeśli bezpieczny pęk kluczy jest niedostępny.", + "help_log_dir": "Określ katalog dla plików dziennika (domyślnie: katalog tymczasowy systemu).", + "help_log_level": "Ustaw poziom szczegółowości logowania od 0 (tylko błędy) do 9 (szczegółowy).", + "help_lsp_config": "Należy podać parametr jako ścieżkę bezwzględną lub względną względem katalogu głównego obszaru roboczego lub jego folderu .github.", + "help_disable_telemetry": "Wyłącz wysyłanie danych telemetrycznych.", + "auth_device_flow_prompt": "Aby uwierzytelnić się w usłudze GitHub, skopiuj kod {0}, a następnie odwiedź witrynę {1}. Trwa oczekiwanie na autoryzację...", + "auth_timed_out": "Przekroczono limit czasu oczekiwania na autoryzację.", + "auth_success": "Pomyślnie uwierzytelniono w usłudze GitHub.", + "auth_save_failed": "Uwierzytelnianie usługi GitHub powiodło się, ale nie można zapisać tokenów.", + "auth_keyring_error": "Błąd klawiszy: {0}", + "auth_keyring_locked": "Kolekcja kluczy jest zablokowana. Odblokuj go lub uruchom ponownie proces gnome-keyring-daemon.", + "auth_keyring_unavailable": "Kolekcja kluczy nie jest dostępna. Zainstaluj i uruchom program gnome-keyring: sudo apt install gnome-keyring", + "auth_try_plaintext": "Można też zezwolić na przechowywanie danych w postaci zwykłego tekstu, podając opcję --login --allow-plaintext-secret-storage.", + "auth_expired": "Kod urządzenia wygasł. Spróbuj ponownie.", + "auth_denied": "Użytkownik odmówił autoryzacji.", + "auth_unexpected_error": "Nieoczekiwany błąd podczas sondowania: {0}", + "auth_login_failed": "Logowanie do GitHub nie powiodło się. Spróbuj uruchomić polecenie --login z wiersza polecenia, aby się zalogować.", + "auth_eula_required": "Aby kontynuować, należy zaakceptować umowę EULA. Uruchom z parametrem --accept-eula.", + "auth_already_authenticated": "Uwierzytelniono już za pomocą usługi GitHub. Użyj polecenia --force-login, aby przeprowadzić ponowne uwierzytelnienie.", + "config_unsupported_version": "Inicjowanie nie powiodło się: nieobsługiwana wersja konfiguracji. Obsługiwana jest tylko wersja 1.", + "config_file_not_found": "Inicjowanie nie powiodło się: nie znaleziono pliku konfiguracji „{0}”.", + "config_parse_failed": "Inicjowanie nie powiodło się: nie można przeanalizować pliku konfiguracji „{0}”. Sprawdź format JSON. Błąd: {1}", + "config_repo_path_invalid": "Nie udało się przeprowadzić inicjalizacji: parametr „repositoryPath” nie został skonfigurowany lub jest nieprawidłowy.", + "config_missing_source": "Nie udało się przeprowadzić inicjalizacji: skonfiguruj polecenia „compileCommands” lub „cppProperties”.", + "config_dual_source": "Nie udało się przeprowadzić inicjalizacji: nie można jednocześnie skonfigurować opcji „compileCommands” i „cppProperties”.", + "config_compile_commands_not_found": "Nie udało się przeprowadzić inicjalizacji: nie znaleziono ścieżki „compileCommands”: „{0}”.", + "config_cpp_properties_not_found": "Inicjalizacja nie powiodła się: nie znaleziono ścieżki „cppProperties”: „{0}”.", + "config_cpp_properties_parse_failed": "Inicjowanie nie powiodło się: nie można przetworzyć pliku wskazanego przez parametr „cppProperties”: „{0}”. Sprawdź format JSON. Błąd: {1}", + "config_cpp_properties_schema_invalid": "Nie udało się przeprowadzić inicjalizacji: nie można odczytać konfiguracji z pliku „cppProperties”: „{0}”. Sprawdź schemat.", + "config_no_configurations": "Inicjowanie nie powiodło się: element „{0}” nie zawiera prawidłowej tablicy „configurations”.", + "config_configuration_not_found": "Nie udało się przeprowadzić inicjalizacji: nie znaleziono konfiguracji „{0} ” w pliku „cppProperties”: „{1}”.", + "config_paths_cache_missing": "Inicjowanie nie powiodło się: brak pamięci podręcznej ścieżek konfiguracji dostawcy LSP.", + "curl_not_found": "nie znaleziono biblioteki libcurl ({0}). Biblioteka libcurl jest wymagana do uwierzytelniania i przesyłania danych telemetrycznych.", + "curl_install_macos": "Biblioteka libcurl powinna być domyślnie dostępna w systemie macOS. Jeśli go brakuje, zainstaluj za pośrednictwem polecenia: brew install curl", + "curl_install_linux": "Zainstaluj bibliotekę libcurl: sudo apt install libcurl4 (Debian/Ubuntu) lub sudo dnf install libcurl (Fedora/RHEL).", + "curl_symbols_missing": "Biblioteka libcurl została załadowana, ale brakuje wymaganych symboli. Może to oznaczać, że używana jest bardzo stara lub niezgodna wersja biblioteki libcurl. Serwer językowy nie może działać bez zgodnej biblioteki libcurl.", + "keytar_not_found": "Nie znaleziono pliku libsecret-1.so.0 ({0}). Biblioteka libsecret jest niezbędna do bezpiecznego przechowywania danych uwierzytelniających. Zainstaluj libsecret: sudo apt zainstaluj libsecret-1-0 (Debian/Ubuntu) lub sudo dnf install libsecret (Fedora/RHEL).", + "keytar_symbols_missing": "załadowano libsecret, ale brakuje wymaganych symboli. Serwer językowy nie może działać bez zgodnego libsecretu.", + "telemetry_disable_failed": "Nie można wyłączyć telemetrii.", + "lsp_method_not_found": "Nie odnaleziono metody: {0}", + "intellisense_same_canonical_path": "Nie można przetworzyć funkcji IntelliSense dla pliku o tej samej ścieżce kanonicznej co istniejący plik. Identyfikator URI: {0}, ścieżka kanoniczna: {1}", + "status_initializing": "Inicjowanie", + "status_initializing_with_n_of_m": "Inicjowanie ({0} z {1})", + "status_initializing_with_n_of_m_and_text": "Inicjowanie ({0} z {1}): {2}", + "status_initializing_with_text": "Inicjowanie {0}", + "status_initializing_projects": "Inicjowanie projektów", + "status_initializing_projects_with_n_of_m": "Inicjowanie projektów ({0} z {1})", + "status_initializing_projects_with_n_of_m_and_text": "Inicjowanie projektów ({0} z {1}): {2}", + "status_initializing_projects_with_text": "Inicjowanie projektu {0}", + "status_checking_for_outdated_files": "Sprawdzanie nieaktualnych plików", + "status_checking_for_outdated_files_with_n_of_m": "Sprawdzanie nieaktualnych plików ({0} z{1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "Sprawdzanie nieaktualnych plików ({0} z {1}): {2}", + "status_checking_for_outdated_files_with_text": "Sprawdzanie nieaktualnych plików {0}", + "status_parsing_files": "Analizowanie plików", + "status_parsing_files_with_n_of_m": "Analizowanie plików ({0} z {1})", + "status_parsing_files_with_n_of_m_and_text": "Analizowanie plików ({0} z {1}): {2}", + "status_parsing_files_with_text": "Analizowanie plików {0}", + "status_parsing_includes": "Analizowanie dołączonych plików", + "status_parsing_includes_with_n_of_m": "Analizowanie dołączonych plików ({0} z {1})", + "status_parsing_includes_with_n_of_m_and_text": "Analizowanie dołączonych plików ({0} z {1}): {2}", + "status_parsing_includes_with_text": "Analizowanie dołączonych plików {0}", + "status_scanning_includes": "Przeszukiwanie plików #includes w poszukiwaniu kolejnych plików", + "status_scanning_includes_with_n_of_m": "Skanowanie instrukcji #includes w poszukiwaniu dodatkowych plików ({0} z {1})", + "status_scanning_includes_with_n_of_m_and_text": "Skanowanie instrukcji #includes w poszukiwaniu dodatkowych plików ({0} of {1}): {2}", + "status_scanning_includes_with_text": "Skanowanie instrukcji #includes w poszukiwaniu dodatkowych plików {0} {1}", + "status_updating_external_dependencies": "Gotowe (Aktualizacja zewnętrznych zależności)", + "status_updating_external_dependencies_with_n_of_m": "Gotowe (Aktualizacja zewnętrznych zależności) ({0} z {1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "Gotowe (Aktualizacja zewnętrznych zależności) ({0} z {1}): {2}", + "status_updating_external_dependencies_with_text": "Gotowe (Aktualizacja zależności zewnętrznych) {0}", + "status_optimizing_database": "Gotowe (Optymalizacja bazy danych)", + "status_optimizing_database_with_n_of_m": "Gotowe (Optymalizacja bazy danych) ({0} z {1})", + "status_optimizing_database_with_n_of_m_and_text": "Gotowe (Optymalizacja bazy danych) ({0} z {1}): {2}", + "status_optimizing_database_with_text": "Gotowe (Optymalizacja bazy danych) {0}", + "status_creating_indexes": "Tworzenie indeksów", + "status_creating_indexes_with_n_of_m": "Tworzenie indeksów ({0} z {1})", + "status_creating_indexes_with_n_of_m_and_text": "Tworzenie indeksów ({0} z {1}): {2}", + "status_creating_indexes_with_text": "Tworzenie indeksów {0}", + "status_evaluating_file": "Szacowanie", + "status_evaluating_file_with_n_of_m": "Szacowanie ({0} z {1})", + "status_evaluating_file_with_n_of_m_and_text": "Szacowanie ({0} z {1}): {2}", + "status_evaluating_file_with_text": "Trwa obliczanie {0}", + "status_indexing_files": "Indeksowanie plików", + "status_indexing_files_with_n_of_m": "Indeksowanie plików ({0} z {1})", + "status_indexing_files_with_n_of_m_and_text": "Indeksowanie plików ({0} z {1}): {2}", + "status_indexing_files_with_text": "Indeksowanie plików {0}", + "help_allow_missing_lsp_config": "Zezwól na uruchomienie serwera, nawet jeśli podany plik --lsp-config nie istnieje.", + "initialize_failed_during_engine_setup": "Inicjowanie nie powiodło się podczas instalacji aparatu.", + "important_label": "Ważne:" } \ No newline at end of file diff --git a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index e978b0bcc..2c8cfab2d 100644 --- a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Zainstaluj kompilator języka C++ w systemie Windows", "walkthrough.windows.text1": "W przypadku programowania w języku C++ dla systemu Windows zalecamy zainstalowanie kompilatora Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Aby zainstalować program MSVC, otwórz terminal VS Code (CTRL + `) i wklej następujące polecenie:\n", + "walkthrough.windows.text2": "Aby zainstalować program MSVC, otwórz terminal VS Code (CTRL + `) i wklej następujące polecenie:", "walkthrough.windows.note1": "Notatka", "walkthrough.windows.note1.text": "Zestawu narzędzi języka C++ z narzędzi Visual Studio Build Tools wraz z programem Visual Studio Code można używać do kompilowania, tworzenia i weryfikowania dowolnej bazy kodu języka C++, o ile masz również ważną licencję programu Visual Studio (Community, Pro lub Enterprise), której aktywnie używasz do opracowywania tej bazy kodu języka C++.", "walkthrough.windows.verify.compiler": "Weryfikowanie instalacji kompilatora", diff --git a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index e978b0bcc..2c8cfab2d 100644 --- a/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/plk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Zainstaluj kompilator języka C++ w systemie Windows", "walkthrough.windows.text1": "W przypadku programowania w języku C++ dla systemu Windows zalecamy zainstalowanie kompilatora Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Aby zainstalować program MSVC, otwórz terminal VS Code (CTRL + `) i wklej następujące polecenie:\n", + "walkthrough.windows.text2": "Aby zainstalować program MSVC, otwórz terminal VS Code (CTRL + `) i wklej następujące polecenie:", "walkthrough.windows.note1": "Notatka", "walkthrough.windows.note1.text": "Zestawu narzędzi języka C++ z narzędzi Visual Studio Build Tools wraz z programem Visual Studio Code można używać do kompilowania, tworzenia i weryfikowania dowolnej bazy kodu języka C++, o ile masz również ważną licencję programu Visual Studio (Community, Pro lub Enterprise), której aktywnie używasz do opracowywania tej bazy kodu języka C++.", "walkthrough.windows.verify.compiler": "Weryfikowanie instalacji kompilatora", diff --git a/Extension/i18n/ptb/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/ptb/c_cpp_properties.schema.json.i18n.json index af352d4ee..c962a96a3 100644 --- a/Extension/i18n/ptb/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/ptb/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "Defina como `true` para processar somente os arquivos incluídos direta ou indiretamente como cabeçalhos. Defina como `false` para processar todos os arquivos sob os caminhos de inclusão especificados.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Caminho para o banco de dados de símbolo gerado. Se um caminho relativo for especificado, ele será criado em relação ao local de armazenamento padrão do workspace.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Uma lista de caminhos a serem usados ​​para indexação e análise de símbolos do espaço de trabalho (para uso por 'Ir para a definição', 'Localizar Tudo todas as referências', etc.). A pesquisa nesses caminhos é recursiva por padrão. Especifique `*` para indicar pesquisa não recursiva. Por exemplo, `${workspaceFolder}` irá pesquisar em todos os subdiretórios enquanto `${workspaceFolder}/*` não irá.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "Defina como `always` para sempre reduzir o número de caminhos de inclusão recursivos fornecidos ao IntelliSense apenas para os caminhos referenciados atualmente por instruções #include. Isso requer primeiro a análise de arquivos para determinar quais cabeçalhos estão incluídos. Defina como `never` para fornecer todos os caminhos de inclusão recursivos para o IntelliSense. Reduzir o número de caminhos de inclusão recursivos pode melhorar o desempenho do IntelliSense quando um número muito grande de caminhos de inclusão recursivos está envolvido. Não reduzir o número de caminhos de inclusão recursivos pode melhorar o desempenho do IntelliSense, evitando a necessidade de analisar arquivos para determinar quais caminhos de inclusão fornecer. O valor `default` atualmente é para reduzir o número de caminhos de inclusão recursivos fornecidos ao IntelliSense.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "A prioridade dos caminhos de inclusão recursivo. Se definido como `beforeSystemIncludes`, os caminhos de inclusão recursivos serão pesquisados antes que o sistema inclua caminhos. Se definido como `afterSystemIncludes`, os caminhos de inclusão recursivos serão pesquisados depois que o sistema incluir caminhos. `beforeSystemIncludes` refletiria mais de perto a ordem de pesquisa de um compilador, enquanto `afterSystemIncludes` pode resultar em desempenho aprimorado.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "A ordem na qual os subdiretórios de inserções recursivas são pesquisados.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Variáveis ​​personalizadas que podem ser consultadas através do comando `${cpptools: activeConfigCustomVariable}` para usar para as variáveis ​​de entrada em `launch.json` ou` tasks.json`.", diff --git a/Extension/i18n/ptb/package.i18n.json b/Extension/i18n/ptb/package.i18n.json index 2cdb706bc..ac53a14d5 100644 --- a/Extension/i18n/ptb/package.i18n.json +++ b/Extension/i18n/ptb/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Uma expressão regular estendida (ERE) que corresponde ao nome do cabeçalho a partir do qual o diagnóstico deve ser gerado. Os diagnósticos do arquivo principal de cada unidade de tradução são sempre exibidos. A variável `${workspaceFolder}` é suportada (e será usada como o valor de fallback padrão se o arquivo `.clang-tidy` não existir). Se esta opção não for `null` (vazia), ela substituirá a opção `HeaderFilterRegex` em um arquivo `.clang-tidy`, se houver.", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "Argumentos de linha de comando adicionais a serem passados para `clang-tidy`. Elas têm precedência sobre as configurações `C_Cpp.codeAnalysis.clangTidy.*` equivalentes.", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "Se `true` e `compileCommands` estiver definido, o argumento `-p=` será passado para `clang-tidy` em vez dos argumentos de compilação que estão sendo passados após `--`. Isso pode não funcionar se as variáveis de ambiente não estão definidas para que as inscrições do sistema possam ser encontradas.", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Lista de verificações `clang-tidy` habilitadas. Os valores são acrescentados às `Checks` em um arquivo `.clang-tidy` ou `#C_Cpp.codeAnalysis.clangTidy.config#`, se houver. A verificação padrão `clang-analyzer-*` é sempre usada, a menos que seja explicitamente desabilitada.", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Lista de verificações `clang-tidy` habilitadas. Os valores são acrescentados aos `Checks` em um arquivo `.clang-tidy` ou `#C_Cpp.codeAnalysis.clangTidy.config#`, se houver. A verificação padrão `clang-analyzer-core.*` é sempre usada, a menos que seja explicitamente desabilitada.", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "Lista de verificações `clang-tidy` desabilitadas. Os valores são acrescentados às `Checks` em um arquivo `.clang-tidy` ou `#C_Cpp.codeAnalysis.clangTidy.config#`, se houver.", "c_cpp.configuration.formatting.description": "Configura o mecanismo de formatação.", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "`clang-format` será usado para formatar o código.", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "O caractere usado como separador de caminho para caminhos de usuário gerados.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Se for `true`, as dicas de passar o mouse e autocompletar exibirão apenas alguns rótulos de comentários estruturados. Caso contrário, todos os comentários serão exibidos.", "c_cpp.configuration.doxygen.generateOnType.description": "Controle se o comentário Doxygen deve ser inserido automaticamente depois de digitar o estilo de comentário escolhido.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Controla se a ação de código para gerar um comentário do Doxygen está habilitada.", "c_cpp.configuration.doxygen.generatedStyle.description": "A cadeia de caracteres usada como a linha inicial do comentário Doxygen.", "c_cpp.configuration.doxygen.sectionTags.description": "Selecione as tags de seção do Doxygen que você quer exibir ao focalizar na área de dica de ferramenta quando a configuração `Simplificar Comentários Estruturados` estiver habilitada. ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "O padrão que inicia um bloco de comentário de várias linhas ou de uma linha. O padrão de continuação é `*` para blocos de comentários de várias linhas ou esta cadeia de caracteres para blocos de comentários de uma única linha.", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "False quando esta entrada é usada apenas para o mapeamento de local de registro de ativação. True quando esta entrada também deve ser usada ao especificar locais de ponto de interrupção.", "c_cpp.debuggers.symbolOptions.description": "Opções para controlar como os símbolos (arquivos .pdb) são encontrados e carregados.", "c_cpp.debuggers.unknownBreakpointHandling.description": "Controla como os pontos de interrupção definidos externamente (geralmente por meio de comandos GDB brutos) são tratados quando atingidos.\nOs valores permitidos são \"throw\", que age como se uma exceção fosse lançada pelo aplicativo, e \"stop\", que apenas pausa a sessão de depuração. O valor padrão é \"throw\".", + "c_cpp.debuggers.debuginfod.description": "Controla o comportamento do debuginfod do GDB ao baixar símbolos de depuração dos servidores debuginfod.", + "c_cpp.debuggers.debuginfod.enabled.description": "Se true (padrão), o suporte de debuginfod do GDB está habilitado. Defina como false para impedir que o GDB entre em contato com servidores depurados.", + "c_cpp.debuggers.debuginfod.timeout.description": "O tempo limite em segundos para solicitações de servidor debuginfod. O padrão é 30. Defina como 0 para usar os padrões GDB/libdebuginfod (sem substituição).", "c_cpp.debuggers.VSSymbolOptions.description": "Fornece configuração para localizar e carregar símbolos no adaptador de depuração.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "Matriz de URLs do servidor de símbolos (exemplo: http​://MyExampleSymbolServer) ou diretórios (exemplo: /build/symbols) para pesquisar arquivos .pdb. Esses diretórios serão pesquisados além dos locais padrão, ao lado do módulo e do caminho em que o pdb foi removido originalmente.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "Se for 'true', o servidor de Símbolos da Microsoft (https​://msdl.microsoft.com​/download/symbols) será adicionado ao caminho de pesquisa de símbolos. Se não for especificado, essa opção usará como padrão 'false'.", diff --git a/Extension/i18n/ptb/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/ptb/src/Debugger/debugAdapterDescriptorFactory.i18n.json index c4d51c6d5..dab24487f 100644 --- a/Extension/i18n/ptb/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/ptb/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "O tipo de depurador '{0}' não está disponível para máquinas que não sejam Windows." + "debugger.not.available": "O tipo de depurador '{0}' não está disponível para máquinas que não sejam Windows.", + "debugger.noDebug.requestType.not.supported": "A execução sem depuração só tem suporte para configurações de inicialização.", + "debugger.noDebug.pipeTransport.not.supported": "Não há suporte para Executar Sem Depuração para configurações com \"pipeTransport\" definido.", + "debugger.noDebug.debugServerPath.not.supported": "Não há suporte para Executar sem Depuração em configurações com \"debugServerPath\" definido.", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "Não há suporte para Executar sem Depuração para configurações com \"miDebuggerServerAddress\" definido.", + "debugger.noDebug.coreDumpPath.not.supported": "Não há suporte para Executar sem Depuração para configurações com o conjunto \"coreDumpPath\"." } \ No newline at end of file diff --git a/Extension/i18n/ptb/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/ptb/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..30bed1160 --- /dev/null +++ b/Extension/i18n/ptb/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "Nenhum emulador de terminal encontrado. Defina a variável de ambiente $TERMINAL para o emulador de terminal de sua escolha ou instale um dos seguintes: x-terminal-emulator, gnome-terminal, konsole, xterm." +} \ No newline at end of file diff --git a/Extension/i18n/ptb/src/nativeStrings.i18n.json b/Extension/i18n/ptb/src/nativeStrings.i18n.json index 016ad6e35..06cfe131b 100644 --- a/Extension/i18n/ptb/src/nativeStrings.i18n.json +++ b/Extension/i18n/ptb/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "\"{0}\" não encontrado nos arquivos compile_commands.json. \"includePath\" de c_cpp_properties.json na pasta \"{1}\" será usado para esse arquivo.", "copilot_hover_link": "Gerar resumo do Copilot", "browse_path_not_found": "Não é possível indexar arquivos de pasta inexistente: {0}", - "license_terms": "A extensão C/C++ pode ser usada somente com o Microsoft Visual Studio, Visual Studio para Mac, Visual Studio Code, Azure DevOps, Team Foundation Server e produtos e serviços sucessores da Microsoft para desenvolver e testar seus aplicativos." + "license_terms": "A extensão C/C++ pode ser usada somente com o Microsoft Visual Studio, Visual Studio para Mac, Visual Studio Code, Azure DevOps, Team Foundation Server e produtos e serviços sucessores da Microsoft para desenvolver e testar seus aplicativos.", + "help_title": "Servidor de Linguagem C++ da Microsoft", + "help_usage": "Uso: {0} [opções]", + "help_options_header": "Opções:", + "help_help": "Mostre esta mensagem de ajuda e saia.", + "help_version": "Mostre as informações da versão e saia.", + "help_accept_eula": "Aceite permanentemente o EULA (Contrato de Licença de Usuário Final).", + "help_stderr": "Não redirecione stderr para /dev/null (útil para depuração).", + "help_login": "Inicie o logon interativo (assinatura do GitHub Copilot obrigatória).", + "help_force_login": "Force o processo de logon, mesmo que já tenha sido autenticado.", + "help_allow_plaintext": "Permitir o armazenamento de credenciais em texto não criptografado se um keychain seguro não estiver disponível.", + "help_log_dir": "Especifique o diretório para os arquivos de log (padrão: diretório temporário do sistema).", + "help_log_level": "Defina o detalhamento do log de 0 (Somente erros) a 9 (Detalhado).", + "help_lsp_config": "Especifique o parâmetro como um caminho absoluto ou relativo à raiz do workspace ou à pasta .github.", + "help_disable_telemetry": "Desabilite o envio de dados telemétricos.", + "auth_device_flow_prompt": "Para autenticar com o GitHub, copie o código {0} e visite {1}. Aguardando autorização...", + "auth_timed_out": "Tempo limite atingido ao aguardar autorização.", + "auth_success": "Autenticado com sucesso com o GitHub.", + "auth_save_failed": "A autenticação do GitHub foi bem-sucedida, mas os tokens não puderam ser salvos.", + "auth_keyring_error": "Erro de token de autenticação: {0}", + "auth_keyring_locked": "A coleção de token de autenticação está bloqueada. Desbloqueie-a ou reinicie o gnome-keyring-daemon.", + "auth_keyring_unavailable": "Nenhum serviço de token de autenticação está disponível. Instale e inicie o gnome-keyring: sudo apt install gnome-keyring", + "auth_try_plaintext": "Ou permita o armazenamento em texto não criptografado passando --login --allow-plaintext-secret-storage.", + "auth_expired": "O código do dispositivo expirou. Tente novamente.", + "auth_denied": "A autorização foi negada pelo usuário.", + "auth_unexpected_error": "Erro inesperado durante a sondagem: {0}", + "auth_login_failed": "Falha no logon do GitHub. Tente executar com --login na linha de comando para fazer logon.", + "auth_eula_required": "O EULA deve ser aceito para continuar. Execute com --accept-eula.", + "auth_already_authenticated": "Já autenticado com o GitHub. Use --force-login para autenticar novamente.", + "config_unsupported_version": "Falha na inicialização: versão de configuração sem suporte. Há suporte apenas para a versão 1.", + "config_file_not_found": "Falha na inicialização: arquivo de configuração ''{0}'' não encontrado.", + "config_parse_failed": "Falha na inicialização: não é possível analisar o arquivo de configuração ''{0}''. Verifique o formato JSON. Erro: {1}", + "config_repo_path_invalid": "Falha na inicialização: ''repositoryPath' não está configurado ou é inválido.", + "config_missing_source": "Falha na inicialização: ''compileCommands'' ou ''cppProperties'' deve ser configurado.", + "config_dual_source": "Falha na inicialização: ''compileCommands'' e ''cppProperties'' não podem ser configurados.", + "config_compile_commands_not_found": "Falha na inicialização: caminho ''compileCommands'' não encontrado: ''{0}''.", + "config_cpp_properties_not_found": "Falha na inicialização: o caminho ''cppProperties'' não foi encontrado: ''{0}''.", + "config_cpp_properties_parse_failed": "Falha na inicialização: não é possível analisar o arquivo especificado por ''cppProperties'': ''{0}''. Verifique o formato JSON. Erro: {1}", + "config_cpp_properties_schema_invalid": "Falha na inicialização: não é possível ler a configuração do arquivo ''cppProperties'': ''{0}''. Verifique o esquema.", + "config_no_configurations": "Falha na inicialização: ''{0}'' não contém uma matriz ''configurations'' válida.", + "config_configuration_not_found": "Falha na inicialização: a configuração ''{0}'' não foi encontrada no arquivo ''cppProperties'': ''{1}''.", + "config_paths_cache_missing": "Falha na inicialização: o cache de caminhos de configuração do LSP está ausente.", + "curl_not_found": "libcurl não encontrado ({0}). libcurl é necessário para autenticação e telemetria.", + "curl_install_macos": "O libcurl deve estar disponível no macOS por padrão. Se estiver ausente, instale por meio de: brew install curl", + "curl_install_linux": "Instale o libcurl: sudo apt install libcurl4 (Debian/Ubuntu) ou sudo dnf install libcurl (Fedora/RHEL).", + "curl_symbols_missing": "libcurl carregado, mas os símbolos necessários estão ausentes. Isso pode indicar uma versão do libcurl muito antiga ou incompatível. O servidor de linguagem não pode operar sem um libcurl compatível.", + "keytar_not_found": "libsecret-1.so.0 não encontrado ({0}). O libsecret é necessário para o armazenamento seguro de credenciais. Instale o libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) ou sudo dnf install libsecret (Fedora/RHEL).", + "keytar_symbols_missing": "libsecret carregado, mas os símbolos obrigatórios estão ausentes. O servidor de linguagem não pode operar sem um libsecret compatível.", + "telemetry_disable_failed": "Falha ao desabilitar a telemetria.", + "lsp_method_not_found": "Método não encontrado: {0}", + "intellisense_same_canonical_path": "Não é possível processar o IntelliSense para um arquivo com o mesmo caminho canonizado que um arquivo existente. URI: {0}, caminho canonizado: {1}", + "status_initializing": "Inicializando", + "status_initializing_with_n_of_m": "Inicializando ({0} de {1})", + "status_initializing_with_n_of_m_and_text": "Inicializando ({0} de {1}): {2}", + "status_initializing_with_text": "Inicializando {0}", + "status_initializing_projects": "Inicializando os projetos", + "status_initializing_projects_with_n_of_m": "Inicializando os projetos ({0} de {1})", + "status_initializing_projects_with_n_of_m_and_text": "Inicializando os projetos ({0} de {1}): {2}", + "status_initializing_projects_with_text": "Inicializando os projetos {0}", + "status_checking_for_outdated_files": "Verificando se há arquivos desatualizados", + "status_checking_for_outdated_files_with_n_of_m": "Verificando se há arquivos desatualizados ({0} de {1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "Verificando se há arquivos desatualizados ({0} de {1}): {2}", + "status_checking_for_outdated_files_with_text": "Verificando se há arquivos desatualizados {0}", + "status_parsing_files": "Analisando os arquivos", + "status_parsing_files_with_n_of_m": "Analisando os arquivos ({0} de {1})", + "status_parsing_files_with_n_of_m_and_text": "Analisando os arquivos ({0} de {1}): {2}", + "status_parsing_files_with_text": "Analisando os arquivos {0}", + "status_parsing_includes": "Analisando os arquivos incluídos", + "status_parsing_includes_with_n_of_m": "Analisando os arquivos incluídos ({0} de {1})", + "status_parsing_includes_with_n_of_m_and_text": "Analisando os arquivos incluídos ({0} de {1}): {2}", + "status_parsing_includes_with_text": "Analisando os arquivos incluídos {0}", + "status_scanning_includes": "Verificando #includes em busca de mais arquivos", + "status_scanning_includes_with_n_of_m": "Verificando #includes em busca de mais arquivos ({0} de {1})", + "status_scanning_includes_with_n_of_m_and_text": "Verificando #includes em busca de mais arquivos ({0} de {1}): {2}", + "status_scanning_includes_with_text": "Verificando #includes em busca de mais arquivos {0} {1}", + "status_updating_external_dependencies": "Pronto (atualizando dependências externas)", + "status_updating_external_dependencies_with_n_of_m": "Pronto (Atualizando as dependências externas) ({0} de {1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "Pronto (Atualizando as dependências externas) ({0} de {1}): {2}", + "status_updating_external_dependencies_with_text": "Pronto (Atualizando as dependências externas) {0}", + "status_optimizing_database": "Pronto (Otimizando o banco de dados)", + "status_optimizing_database_with_n_of_m": "Pronto (Otimizando o banco de dados) ({0} de {1})", + "status_optimizing_database_with_n_of_m_and_text": "Pronto (Otimizando o banco de dados) ({0} de {1}): {2}", + "status_optimizing_database_with_text": "Pronto (Otimizando o banco de dados) {0}", + "status_creating_indexes": "Criando os índices", + "status_creating_indexes_with_n_of_m": "Criando os índices ({0} de {1})", + "status_creating_indexes_with_n_of_m_and_text": "Criando os índices ({0} de {1}): {2}", + "status_creating_indexes_with_text": "Criando os índices {0}", + "status_evaluating_file": "Avaliando", + "status_evaluating_file_with_n_of_m": "Avaliando ({0} de {1})", + "status_evaluating_file_with_n_of_m_and_text": "Avaliando ({0} de {1}): {2}", + "status_evaluating_file_with_text": "Avaliando {0}", + "status_indexing_files": "Indexando os arquivos", + "status_indexing_files_with_n_of_m": "Indexando os arquivos ({0} de {1})", + "status_indexing_files_with_n_of_m_and_text": "Indexando os arquivos ({0} de {1}): {2}", + "status_indexing_files_with_text": "Indexando os arquivos {0}", + "help_allow_missing_lsp_config": "Permita que o servidor seja iniciado mesmo que o arquivo --lsp-config especificado não exista.", + "initialize_failed_during_engine_setup": "Falha na inicialização durante a instalação do mecanismo.", + "important_label": "Importante:" } \ No newline at end of file diff --git a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index ca7d95ff5..46897af8a 100644 --- a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Instalar um compilador C++ no Windows", "walkthrough.windows.text1": "Se você estiver desenvolvendo C++ para Windows, recomendamos instalar o conjunto de ferramentas do compilador Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Para instalar o MSVC, abra o terminal VS Code (CTRL + `) e cole o seguinte comando:\n", + "walkthrough.windows.text2": "Para instalar o MSVC, abra o terminal VS Code (CTRL + `) e cole o seguinte comando:", "walkthrough.windows.note1": "Observação", "walkthrough.windows.note1.text": "Você pode usar o conjunto de ferramentas C++ das Ferramentas de Build do Visual Studio junto com o Visual Studio Code para compilar, construir e verificar qualquer base de código C++, contanto que também tenha uma licença válida do Visual Studio (Community, Pro ou Enterprise) que esteja ativamente usando para desenvolver essa base de código C++.", "walkthrough.windows.verify.compiler": "Verificando a instalação do compilador", diff --git a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index ca7d95ff5..46897af8a 100644 --- a/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/ptb/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Instalar um compilador C++ no Windows", "walkthrough.windows.text1": "Se você estiver desenvolvendo C++ para Windows, recomendamos instalar o conjunto de ferramentas do compilador Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Para instalar o MSVC, abra o terminal VS Code (CTRL + `) e cole o seguinte comando:\n", + "walkthrough.windows.text2": "Para instalar o MSVC, abra o terminal VS Code (CTRL + `) e cole o seguinte comando:", "walkthrough.windows.note1": "Observação", "walkthrough.windows.note1.text": "Você pode usar o conjunto de ferramentas C++ das Ferramentas de Build do Visual Studio junto com o Visual Studio Code para compilar, construir e verificar qualquer base de código C++, contanto que também tenha uma licença válida do Visual Studio (Community, Pro ou Enterprise) que esteja ativamente usando para desenvolver essa base de código C++.", "walkthrough.windows.verify.compiler": "Verificando a instalação do compilador", diff --git a/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json index b74f66860..3ee1ff4ee 100644 --- a/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/rus/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "При задании значения `true` будут обрабатываться только файлы, прямо или косвенно включенные как файлы заголовков, а при задании значения `false` — все файлы по указанным путям для включений.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Путь к создаваемой базе данных символов. При указании относительного пути он будет отсчитываться от используемого в рабочей области места хранения по умолчанию.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Список путей, используемых для индексирования и анализа символов рабочей области (для использования командами 'Go to Definition' (Перейти к определению), 'Find All References' (Найти все ссылки) и т. д.). Поиск по этим путям по умолчанию является рекурсивным. Укажите `*`, чтобы использовать нерекурсивный поиск. Например, если указать `${workspaceFolder}`, будет выполнен поиск по всем подкаталогам, а если указать `${workspaceFolder}/*` — не будет.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "Задайте значение `always`, чтобы всегда уменьшать количество путей рекурсивного включения, предоставляемых для IntelliSense, только до тех путей, на которые в настоящее время ссылаются инструкции #include. Для этого необходимо сначала проанализировать файлы, чтобы определить, какие заголовки включены. Задайте значение `never`, чтобы предоставить все пути рекурсивного включения для IntelliSense. Уменьшение количества путей рекурсивного включения может повысить производительность IntelliSense, если задействовано очень большое количество путей рекурсивного включения. Отсутствие уменьшения количества путей рекурсивного включения может улучшить производительность IntelliSense благодаря отказу от необходимости анализа файлов для определения того, какие пути включения следует предоставить. Значение `default` в настоящее время используется для уменьшения количества путей рекурсивного включения, предоставляемых для IntelliSense.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "Приоритет путей рекурсивного включения. Если задано значение `beforeSystemIncludes`, поиск путей рекурсивного включения будет выполняться до путей системного включения. Если задано значение `afterSystemIncludes`, поиск путей рекурсивного включения будет выполняться после путей системного включения. Значение `beforeSystemIncludes` более точно отражает порядок поиска компилятора, а `afterSystemIncludes` может повысить производительность.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "Порядок поиска подкаталогов рекурсивных включений.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Пользовательские переменные, которые можно запросить с помощью команды `${cpptools:activeConfigCustomVariable}`, чтобы использовать в качестве входных переменных в файле `launch.json` или `tasks.json`.", diff --git a/Extension/i18n/rus/package.i18n.json b/Extension/i18n/rus/package.i18n.json index 60aee77a8..e4c8dd257 100644 --- a/Extension/i18n/rus/package.i18n.json +++ b/Extension/i18n/rus/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Расширенное регулярное выражение (ERE) POSIX, соответствующее именам заголовков для вывода диагностики. Диагностика основного файла каждой единицы трансляции отображается всегда. Поддерживается переменная `${workspaceFolder}` (и используется в качестве резервного значения по умолчанию, если файл `.clang-tidy` не существует). Если данный параметр не имеет значение `null` (пусто), он переопределяет параметр `HeaderFilterRegex` в файле `.clang-tidy` (если таковой существует).", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "Дополнительные аргументы командной строки для передачи в `clang-tidy`. Они имеют приоритет над эквивалентными параметрами `C_Cpp.codeAnalysis.clangTidy.*`.", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "Если заданы аргументы `true` и `compileCommands`, аргумент `-p=` передается в `clang-tidy` вместо аргументов сборки, переданных после `--`. Это может не работать, если переменные среды не заданы для того, чтобы можно было найти системные включения.", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Список включенных проверок `clang-tidy`. Значения добавляется к элементу `Checks` в файле `.clang-tidy` или `#C_Cpp.codeAnalysis.clangTidy.config#`, если они есть. Проверка по умолчанию `clang-analyzer-*` используется всегда, если специально не отключена.", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Список включенных проверок `clang-tidy`. Значения добавляются в элемент `Checks` в файле `.clang-tidy` или `#C_Cpp.codeAnalysis.clangTidy.config#` (если есть). Всегда используется стандартная проверка `clang-analyzer-core.*`, если она явно не отключена.", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "Список отключенных проверок`clang-tidy`. Значения добавляются к элементу `Checks` в файле `.clang-tidy` или `#C_Cpp.codeAnalysis.clangTidy.config#`, если они есть.", "c_cpp.configuration.formatting.description": "Настраивает подсистему форматирования.", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "Для форматирования кода будет использоваться `clang-format`.", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Символ, используемый в качестве разделителя путей для созданных путей пользователей.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "Если выбрано значение `true`, в подсказках при наведении указателя и автозавершении будут отображаться только определенные метки со структурированными комментариями. В противном случае отображаются все комментарии.", "c_cpp.configuration.doxygen.generateOnType.description": "Определяет, следует ли автоматически вставлять комментарий Doxygen после ввода выбранного стиля комментария.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Управляет включением действия кода для создания комментария Doxygen.", "c_cpp.configuration.doxygen.generatedStyle.description": "Строка символов, используемая в качестве начальной строки комментария Doxygen.", "c_cpp.configuration.doxygen.sectionTags.description": "Выберите теги раздела Doxygen, которые должны отображаться при наведении курсора на область подсказок, если включен параметр \"Упростить структурированные комментарии\".", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "Шаблон, который начинается с многострочного или однострочного примечания. Шаблон продолжения по умолчанию имеет значение ` * ` для многострочных примечаний или соответствует этой строке для однострочных примечаний.", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "Значение false, если эта запись используется только для сопоставления расположений кадра стека. Значение true, если эта запись также должна использоваться при указании расположений точек останова.", "c_cpp.debuggers.symbolOptions.description": "Параметры, управляющие поиском и загрузкой символов (PDB-файлов).", "c_cpp.debuggers.unknownBreakpointHandling.description": "Управляет тем, как точки останова, установленные извне (обычно через необработанные команды GDB), обрабатываются при попадании.\nДопустимые значения: \"throw\", который действует так, как если бы приложение выдало исключение, и \"stop\", который только приостанавливает сеанс отладки. Значение по умолчанию — \"throw\".", + "c_cpp.debuggers.debuginfod.description": "Управляет поведением debuginfod в GDB при скачивании символов отладки с серверов debuginfod.", + "c_cpp.debuggers.debuginfod.enabled.description": "Если задано значение true (по умолчанию), поддержка debuginfod в GDB включена. Задайте значение false, чтобы запретить GDB обращение к серверам debuginfod.", + "c_cpp.debuggers.debuginfod.timeout.description": "Время ожидания запросов к серверу debuginfod в секундах. Значение по умолчанию: 30. Чтобы использовать значения по умолчанию GDB/libdebuginfod (без переопределения), задайте 0.", "c_cpp.debuggers.VSSymbolOptions.description": "Предоставляет конфигурацию для поиска и загрузки символов в адаптер отладки.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "Массив URL-адресов сервера символов (например, http​://MyExampleSymbolServer) или каталогов (например: /build/symbols) для поиска PDB-файлов. Поиск в этих каталогах осуществляется в дополнение к расположениям по умолчанию — рядом с модулем и путем первоначального удаления PDB-файла.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "Если значение равно \"true\", сервер символов (Майкрософт) (https​://msdl.microsoft.com​/download/symbols) добавляется к пути поиска символов. Если этот параметр не задан, по умолчанию используется значение \"false\".", diff --git a/Extension/i18n/rus/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/rus/src/Debugger/debugAdapterDescriptorFactory.i18n.json index 704da1606..3cd62d94b 100644 --- a/Extension/i18n/rus/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/rus/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "Тип отладчика \"{0}\" недоступен для компьютеров с операционной системой, отличной от Windows." + "debugger.not.available": "Тип отладчика \"{0}\" недоступен для компьютеров с операционной системой, отличной от Windows.", + "debugger.noDebug.requestType.not.supported": "Запуск без отладки поддерживается только для конфигураций запуска.", + "debugger.noDebug.pipeTransport.not.supported": "Запуск без отладки не поддерживается для конфигураций с настроенным параметром \"pipeTransport\".", + "debugger.noDebug.debugServerPath.not.supported": "Запуск без отладки не поддерживается для конфигураций с настроенным параметром \"debugServerPath\".", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "Запуск без отладки не поддерживается для конфигураций с настроенным параметром \"miDebuggerServerAddress\".", + "debugger.noDebug.coreDumpPath.not.supported": "Запуск без отладки не поддерживается для конфигураций с настроенным параметром \"coreDumpPath\"." } \ No newline at end of file diff --git a/Extension/i18n/rus/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/rus/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..212471217 --- /dev/null +++ b/Extension/i18n/rus/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "Эмулятор терминала не найден. Настройте переменную среды $TERMINAL, указав предпочитаемый эмулятор терминала, или установите один из следующих вариантов: x-terminal-emulator, gnome-terminal, konsole, xterm." +} \ No newline at end of file diff --git a/Extension/i18n/rus/src/nativeStrings.i18n.json b/Extension/i18n/rus/src/nativeStrings.i18n.json index e8cd4ce7e..8e1912085 100644 --- a/Extension/i18n/rus/src/nativeStrings.i18n.json +++ b/Extension/i18n/rus/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "\"{0}\" не найден в файлах compile_commands.json. Вместо него для этого файла будет использоваться \"includePath\" из файла c_cpp_properties.json в папке \"{1}\".", "copilot_hover_link": "Создать сводку Copilot", "browse_path_not_found": "Не удалось индексировать файлы из несуществующей папки: {0}", - "license_terms": "Расширение C/C++ можно использовать только с Microsoft Visual Studio, Visual Studio для Mac, Visual Studio Code, Azure DevOps, Team Foundation Server и последующими продуктами и службами Майкрософт, предназначенными для разработки и тестирования приложений." + "license_terms": "Расширение C/C++ можно использовать только с Microsoft Visual Studio, Visual Studio для Mac, Visual Studio Code, Azure DevOps, Team Foundation Server и последующими продуктами и службами Майкрософт, предназначенными для разработки и тестирования приложений.", + "help_title": "Языковой сервер Microsoft C++", + "help_usage": "Использование: {0} [параметры]", + "help_options_header": "Параметры:", + "help_help": "Показать это справочное сообщение и выйти.", + "help_version": "Показать сведения о версии и выйти.", + "help_accept_eula": "Принять Лицензионное соглашение с конечным пользователем (EULA) на постоянной основе.", + "help_stderr": "Не перенаправлять stderr в /dev/null (полезно для отладки).", + "help_login": "Инициировать интерактивный вход (требуется подписка на GitHub Copilot).", + "help_force_login": "Принудительно выполнить вход, даже если аутентификация уже выполнена.", + "help_allow_plaintext": "Разрешить хранение учетных данных в виде открытого текста, если безопасная связка ключей недоступна.", + "help_log_dir": "Указать каталог для файлов журнала (по умолчанию: системный временный каталог).", + "help_log_level": "Установить уровень детализации журнала в диапазоне от 0 (только ошибки) до 9 (подробно).", + "help_lsp_config": "Укажите параметр как абсолютный путь или путь относительно корня рабочей области либо папки .github.", + "help_disable_telemetry": "Отключить отправку данных телеметрии.", + "auth_device_flow_prompt": "Чтобы выполнить аутентификацию в GitHub, скопируйте код {0} и перейдите по ссылке {1}. Ожидание авторизации…", + "auth_timed_out": "Время ожидания авторизации истекло.", + "auth_success": "Аутентификация в GitHub пройдена.", + "auth_save_failed": "Аутентификация в GitHub пройдена, но не удалось сохранить маркеры.", + "auth_keyring_error": "Ошибка связки ключей: {0}", + "auth_keyring_locked": "Коллекция связок ключей заблокирована. Разблокируйте ее или перезапустите gnome-keyring-daemon.", + "auth_keyring_unavailable": "Служба связок ключей недоступна. Установите и запустите gnome-keyring: sudo apt install gnome-keyring", + "auth_try_plaintext": "Или разрешите хранение открытого текста, передав --login --allow-plaintext-secret-storage.", + "auth_expired": "Срок действия кода устройства истек. Повторите попытку.", + "auth_denied": "Пользователь отклонил авторизацию.", + "auth_unexpected_error": "Непредвиденная ошибка во время опроса: {0}", + "auth_login_failed": "Не удалось войти в GitHub. Попробуйте использовать --login из командной строки, чтобы войти в систему.", + "auth_eula_required": "Чтобы продолжить, примите условия лицензионного соглашения с конечным пользователем. Это можно сделать с помощью --accept-eula.", + "auth_already_authenticated": "Аутентификация в GitHub уже выполнена. Используйте --force-login для повторной аутентификации.", + "config_unsupported_version": "Сбой инициализации: неподдерживаемая версия конфигурации. Поддерживается только версия 1.", + "config_file_not_found": "Сбой инициализации: файл конфигурации \"{0}\" не найден.", + "config_parse_failed": "Сбой инициализации: не удается проанализировать файл конфигурации \"{0}\". Проверьте формат JSON. Ошибка: {1}", + "config_repo_path_invalid": "Сбой инициализации: параметр \"repositoryPath\" не настроен или недопустим.", + "config_missing_source": "Сбой инициализации: необходимо настроить \"compileCommands\" или \"cppProperties\".", + "config_dual_source": "Сбой инициализации: не удается настроить \"compileCommands\" и \"cppProperties\".", + "config_compile_commands_not_found": "Сбой инициализации: путь к файлу \"compileCommands\" не найден: \"{0}\".", + "config_cpp_properties_not_found": "Сбой инициализации: путь к файлу \"cppProperties\" не найден: \"{0}\".", + "config_cpp_properties_parse_failed": "Сбой инициализации: не удается проанализировать файл, указанный в \"cppProperties\": \"{0}\". Проверьте формат JSON. Ошибка: {1}", + "config_cpp_properties_schema_invalid": "Сбой инициализации: не удается прочитать конфигурацию из файла \"cppProperties\": \"{0}\". Проверьте схему.", + "config_no_configurations": "Сбой инициализации: \"{0}\" не содержит допустимый массив \"Конфигурации\".", + "config_configuration_not_found": "Сбой инициализации: конфигурация \"{0}\" не найдена в файле \"cppProperties\": \"{1}\".", + "config_paths_cache_missing": "Сбой инициализации: отсутствует кэш путей конфигурации LSP.", + "curl_not_found": "Библиотека libcurl не найдена ({0}). Она необходима для аутентификации и телеметрии.", + "curl_install_macos": "Библиотека libcurl должна быть доступна в macOS по умолчанию. Если она отсутствует, установите ее с помощью brew install curl", + "curl_install_linux": "Установите библиотеку libcurl: sudo apt install libcurl4 (Debian/Ubuntu) или sudo dnf install libcurl (Fedora/RHEL).", + "curl_symbols_missing": "Библиотека libcurl загружена, но необходимые символы отсутствуют. Это может указывать на очень старую или несовместимую версию libcurl. Языковой сервер не может работать без совместимой библиотеки libcurl.", + "keytar_not_found": "Библиотека libsecret-1.so.0 не найдена ({0}). Библиотека libsecret необходима для безопасного хранения учетных данных. Установите библиотеку libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) или sudo dnf install libsecret (Fedora/RHEL).", + "keytar_symbols_missing": "Библиотека libsecret загружена, но необходимые символы отсутствуют. Языковой сервер не может работать без совместимой библиотеки libsecret.", + "telemetry_disable_failed": "Не удалось отключить телеметрию.", + "lsp_method_not_found": "Метод не найден: {0}", + "intellisense_same_canonical_path": "Не удается обработать IntelliSense для файла с тем же каноническим путем, что и у существующего файла. URI: {0}, канонический путь: {1}", + "status_initializing": "Инициализация", + "status_initializing_with_n_of_m": "Инициализация ({0} из {1})", + "status_initializing_with_n_of_m_and_text": "Инициализация ({0} из {1}): {2}", + "status_initializing_with_text": "Инициализация {0}", + "status_initializing_projects": "Инициализация проектов", + "status_initializing_projects_with_n_of_m": "Инициализация проектов ({0} из {1})", + "status_initializing_projects_with_n_of_m_and_text": "Инициализация проектов ({0} из {1}): {2}", + "status_initializing_projects_with_text": "Инициализация проектов {0}", + "status_checking_for_outdated_files": "Проверяется наличие устаревших файлов", + "status_checking_for_outdated_files_with_n_of_m": "Проверяется наличие устаревших файлов ({0} из {1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "Проверяется наличие устаревших файлов ({0} из {1}): {2}", + "status_checking_for_outdated_files_with_text": "Проверяется наличие устаревших файлов {0}", + "status_parsing_files": "Анализ файлов", + "status_parsing_files_with_n_of_m": "Анализ файлов ({0} из {1})", + "status_parsing_files_with_n_of_m_and_text": "Анализ файлов ({0} из {1}): {2}", + "status_parsing_files_with_text": "Анализ файлов {0}", + "status_parsing_includes": "Анализ включенных файлов", + "status_parsing_includes_with_n_of_m": "Анализ включенных файлов ({0} из {1})", + "status_parsing_includes_with_n_of_m_and_text": "Анализ включенных файлов ({0} из {1}): {2}", + "status_parsing_includes_with_text": "Анализ включенных файлов {0}", + "status_scanning_includes": "Сканирование #includes на предмет дополнительных файлов", + "status_scanning_includes_with_n_of_m": "Сканирование #includes на предмет дополнительных файлов ({0} из {1})", + "status_scanning_includes_with_n_of_m_and_text": "Сканирование #includes на предмет дополнительных файлов ({0} из {1}): {2}", + "status_scanning_includes_with_text": "Сканирование #includes на предмет дополнительных файлов {0} {1}", + "status_updating_external_dependencies": "Готово (обновление внешних зависимостей)", + "status_updating_external_dependencies_with_n_of_m": "Готово (обновление внешних зависимостей) ({0} из {1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "Готово (обновление внешних зависимостей) ({0} из {1}): {2}", + "status_updating_external_dependencies_with_text": "Готово (обновление внешних зависимостей) {0}", + "status_optimizing_database": "Готово (оптимизация базы данных)", + "status_optimizing_database_with_n_of_m": "Готово (оптимизация базы данных) ({0} из {1})", + "status_optimizing_database_with_n_of_m_and_text": "Готово (оптимизация базы данных) ({0} из {1}): {2}", + "status_optimizing_database_with_text": "Готово (оптимизация базы данных) {0}", + "status_creating_indexes": "Создание индексов", + "status_creating_indexes_with_n_of_m": "Создание индексов ({0} из {1})", + "status_creating_indexes_with_n_of_m_and_text": "Создание индексов ({0} из {1}): {2}", + "status_creating_indexes_with_text": "Создание индексов {0}", + "status_evaluating_file": "Оценка", + "status_evaluating_file_with_n_of_m": "Оценка ({0} из {1})", + "status_evaluating_file_with_n_of_m_and_text": "Оценка ({0} из {1}): {2}", + "status_evaluating_file_with_text": "Оценка {0}", + "status_indexing_files": "Индексирование файлов", + "status_indexing_files_with_n_of_m": "Индексирование файлов ({0} из {1})", + "status_indexing_files_with_n_of_m_and_text": "Индексирование файлов ({0} из {1}): {2}", + "status_indexing_files_with_text": "Индексирование файлов {0}", + "help_allow_missing_lsp_config": "Разрешить запуск сервера, даже если указанный файл --lsp-config не существует.", + "initialize_failed_during_engine_setup": "Сбой инициализации при настройке подсистемы.", + "important_label": "Важно!" } \ No newline at end of file diff --git a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 7c4e0ec62..599f74949 100644 --- a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Установка компилятора C++ в Windows", "walkthrough.windows.text1": "Если вы занимаетесь разработкой на C++ для Windows, рекомендуется установить компилятор Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Чтобы установить MSVC, откройте терминал VS Code (CTRL + `) и вставьте следующую команду:\n", + "walkthrough.windows.text2": "Чтобы установить MSVC, откройте терминал VS Code (CTRL + `) и вставьте следующую команду:", "walkthrough.windows.note1": "Примечание", "walkthrough.windows.note1.text": "Вы можете использовать набор инструментов C++ из пакета Visual Studio Build Tools вместе с Visual Studio Code для компиляции, сборки и проверки любой базы кода C++, если у вас есть действующая лицензия Visual Studio (Community, Pro или Enterprise), которой вы активно пользуетесь для разработки этой базы кода C++.", "walkthrough.windows.verify.compiler": "Проверка установки компилятора", diff --git a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 7c4e0ec62..599f74949 100644 --- a/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/rus/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Установка компилятора C++ в Windows", "walkthrough.windows.text1": "Если вы занимаетесь разработкой на C++ для Windows, рекомендуется установить компилятор Microsoft Visual C++ (MSVC).", - "walkthrough.windows.text2": "Чтобы установить MSVC, откройте терминал VS Code (CTRL + `) и вставьте следующую команду:\n", + "walkthrough.windows.text2": "Чтобы установить MSVC, откройте терминал VS Code (CTRL + `) и вставьте следующую команду:", "walkthrough.windows.note1": "Примечание", "walkthrough.windows.note1.text": "Вы можете использовать набор инструментов C++ из пакета Visual Studio Build Tools вместе с Visual Studio Code для компиляции, сборки и проверки любой базы кода C++, если у вас есть действующая лицензия Visual Studio (Community, Pro или Enterprise), которой вы активно пользуетесь для разработки этой базы кода C++.", "walkthrough.windows.verify.compiler": "Проверка установки компилятора", diff --git a/Extension/i18n/trk/c_cpp_properties.schema.json.i18n.json b/Extension/i18n/trk/c_cpp_properties.schema.json.i18n.json index 40aa4c0d0..9691ce11d 100644 --- a/Extension/i18n/trk/c_cpp_properties.schema.json.i18n.json +++ b/Extension/i18n/trk/c_cpp_properties.schema.json.i18n.json @@ -22,7 +22,6 @@ "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "Yalnızca doğrudan veya dolaylı olarak üst bilgi olarak dahil edilen dosyaları işlemek için `true` olarak ayarlayın, belirtilen ekleme yolları altındaki tüm dosyaları işlemek için `false` olarak ayarlayın.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Oluşturulan sembol veritabanının yolu. Göreli bir yol belirtilirse, çalışma alanının varsayılan depolama konumuna göreli hale getirilir.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Çalışma alanı sembollerinin (‘Tanıma Git’, ‘Tüm Başvuruları Bul’ gibi özellikler için kullanılabilir) dizininin oluşturulması ve ayrıştırılması için kullanılacak yolların listesi. Bu yollarda arama varsayılan olarak özyinelemelidir. Özyinelemeli olmayan aramayı göstermek için `*` belirtin. Örneğin, `${workspaceFolder}` tüm alt dizinlerde arama yaparken `${workspaceFolder}/*` arama yapmaz.", - "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "IntelliSense'e sağlanan özyinelemeli ekleme yollarının sayısını her zaman yalnızca o anda #include deyimleri tarafından başvurulan yollara indirgemek için `always` olarak ayarlayın. Bu, hangi üst bilgilerin eklendiğini belirlemek için önce dosyaların ayrıştırılmasını gerektirir. IntelliSense'e tüm özyinelemeli ekleme yollarını sağlamak için `never` olarak ayarlayın. Özyinelemeli ekleme yollarının sayısının azaltılması, çok sayıda özyinelemeli ekleme yolu söz konusu olduğunda IntelliSense performansını artırabilir. Özyinelemeli ekleme yollarının sayısını azaltmamak, hangi ekleme yollarının sağlanacağını belirlemek için dosyaları ayrıştırma ihtiyacını ortadan kaldırarak IntelliSense performansını artırabilir. `default` değeri şu anda IntelliSense'e sağlanan özyinelemeli ekleme yollarının sayısını azaltmak için kullanılıyor.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "Özyinelemeli ekleme yollarının önceliği. `beforeSystemIncludes` olarak ayarlanırsa özyinelemeli ekleme yolları, sistem ekleme yollarından önce aranır. `afterSystemIncludes` olarak ayarlanırsa, özyinelemeli ekleme yolları sistem ekleme yollarından sonra aranır. `beforeSystemIncludes` bir derleyicinin arama sırasını daha yakından yansıtırken, `afterSystemIncludes` daha iyi performansla sonuçlanabilir.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "Özyinelemeli eklemelerin alt dizinlerinin aranma sırası.", "c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "`launch.json` veya `tasks.json` içindeki giriş bağımsız değişkenleri için kullanılacak, `${cpptools:activeConfigCustomVariable}` komutu aracılığıyla sorgulanabilen özel değişkenler.", diff --git a/Extension/i18n/trk/package.i18n.json b/Extension/i18n/trk/package.i18n.json index c3ab3295f..c27d22f81 100644 --- a/Extension/i18n/trk/package.i18n.json +++ b/Extension/i18n/trk/package.i18n.json @@ -85,7 +85,7 @@ "c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "Tanılama çıktısı alınacak başlıkların adlarıyla eşleşen bir POSIX genişletilmiş normal ifadesi (ERE). Her çeviri biriminin ana dosyasındaki tanılamalar her zaman görüntülenir. `${workspaceFolder}` değişkeni desteklenir (ve `.clang-tidy` dosyası yoksa varsayılan geri dönüş değeri olarak kullanılır). Bu seçenek `null` (boş) değilse, varsa `.clang-tidy` dosyasındaki `HeaderFilterRegex` seçeneğini geçersiz kılar.", "c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "`clang-tidy` metoduna geçirilecek ek komut satırı bağımsız değişkenleri. Bunlar, eşdeğer `C_Cpp.codeAnalysis.clangTidy.*` ayarlarından önceliklidir.", "c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "`true` ve `compileCommands` ayarlanırsa, `--` sonrasında geçirilen derleme bağımsız değişkenleri yerine `-p=` bağımsız değişkeni `clang-tidy` öğesine geçirilir. Ortam değişkenleri, sistem dahillerinin bulunabilmesi için ayarlanmamışsa bu işlem çalışmayabilir.", - "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Etkinleştirilmiş `clang-tidy` kontrollerinin listesi. Değerler, bir `.clang-tidy` dosyasındaki `Checks` veya varsa `#C_Cpp.codeAnalysis.clangTidy.config#` dosyasına eklenir. Varsayılan kontrol `clang-analyzer-*`, açıkça devre dışı bırakılmadığı sürece her zaman kullanılır.", + "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "Etkinleştirilmiş `clang-tidy` kontrollerinin listesi. Değerler, bir `.clang-tidy` dosyasındaki `Checks` veya varsa `#C_Cpp.codeAnalysis.clangTidy.config#` dosyasına eklenir. Varsayılan kontrol `clang-analyzer-core.*`, açıkça devre dışı bırakılmadığı sürece her zaman kullanılır.", "c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "Devre dışı bırakılan `clang-tidy` denetimlerinin listesi. Değerler bir `.clang-tidy` dosyasındaki `Checks` değerine veya varsa `#C_Cpp.codeAnalysis.clangTidy.config#` değerine eklenir.", "c_cpp.configuration.formatting.description": "Biçimlendirme altyapısını yapılandırır.", "c_cpp.configuration.formatting.clangFormat.markdownDescription": "Kodu biçimlendirmek için `clang-format` kullanılacak.", @@ -210,6 +210,7 @@ "c_cpp.configuration.preferredPathSeparator.markdownDescription": "Oluşturulan kullanıcı yolları için yol ayırıcı olarak kullanılan karakter.", "c_cpp.configuration.simplifyStructuredComments.markdownDescription": "`true` ise, üzerine gelme ve otomatik tamamlama araç ipuçları, yapılandırılmış açıklamaların yalnızca belirli etiketlerini görüntüler. Aksi halde tüm açıklamalar görüntülenir.", "c_cpp.configuration.doxygen.generateOnType.description": "Seçilen açıklama stilini girdikten sonra Doxygen açıklamasının otomatik olarak eklenip eklenmeyeceğini kontrol eder.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Doxygen açıklaması oluşturma kod eyleminin etkin olup olmadığını denetler.", "c_cpp.configuration.doxygen.generatedStyle.description": "Doxygen açıklamasının başlangıç satırı olarak kullanılan karakter dizesi.", "c_cpp.configuration.doxygen.sectionTags.description": "\"Yapılandırılmış Yorumları Basitleştir\" ayarı etkinleştirildiğinde araç ipucu alanında fareyle üzerine gelindiğinde görünmesini istediğiniz Doxygen bölümü etiketlerini seçin. ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "Çok satırlı veya tek satırlı açıklama bloğu başlatan desen. Devam deseni, çok satırlı açıklama blokları için varsayılan olarak ` * ` değerini veya tek satırlı açıklama blokları için bu dize değerini alır.", @@ -390,6 +391,9 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "Bu giriş yalnızca yığın çerçeve konumu eşlemesi için kullanılıyorsa false. Bu girişin, kesme noktası konumları belirtilirken de kullanılması gerekiyorsa true.", "c_cpp.debuggers.symbolOptions.description": "Simgelerin (.pdb dosyaları) nasıl bulunup yüklendiğini denetleme seçenekleri.", "c_cpp.debuggers.unknownBreakpointHandling.description": "İsabet ettiğinde harici olarak (genellikle ham GDB komutları aracılığıyla) ayarlanan kesme noktalarının nasıl işlendiğini kontrol eder.\nİzin verilen değerler, uygulama tarafından bir istisna oluşturulmuş gibi davranan \"throw\" ve yalnızca hata ayıklama oturumunu duraklatan \"stop\" değerleridir. Varsayılan değer \"throw\"dur.", + "c_cpp.debuggers.debuginfod.description": "debuginfod sunucularından hata ayıklama sembollerini indirmek için GDB'nin debuginfod davranışını denetler.", + "c_cpp.debuggers.debuginfod.enabled.description": "True ise (varsayılan), GDB’nin debuginfod desteği etkindir. GDB'nin debuginfod sunucularıyla iletişim kurmasını önlemek için false olarak ayarlayın.", + "c_cpp.debuggers.debuginfod.timeout.description": "debuginfod sunucu istekleri için saniye cinsinden zaman aşımı. Varsayılan değer 30'dur. GDB/libdebuginfod varsayılanlarını kullanmak için 0 değerine ayarlayın (geçersiz kılma yok).", "c_cpp.debuggers.VSSymbolOptions.description": "Sembolleri bulup hata ayıklama bağdaştırıcısına yüklemeye yönelik yapılandırma sağlar.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": ".pdb dosyalarını aramak için sembol sunucusu URL’si (ör: http​://MyExampleSymbolServer) veya dizin (ör. /build/symbols) dizisi. Bu dizinler, modülün yanındaki varsayılan konumların yanı sıra, pdb'nin bırakıldığı yolda arama yapar.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "'True' ise, Microsoft Sembol sunucusu (https​://msdl.microsoft.com​/download/symbols) sembol arama yoluna eklenir. Belirtilmezse, bu seçenek varsayılan olarak 'false' değerine ayarlanır.", diff --git a/Extension/i18n/trk/src/Debugger/debugAdapterDescriptorFactory.i18n.json b/Extension/i18n/trk/src/Debugger/debugAdapterDescriptorFactory.i18n.json index 5eb31f875..b9c6616f9 100644 --- a/Extension/i18n/trk/src/Debugger/debugAdapterDescriptorFactory.i18n.json +++ b/Extension/i18n/trk/src/Debugger/debugAdapterDescriptorFactory.i18n.json @@ -4,5 +4,10 @@ *--------------------------------------------------------------------------------------------*/ // Do not edit this file. It is machine generated. { - "debugger.not.available": "'{0}' hata ayıklayıcısı türü, Windows dışı makinelerde kullanılamaz." + "debugger.not.available": "'{0}' hata ayıklayıcısı türü, Windows dışı makinelerde kullanılamaz.", + "debugger.noDebug.requestType.not.supported": "Hata Ayıklama Olmadan Çalıştırma yalnızca başlatma yapılandırmaları için destekleniyor.", + "debugger.noDebug.pipeTransport.not.supported": "Hata Ayıklama Olmadan Çalıştırma, 'pipeTransport' ayarlı yapılandırmalar için desteklenmiyor.", + "debugger.noDebug.debugServerPath.not.supported": "Hata Ayıklama Olmadan Çalıştırma, 'debugServerPath' ayarlı yapılandırmalar için desteklenmiyor.", + "debugger.noDebug.miDebuggerServerAddress.not.supported": "Hata Ayıklama Olmadan Çalıştırma, 'miDebuggerServerAddress' ayarlı yapılandırmalar için desteklenmiyor.", + "debugger.noDebug.coreDumpPath.not.supported": "Hata Ayıklama Olmadan Çalıştırma, 'coreDumpPath' ayarlı yapılandırmalar için desteklenmiyor." } \ No newline at end of file diff --git a/Extension/i18n/trk/src/Debugger/runWithoutDebuggingAdapter.i18n.json b/Extension/i18n/trk/src/Debugger/runWithoutDebuggingAdapter.i18n.json new file mode 100644 index 000000000..58602464c --- /dev/null +++ b/Extension/i18n/trk/src/Debugger/runWithoutDebuggingAdapter.i18n.json @@ -0,0 +1,8 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +// Do not edit this file. It is machine generated. +{ + "no.terminal.emulator": "Terminal emülatörü bulunamadı. Lütfen $TERMINAL ortam değişkenini tercih ettiğiniz terminal emülatörüne ayarlayın veya şunlardan birini yükleyin: x-terminal-emulator, gnome-terminal, konsole, xterm." +} \ No newline at end of file diff --git a/Extension/i18n/trk/src/nativeStrings.i18n.json b/Extension/i18n/trk/src/nativeStrings.i18n.json index d8fd56eb5..768a2fc1f 100644 --- a/Extension/i18n/trk/src/nativeStrings.i18n.json +++ b/Extension/i18n/trk/src/nativeStrings.i18n.json @@ -319,5 +319,102 @@ "file_not_found_in_path2": "\"{0}\" compile_commands.json dosyaları içinde bulunamadı. Bu dosya yerine '{1}' klasöründeki c_cpp_properties.json dosyasında bulunan 'includePath' kullanılacak.", "copilot_hover_link": "Copilot özeti oluştur", "browse_path_not_found": "Mevcut olmayan klasörden dosyalar dizine alınamıyor: {0}", - "license_terms": "C/C++ uzantısı, uygulamalarınızı geliştirmek ve test etmek için yalnızca Microsoft Visual Studio, Mac için Visual Studio, Visual Studio Code, Azure DevOps, Team Foundation Server ve sonraki Microsoft ürünleri ve hizmetleriyle kullanılabilir." + "license_terms": "C/C++ uzantısı, uygulamalarınızı geliştirmek ve test etmek için yalnızca Microsoft Visual Studio, Mac için Visual Studio, Visual Studio Code, Azure DevOps, Team Foundation Server ve sonraki Microsoft ürünleri ve hizmetleriyle kullanılabilir.", + "help_title": "Microsoft C++ Language Server", + "help_usage": "Kullanım: {0} [seçenekler]", + "help_options_header": "Seçenekler:", + "help_help": "Bu yardım iletisini göster ve çık.", + "help_version": "Sürüm bilgilerini göster ve çık.", + "help_accept_eula": "Son Kullanıcı Lisans Sözleşmesi'ni (EULA) kalıcı olarak kabul edin.", + "help_stderr": "stderr'i /dev/null konumuna yeniden yönlendirmeyin (hata ayıklama için yararlıdır).", + "help_login": "Etkileşimli oturum açmayı başlatın (GitHub Copilot aboneliği gereklidir).", + "help_force_login": "Zaten kimliği doğrulanmış olsa bile oturum açma işlemini zorlayın.", + "help_allow_plaintext": "Güvenli bir anahtarlık kullanılamıyorsa kimlik bilgilerinin düz metin olarak depolanmasına izin verin.", + "help_log_dir": "Günlük dosyaları için dizini belirtin (varsayılan: sistem geçici dizini).", + "help_log_level": "Günlüğe kaydetme ayrıntı düzeyini 0 (yalnızca hatalar) ile 9 (ayrıntılı) arasında bir değere ayarlayın.", + "help_lsp_config": "Parametreyi mutlak bir yol olarak ya da çalışma alanı köküne veya .github klasörüne göre belirtin.", + "help_disable_telemetry": "Telemetri verilerini gönderme işlemini devre dışı bırakın.", + "auth_device_flow_prompt": "GitHub ile kimlik doğrulaması yapmak için lütfen {0} kodunu kopyalayın ve ardından {1} URL'sini ziyaret edin. Yetkilendirme bekleniyor...", + "auth_timed_out": "Yetkilendirme beklenirken zaman aşımına uğradı.", + "auth_success": "GitHub ile başarıyla kimlik doğrulaması yaptı.", + "auth_save_failed": "GitHub kimlik doğrulaması başarılı oldu ancak belirteçler kaydedilemedi.", + "auth_keyring_error": "Kimlik anahtarlığı hatası: {0}", + "auth_keyring_locked": "Kimlik anahtarlığı koleksiyonu kilitli. Kilidini açın veya gnome-keyring-daemon'u yeniden başlatın.", + "auth_keyring_unavailable": "Kullanılabilir bir kimlik anahtarlığı hizmeti yok. gnome-keyring'i yükleyin ve başlatın: sudo apt install gnome-keyring", + "auth_try_plaintext": "Alternatif olarak --login --allow-plaintext-secret-storage'ı geçirerek düz metin olarak depolamaya izin verin.", + "auth_expired": "Cihaz kodunun süresi doldu. Lütfen yeniden deneyin.", + "auth_denied": "Yetkilendirme kullanıcı tarafından reddedildi.", + "auth_unexpected_error": "Yoklama sırasında beklenmeyen hata: {0}", + "auth_login_failed": "GitHub oturum açma işlemi başarısız oldu. Oturum açmak için komut satırından --login ile çalıştırmayı deneyin.", + "auth_eula_required": "Devam etmek için EULA'nın kabul edilmesi gerekiyor. --accept-eula ile çalıştırın.", + "auth_already_authenticated": "GitHub ile zaten kimlik doğrulaması yaptı. Yeniden kimlik doğrulaması yapmak için --force-login kullanın.", + "config_unsupported_version": "Başlatma başarısız oldu: Desteklenmeyen yapılandırma sürümü. Yalnızca 1. sürüm desteklenir.", + "config_file_not_found": "Başlatma başarısız oldu: '{0}' yapılandırma dosyası bulunamadı.", + "config_parse_failed": "Başlatma başarısız oldu: '{0}' yapılandırma dosyası ayrıştırılamıyor. JSON biçimini doğrulayın. Hata: {1}", + "config_repo_path_invalid": "Başlatma başarısız oldu: 'repositoryPath' yapılandırılmamış veya geçersiz.", + "config_missing_source": "Başlatma başarısız oldu: 'compileCommands' veya 'cppProperties' yapılandırılmalıdır.", + "config_dual_source": "Başlatma başarısız oldu: 'compileCommands' ve 'cppProperties' birlikte yapılandırılamaz.", + "config_compile_commands_not_found": "Başlatma başarısız oldu: 'compileCommands' yolu bulunamadı: '{0}'.", + "config_cpp_properties_not_found": "Başlatma başarısız oldu: 'cppProperties' yolu bulunamadı: '{0}'.", + "config_cpp_properties_parse_failed": "Başlatma başarısız oldu: 'cppProperties' tarafından belirtilen dosya ayrıştırılamadı: '{0}'. JSON biçimini doğrulayın. Hata: {1}", + "config_cpp_properties_schema_invalid": "Başlatma başarısız oldu: 'cppProperties' dosyasından yapılandırma okunamıyor: '{0}'. Şemayı doğrulayın.", + "config_no_configurations": "Başlatma başarısız oldu: '{0}' geçerli bir 'configurations' dizisi içermiyor.", + "config_configuration_not_found": "Başlatma başarısız oldu: '{0}' yapılandırması, 'cppProperties' dosyasında bulunamadı: '{1}'.", + "config_paths_cache_missing": "Başlatma başarısız oldu: LSP yapılandırma yolları önbelleği eksik.", + "curl_not_found": "libcurl bulunamadı ({0}). Kimlik doğrulaması ve telemetri için libcurl gereklidir.", + "curl_install_macos": "libcurl macOS'ta varsayılan olarak kullanılabilir olmalıdır. Eksikse şu komutla yükleyin: brew install curl", + "curl_install_linux": "libcurl'u yükleyin: sudo apt install libcurl4 (Debian/Ubuntu) veya sudo dnf install libcurl (Fedora/RHEL).", + "curl_symbols_missing": "libcurl yüklendi ancak gerekli semboller eksik. Bu, çok eski veya uyumsuz bir libcurl sürümüne işaret ediyor olabilir. Dil sunucusu uyumlu bir libcurl olmadan çalıştırılamaz.", + "keytar_not_found": "libsecret-1.so.0 bulunamadı ({0}). Güvenli kimlik bilgisi depolaması için libsecret gerekiyor. libsecret'i yükleyin: sudo apt install libsecret-1-0 (Debian/Ubuntu) veya sudo dnf install libsecret (Fedora/RHEL).", + "keytar_symbols_missing": "libsecret yüklendi ancak gerekli semboller eksik. Dil sunucusu uyumlu bir libsecret olmadan çalışamaz.", + "telemetry_disable_failed": "Telemetri devre dışı bırakılamadı.", + "lsp_method_not_found": "Yöntem bulunamadı: {0}", + "intellisense_same_canonical_path": "Mevcut dosyayla aynı standartlaştırılmış yola sahip bir dosya için IntelliSense işlenemiyor. URI: {0}, standartlaştırılmış yol: {1}", + "status_initializing": "Başlatılıyor", + "status_initializing_with_n_of_m": "Başlatılıyor ({0} / {1})", + "status_initializing_with_n_of_m_and_text": "Başlatılıyor ({0} / {1}): {2}", + "status_initializing_with_text": "{0} başlatılıyor", + "status_initializing_projects": "Projeler başlatılıyor", + "status_initializing_projects_with_n_of_m": "Projeler başlatılıyor ({0} / {1})", + "status_initializing_projects_with_n_of_m_and_text": "Projeler başlatılıyor ({0} / {1}): {2}", + "status_initializing_projects_with_text": "Projeler başlatılıyor {0}", + "status_checking_for_outdated_files": "Eski dosyalar denetleniyor", + "status_checking_for_outdated_files_with_n_of_m": "Eski dosyalar denetleniyor ({0} / {1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "Eski dosyalar denetleniyor ({0} / {1}): {2}", + "status_checking_for_outdated_files_with_text": "Eski dosyalar denetleniyor {0}", + "status_parsing_files": "Dosyalar ayrıştırılıyor", + "status_parsing_files_with_n_of_m": "Dosyalar ayrıştırılıyor ({0} / {1})", + "status_parsing_files_with_n_of_m_and_text": "Dosyalar ayrıştırılıyor ({0} / {1}): {2}", + "status_parsing_files_with_text": "{0} dosyaları ayrıştırılıyor", + "status_parsing_includes": "Eklenen dosyalar ayrıştırılıyor", + "status_parsing_includes_with_n_of_m": "Eklenen dosyaları ayrıştırılıyor ({0} / {1})", + "status_parsing_includes_with_n_of_m_and_text": "Eklenen dosyaları ayrıştırılıyor ({0} / {1}): {2}", + "status_parsing_includes_with_text": "Eklenen dosyalar ayrıştırılıyor {0}", + "status_scanning_includes": "Ek dosyalar için #includes taranıyor", + "status_scanning_includes_with_n_of_m": "Ek dosyalar için #includes taranıyor ({0} / {1})", + "status_scanning_includes_with_n_of_m_and_text": "Ek dosyalar için #includes taranıyor ({0} / {1}): {2}", + "status_scanning_includes_with_text": "Ek dosyalar için #includes taranıyor {0} / {1}", + "status_updating_external_dependencies": "(Dış bağımlılıkları güncelleştirme) hazır", + "status_updating_external_dependencies_with_n_of_m": "Hazır (Dış bağımlılıklar güncelleştiriliyor) ({0} / {1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "Hazır (Dış bağımlılıklar güncelleştiriliyor) ({0} / {1}): {2}", + "status_updating_external_dependencies_with_text": "Hazır (Dış bağımlılıklar güncelleştiriliyor) {0}", + "status_optimizing_database": "Hazır (Veritabanı iyileştiriliyor)", + "status_optimizing_database_with_n_of_m": "Hazır (Veritabanı iyileştiriliyor) ({0} / {1})", + "status_optimizing_database_with_n_of_m_and_text": "Hazır (Veritabanı iyileştiriliyor) ({0} / {1}): {2}", + "status_optimizing_database_with_text": "Hazır (Veritabanı iyileştiriliyor) {0}", + "status_creating_indexes": "Dizinler oluşturuluyor", + "status_creating_indexes_with_n_of_m": "Dizinler oluşturuluyor ({0} / {1})", + "status_creating_indexes_with_n_of_m_and_text": "Dizinler oluşturuluyor ({0} / {1}): {2}", + "status_creating_indexes_with_text": "Dizinler oluşturuluyor {0}", + "status_evaluating_file": "Değerlendiriliyor", + "status_evaluating_file_with_n_of_m": "Değerlendiriliyor ({0} / {1})", + "status_evaluating_file_with_n_of_m_and_text": "Değerlendiriliyor ({0} / {1}): {2}", + "status_evaluating_file_with_text": "{0} Değerlendiriliyor", + "status_indexing_files": "Dosyaların dizini oluşturuluyor", + "status_indexing_files_with_n_of_m": "Dosyaların dizini oluşturuluyor ({0} / {1})", + "status_indexing_files_with_n_of_m_and_text": "Dosyaların dizini oluşturuluyor ({0} / {1}): {2}", + "status_indexing_files_with_text": "Dosyaların dizini oluşturuluyor {0}", + "help_allow_missing_lsp_config": "Belirtilen --lsp-config dosyası mevcut olmasa bile sunucunun başlamasına izin verin.", + "initialize_failed_during_engine_setup": "Altyapı kurulumu sırasında başlatma başarısız oldu.", + "important_label": "Önemli:" } \ No newline at end of file diff --git a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json index 936c8b1eb..7968d1e7a 100644 --- a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json +++ b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows10.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Windows'a C++ derleyicisi yükleme", "walkthrough.windows.text1": "Windows için C++ geliştirme yapıyorsanız Microsoft Visual C++ (MSVC) derleyicisini yüklemenizi öneririz.", - "walkthrough.windows.text2": "MSVC'yi yüklemek için VS Code terminalini (CTRL + `) açın ve aşağıdaki komutu yapıştırın:\n", + "walkthrough.windows.text2": "MSVC'yi yüklemek için VS Code terminalini (CTRL + `) açın ve aşağıdaki komutu yapıştırın:", "walkthrough.windows.note1": "Not", "walkthrough.windows.note1.text": "Herhangi bir C++ kod temelini derlemek, oluşturmak ve doğrulamak için Visual Studio Code ile birlikte Visual Studio Derleme Araçları’nda bulunan C++ araç takımını kullanabilirsiniz. Bunun yanı sıra, bu C++ kod temelini geliştirmek için etkin olarak kullandığınız geçerli bir Visual Studio lisansına (Community, Pro veya Enterprise) sahip olursunuz.", "walkthrough.windows.verify.compiler": "Derleyici yüklemesi doğrulanıyor", diff --git a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json index 936c8b1eb..7968d1e7a 100644 --- a/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json +++ b/Extension/i18n/trk/walkthrough/installcompiler/install-compiler-windows11.md.i18n.json @@ -6,7 +6,7 @@ { "walkthrough.windows.install.compiler": "Windows'a C++ derleyicisi yükleme", "walkthrough.windows.text1": "Windows için C++ geliştirme yapıyorsanız Microsoft Visual C++ (MSVC) derleyicisini yüklemenizi öneririz.", - "walkthrough.windows.text2": "MSVC'yi yüklemek için VS Code terminalini (CTRL + `) açın ve aşağıdaki komutu yapıştırın:\n", + "walkthrough.windows.text2": "MSVC'yi yüklemek için VS Code terminalini (CTRL + `) açın ve aşağıdaki komutu yapıştırın:", "walkthrough.windows.note1": "Not", "walkthrough.windows.note1.text": "Herhangi bir C++ kod temelini derlemek, oluşturmak ve doğrulamak için Visual Studio Code ile birlikte Visual Studio Derleme Araçları’nda bulunan C++ araç takımını kullanabilirsiniz. Bunun yanı sıra, bu C++ kod temelini geliştirmek için etkin olarak kullandığınız geçerli bir Visual Studio lisansına (Community, Pro veya Enterprise) sahip olursunuz.", "walkthrough.windows.verify.compiler": "Derleyici yüklemesi doğrulanıyor", diff --git a/Extension/package.json b/Extension/package.json index 76b57ad96..cca7c7cc5 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -2,7 +2,7 @@ "name": "cpptools", "displayName": "C/C++", "description": "C/C++ IntelliSense, debugging, and code browsing.", - "version": "1.31.1-main", + "version": "1.33.2-main", "publisher": "ms-vscode", "icon": "LanguageCCPP_color_128x.png", "readme": "README.md", @@ -11,7 +11,7 @@ }, "license": "SEE LICENSE IN LICENSE.txt", "engines": { - "vscode": "^1.67.0" + "vscode": "^1.77.0" }, "bugs": { "url": "https://github.com/Microsoft/vscode-cpptools/issues", @@ -1703,6 +1703,12 @@ "description": "%c_cpp.configuration.doxygen.generateOnType.description%", "scope": "resource" }, + "C_Cpp.doxygen.generateOnCodeAction": { + "type": "boolean", + "default": true, + "description": "%c_cpp.configuration.doxygen.generateOnCodeAction.description%", + "scope": "resource" + }, "C_Cpp.doxygen.generatedStyle": { "type": "string", "enum": [ @@ -1719,6 +1725,7 @@ "type": "array", "default": [ "attention", + "important", "tparam", "param", "result", @@ -1741,6 +1748,7 @@ "deprecated", "details", "exception", + "important", "invariant", "note", "param", @@ -4356,6 +4364,24 @@ "default": "throw", "description": "%c_cpp.debuggers.unknownBreakpointHandling.description%" }, + "debuginfod": { + "description": "%c_cpp.debuggers.debuginfod.description%", + "default": {}, + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "%c_cpp.debuggers.debuginfod.enabled.description%", + "default": false + }, + "timeout": { + "type": "integer", + "description": "%c_cpp.debuggers.debuginfod.timeout.description%", + "minimum": 0, + "default": 30 + } + } + }, "variables": { "type": "object", "description": "%c_cpp.debuggers.variables.description%", @@ -4833,6 +4859,11 @@ ] }, "default": [] + }, + "ignoreRunWithoutDebuggingWarnings": { + "type": "boolean", + "description": "%c_cpp.debuggers.ignoreRunWithoutDebuggingWarnings.description%", + "default": false } } }, @@ -4956,6 +4987,24 @@ } ] }, + "debuginfod": { + "description": "%c_cpp.debuggers.debuginfod.description%", + "default": {}, + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "%c_cpp.debuggers.debuginfod.enabled.description%", + "default": false + }, + "timeout": { + "type": "integer", + "description": "%c_cpp.debuggers.debuginfod.timeout.description%", + "minimum": 0, + "default": 30 + } + } + }, "logging": { "description": "%c_cpp.debuggers.logging.description%", "type": "object", @@ -5851,6 +5900,11 @@ } } } + }, + "ignoreRunWithoutDebuggingWarnings": { + "type": "boolean", + "description": "%c_cpp.debuggers.ignoreRunWithoutDebuggingWarnings.description%", + "default": false } } }, @@ -6781,6 +6835,8 @@ ] }, "scripts": { + "bootstrap": "npm run bootstrap:yarn && yarn install --frozen-lockfile", + "bootstrap:yarn": "npm install -g yarn@1.22.22 --registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/", "scripts": "ts-node -T .scripts/scripts.ts", "show": "ts-node -T .scripts/clean.ts show", "clean": "ts-node -T .scripts/clean.ts", @@ -6792,11 +6848,12 @@ "compile": "yarn install && (yarn verify prep --quiet || yarn prep) && yarn build", "watch": "yarn install && (yarn verify prep --quiet || yarn prep) && tsc --build tsconfig.json --watch", "rebuild": "yarn install && yarn clean && yarn prep && yarn build", - "vsix-prepublish": "yarn install && yarn clean && yarn webpack", + "vsix-prepublish": "npm run bootstrap && yarn clean && yarn webpack", "webpack": "yarn install && (yarn verify prep --quiet || yarn prep) && tsc --build ui.tsconfig.json && webpack --mode production --env vscode_nls", "generate-native-strings": "ts-node -T ./.scripts/generateNativeStrings.ts", "generate-options-schema": "ts-node -T ./.scripts/generateOptionsSchema.ts", "copy-walkthrough-media": "ts-node -T ./.scripts/copyWalkthruMedia.ts", + "copy-extension-binaries": "ts-node -T ./.scripts/copyExtensionBinaries.ts", "translations-export": "yarn install && yarn prep && yarn generate-native-strings && gulp translations-export", "translations-generate": "gulp translations-generate", "translations-import": "gulp translations-import", @@ -6824,7 +6881,7 @@ "@vscode/debugprotocol": "^1.65.0", "@vscode/dts": "^0.4.0", "@vscode/test-electron": "^2.3.10", - "@vscode/vsce": "^3.7.1", + "@vscode/vsce": "^3.9.1", "async-child-process": "^1.1.1", "await-notify": "^1.0.1", "eslint": "^9.39.2", @@ -6869,18 +6926,22 @@ "node-vswhere": "^1.0.2", "plist": "^3.1.0", "posix-getopt": "^1.2.1", - "shell-quote": "1.8.2", + "shell-quote": "1.8.4", "ssh-config": "^4.4.4", - "tmp": "^0.2.5", + "tmp": "^0.2.7", "vscode-cpptools": "^7.1.1", - "vscode-languageclient": "^8.1.0", + "vscode-languageclient": "^9.0.1", "vscode-nls": "^5.2.0", "vscode-tas-client": "^0.1.84", "which": "^2.0.2" }, "resolutions": { - "postcss": "^8.4.31", + "postcss": "^8.5.14", "gulp-typescript/**/glob-parent": "^5.1.2", - "serialize-javascript": "^7.0.4" + "serialize-javascript": "^7.0.5", + "@azure/msal-browser": "^4.29.1", + "flatted": "^3.4.1", + "uuid": "^11.1.1", + "undici": "^7.28.0" } } \ No newline at end of file diff --git a/Extension/package.nls.json b/Extension/package.nls.json index ca0f42449..17df9bcdb 100644 --- a/Extension/package.nls.json +++ b/Extension/package.nls.json @@ -211,7 +211,7 @@ ] }, "c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": { - "message": "List of enabled `clang-tidy` checks. The values are appended to the `Checks` in a `.clang-tidy` file or `#C_Cpp.codeAnalysis.clangTidy.config#`, if any. The default check `clang-analyzer-*` is always used unless it is explicitly disabled.", + "message": "List of enabled `clang-tidy` checks. The values are appended to the `Checks` in a `.clang-tidy` file or `#C_Cpp.codeAnalysis.clangTidy.config#`, if any. The default check `clang-analyzer-core.*` is always used unless it is explicitly disabled.", "comment": [ "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered." ] @@ -580,6 +580,7 @@ ] }, "c_cpp.configuration.doxygen.generateOnType.description": "Controls whether to automatically insert the Doxygen comment after typing the chosen comment style.", + "c_cpp.configuration.doxygen.generateOnCodeAction.description": "Controls whether the code action to generate a Doxygen comment is enabled.", "c_cpp.configuration.doxygen.generatedStyle.description": "The string of characters used as the starting line of the Doxygen comment.", "c_cpp.configuration.doxygen.sectionTags.description": "Select the Doxygen section tags that you would like to appear on hover in the tooltip area when the 'Simplify Structured Comments' setting is enabled. ", "c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": { @@ -1010,6 +1011,14 @@ "c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "False if this entry is only used for stack frame location mapping. True if this entry should also be used when specifying breakpoint locations.", "c_cpp.debuggers.symbolOptions.description": "Options to control how symbols (.pdb files) are found and loaded.", "c_cpp.debuggers.unknownBreakpointHandling.description": "Controls how breakpoints set externally (usually via raw GDB commands) are handled when hit.\nAllowed values are \"throw\", which acts as if an exception was thrown by the application, and \"stop\", which only pauses the debug session. The default value is \"throw\".", + "c_cpp.debuggers.debuginfod.description": "Controls GDB's debuginfod behavior for downloading debug symbols from debuginfod servers.", + "c_cpp.debuggers.debuginfod.enabled.description": { + "message": "If false (default), GDB will not contact debuginfod servers. Set to true to enable debuginfod support.", + "comment": [ + "{Locked=\"false\"} {Locked=\"GDB\"} {Locked=\"true\"} {Locked=\"debuginfod\"}" + ] + }, + "c_cpp.debuggers.debuginfod.timeout.description": "The timeout in seconds for debuginfod server requests. Default is 30. Set to 0 to use GDB/libdebuginfod defaults (no override).", "c_cpp.debuggers.VSSymbolOptions.description": "Provides configuration for locating and loading symbols to the debug adapter.", "c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "Array of symbol server URLs (example: http\u200b://MyExampleSymbolServer) or directories (example: /build/symbols) to search for .pdb files. These directories will be searched in addition to the default locations -- next to the module and the path where the pdb was originally dropped to.", "c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "If 'true' the Microsoft Symbol server (https\u200b://msdl.microsoft.com\u200b/download/symbols) is added to the symbols search path. If unspecified, this option defaults to 'false'.", @@ -1022,6 +1031,12 @@ "c_cpp.debuggers.VSSymbolOptionsModuleFilter.excludedModules.description": "Array of modules that the debugger should NOT load symbols for. Wildcards (example: MyCompany.*.dll) are supported.\n\nThis property is ignored unless 'mode' is set to 'loadAllButExcluded'.", "c_cpp.debuggers.VSSymbolOptionsModuleFilter.includedModules.description": "Array of modules that the debugger should load symbols for. Wildcards (example: MyCompany.*.dll) are supported.\n\nThis property is ignored unless 'mode' is set to 'loadOnlyIncluded'.", "c_cpp.debuggers.VSSymbolOptionsModuleFilter.includeSymbolsNextToModules.description": "If true, for any module NOT in the 'includedModules' array, the debugger will still check next to the module itself and the launching executable, but it will not check paths on the symbol search list. This option defaults to 'true'.\n\nThis property is ignored unless 'mode' is set to 'loadOnlyIncluded'.", + "c_cpp.debuggers.ignoreRunWithoutDebuggingWarnings.description": { + "message": "If true, no warning will be logged when run without debugging fails to launch the program in the terminal.", + "comment": [ + "{Locked=\"true\"}" + ] + }, "c_cpp.semanticTokenTypes.referenceType.description": "Style for C++/CLI reference types.", "c_cpp.semanticTokenTypes.cliProperty.description": "Style for C++/CLI properties.", "c_cpp.semanticTokenTypes.genericType.description": "Style for C++/CLI generic types.", diff --git a/Extension/readme.developer.md b/Extension/readme.developer.md index daa622396..678bc32c8 100644 --- a/Extension/readme.developer.md +++ b/Extension/readme.developer.md @@ -35,15 +35,20 @@ ### Required Tools * [Node.js](https://nodejs.org/en/download/) v16.* -* Yarn - use `npm install -g yarn` to install +* npm (comes with Node.js) ### Setting up the repository `git clone https://github.com/microsoft/vscode-cpptools.git` -`yarn install` +`cd vscode-cpptools/Extension` -It's also good practice to run `yarn install` after merging from upstream or switching branches. +`npm run bootstrap` + +`npm run bootstrap` installs Yarn `1.22.22` globally from the internal npm feed and then runs `yarn install --frozen-lockfile`. +On some systems, global npm install may require elevated permissions. + +It's also good practice to run `npm run bootstrap` after merging from upstream or switching branches. ## Building the Extension @@ -52,7 +57,7 @@ The `launch.json` entries now specify a `preLaunchTask` that will build the exte the `yarn watch` command, and will wait until the build is ready. The watch command will continue to watch from that point. -If the extension is already built, the the watch will be very quick. +If the extension is already built, the watch will be very quick. ### From Inside VS Code There are two tasks that can be run from inside VS Code to build the extension. @@ -336,4 +341,4 @@ This will use webpack to build the extension. This is only necessary when packag Installs the VS Code `*.d.ts` files and then runs `yarn prep` -You should run `yarn install` after merging from upstream or switching branches. +You should run `npm run bootstrap` after merging from upstream or switching branches. diff --git a/Extension/src/Debugger/configurationProvider.ts b/Extension/src/Debugger/configurationProvider.ts index 8f0ae0c7c..5bc427759 100644 --- a/Extension/src/Debugger/configurationProvider.ts +++ b/Extension/src/Debugger/configurationProvider.ts @@ -147,12 +147,14 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv Telemetry.logDebuggerEvent(DebuggerEvent.debugPanel, { "debugType": DebugType.debug, "configSource": folder ? ConfigSource.workspaceFolder : ConfigSource.singleFile, "configMode": ConfigMode.noLaunchConfig, "cancelled": "true", "succeeded": "true" }); return undefined; // aborts debugging silently } else { + const noDebug = config.noDebug ?? false; // Preserve the noDebug value from the config if it exists. // Currently, we expect only one debug config to be selected. console.assert(configs.length === 1, "More than one debug config is selected."); config = configs[0]; // Keep track of the entry point where the debug config has been selected, for telemetry purposes. config.debuggerEvent = DebuggerEvent.debugPanel; config.configSource = folder ? ConfigSource.workspaceFolder : ConfigSource.singleFile; + config.noDebug = noDebug; } } diff --git a/Extension/src/Debugger/configurations.ts b/Extension/src/Debugger/configurations.ts index 96895c6da..d3c0acaf6 100644 --- a/Extension/src/Debugger/configurations.ts +++ b/Extension/src/Debugger/configurations.ts @@ -97,7 +97,7 @@ function createLaunchString(name: string, type: string, executable: string): str "stopAtEntry": false, "cwd": "$\{fileDirname\}", "environment": [], -${ type === "cppdbg" ? `"externalConsole": false` : `"console": "externalTerminal"` } +${type === "cppdbg" ? `"externalConsole": false` : `"console": "internalConsole"`} `; } @@ -164,7 +164,7 @@ export class MIConfigurations extends Configuration { \t${indentJsonString(createLaunchString(name, this.miDebugger, this.executable))}, \t"MIMode": "${this.MIMode}"{0}{1} }`, [this.miDebugger === "cppdbg" && os.platform() === "win32" ? `,${os.EOL}\t"miDebuggerPath": "/path/to/gdb"` : "", - this.additionalProperties ? `,${os.EOL}\t${indentJsonString(this.additionalProperties)}` : ""]); + this.additionalProperties ? `,${os.EOL}\t${indentJsonString(this.additionalProperties)}` : ""]); return { "label": configPrefix + name, @@ -182,7 +182,7 @@ export class MIConfigurations extends Configuration { \t${indentJsonString(createAttachString(name, this.miDebugger, this.executable))} \t"MIMode": "${this.MIMode}"{0}{1} }`, [this.miDebugger === "cppdbg" && os.platform() === "win32" ? `,${os.EOL}\t"miDebuggerPath": "/path/to/gdb"` : "", - this.additionalProperties ? `,${os.EOL}\t${indentJsonString(this.additionalProperties)}` : ""]); + this.additionalProperties ? `,${os.EOL}\t${indentJsonString(this.additionalProperties)}` : ""]); return { "label": configPrefix + name, diff --git a/Extension/src/Debugger/debugAdapterDescriptorFactory.ts b/Extension/src/Debugger/debugAdapterDescriptorFactory.ts index d43d71bc3..8777b0340 100644 --- a/Extension/src/Debugger/debugAdapterDescriptorFactory.ts +++ b/Extension/src/Debugger/debugAdapterDescriptorFactory.ts @@ -7,11 +7,14 @@ import * as os from 'os'; import * as path from 'path'; import * as vscode from "vscode"; import * as nls from 'vscode-nls'; +import { getOutputChannel } from '../logger'; +import { logDebuggerEvent } from '../telemetry'; +import { RunWithoutDebuggingAdapter } from './runWithoutDebuggingAdapter'; nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); const localize: nls.LocalizeFunc = nls.loadMessageBundle(); -// Registers DebugAdapterDescriptorFactory for `cppdbg` and `cppvsdbg`. If it is not ready, it will prompt a wait for the download dialog. +// Registers DebugAdapterDescriptorFactory for `cppdbg` and `cppvsdbg`. // NOTE: This file is not automatically tested. abstract class AbstractDebugAdapterDescriptorFactory implements vscode.DebugAdapterDescriptorFactory { @@ -26,27 +29,89 @@ abstract class AbstractDebugAdapterDescriptorFactory implements vscode.DebugAdap } export class CppdbgDebugAdapterDescriptorFactory extends AbstractDebugAdapterDescriptorFactory { + async createDebugAdapterDescriptor(session: vscode.DebugSession, _executable?: vscode.DebugAdapterExecutable): Promise { + const properties: { [key: string]: string } = { type: 'cppdbg', noDebug: Boolean(session.configuration.noDebug).toString() }; + try { + if (session.configuration.noDebug) { + if (noDebugSupported(session.configuration)) { + return new vscode.DebugAdapterInlineImplementation(new RunWithoutDebuggingAdapter()); + } + // If the configuration is not supported, gracefully fall back to a regular debug session and log a message to the user. + logReasonForNoDebugNotSupported(session.configuration); + properties.noDebugSkipped = true.toString(); + } - async createDebugAdapterDescriptor(_session: vscode.DebugSession, _executable?: vscode.DebugAdapterExecutable): Promise { - const adapter: string = "./debugAdapters/bin/OpenDebugAD7" + (os.platform() === 'win32' ? ".exe" : ""); + const adapter: string = "./debugAdapters/bin/OpenDebugAD7" + (os.platform() === 'win32' ? ".exe" : ""); - const command: string = path.join(this.context.extensionPath, adapter); + const command: string = path.join(this.context.extensionPath, adapter); - return new vscode.DebugAdapterExecutable(command, []); + return new vscode.DebugAdapterExecutable(command, []); + } finally { + logDebuggerEvent('createDebugAdapter', properties); + } } } export class CppvsdbgDebugAdapterDescriptorFactory extends AbstractDebugAdapterDescriptorFactory { + async createDebugAdapterDescriptor(session: vscode.DebugSession, _executable?: vscode.DebugAdapterExecutable): Promise { + const properties: { [key: string]: string } = { type: 'cppvsdbg', noDebug: Boolean(session.configuration.noDebug).toString() }; + try { + if (session.configuration.noDebug) { + if (noDebugSupported(session.configuration)) { + return new vscode.DebugAdapterInlineImplementation(new RunWithoutDebuggingAdapter()); + } + // If the configuration is not supported, gracefully fall back to a regular debug session and log a message to the user. + logReasonForNoDebugNotSupported(session.configuration); + properties.noDebugSkipped = true.toString(); + } - async createDebugAdapterDescriptor(_session: vscode.DebugSession, _executable?: vscode.DebugAdapterExecutable): Promise { - if (os.platform() !== 'win32') { - void vscode.window.showErrorMessage(localize("debugger.not.available", "Debugger type '{0}' is not available for non-Windows machines.", "cppvsdbg")); - return null; - } else { - return new vscode.DebugAdapterExecutable( - path.join(this.context.extensionPath, './debugAdapters/vsdbg/bin/vsdbg.exe'), - ['--interpreter=vscode', '--extConfigDir=%USERPROFILE%\\.cppvsdbg\\extensions'] - ); + if (os.platform() !== 'win32') { + void vscode.window.showErrorMessage(localize("debugger.not.available", "Debugger type '{0}' is not available for non-Windows machines.", "cppvsdbg")); + return null; + } else { + return new vscode.DebugAdapterExecutable( + path.join(this.context.extensionPath, './debugAdapters/vsdbg/bin/vsdbg.exe'), + ['--interpreter=vscode', '--extConfigDir=%USERPROFILE%\\.cppvsdbg\\extensions'] + ); + } + } finally { + logDebuggerEvent('createDebugAdapter', properties); } } } + +function noDebugSupported(configuration: vscode.DebugConfiguration): boolean { + // Don't attempt to start a noDebug session if the configuration has any of these properties, which require a debug adapter to function. + return configuration.request === 'launch' && !configuration.pipeTransport && !configuration.debugServerPath && !configuration.miDebuggerServerAddress && !configuration.coreDumpPath; +} + +function logReasonForNoDebugNotSupported(configuration: vscode.DebugConfiguration): void { + if (configuration.ignoreRunWithoutDebuggingWarnings === true) { + return; + } + + const disallowedProperties: string[] = []; + const outputChannel = getOutputChannel(); + outputChannel.show(true); + + if (configuration.request !== 'launch') { + outputChannel.appendLine(localize("debugger.noDebug.requestType.not.supported", "Run Without Debugging is only supported for launch configurations.")); + return; + } + if (configuration.pipeTransport) { + disallowedProperties.push('pipeTransport'); + } + if (configuration.debugServerPath) { + disallowedProperties.push('debugServerPath'); + } + if (configuration.miDebuggerServerAddress) { + disallowedProperties.push('miDebuggerServerAddress'); + } + if (configuration.coreDumpPath) { + disallowedProperties.push('coreDumpPath'); + } + outputChannel.appendLine(localize("debugger.unsupported.properties", "Launch configurations with the following properties cannot be run directly in the terminal: {0}", disallowedProperties.join(', '))); + outputChannel.appendLine(localize("debugger.fallback.message", "Program output will appear in the Debug Console instead.")); + outputChannel.appendLine(localize("debugger.fallback.message2", "To suppress this warning, set the 'ignoreRunWithoutDebuggingWarnings' property to true in your launch configuration.")); +} + diff --git a/Extension/src/Debugger/runWithoutDebuggingAdapter.ts b/Extension/src/Debugger/runWithoutDebuggingAdapter.ts new file mode 100644 index 000000000..d03cb859a --- /dev/null +++ b/Extension/src/Debugger/runWithoutDebuggingAdapter.ts @@ -0,0 +1,303 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ + +import * as cp from 'child_process'; +import * as os from 'os'; +import * as path from 'path'; +import * as vscode from 'vscode'; +import * as nls from 'vscode-nls'; +import { buildShellCommandLine, sessionIsWsl } from '../common'; +import { isWindows } from '../constants'; + +nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); +const localize = nls.loadMessageBundle(); + +/** + * A minimal inline Debug Adapter that runs the target program directly without a debug adapter + * when the user invokes "Run Without Debugging". + */ +export class RunWithoutDebuggingAdapter implements vscode.DebugAdapter { + private readonly sendMessageEmitter = new vscode.EventEmitter(); + public readonly onDidSendMessage: vscode.Event = this.sendMessageEmitter.event; + private readonly terminalListeners: vscode.Disposable[] = []; + + private seq: number = 1; + private childProcess?: cp.ChildProcess; + private terminal?: vscode.Terminal; + private terminalExecution?: vscode.TerminalShellExecution; + private hasTerminated: boolean = false; + + public handleMessage(message: vscode.DebugProtocolMessage): void { + const msg = message as { type: string; command: string; seq: number; arguments?: any; }; + if (msg.type === 'request') { + void this.handleRequest(msg); + } + } + + private async handleRequest(request: { command: string; seq: number; arguments?: any; }): Promise { + switch (request.command) { + case 'initialize': + this.sendResponse(request, {}); + this.sendEvent('initialized'); + break; + case 'launch': + await this.launch(request); + break; + case 'configurationDone': + this.sendResponse(request, {}); + break; + case 'disconnect': + case 'terminate': + this.sendResponse(request, {}); + break; + default: + this.sendResponse(request, {}); + break; + } + } + + private async launch(request: { command: string; seq: number; arguments?: any; }): Promise { + const config = request.arguments as { + program?: string; + args?: string[]; + cwd?: string; + environment?: { name: string; value: string; }[]; + console?: string; + externalConsole?: boolean; + }; + + const program: string = config.program ?? ''; + const args: string[] = config.args ?? []; + const cwd: string | undefined = config.cwd; + const environment: { name: string; value: string; }[] = config.environment ?? []; + const consoleMode: string = config.console ?? (config.externalConsole ? 'externalTerminal' : 'integratedTerminal'); + + // Merge the launch config's environment variables on top of the inherited process environment. + const env: NodeJS.ProcessEnv = { ...process.env }; + for (const e of environment) { + env[e.name] = e.value; + } + + this.sendResponse(request, {}); + + if (consoleMode === 'integratedTerminal' || consoleMode === 'internalConsole') { + await this.launchIntegratedTerminal(program, args, cwd, env); + } else if (consoleMode === 'externalTerminal') { + this.launchExternalTerminal(program, args, cwd, env); + } + } + + /** + * Launch the program in a VS Code integrated terminal. + * The terminal will remain open after the program exits and be reused for the next session, if applicable. + */ + private async launchIntegratedTerminal(program: string, args: string[], cwd: string | undefined, env: NodeJS.ProcessEnv): Promise { + const terminalName = path.normalize(program); + const existingTerminal = vscode.window.terminals.find(t => t.name === terminalName); + this.terminal = existingTerminal ?? vscode.window.createTerminal({ + name: terminalName, + cwd, + env: env as Record + }); + this.terminal.show(true); + + const shellIntegration: vscode.TerminalShellIntegration | undefined = + this.terminal.shellIntegration ?? await this.waitForShellIntegration(this.terminal, 3000); + + // Not all terminals support shell integration. If it's not available, we'll just send the command as text though we won't be able to monitor its execution. + if (shellIntegration) { + this.monitorIntegratedTerminal(this.terminal); + let executable: string = program; + let executableArgs: string[] = args; + if (!program.match(/["']/) && program.match(/\s/)) { + // VS Code does not automatically quote the program path if it has spaces. + const shellPath: string | undefined = 'shellPath' in this.terminal.creationOptions + ? this.terminal.creationOptions.shellPath?.toLowerCase() + : undefined; + const terminalShell: string | undefined = this.terminal.state.shell?.toLowerCase(); + const defaultTerminalProfile: string | undefined = isWindows + ? vscode.workspace.getConfiguration('terminal.integrated').get('defaultProfile.windows')?.toLowerCase() + : undefined; + const isPowerShell: boolean | undefined = + shellPath?.endsWith('pwsh.exe') || shellPath?.endsWith('powershell.exe') || shellPath?.endsWith('pwsh') || + terminalShell?.includes('powershell') || terminalShell?.includes('pwsh') || + defaultTerminalProfile?.includes('powershell') || defaultTerminalProfile?.includes('pwsh'); + + if (isPowerShell || (isWindows && isPowerShell === undefined)) { // PowerShell is the default on Windows if we can't determine the shell. + executable = '&'; + executableArgs = [program, ...args]; + } else { + executable = `"${program}"`; + } + } + this.terminalExecution = shellIntegration.executeCommand(executable, executableArgs); + } else { + const cmdLine: string = buildShellCommandLine('', program, args, true); + this.terminal.sendText(cmdLine); + + // The terminal manages its own lifecycle; notify VS Code the "debug" session is done. + this.sendEvent('terminated'); + } + } + + /** + * Launch the program in an external terminal. We do not keep track of this terminal or the spawned process. + */ + private launchExternalTerminal(program: string, args: string[], cwd: string | undefined, env: NodeJS.ProcessEnv): void { + const cmdLine: string = buildShellCommandLine('', program, args, true); + const platform: string = os.platform(); + if (platform === 'win32') { + cp.spawn('cmd.exe', ['/c', 'start', 'cmd.exe', '/K', `"${cmdLine}"`], { cwd, env, windowsVerbatimArguments: true, detached: true, stdio: 'ignore' }).unref(); + } else if (platform === 'darwin') { + cp.spawn('osascript', ['-e', `tell application "Terminal" to do script "${this.escapeQuotes(cmdLine)}"`], { cwd, env, detached: true, stdio: 'ignore' }).unref(); + } else if (platform === 'linux' && sessionIsWsl()) { + cp.spawn('/mnt/c/Windows/System32/cmd.exe', ['/c', 'start', 'bash', '-c', `${cmdLine};read -p 'Press enter to continue...'`], { env, detached: true, stdio: 'ignore' }).unref(); + } else { // platform === 'linux' + this.launchLinuxExternalTerminal(cmdLine, cwd, env); + } + this.sendEvent('terminated'); + } + + /** + * On Linux, find and launch an available terminal emulator to run the command. + */ + private launchLinuxExternalTerminal(cmdLine: string, cwd: string | undefined, env: NodeJS.ProcessEnv): void { + const bashCmd = `${cmdLine}; echo; read -p 'Press enter to continue...'`; + const bashArgs = ['bash', '-c', bashCmd]; + + // Terminal emulators in order of preference, with the correct flag style for each. + const candidates: { cmd: string; buildArgs(): string[] }[] = [ + { cmd: 'x-terminal-emulator', buildArgs: () => ['-e', ...bashArgs] }, + { cmd: 'gnome-terminal', buildArgs: () => ['-e', ...bashArgs] }, + { cmd: 'konsole', buildArgs: () => ['-e', ...bashArgs] }, + { cmd: 'xterm', buildArgs: () => ['-e', ...bashArgs] } + ]; + + // Honor the $TERMINAL environment variable if set. + const terminalEnv = process.env['TERMINAL']; + if (terminalEnv) { + candidates.unshift({ cmd: terminalEnv, buildArgs: () => ['-e', ...bashArgs] }); + } + + for (const candidate of candidates) { + try { + const result = cp.spawnSync('which', [candidate.cmd], { stdio: 'pipe' }); + if (result.status === 0) { + cp.spawn(candidate.cmd, candidate.buildArgs(), { cwd, env, detached: true, stdio: 'ignore' }).unref(); + return; + } + } catch { + continue; + } + } + + const message = localize({ key: 'no.terminal.emulator', comment: ['{Locked="$TERMINAL"} {Locked="x-terminal-emulator"} {Locked="gnome-terminal"} {Locked="konsole"} {Locked="xterm"}'] }, + 'No terminal emulator found. Please set the $TERMINAL environment variable to your terminal emulator of choice, or install one of the following: x-terminal-emulator, gnome-terminal, konsole, xterm.'); + vscode.window.showErrorMessage(message); + } + + private escapeQuotes(arg: string): string { + return arg.replace(/\\/g, '\\\\').replace(/"/g, '\\"'); + } + + private waitForShellIntegration(terminal: vscode.Terminal, timeoutMs: number): Promise { + return new Promise(resolve => { + let resolved: boolean = false; + const done = (shellIntegration: vscode.TerminalShellIntegration | undefined): void => { + if (resolved) { + return; + } + + resolved = true; + clearTimeout(timeout); + shellIntegrationChanged.dispose(); + terminalClosed.dispose(); + resolve(shellIntegration); + }; + + const timeout = setTimeout(() => done(undefined), timeoutMs); + const shellIntegrationChanged = vscode.window.onDidChangeTerminalShellIntegration(event => { + if (event.terminal === terminal) { + done(event.shellIntegration); + } + }); + const terminalClosed = vscode.window.onDidCloseTerminal(closedTerminal => { + if (closedTerminal === terminal) { + done(undefined); + } + }); + }); + } + + private monitorIntegratedTerminal(terminal: vscode.Terminal): void { + this.disposeTerminalListeners(); + this.terminalListeners.push( + vscode.window.onDidEndTerminalShellExecution(event => { + if (event.terminal !== terminal || event.execution !== this.terminalExecution || this.hasTerminated) { + return; + } + + if (event.exitCode !== undefined) { + this.sendEvent('exited', { exitCode: event.exitCode }); + } + + this.sendEvent('terminated'); + }), + vscode.window.onDidCloseTerminal(closedTerminal => { + if (closedTerminal !== terminal || this.hasTerminated) { + return; + } + + this.sendEvent('terminated'); + }) + ); + } + + private disposeTerminalListeners(): void { + while (this.terminalListeners.length > 0) { + this.terminalListeners.pop()?.dispose(); + } + } + + private sendResponse(request: { command: string; seq: number; }, body: object): void { + this.sendMessageEmitter.fire({ + type: 'response', + seq: this.seq++, + request_seq: request.seq, + success: true, + command: request.command, + body + } as vscode.DebugProtocolMessage); + } + + private sendEvent(event: string, body?: object): void { + if (event === 'terminated') { + if (this.hasTerminated) { + return; + } + + this.hasTerminated = true; + this.disposeTerminalListeners(); + } + + this.sendMessageEmitter.fire({ + type: 'event', + seq: this.seq++, + event, + body + } as vscode.DebugProtocolMessage); + } + + public dispose(): void { + this.terminateProcess(); + this.disposeTerminalListeners(); + this.sendMessageEmitter.dispose(); + } + + private terminateProcess(): void { + this.childProcess?.kill(); + this.childProcess = undefined; + } +} diff --git a/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts b/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts index b04b8e302..7469fd570 100644 --- a/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts +++ b/Extension/src/LanguageServer/Providers/CopilotHoverProvider.ts @@ -26,10 +26,69 @@ export class CopilotHoverProvider implements vscode.HoverProvider { private cancelledDocument: vscode.TextDocument | undefined; private cancelledPosition: vscode.Position | undefined; private content: string | undefined; + private chatModel: vscode.LanguageModelChat | undefined; + private chatModelId: string | undefined; // Save the selected model ID to avoid trying the same unavailable model repeatedly. + // Flag to avoid querying the LanguageModelChat repeatedly if no model is found + private checkedChatModel: boolean = false; constructor(client: DefaultClient) { this.client = client; } + public async getCachedChatModel(): Promise { + if (this.checkedChatModel) { + return this.chatModel; + } + + const vscodelm = getVSCodeLanguageModel(); + if (vscodelm) { + try { + let model: vscode.LanguageModelChat | undefined; + if (this.chatModelId === undefined) { + // First look for GPT-4o which should be available to all + // users and have a 0x multiplier on paid plans. + // GPT-4o is faster than the x0 GPT-5-mini (which seems too slow for hover, e.g. 10+ seconds). + this.chatModelId = 'gpt-4o'; + [model] = await vscodelm.selectChatModels({ ...modelSelector, id: this.chatModelId }); + if (!model) { + // If GPT-4o is not available, fallback to GPT-5.4-mini (x0.33 and fast). + this.chatModelId = 'gpt-5.4-mini'; + [model] = await vscodelm.selectChatModels({ ...modelSelector, id: this.chatModelId }); + } + if (!model) { + // If GPT-5.4-mini is not available, fallback to the first available model. + this.chatModelId = 'default'; + [model] = await vscodelm.selectChatModels(modelSelector); + } + } else { + if (this.chatModelId === 'default') { + [model] = await vscodelm.selectChatModels(modelSelector); + } else { + [model] = await vscodelm.selectChatModels({ ...modelSelector, id: this.chatModelId }); + } + } + if (!model) { + telemetry.logLanguageServerEvent('CopilotHoverNoModelSelected', { remoteName: vscode.env.remoteName || 'local' }); + } else { + this.chatModel = model; + } + } catch (e: any) { + const exceptionType = e?.name || e?.constructor?.name || typeof e; + telemetry.logLanguageServerEvent('CopilotHoverSelectModelFailed', { + remoteName: vscode.env.remoteName || 'local', + exceptionType: String(exceptionType) + }); + } + } + this.checkedChatModel = true; + return this.chatModel; + } + + public async refreshCachedChatModel(): Promise { + this.chatModel = undefined; + this.checkedChatModel = false; + return this.getCachedChatModel(); + } + public async provideHover(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken): Promise { await this.client.ready; @@ -43,12 +102,9 @@ export class CopilotHoverProvider implements vscode.HoverProvider { } // Ensure the user has access to Copilot. - const vscodelm = getVSCodeLanguageModel(); - if (vscodelm) { - const [model] = await vscodelm.selectChatModels(modelSelector); - if (!model) { - return undefined; - } + const model = await this.getCachedChatModel(); + if (!model) { + return undefined; } const newHover = this.isNewHover(document, position); diff --git a/Extension/src/LanguageServer/Providers/callHierarchyProvider.ts b/Extension/src/LanguageServer/Providers/callHierarchyProvider.ts index 6c6d39f07..61b7b110b 100644 --- a/Extension/src/LanguageServer/Providers/callHierarchyProvider.ts +++ b/Extension/src/LanguageServer/Providers/callHierarchyProvider.ts @@ -88,6 +88,129 @@ const CallHierarchyCallsToRequest: RequestType = new RequestType('cpptools/callHierarchyCallsFrom'); +function makeVscodeCallHierarchyItem(client: DefaultClient, item: CallHierarchyItem): vscode.CallHierarchyItem { + const containerDetail: string = (item.detail !== "") ? `${item.detail} - ` : ""; + const itemUri: vscode.Uri = vscode.Uri.file(item.file); + + // Get file detail + const isInWorkspace: boolean = client.RootUri !== undefined && + itemUri.fsPath.startsWith(client.RootUri.fsPath); + const dirPath: string = isInWorkspace ? + path.relative(client.RootPath, path.dirname(item.file)) : path.dirname(item.file); + const fileDetail: string = dirPath.length === 0 ? + `${path.basename(item.file)}` : `${path.basename(item.file)} (${dirPath})`; + + return new vscode.CallHierarchyItem( + item.kind, + item.name, + containerDetail + fileDetail, + itemUri, + makeVscodeRange(item.range), + makeVscodeRange(item.selectionRange)); +} + +function createIncomingCalls(client: DefaultClient, calls: CallHierarchyCallsItem[]): vscode.CallHierarchyIncomingCall[] { + const result: vscode.CallHierarchyIncomingCall[] = []; + + for (const call of calls) { + const item: vscode.CallHierarchyItem = makeVscodeCallHierarchyItem(client, call.item); + const ranges: vscode.Range[] = []; + call.fromRanges.forEach(r => { + ranges.push(makeVscodeRange(r)); + }); + + const incomingCall: vscode.CallHierarchyIncomingCall = + new vscode.CallHierarchyIncomingCall(item, ranges); + result.push(incomingCall); + } + + return result; +} + +function createOutgoingCalls(client: DefaultClient, calls: CallHierarchyCallsItem[]): vscode.CallHierarchyOutgoingCall[] { + const result: vscode.CallHierarchyOutgoingCall[] = []; + + for (const call of calls) { + const item: vscode.CallHierarchyItem = makeVscodeCallHierarchyItem(client, call.item); + const ranges: vscode.Range[] = []; + call.fromRanges.forEach(r => { + ranges.push(makeVscodeRange(r)); + }); + + const outgoingCall: vscode.CallHierarchyOutgoingCall = + new vscode.CallHierarchyOutgoingCall(item, ranges); + result.push(outgoingCall); + } + + return result; +} + +export async function sendPrepareCallHierarchyRequest(client: DefaultClient, uri: vscode.Uri, position: vscode.Position, token: vscode.CancellationToken): Promise { + const params: CallHierarchyParams = { + textDocument: { uri: uri.toString() }, + position: Position.create(position.line, position.character) + }; + let response: CallHierarchyItemResult; + try { + response = await client.languageClient.sendRequest(CallHierarchyItemRequest, params, token); + } catch (e: any) { + if (e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled)) { + return undefined; + } + throw e; + } + + if (token.isCancellationRequested) { + return undefined; + } + + return response.item === undefined ? [] : [makeVscodeCallHierarchyItem(client, response.item)]; +} + +export async function sendCallHierarchyCallsToRequest(client: DefaultClient, item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise { + const params: CallHierarchyParams = { + textDocument: { uri: item.uri.toString() }, + position: Position.create(item.selectionRange.start.line, item.selectionRange.start.character) + }; + let response: CallHierarchyCallsItemResult; + try { + response = await client.languageClient.sendRequest(CallHierarchyCallsToRequest, params, token); + } catch (e: any) { + if (e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled)) { + return undefined; + } + throw e; + } + + if (token.isCancellationRequested) { + return undefined; + } + + return response.calls.length !== 0 ? createIncomingCalls(client, response.calls) : []; +} + +export async function sendCallHierarchyCallsFromRequest(client: DefaultClient, item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise { + const params: CallHierarchyParams = { + textDocument: { uri: item.uri.toString() }, + position: Position.create(item.selectionRange.start.line, item.selectionRange.start.character) + }; + let response: CallHierarchyCallsItemResult; + try { + response = await client.languageClient.sendRequest(CallHierarchyCallsFromRequest, params, token); + } catch (e: any) { + if (e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled)) { + return undefined; + } + throw e; + } + + if (token.isCancellationRequested) { + return undefined; + } + + return response.calls.length !== 0 ? createOutgoingCalls(client, response.calls) : []; +} + export class CallHierarchyProvider implements vscode.CallHierarchyProvider { // Indicates whether a request is from an entry root node (e.g. top function in the call tree). private isEntryRootNodeTelemetry: boolean = false; @@ -118,20 +241,10 @@ export class CallHierarchyProvider implements vscode.CallHierarchyProvider { cancelSource.cancel(); }); - const params: CallHierarchyParams = { - textDocument: { uri: document.uri.toString() }, - position: Position.create(position.line, position.character) - }; - let response: CallHierarchyItemResult; + let result: vscode.CallHierarchyItem[] | undefined; try { - response = await this.client.languageClient.sendRequest(CallHierarchyItemRequest, params, cancelSource.token); - } catch (e: any) { - if (e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled)) { - return undefined; - } - throw e; - } - finally { + result = await sendPrepareCallHierarchyRequest(this.client, document.uri, position, cancelSource.token); + } finally { cancellationTokenListener.dispose(); requestCanceledListener.dispose(); } @@ -139,12 +252,12 @@ export class CallHierarchyProvider implements vscode.CallHierarchyProvider { if (cancelSource.token.isCancellationRequested) { throw new vscode.CancellationError(); } - if (response.item === undefined) { + if (!result || result.length === 0) { return undefined; } this.isEntryRootNodeTelemetry = true; - return this.makeVscodeCallHierarchyItem(response.item); + return result[0]; } public async provideCallHierarchyIncomingCalls(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise { @@ -172,39 +285,28 @@ export class CallHierarchyProvider implements vscode.CallHierarchyProvider { // Send the request to the language server. let result: vscode.CallHierarchyIncomingCall[] | undefined; - const params: CallHierarchyParams = { - textDocument: { uri: item.uri.toString() }, - position: Position.create(item.selectionRange.start.line, item.selectionRange.start.character) - }; - let response: CallHierarchyCallsItemResult | undefined; - let cancelled: boolean = false; + let progressBarDuration: number | undefined; try { - response = await this.client.languageClient.sendRequest(CallHierarchyCallsToRequest, params, cancelSource.token); - } catch (e: any) { - cancelled = e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled); - if (!cancelled) { - throw e; - } + result = await sendCallHierarchyCallsToRequest(this.client, item, cancelSource.token); + } finally { + // Reset anything that can be cleared before processing the result. + progressBarDuration = workspaceReferences.getCallHierarchyProgressBarDuration(); + workspaceReferences.resetProgressBar(); + workspaceReferences.resetReferences(); + cancellationTokenListener.dispose(); + requestCanceledListener.dispose(); } - // Reset anything that can be cleared before processing the result. - const progressBarDuration: number | undefined = workspaceReferences.getCallHierarchyProgressBarDuration(); - workspaceReferences.resetProgressBar(); - workspaceReferences.resetReferences(); - cancellationTokenListener.dispose(); - requestCanceledListener.dispose(); // Process the result. - if (cancelSource.token.isCancellationRequested || cancelled || requestCanceled !== undefined) { + if (cancelSource.token.isCancellationRequested || result === undefined || requestCanceled !== undefined) { const requestStatus: CallHierarchyRequestStatus = requestCanceled === CancellationSender.User ? CallHierarchyRequestStatus.CanceledByUser : CallHierarchyRequestStatus.Canceled; this.logTelemetry(CallHierarchyCallsToEvent, requestStatus, progressBarDuration); throw new vscode.CancellationError(); - } else if (response && response.calls.length !== 0) { - result = this.createIncomingCalls(response.calls); } this.logTelemetry(CallHierarchyCallsToEvent, CallHierarchyRequestStatus.Succeeded, progressBarDuration); - return result; + return result.length !== 0 ? result : undefined; } public async provideCallHierarchyOutgoingCalls(item: vscode.CallHierarchyItem, token: vscode.CancellationToken): Promise { @@ -216,87 +318,15 @@ export class CallHierarchyProvider implements vscode.CallHierarchyProvider { await this.client.ready; - let result: vscode.CallHierarchyOutgoingCall[] | undefined; - const params: CallHierarchyParams = { - textDocument: { uri: item.uri.toString() }, - position: Position.create(item.selectionRange.start.line, item.selectionRange.start.character) - }; - let response: CallHierarchyCallsItemResult | undefined; - let cancelled: boolean = false; - try { - response = await this.client.languageClient.sendRequest(CallHierarchyCallsFromRequest, params, token); - } catch (e: any) { - cancelled = e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled); - if (!cancelled) { - throw e; - } - } - if (token.isCancellationRequested || cancelled) { + const result: vscode.CallHierarchyOutgoingCall[] | undefined = + await sendCallHierarchyCallsFromRequest(this.client, item, token); + if (token.isCancellationRequested || result === undefined) { this.logTelemetry(CallHierarchyCallsFromEvent, CallHierarchyRequestStatus.Canceled); throw new vscode.CancellationError(); - } else if (response && response.calls.length !== 0) { - result = this.createOutgoingCalls(response.calls); } this.logTelemetry(CallHierarchyCallsFromEvent, CallHierarchyRequestStatus.Succeeded); - return result; - } - - private makeVscodeCallHierarchyItem(item: CallHierarchyItem): vscode.CallHierarchyItem { - const containerDetail: string = (item.detail !== "") ? `${item.detail} - ` : ""; - const itemUri: vscode.Uri = vscode.Uri.file(item.file); - - // Get file detail - const isInWorkspace: boolean = this.client.RootUri !== undefined && - itemUri.fsPath.startsWith(this.client.RootUri?.fsPath); - const dirPath: string = isInWorkspace ? - path.relative(this.client.RootPath, path.dirname(item.file)) : path.dirname(item.file); - const fileDetail: string = dirPath.length === 0 ? - `${path.basename(item.file)}` : `${path.basename(item.file)} (${dirPath})`; - - return new vscode.CallHierarchyItem( - item.kind, - item.name, - containerDetail + fileDetail, - itemUri, - makeVscodeRange(item.range), - makeVscodeRange(item.selectionRange)); - } - - private createIncomingCalls(calls: CallHierarchyCallsItem[]): vscode.CallHierarchyIncomingCall[] { - const result: vscode.CallHierarchyIncomingCall[] = []; - - for (const call of calls) { - const item: vscode.CallHierarchyItem = this.makeVscodeCallHierarchyItem(call.item); - const ranges: vscode.Range[] = []; - call.fromRanges.forEach(r => { - ranges.push(makeVscodeRange(r)); - }); - - const incomingCall: vscode.CallHierarchyIncomingCall = - new vscode.CallHierarchyIncomingCall(item, ranges); - result.push(incomingCall); - } - - return result; - } - - private createOutgoingCalls(calls: CallHierarchyCallsItem[]): vscode.CallHierarchyOutgoingCall[] { - const result: vscode.CallHierarchyOutgoingCall[] = []; - - for (const call of calls) { - const item: vscode.CallHierarchyItem = this.makeVscodeCallHierarchyItem(call.item); - const ranges: vscode.Range[] = []; - call.fromRanges.forEach(r => { - ranges.push(makeVscodeRange(r)); - }); - - const outgoingCall: vscode.CallHierarchyOutgoingCall = - new vscode.CallHierarchyOutgoingCall(item, ranges); - result.push(outgoingCall); - } - - return result; + return result.length !== 0 ? result : undefined; } private logTelemetry(eventName: string, requestStatus: CallHierarchyRequestStatus, progressBarDuration?: number): void { diff --git a/Extension/src/LanguageServer/Providers/findAllReferencesProvider.ts b/Extension/src/LanguageServer/Providers/findAllReferencesProvider.ts index ffdb1cf9e..664cf80c6 100644 --- a/Extension/src/LanguageServer/Providers/findAllReferencesProvider.ts +++ b/Extension/src/LanguageServer/Providers/findAllReferencesProvider.ts @@ -11,6 +11,50 @@ import { CancellationSender, ReferenceInfo, ReferenceType, ReferencesParams, Ref const FindAllReferencesRequest: RequestType = new RequestType('cpptools/findAllReferences'); +export interface FindAllReferencesResult { + referencesResult: ReferencesResult; + locations: vscode.Location[]; +} + +function convertConfirmedReferencesToLocations(referencesResult: ReferencesResult): vscode.Location[] { + const locationsResult: vscode.Location[] = []; + referencesResult.referenceInfos.forEach((referenceInfo: ReferenceInfo) => { + if (referenceInfo.type === ReferenceType.Confirmed) { + const uri: vscode.Uri = vscode.Uri.file(referenceInfo.file); + const range: vscode.Range = new vscode.Range(referenceInfo.position.line, referenceInfo.position.character, + referenceInfo.position.line, referenceInfo.position.character + referencesResult.text.length); + locationsResult.push(new vscode.Location(uri, range)); + } + }); + return locationsResult; +} + +export async function sendFindAllReferencesRequest(client: DefaultClient, uri: vscode.Uri, position: vscode.Position, token: vscode.CancellationToken): Promise { + const params: ReferencesParams = { + newName: "", + position: Position.create(position.line, position.character), + textDocument: { uri: uri.toString() } + }; + let response: ReferencesResult; + try { + response = await client.languageClient.sendRequest(FindAllReferencesRequest, params, token); + } catch (e: any) { + if (e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled)) { + return undefined; + } + throw e; + } + + if (token.isCancellationRequested || response.isCanceled) { + return undefined; + } + + return { + referencesResult: response, + locations: convertConfirmedReferencesToLocations(response) + }; +} + export class FindAllReferencesProvider implements vscode.ReferenceProvider { private client: DefaultClient; @@ -29,23 +73,10 @@ export class FindAllReferencesProvider implements vscode.ReferenceProvider { const requestCanceledListener: vscode.Disposable = workspaceReferences.onCancellationRequested(_sender => { cancelSource.cancel(); }); // Send the request to the language server. - const locationsResult: vscode.Location[] = []; - const params: ReferencesParams = { - newName: "", - position: Position.create(position.line, position.character), - textDocument: { uri: document.uri.toString() } - }; - let response: ReferencesResult | undefined; - let cancelled: boolean = false; + let result: FindAllReferencesResult | undefined; try { - response = await this.client.languageClient.sendRequest(FindAllReferencesRequest, params, cancelSource.token); - } catch (e: any) { - cancelled = e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled); - if (!cancelled) { - throw e; - } - } - finally { + result = await sendFindAllReferencesRequest(this.client, document.uri, position, cancelSource.token); + } finally { // Reset anything that can be cleared before processing the result. workspaceReferences.resetProgressBar(); cancellationTokenListener.dispose(); @@ -53,30 +84,21 @@ export class FindAllReferencesProvider implements vscode.ReferenceProvider { } // Process the result. - if (cancelSource.token.isCancellationRequested || cancelled || (response && response.isCanceled)) { + if (cancelSource.token.isCancellationRequested || !result) { // Return undefined instead of vscode.CancellationError to avoid the following error message from VS Code: // "Cannot destructure property 'range' of 'e.location' as it is undefined." // TODO: per issue https://github.com/microsoft/vscode/issues/169698 // vscode.CancellationError is expected, so when VS Code fixes the error use vscode.CancellationError again. workspaceReferences.resetReferences(); return undefined; - } else if (response && response.referenceInfos.length > 0) { - response.referenceInfos.forEach((referenceInfo: ReferenceInfo) => { - if (referenceInfo.type === ReferenceType.Confirmed) { - const uri: vscode.Uri = vscode.Uri.file(referenceInfo.file); - const range: vscode.Range = new vscode.Range(referenceInfo.position.line, referenceInfo.position.character, - referenceInfo.position.line, referenceInfo.position.character + response.text.length); - locationsResult.push(new vscode.Location(uri, range)); - } - }); - + } else if (result.referencesResult.referenceInfos.length > 0) { // Display other reference types in panel or channel view. // Note: ReferencesManager.resetReferences is called in ReferencesManager.showResultsInPanelView - workspaceReferences.showResultsInPanelView(response); + workspaceReferences.showResultsInPanelView(result.referencesResult); } else { workspaceReferences.resetReferences(); } - return locationsResult; + return result.locations; } } diff --git a/Extension/src/LanguageServer/Providers/goToDefinitionProvider.ts b/Extension/src/LanguageServer/Providers/goToDefinitionProvider.ts new file mode 100644 index 000000000..80fb17c34 --- /dev/null +++ b/Extension/src/LanguageServer/Providers/goToDefinitionProvider.ts @@ -0,0 +1,57 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +import * as vscode from 'vscode'; +import { Definition, DefinitionLink, DefinitionRequest, Position, ResponseError, TextDocumentPositionParams } from 'vscode-languageclient'; +import { DefaultClient } from '../client'; +import { RequestCancelled, ServerCancelled } from '../protocolFilter'; + +function convertDefinitionsToLocations(definitionsResult: vscode.Definition | vscode.DefinitionLink[] | undefined): vscode.Location[] { + if (!definitionsResult) { + return []; + } + + if (!Array.isArray(definitionsResult)) { + return [definitionsResult]; + } + + const result: vscode.Location[] = []; + for (const definition of definitionsResult) { + if (definition instanceof vscode.Location) { + result.push(definition); + } else { + result.push(new vscode.Location(definition.targetUri, definition.targetSelectionRange ?? definition.targetRange)); + } + } + + return result; +} + +export async function sendGoToDefinitionRequest(client: DefaultClient, uri: vscode.Uri, position: vscode.Position, token: vscode.CancellationToken): Promise { + const params: TextDocumentPositionParams = { + position: Position.create(position.line, position.character), + textDocument: { uri: uri.toString() } + }; + let response: Definition | DefinitionLink[] | null; + try { + response = await client.languageClient.sendRequest(DefinitionRequest.type, params, token); + } catch (e: any) { + if (e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled)) { + return undefined; + } + throw e; + } + + if (token.isCancellationRequested) { + return undefined; + } + + const result: vscode.Definition | vscode.DefinitionLink[] | undefined = + await client.languageClient.protocol2CodeConverter.asDefinitionResult(response, token); + if (token.isCancellationRequested) { + return undefined; + } + + return convertDefinitionsToLocations(result); +} diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index 9fd268013..3410e7502 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -104,6 +104,12 @@ interface ConfigStateReceived { timeout: boolean; } +interface PendingTagParsingCall { + promise: ManualPromise; + timer: NodeJS.Timeout; + cancellationListener: vscode.Disposable; +} + let workspaceHash: string = ""; let workspaceDisposables: vscode.Disposable[] = []; @@ -619,12 +625,12 @@ const CreateDeclarationOrDefinitionRequest: RequestType = new RequestType('cpptools/extractToFunction'); const GoToDirectiveInGroupRequest: RequestType = new RequestType('cpptools/goToDirectiveInGroup'); const GenerateDoxygenCommentRequest: RequestType = new RequestType('cpptools/generateDoxygenComment'); -const ChangeCppPropertiesRequest: RequestType = new RequestType('cpptools/didChangeCppProperties'); const IncludesRequest: RequestType = new RequestType('cpptools/getIncludes'); const CppContextRequest: RequestType = new RequestType('cpptools/getChatContext'); const CopilotCompletionContextRequest: RequestType = new RequestType('cpptools/getCompletionContext'); // Notifications to the server +const ChangeCppPropertiesNotification: NotificationType = new NotificationType('cpptools/didChangeCppProperties'); const DidOpenNotification: NotificationType = new NotificationType('textDocument/didOpen'); const FileCreatedNotification: NotificationType = new NotificationType('cpptools/fileCreated'); const FileChangedNotification: NotificationType = new NotificationType('cpptools/fileChanged'); @@ -805,13 +811,14 @@ export interface Client { setCurrentConfigName(configurationName: string): Thenable; getCurrentConfigName(): Thenable; getCurrentConfigCustomVariable(variableName: string): Thenable; + waitForTagParsing(timeout: number, token: vscode.CancellationToken): Promise; getVcpkgInstalled(): Thenable; getVcpkgEnabled(): Thenable; getCurrentCompilerPathAndArgs(): Thenable; getKnownCompilers(): Thenable; takeOwnership(document: vscode.TextDocument): void; sendDidOpen(document: vscode.TextDocument): Promise; - requestSwitchHeaderSource(rootUri: vscode.Uri, fileName: string): Thenable; + requestSwitchHeaderSource(rootUri: vscode.Uri, fileName: string, token: vscode.CancellationToken): Thenable; updateActiveDocumentTextOptions(): void; didChangeActiveEditor(editor?: vscode.TextEditor, selection?: Range): Promise; restartIntelliSenseForFile(document: vscode.TextDocument): Promise; @@ -919,6 +926,7 @@ export class DefaultClient implements Client { private configStateReceived: ConfigStateReceived = { compilers: false, compileCommands: false, configProviders: undefined, timeout: false }; private showConfigureIntelliSenseButton: boolean = false; + private pendingTagParsingCalls: PendingTagParsingCall[] = []; /** A queue of asynchronous tasks that need to be processed befofe ready is considered active. */ private static queue = new Array<[ManualPromise, () => Promise] | [ManualPromise]>(); @@ -1008,6 +1016,62 @@ export class DefaultClient implements Client { }; } + // If there are any pending calls that were waiting for tag parsing to complete, we can resolve them since it's finished. If there are no pending calls, this does nothing. + private resolvePendingTagParsingCallsIfReady(): void { + if (!this.pendingTagParsingCalls.length || this.IsTagParsing) { + return; + } + + const pendingCalls: PendingTagParsingCall[] = this.pendingTagParsingCalls; + this.pendingTagParsingCalls = []; + pendingCalls.forEach(pendingCall => { + if (pendingCall.timer) { + clearTimeout(pendingCall.timer); + } + pendingCall.cancellationListener.dispose(); + pendingCall.promise.resolve(true); + }); + } + + public async waitForTagParsing(timeout: number, token: vscode.CancellationToken): Promise { + // On initialization, the client has UI bools all set to false which could cause an early return. We want to ensure it's ready first. + await this.ready; + + if (!this.IsTagParsing) { + return true; + } + + if (token.isCancellationRequested) { + throw new vscode.CancellationError(); + } + + const pendingCall: PendingTagParsingCall = { + promise: new ManualPromise(), + + timer: global.setTimeout(() => { + const index: number = this.pendingTagParsingCalls.indexOf(pendingCall); + if (index !== -1) { + this.pendingTagParsingCalls.splice(index, 1); + } + pendingCall.cancellationListener.dispose(); + pendingCall.promise.resolve(false); + }, timeout), + + cancellationListener: token.onCancellationRequested(() => { + const index: number = this.pendingTagParsingCalls.indexOf(pendingCall); + if (index !== -1) { + this.pendingTagParsingCalls.splice(index, 1); + } + clearTimeout(pendingCall.timer); + pendingCall.cancellationListener.dispose(); + pendingCall.promise.reject(new vscode.CancellationError()); + }) + }; + + this.pendingTagParsingCalls.push(pendingCall); + return pendingCall.promise; + } + private getName(workspaceFolder?: vscode.WorkspaceFolder): string { return workspaceFolder ? workspaceFolder.name : "untitled"; } @@ -1537,6 +1601,7 @@ export class DefaultClient implements Client { vcFormatSpaceAroundTernaryOperator: settings.vcFormatSpaceAroundTernaryOperator, vcFormatWrapPreserveBlocks: settings.vcFormatWrapPreserveBlocks, doxygenGenerateOnType: settings.doxygenGenerateOnType, + doxygenGenerateOnCodeAction: settings.doxygenGenerateOnCodeAction, doxygenGeneratedStyle: settings.doxygenGeneratedCommentStyle, doxygenSectionTags: settings.doxygenSectionTags, filesExclude: otherSettings.filesExclude, @@ -1746,6 +1811,21 @@ export class DefaultClient implements Client { // TODO: should I set the output channel? Does this sort output between servers? }; + // Reset all UI state to default, in case this is a restart after a crash. + this.model.isIndexingWorkspace.Value = false; + this.model.isParsingWorkspace.Value = false; + this.model.isParsingWorkspacePaused.Value = false; + this.model.isParsingFiles.Value = false; + this.model.isUpdatingIntelliSense.Value = false; + this.model.isRunningCodeAnalysis.Value = false; + this.model.isCodeAnalysisPaused.Value = false; + this.model.codeAnalysisProcessed.Value = 0; + this.model.codeAnalysisTotal.Value = 0; + this.model.parsingWorkspaceStatus.Value = ""; + + // Refresh initializing state in UI. + this.model.isInitializingWorkspace.Value = true; + // Create the language client languageClient = new LanguageClient(`cpptools`, serverOptions, clientOptions); languageClient.onNotification(DebugProtocolNotification, logDebugProtocol); @@ -2856,6 +2936,11 @@ export class DefaultClient implements Client { this.model.isIndexingWorkspace.Value = true; this.model.isInitializingWorkspace.Value = false; this.model.isParsingWorkspace.Value = false; + } else if (message.endsWith("Failed")) { + this.model.isInitializingWorkspace.Value = false; + this.model.isIndexingWorkspace.Value = false; + this.model.isParsingWorkspace.Value = false; + this.model.isParsingFiles.Value = false; } else if (message.endsWith("files")) { this.model.isParsingFiles.Value = true; } else if (message.endsWith("IntelliSense")) { @@ -2892,6 +2977,8 @@ export class DefaultClient implements Client { } else if (message.includes("/")) { this.lastInvokedLspMessage = message; } + + this.resolvePendingTagParsingCallsIfReady(); } private updateTagParseStatus(tagParseStatus: TagParseStatus): void { @@ -3018,12 +3105,23 @@ export class DefaultClient implements Client { /** * requests to the language server */ - public async requestSwitchHeaderSource(rootUri: vscode.Uri, fileName: string): Promise { + public async requestSwitchHeaderSource(rootUri: vscode.Uri, fileName: string, token: vscode.CancellationToken): Promise { const params: SwitchHeaderSourceParams = { switchHeaderSourceFileName: fileName, workspaceFolderUri: rootUri.toString() }; - return this.enqueue(async () => this.languageClient.sendRequest(SwitchHeaderSourceRequest, params)); + return this.enqueue(async () => { + // Don't use withLspCancellationHandling() or withCancellation() here. If the switch target is already known, + // the caller should still be able to use it even if the progress notification was just cancelled. + try { + return await this.languageClient.sendRequest(SwitchHeaderSourceRequest, params, token); + } catch (e: any) { + if (e instanceof ResponseError && (e.code === RequestCancelled || e.code === ServerCancelled)) { + throw new vscode.CancellationError(); + } + throw e; + } + }); } public async requestCompiler(newCompilerPath?: string): Promise { @@ -3224,7 +3322,7 @@ export class DefaultClient implements Client { params.configurations.push(modifiedConfig); }); - await this.languageClient.sendRequest(ChangeCppPropertiesRequest, params); + await this.languageClient.sendNotification(ChangeCppPropertiesNotification, params); if (!!this.lastCustomBrowseConfigurationProviderId && !!this.lastCustomBrowseConfiguration && !!this.lastCustomBrowseConfigurationProviderVersion) { if (!this.doneInitialCustomBrowseConfigurationCheck) { // Send the last custom browse configuration we received from this provider. @@ -4207,6 +4305,14 @@ export class DefaultClient implements Client { } public dispose(): void { + this.pendingTagParsingCalls.forEach(pendingCall => { + if (pendingCall.timer) { + clearTimeout(pendingCall.timer); + } + pendingCall.cancellationListener.dispose(); + pendingCall.promise.resolve(false); + }); + this.pendingTagParsingCalls = []; this.disposables.forEach((d) => d.dispose()); this.disposables = []; if (this.documentFormattingProviderDisposable) { @@ -4359,13 +4465,14 @@ class NullClient implements Client { setCurrentConfigName(configurationName: string): Thenable { return Promise.resolve(); } getCurrentConfigName(): Thenable { return Promise.resolve(""); } getCurrentConfigCustomVariable(variableName: string): Thenable { return Promise.resolve(""); } + waitForTagParsing(timeout: number, token: vscode.CancellationToken): Promise { return Promise.resolve(true); } getVcpkgInstalled(): Thenable { return Promise.resolve(false); } getVcpkgEnabled(): Thenable { return Promise.resolve(false); } getCurrentCompilerPathAndArgs(): Thenable { return Promise.resolve(undefined); } getKnownCompilers(): Thenable { return Promise.resolve([]); } takeOwnership(document: vscode.TextDocument): void { } sendDidOpen(document: vscode.TextDocument): Promise { return Promise.resolve(); } - requestSwitchHeaderSource(rootUri: vscode.Uri, fileName: string): Thenable { return Promise.resolve(""); } + requestSwitchHeaderSource(rootUri: vscode.Uri, fileName: string, token: vscode.CancellationToken): Thenable { return Promise.resolve(""); } updateActiveDocumentTextOptions(): void { } didChangeActiveEditor(editor?: vscode.TextEditor): Promise { return Promise.resolve(); } restartIntelliSenseForFile(document: vscode.TextDocument): Promise { return Promise.resolve(); } diff --git a/Extension/src/LanguageServer/configurations.ts b/Extension/src/LanguageServer/configurations.ts index ce2fd780a..b4686505c 100644 --- a/Extension/src/LanguageServer/configurations.ts +++ b/Extension/src/LanguageServer/configurations.ts @@ -88,7 +88,6 @@ export interface Configuration { browse?: Browse; recursiveIncludes?: RecursiveIncludes; customConfigurationVariables?: { [key: string]: string }; - recursiveIncludesReduceIsExplicit?: boolean; recursiveIncludesPriorityIsExplicit?: boolean; recursiveIncludesOrderIsExplicit?: boolean; } @@ -978,8 +977,6 @@ export class CppProperties { if (!configuration.recursiveIncludes) { configuration.recursiveIncludes = {}; } - configuration.recursiveIncludes.reduce = this.updateConfigurationString(configuration.recursiveIncludes.reduce, settings.defaultRecursiveIncludesReduce); - configuration.recursiveIncludesReduceIsExplicit = configuration.recursiveIncludesReduceIsExplicit || settings.defaultRecursiveIncludesReduce !== ""; configuration.recursiveIncludes.priority = this.updateConfigurationString(configuration.recursiveIncludes.priority, settings.defaultRecursiveIncludesPriority); configuration.recursiveIncludesPriorityIsExplicit = configuration.recursiveIncludesPriorityIsExplicit || settings.defaultRecursiveIncludesPriority !== ""; configuration.recursiveIncludes.order = this.updateConfigurationString(configuration.recursiveIncludes.order, settings.defaultRecursiveIncludesOrder); @@ -1560,7 +1557,6 @@ export class CppProperties { || (this.configurationJson.configurations[i].cStandardIsExplicit !== undefined) || (this.configurationJson.configurations[i].cppStandardIsExplicit !== undefined) || (this.configurationJson.configurations[i].intelliSenseModeIsExplicit !== undefined) - || (this.configurationJson.configurations[i].recursiveIncludesReduceIsExplicit !== undefined) || (this.configurationJson.configurations[i].recursiveIncludesPriorityIsExplicit !== undefined) || (this.configurationJson.configurations[i].recursiveIncludesOrderIsExplicit !== undefined)) { dirty = true; @@ -1583,7 +1579,6 @@ export class CppProperties { e.cStandardIsExplicit = e.cStandard !== undefined; e.cppStandardIsExplicit = e.cppStandard !== undefined; e.intelliSenseModeIsExplicit = e.intelliSenseMode !== undefined; - e.recursiveIncludesReduceIsExplicit = e.recursiveIncludes?.reduce !== undefined; e.recursiveIncludesPriorityIsExplicit = e.recursiveIncludes?.priority !== undefined; e.recursiveIncludesOrderIsExplicit = e.recursiveIncludes?.order !== undefined; }); @@ -2408,7 +2403,6 @@ export class CppProperties { const savedCStandardIsExplicit: boolean[] = []; const savedCppStandardIsExplicit: boolean[] = []; const savedIntelliSenseModeIsExplicit: boolean[] = []; - const savedRecursiveIncludesReduceIsExplicit: boolean[] = []; const savedRecursiveIncludesPriorityIsExplicit: boolean[] = []; const savedRecursiveIncludesOrderIsExplicit: boolean[] = []; @@ -2430,10 +2424,6 @@ export class CppProperties { if (e.intelliSenseModeIsExplicit !== undefined) { delete e.intelliSenseModeIsExplicit; } - savedRecursiveIncludesReduceIsExplicit.push(!!e.recursiveIncludesReduceIsExplicit); - if (e.recursiveIncludesReduceIsExplicit !== undefined) { - delete e.recursiveIncludesReduceIsExplicit; - } savedRecursiveIncludesPriorityIsExplicit.push(!!e.recursiveIncludesPriorityIsExplicit); if (e.recursiveIncludesPriorityIsExplicit !== undefined) { delete e.recursiveIncludesPriorityIsExplicit; @@ -2456,7 +2446,6 @@ export class CppProperties { this.configurationJson.configurations[i].cStandardIsExplicit = savedCStandardIsExplicit[i]; this.configurationJson.configurations[i].cppStandardIsExplicit = savedCppStandardIsExplicit[i]; this.configurationJson.configurations[i].intelliSenseModeIsExplicit = savedIntelliSenseModeIsExplicit[i]; - this.configurationJson.configurations[i].recursiveIncludesReduceIsExplicit = savedRecursiveIncludesReduceIsExplicit[i]; this.configurationJson.configurations[i].recursiveIncludesPriorityIsExplicit = savedRecursiveIncludesPriorityIsExplicit[i]; this.configurationJson.configurations[i].recursiveIncludesOrderIsExplicit = savedRecursiveIncludesOrderIsExplicit[i]; } diff --git a/Extension/src/LanguageServer/copilotCompletionContextProvider.ts b/Extension/src/LanguageServer/copilotCompletionContextProvider.ts index 157abfb15..a0c3ee444 100644 --- a/Extension/src/LanguageServer/copilotCompletionContextProvider.ts +++ b/Extension/src/LanguageServer/copilotCompletionContextProvider.ts @@ -466,7 +466,6 @@ ${copilotCompletionContext?.areSnippetsMissing ? "(missing code snippets)" : ""} throw new CopilotContextProviderException("getContextProviderAPI() is not available in Copilot Chat."); } }).catch((e) => { - console.debug("Failed to register the Copilot Context Provider with Copilot Chat."); let message = "Failed to register the Copilot Context Provider with Copilot Chat"; if (e instanceof CopilotContextProviderException) { message += `: ${e.message} `; @@ -500,7 +499,6 @@ ${copilotCompletionContext?.areSnippetsMissing ? "(missing code snippets)" : ""} throw new CopilotContextProviderException("getContextProviderAPI() is not available in Copilot client."); } }).catch((e) => { - console.debug("Failed to register the Copilot Context Provider with Copilot client."); let message = "Failed to register the Copilot Context Provider with Copilot client"; if (e instanceof CopilotContextProviderException) { message += `: ${e.message} `; diff --git a/Extension/src/LanguageServer/extension.ts b/Extension/src/LanguageServer/extension.ts index 2c072eff3..55516f626 100644 --- a/Extension/src/LanguageServer/extension.ts +++ b/Extension/src/LanguageServer/extension.ts @@ -17,12 +17,15 @@ import { TargetPopulation } from 'vscode-tas-client'; import * as which from 'which'; import { logAndReturn } from '../Utility/Async/returns'; import * as util from '../common'; -import { isWindows, modelSelector } from '../constants'; +import { isWindows } from '../constants'; import { instrument } from '../instrumentation'; import { getCrashCallStacksChannel } from '../logger'; import { PlatformInformation } from '../platform'; import * as telemetry from '../telemetry'; import { CopilotHoverProvider } from './Providers/CopilotHoverProvider'; +import { sendCallHierarchyCallsFromRequest, sendCallHierarchyCallsToRequest, sendPrepareCallHierarchyRequest } from './Providers/callHierarchyProvider'; +import { sendFindAllReferencesRequest } from './Providers/findAllReferencesProvider'; +import { sendGoToDefinitionRequest } from './Providers/goToDefinitionProvider'; import { Client, DefaultClient, DoxygenCodeActionCommandArguments, openFileVersions } from './client'; import { ClientCollection } from './clientCollection'; import { CodeActionDiagnosticInfo, CodeAnalysisDiagnosticIdentifiersAndUri, codeAnalysisAllFixes, codeAnalysisCodeToFixes, codeAnalysisFileToCodeActions } from './codeAnalysis'; @@ -272,6 +275,7 @@ export async function activate(): Promise { } await registerRelatedFilesProvider(); + await vscode.commands.executeCommand('setContext', 'cpptools.languageServerActivated', true); } export function updateLanguageConfigurations(): void { @@ -397,6 +401,11 @@ export async function registerCommands(enabled: boolean): Promise { commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ShowActiveCodeAnalysisCommands', enabled ? onShowActiveCodeAnalysisCommands : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ShowIdleCodeAnalysisCommands', enabled ? onShowIdleCodeAnalysisCommands : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ShowReferencesProgress', enabled ? onShowReferencesProgress : onDisabledCommand)); + commandDisposables.push(vscode.commands.registerCommand('C_Cpp.FindAllReferences', enabled ? onFindAllReferences : onDisabledCommand)); + commandDisposables.push(vscode.commands.registerCommand('C_Cpp.GoToDefinition', enabled ? onGoToDefinition : onDisabledCommand)); + commandDisposables.push(vscode.commands.registerCommand('C_Cpp.PrepareCallHierarchy', enabled ? onPrepareCallHierarchy : onDisabledCommand)); + commandDisposables.push(vscode.commands.registerCommand('C_Cpp.CallHierarchyCallsTo', enabled ? onCallHierarchyCallsTo : onDisabledCommand)); + commandDisposables.push(vscode.commands.registerCommand('C_Cpp.CallHierarchyCallsFrom', enabled ? onCallHierarchyCallsFrom : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.TakeSurvey', enabled ? onTakeSurvey : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.LogDiagnostics', enabled ? onLogDiagnostics : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.RescanWorkspace', enabled ? onRescanWorkspace : onDisabledCommand)); @@ -421,6 +430,7 @@ export async function registerCommands(enabled: boolean): Promise { commandDisposables.push(vscode.commands.registerCommand('cpptools.activeConfigName', enabled ? onGetActiveConfigName : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('cpptools.activeConfigCustomVariable', enabled ? onGetActiveConfigCustomVariable : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('cpptools.setActiveConfigName', enabled ? onSetActiveConfigName : onDisabledCommand)); + commandDisposables.push(vscode.commands.registerCommand('cpptools.waitForTagParsing', enabled ? onWaitForTagParsing : () => true)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.RestartIntelliSenseForFile', enabled ? onRestartIntelliSenseForFile : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.GenerateDoxygenComment', enabled ? onGenerateDoxygenComment : onDisabledCommand)); commandDisposables.push(vscode.commands.registerCommand('C_Cpp.CreateDeclarationOrDefinition', enabled ? onCreateDeclarationOrDefinition : onDisabledCommand)); @@ -469,19 +479,66 @@ async function onSwitchHeaderSource(): Promise { rootUri = vscode.Uri.file(path.dirname(fileName)); // When switching without a folder open. } - let targetFileName: string = await clients.ActiveClient.requestSwitchHeaderSource(rootUri, fileName); - // If the targetFileName has a path that is a symlink target of a workspace folder, - // then replace the RootRealPath with the RootPath (the symlink path). - let targetFileNameReplaced: boolean = false; - clients.forEach(client => { - if (!targetFileNameReplaced && client.RootRealPath && client.RootPath !== client.RootRealPath - && targetFileName.startsWith(client.RootRealPath)) { - targetFileName = client.RootPath + targetFileName.substring(client.RootRealPath.length); - targetFileNameReplaced = true; + const switchHeaderSource: (token: vscode.CancellationToken) => Promise = async (token: vscode.CancellationToken) => { + try { + let targetFileName: string = await clients.ActiveClient.requestSwitchHeaderSource(rootUri, fileName, token); + if (!targetFileName) { + return; + } + // If the targetFileName has a path that is a symlink target of a workspace folder, + // then replace the RootRealPath with the RootPath (the symlink path). + let targetFileNameReplaced: boolean = false; + clients.forEach(client => { + if (!targetFileNameReplaced && client.RootRealPath && client.RootPath !== client.RootRealPath + && targetFileName.startsWith(client.RootRealPath)) { + targetFileName = client.RootPath + targetFileName.substring(client.RootRealPath.length); + targetFileNameReplaced = true; + } + }); + const document: vscode.TextDocument = await vscode.workspace.openTextDocument(targetFileName); + await vscode.window.showTextDocument(document).then(undefined, logAndReturn.undefined); + } catch (e) { + if (e instanceof vscode.CancellationError) { + return; + } + throw e; } - }); - const document: vscode.TextDocument = await vscode.workspace.openTextDocument(targetFileName); - void vscode.window.showTextDocument(document).then(undefined, logAndReturn.undefined); + }; + + const tokenSource: vscode.CancellationTokenSource = new vscode.CancellationTokenSource(); + try { + const switchHeaderSourcePromise: Promise = switchHeaderSource(tokenSource.token); + const showProgress: boolean = await new Promise((resolve, reject) => { + const timer: NodeJS.Timeout = global.setTimeout(() => resolve(true), 2000); + void switchHeaderSourcePromise.then(() => { + clearTimeout(timer); + resolve(false); + }, (e) => { + clearTimeout(timer); + reject(e); + }); + }); + + if (!showProgress) { + await switchHeaderSourcePromise; + return; + } + + await vscode.window.withProgress({ + location: vscode.ProgressLocation.Notification, + title: localize('switch.header.source', 'Switching Header/Source...'), + cancellable: true + }, async (_progress, token) => { + const cancellationListener: vscode.Disposable = token.onCancellationRequested(() => tokenSource.cancel()); + try { + await switchHeaderSourcePromise; + } finally { + cancellationListener.dispose(); + } + }); + } finally { + tokenSource.dispose(); + } } /** @@ -808,6 +865,77 @@ function onShowReferencesProgress(): void { void clients.ActiveClient.handleReferencesIcon().catch(logAndReturn.undefined); } +async function onFindAllReferences(uri: vscode.Uri, position: vscode.Position, token?: vscode.CancellationToken): Promise { + if (!uri || !position) { + throw new Error("C_Cpp.FindAllReferences requires both a uri and position."); + } + + const client: Client = clients.getClientFor(uri); + if (!(client instanceof DefaultClient)) { + return undefined; + } + + await client.ready; + const result = await sendFindAllReferencesRequest(client, uri, position, token ?? CancellationToken.None); + return result?.locations; +} + +async function onGoToDefinition(uri: vscode.Uri, position: vscode.Position, token?: vscode.CancellationToken): Promise { + if (!uri || !position) { + throw new Error("C_Cpp.GoToDefinition requires both a uri and position."); + } + + const client: Client = clients.getClientFor(uri); + if (!(client instanceof DefaultClient)) { + return undefined; + } + + await client.ready; + return sendGoToDefinitionRequest(client, uri, position, token ?? CancellationToken.None); +} + +async function onPrepareCallHierarchy(uri: vscode.Uri, position: vscode.Position, token?: vscode.CancellationToken): Promise { + if (!uri || !position) { + throw new Error("C_Cpp.PrepareCallHierarchy requires both a uri and position."); + } + + const client: Client = clients.getClientFor(uri); + if (!(client instanceof DefaultClient)) { + return undefined; + } + + await client.ready; + return sendPrepareCallHierarchyRequest(client, uri, position, token ?? CancellationToken.None); +} + +async function onCallHierarchyCallsTo(item: vscode.CallHierarchyItem, token?: vscode.CancellationToken): Promise { + if (!item) { + throw new Error("C_Cpp.CallHierarchyCallsTo requires an item."); + } + + const client: Client = clients.getClientFor(item.uri); + if (!(client instanceof DefaultClient)) { + return undefined; + } + + await client.ready; + return sendCallHierarchyCallsToRequest(client, item, token ?? CancellationToken.None); +} + +async function onCallHierarchyCallsFrom(item: vscode.CallHierarchyItem, token?: vscode.CancellationToken): Promise { + if (!item) { + throw new Error("C_Cpp.CallHierarchyCallsFrom requires an item."); + } + + const client: Client = clients.getClientFor(item.uri); + if (!(client instanceof DefaultClient)) { + return undefined; + } + + await client.ready; + return sendCallHierarchyCallsFromRequest(client, item, token ?? CancellationToken.None); +} + function onToggleRefGroupView(): void { // Set context to switch icons const client: Client = getActiveClient(); @@ -816,7 +944,7 @@ function onToggleRefGroupView(): void { function onTakeSurvey(): void { telemetry.logLanguageServerEvent("onTakeSurvey"); - const uri: vscode.Uri = vscode.Uri.parse(`https://www.research.net/r/VBVV6C6?o=${os.platform()}&m=${vscode.env.machineId}`); + const uri: vscode.Uri = vscode.Uri.parse(`https://aka.ms/vcvscodesurvey`); void vscode.commands.executeCommand('vscode.open', uri); } @@ -897,6 +1025,10 @@ function onGetActiveConfigCustomVariable(variableName: string): Thenable return clients.ActiveClient.getCurrentConfigCustomVariable(variableName); } +async function onWaitForTagParsing(timeout: number, token: vscode.CancellationToken): Promise { + return clients.getDefaultClient().waitForTagParsing(timeout, token); +} + function onLogDiagnostics(): Promise { return clients.ActiveClient.logDiagnostics(); } @@ -1110,7 +1242,7 @@ function handleMacCrashFileRead(err: NodeJS.ErrnoException | undefined | null, d data = data.replace(/0x1........ \+ 0/g, ""); // Get rid of the process names on each line and just add it to the start. - const processNames: string[] = ["cpptools-srv", "cpptools-wordexp", "cpptools", + const processNames: string[] = ["cpptools-srv2", "cpptools-srv", "cpptools-wordexp", "cpptools", // Since only crash logs that start with "cpptools" are reported, the cases below would only occur // if the crash were to happen before the new process had fully started and renamed itself. "clang-tidy", "clang-format", "clang", "gcc"]; @@ -1170,8 +1302,9 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr const lines: string[] = data.split("\n"); let addressData: string; + const isCppToolsSrv2: boolean = crashFile.startsWith("cpptools-srv2"); const isCppToolsSrv: boolean = crashFile.startsWith("cpptools-srv"); - const telemetryHeader: string = (isCppToolsSrv ? "cpptools-srv.txt" : crashFile) + "\n"; + const telemetryHeader: string = (isCppToolsSrv2 ? "cpptools-srv2.txt" : isCppToolsSrv ? "cpptools-srv.txt" : crashFile) + "\n"; const filtPath: string | null = which.sync("c++filt", { nothrow: true }); const isMac: boolean = process.platform === "darwin"; const startStr: string = isMac ? " _" : "<"; @@ -1320,7 +1453,7 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr prevCppCrashCallStackData = crashCallStack; if (lines.length >= 6 && util.getLoggingLevel() >= 1) { - getCrashCallStacksChannel().appendLine(`\n${isCppToolsSrv ? "cpptools-srv" : "cpptools"}\n${crashDate.toLocaleString()}\n${signalType}${crashCallStack}${crashLog.length > 0 ? "\n\n" + crashLog : ""}`); + getCrashCallStacksChannel().appendLine(`\n${isCppToolsSrv2 ? "cpptools-srv2" : isCppToolsSrv ? "cpptools-srv" : "cpptools"}\n${crashDate.toLocaleString()}\n${signalType}${crashCallStack}${crashLog.length > 0 ? "\n\n" + crashLog : ""}`); } } @@ -1471,8 +1604,12 @@ async function onCopilotHover(): Promise { let chatResponse: vscode.LanguageModelChatResponse | undefined; try { - // Select the chat model. - const [model] = await vscodelm.selectChatModels(modelSelector); + // Select the chat model (refresh from cache). + const model = await copilotHoverProvider.refreshCachedChatModel(); + if (!model) { + await reportCopilotFailure(copilotHoverProvider, hoverDocument, hoverPosition, "Copilot model not available."); + return; + } chatResponse = await model.sendRequest( messages, diff --git a/Extension/src/LanguageServer/settings.ts b/Extension/src/LanguageServer/settings.ts index 881423789..e3e02e6e5 100644 --- a/Extension/src/LanguageServer/settings.ts +++ b/Extension/src/LanguageServer/settings.ts @@ -126,6 +126,7 @@ export interface WorkspaceFolderSettingsParams { vcFormatSpaceAroundTernaryOperator: string; vcFormatWrapPreserveBlocks: string; doxygenGenerateOnType: boolean; + doxygenGenerateOnCodeAction: boolean; doxygenGeneratedStyle: string; doxygenSectionTags: string[]; filesExclude: Excludes; @@ -383,6 +384,7 @@ export class CppSettings extends Settings { public get simplifyStructuredComments(): boolean { return this.getAsBoolean("simplifyStructuredComments"); } public get doxygenGeneratedCommentStyle(): string { return this.getAsString("doxygen.generatedStyle"); } public get doxygenGenerateOnType(): boolean { return this.getAsBoolean("doxygen.generateOnType"); } + public get doxygenGenerateOnCodeAction(): boolean { return this.getAsBoolean("doxygen.generateOnCodeAction"); } public get commentContinuationPatterns(): (string | CommentPattern)[] { const value: any = super.Section.get("commentContinuationPatterns"); if (this.isArrayOfCommentContinuationPatterns(value)) { @@ -452,7 +454,6 @@ export class CppSettings extends Settings { public get defaultBrowsePath(): string[] | undefined { return this.getArrayOfStringsWithUndefinedDefault("default.browse.path"); } public get defaultDatabaseFilename(): string | undefined { return changeBlankStringToUndefined(this.getAsStringOrUndefined("default.browse.databaseFilename")); } public get defaultLimitSymbolsToIncludedHeaders(): boolean { return this.getAsBoolean("default.browse.limitSymbolsToIncludedHeaders"); } - public get defaultRecursiveIncludesReduce(): string | undefined { return this.getAsStringOrUndefined("default.recursiveIncludes.reduce"); } public get defaultRecursiveIncludesPriority(): string | undefined { return this.getAsStringOrUndefined("default.recursiveIncludes.priority"); } public get defaultRecursiveIncludesOrder(): string | undefined { return this.getAsStringOrUndefined("default.recursiveIncludes.order"); } public get defaultSystemIncludePath(): string[] | undefined { return this.getArrayOfStringsWithUndefinedDefault("default.systemIncludePath"); } diff --git a/Extension/src/LanguageServer/settingsPanel.ts b/Extension/src/LanguageServer/settingsPanel.ts index 00105925b..efaafc987 100644 --- a/Extension/src/LanguageServer/settingsPanel.ts +++ b/Extension/src/LanguageServer/settingsPanel.ts @@ -52,7 +52,6 @@ const elementId: { [key: string]: string } = { mergeConfigurations: "mergeConfigurations", configurationProvider: "configurationProvider", forcedInclude: "forcedInclude", - recursiveIncludesReduce: "recursiveIncludes.reduce", recursiveIncludesPriority: "recursiveIncludes.priority", recursiveIncludesOrder: "recursiveIncludes.order", @@ -355,12 +354,6 @@ export class SettingsPanel { case elementId.forcedInclude: this.configValues.forcedInclude = splitEntries(message.value); break; - case elementId.recursiveIncludesReduce: - if (!this.configValues.recursiveIncludes) { - this.configValues.recursiveIncludes = {}; - } - this.configValues.recursiveIncludes.reduce = message.value; - break; case elementId.recursiveIncludesPriority: if (!this.configValues.recursiveIncludes) { this.configValues.recursiveIncludes = {}; diff --git a/Extension/src/common.ts b/Extension/src/common.ts index 849f4d6f3..7bfda0ec8 100644 --- a/Extension/src/common.ts +++ b/Extension/src/common.ts @@ -14,12 +14,12 @@ import * as vscode from 'vscode'; import { DocumentFilter, Range } from 'vscode-languageclient'; import * as nls from 'vscode-nls'; import { TargetPopulation } from 'vscode-tas-client'; -import * as which from "which"; import { ManualPromise } from './Utility/Async/manualPromise'; import { isWindows } from './constants'; import { getOutputChannelLogger, showOutputChannel } from './logger'; import { PlatformInformation } from './platform'; import * as Telemetry from './telemetry'; +import which = require('which'); nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })(); const localize: nls.LocalizeFunc = nls.loadMessageBundle(); @@ -399,14 +399,12 @@ export function resolveVariables(input: string | undefined, additionalEnvironmen const cycleCache = new Set(); while (!cycleCache.has(ret)) { cycleCache.add(ret); - ret = ret.replace(regexp(), (match: string, ignored1: string, varType: string, ignored2: string, name: string) => { - // Historically, if the variable didn't have anything before the "." or ":" - // it was assumed to be an environment variable - if (!varType) { - varType = "env"; - } + ret = ret.replace(regexp(), (match: string, ignored1: string | undefined, varType: string | undefined, ignored2: string | undefined, name: string) => { let newValue: string | undefined; switch (varType) { + // Historically, if the variable didn't have anything before the "." or ":" + // it was assumed to be an environment variable + case undefined: case "env": { if (additionalEnvironment) { const v: string | string[] | undefined = additionalEnvironment[name]; @@ -425,6 +423,12 @@ export function resolveVariables(input: string | undefined, additionalEnvironmen if (newValue === undefined) { newValue = process.env[name]; } + + // If the environment variable is not set, we return an empty string. Only do + // this for ${env:X} variables, not ${X} variables. + if (newValue === undefined && varType !== undefined) { + newValue = ""; + } break; } case "config": { @@ -1524,7 +1528,7 @@ export interface ISshLocalForwardInfo { export function whichAsync(name: string, path?: string): Promise { return new Promise(resolve => { - which(name, path ? { path } : {}, (err, resolved) => { + which(name, path ? { path } : {}, (err: Error | null, resolved: string | undefined) => { if (err) { resolve(undefined); } else { @@ -1549,7 +1553,6 @@ export function hasMsvcEnvironment(): boolean { 'INCLUDE', 'LIB', 'LIBPATH', - 'UCRTVersion', 'UniversalCRTSdkDir', 'VCIDEInstallDir', 'VCINSTALLDIR', @@ -1568,6 +1571,34 @@ export function hasMsvcEnvironment(): boolean { ); } +export function getMissingMsvcEnvironmentVariables(): string[] { + const msvcEnvVars: string[] = [ + 'DevEnvDir', + 'Framework40Version', + 'FrameworkDir', + 'FrameworkVersion', + 'INCLUDE', + 'LIB', + 'LIBPATH', + 'UCRTVersion', + 'UniversalCRTSdkDir', + 'VCIDEInstallDir', + 'VCINSTALLDIR', + 'VCToolsRedistDir', + 'VisualStudioVersion', + 'VSINSTALLDIR', + 'WindowsLibPath', + 'WindowsSdkBinPath', + 'WindowsSdkDir', + 'WindowsSDKLibVersion', + 'WindowsSDKVersion' + ]; + return msvcEnvVars.filter(envVarName => + (process.env[envVarName] === undefined || process.env[envVarName] === '') && + extensionContext?.environmentVariableCollection?.get(envVarName) === undefined + ); +} + function isIntegral(str: string): boolean { const regex = /^-?\d+$/; return regex.test(str); @@ -1668,7 +1699,7 @@ export interface IQuotedString { export type CommandString = string | IQuotedString; -export function buildShellCommandLine(originalCommand: CommandString, command: CommandString, args: CommandString[]): string { +export function buildShellCommandLine(originalCommand: CommandString, command: CommandString, args: CommandString[], singleCommandOnly: boolean = false): string { let shellQuoteOptions: IShellQuotingOptions; const isWindows: boolean = os.platform() === 'win32'; @@ -1782,7 +1813,7 @@ export function buildShellCommandLine(originalCommand: CommandString, command: C let commandLine = result.join(' '); // There are special rules quoted command line in cmd.exe - if (isWindows) { + if (isWindows && !singleCommandOnly) { commandLine = `chcp 65001>nul && ${commandLine}`; if (commandQuoted && argQuoted) { commandLine = '"' + commandLine + '"'; @@ -1850,3 +1881,14 @@ export function getVSCodeLanguageModel(): any | undefined { } return vscodelm; } + +export function sessionIsWsl(): boolean { + if (process.env.WSL_DISTRO_NAME) { + return true; + } + try { + return fs.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft'); + } catch { + return false; + } +} diff --git a/Extension/src/main.ts b/Extension/src/main.ts index fed7e019f..45c1ef903 100644 --- a/Extension/src/main.ts +++ b/Extension/src/main.ts @@ -191,6 +191,7 @@ async function makeBinariesExecutable(): Promise { const commonBinaries: string[] = [ "./bin/cpptools", "./bin/cpptools-srv", + "./bin/cpptools-srv2", "./bin/cpptools-wordexp", "./LLVM/bin/clang-format", "./LLVM/bin/clang-tidy", diff --git a/Extension/src/nativeStrings.json b/Extension/src/nativeStrings.json index 75306f325..86b44fce4 100644 --- a/Extension/src/nativeStrings.json +++ b/Extension/src/nativeStrings.json @@ -485,5 +485,218 @@ "license_terms": { "text": "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications.", "hint": "{Locked=\"C/C++\"} {Locked=\"Visual Studio\"} {Locked=\"Mac\"} {Locked=\"Visual Studio Code\"} {Locked=\"Azure DevOps\"} {Locked=\"Team Foundation Server\"}" - } -} \ No newline at end of file + }, + "help_title": { + "text": "Microsoft C++ Language Server", + "hint": "{Locked=\"Microsoft\"} {Locked=\"C++\"}" + }, + "help_usage": { + "text": "Usage: {0} [options]", + "hint": "{0} is the executable name. {Locked=\"{0}\"}" + }, + "help_options_header": "Options:", + "help_help": "Show this help message and exit.", + "help_version": "Show version information and exit.", + "help_accept_eula": { + "text": "Permanently accept the End User License Agreement (EULA).", + "hint": "{Locked=\"EULA\"}" + }, + "help_stderr": { + "text": "Do not redirect stderr to /dev/null (useful for debugging).", + "hint": "{Locked=\"stderr\"} {Locked=\"/dev/null\"}" + }, + "help_login": { + "text": "Initiate interactive login (GitHub Copilot subscription required).", + "hint": "{Locked=\"GitHub Copilot\"}" + }, + "help_force_login": "Force the login process, even if already authenticated.", + "help_allow_plaintext": "Allow storing credentials in plaintext if a secure keychain is unavailable.", + "help_log_dir": "Specify the directory for log files (default: system temp directory).", + "help_log_level": "Set the logging verbosity from 0 (Errors only) to 9 (Verbose).", + "help_lsp_config": { + "text": "Specify the parameter as an absolute path, or relative to the workspace root or its .github folder.", + "hint": "{Locked=\".github\"}" + }, + "help_disable_telemetry": "Disable sending telemetry data.", + "auth_device_flow_prompt": { + "text": "To authenticate with GitHub, please copy the code {0} and then visit {1}. Waiting for authorization...", + "hint": "{0} is the user code to enter. {1} is the verification URL to visit. {Locked=\"GitHub\"} {Locked=\"{0}\"} {Locked=\"{1}\"}" + }, + "auth_timed_out": "Timed out waiting for authorization.", + "auth_success": { + "text": "Successfully authenticated with GitHub.", + "hint": "{Locked=\"GitHub\"}" + }, + "auth_save_failed": { + "text": "GitHub authentication succeeded but tokens could not be saved.", + "hint": "{Locked=\"GitHub\"}" + }, + "auth_keyring_error": { + "text": "Keyring error: {0}", + "hint": "{Locked=\"{0}\"}" + }, + "auth_keyring_locked": { + "text": "The keyring collection is locked. Unlock it or restart gnome-keyring-daemon.", + "hint": "{Locked=\"gnome-keyring-daemon\"}" + }, + "auth_keyring_unavailable": { + "text": "No keyring service is available. Install and start gnome-keyring: sudo apt install gnome-keyring", + "hint": "{Locked=\"gnome-keyring\"} {Locked=\"sudo apt install gnome-keyring\"}" + }, + "auth_try_plaintext": { + "text": "Or allow plaintext storage by passing --login --allow-plaintext-secret-storage.", + "hint": "{Locked=\"--login\"} {Locked=\"--allow-plaintext-secret-storage\"}" + }, + "auth_expired": "The device code has expired. Please try again.", + "auth_denied": "Authorization was denied by the user.", + "auth_unexpected_error": { + "text": "Unexpected error during polling: {0}", + "hint": "{Locked=\"{0}\"}" + }, + "auth_login_failed": { + "text": "GitHub login failed. Try running with --login from the command line to log in.", + "hint": "{Locked=\"GitHub\"} {Locked=\"--login\"}" + }, + "auth_login_failed_plugin": { + "text": "GitHub login failed. Run npx @microsoft/cpp-language-server --login", + "hint": "{Locked=\"GitHub\"} {Locked=\"npx @microsoft/cpp-language-server --login\"}" + }, + "auth_eula_required": { + "text": "EULA must be accepted to proceed. Run with --accept-eula.", + "hint": "{Locked=\"EULA\"} {Locked=\"--accept-eula\"}" + }, + "auth_eula_required_plugin": { + "text": "EULA must be accepted to proceed. Run npx @microsoft/cpp-language-server --accept-eula", + "hint": "{Locked=\"EULA\"} {Locked=\"npx @microsoft/cpp-language-server --accept-eula\"}" + }, + "auth_already_authenticated": { + "text": "Already authenticated with GitHub. Use --force-login to re-authenticate.", + "hint": "{Locked=\"GitHub\"} {Locked=\"--force-login\"}" + }, + "config_unsupported_version": "Initialization failed: Unsupported config version. Only version 1 is supported.", + "config_file_not_found": { + "text": "Initialization failed: Config file '{0}' not found.", + "hint": "{Locked=\"{0}\"}" + }, + "config_parse_failed": { + "text": "Initialization failed: Unable to parse config file '{0}'. Verify the JSON format. Error: {1}", + "hint": "{Locked=\"JSON\"} {Locked=\"{0}\"} {Locked=\"{1}\"}" + }, + "config_repo_path_invalid": { + "text": "Initialization failed: 'repositoryPath' is not configured or invalid.", + "hint": "{Locked=\"repositoryPath\"}" + }, + "config_missing_source": { + "text": "Initialization failed: 'compileCommands' or 'cppProperties' must be configured.", + "hint": "{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}" + }, + "config_dual_source": { + "text": "Initialization failed: 'compileCommands' and 'cppProperties' cannot both be configured.", + "hint": "{Locked=\"compileCommands\"} {Locked=\"cppProperties\"}" + }, + "config_compile_commands_not_found": { + "text": "Initialization failed: 'compileCommands' path not found: '{0}'.", + "hint": "{Locked=\"compileCommands\"} {Locked=\"{0}\"}" + }, + "config_cpp_properties_not_found": { + "text": "Initialization failed: 'cppProperties' path not found: '{0}'.", + "hint": "{Locked=\"cppProperties\"} {Locked=\"{0}\"}" + }, + "config_cpp_properties_parse_failed": { + "text": "Initialization failed: Unable to parse file specified by 'cppProperties': '{0}'. Verify the JSON format. Error: {1}", + "hint": "{Locked=\"JSON\"} {Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}" + }, + "config_cpp_properties_schema_invalid": { + "text": "Initialization failed: Unable to read configuration from 'cppProperties' file: '{0}'. Verify the schema.", + "hint": "{Locked=\"cppProperties\"} {Locked=\"{0}\"}" + }, + "config_no_configurations": { + "text": "Initialization failed: '{0}' does not contain a valid 'configurations' array.", + "hint": "{Locked=\"configurations\"} {Locked=\"{0}\"}" + }, + "config_configuration_not_found": { + "text": "Initialization failed: Configuration '{0}' was not found in 'cppProperties' file: '{1}'.", + "hint": "{Locked=\"cppProperties\"} {Locked=\"{0}\"} {Locked=\"{1}\"}" + }, + "config_paths_cache_missing": "Initialization failed: LSP config paths cache is missing.", + "curl_not_found": { + "text": "libcurl not found ({0}). libcurl is required for authentication and telemetry.", + "hint": "{Locked=\"libcurl\"} {Locked=\"{0}\"}" + }, + "curl_install_macos": { + "text": "libcurl should be available on macOS by default. If missing, install via: brew install curl", + "hint": "{Locked=\"libcurl\"} {Locked=\"macOS\"} {Locked=\"brew install curl\"}" + }, + "curl_install_linux": { + "text": "Install libcurl: sudo apt install libcurl4 (Debian/Ubuntu) or sudo dnf install libcurl (Fedora/RHEL).", + "hint": "{Locked=\"libcurl\"} {Locked=\"sudo apt install libcurl4\"} {Locked=\"sudo dnf install libcurl\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"}" + }, + "curl_symbols_missing": { + "text": "libcurl loaded but required symbols are missing. This may indicate a very old or incompatible libcurl version. The language server cannot operate without a compatible libcurl.", + "hint": "{Locked=\"libcurl\"}" + }, + "keytar_not_found": { + "text": "libsecret-1.so.0 not found ({0}). libsecret is required for secure credential storage. Install libsecret: sudo apt install libsecret-1-0 (Debian/Ubuntu) or sudo dnf install libsecret (Fedora/RHEL).", + "hint": "{Locked=\"libsecret-1.so.0\"} {Locked=\"libsecret\"} {Locked=\"sudo apt install libsecret-1-0\"} {Locked=\"sudo dnf install libsecret\"} {Locked=\"Debian\"} {Locked=\"Ubuntu\"} {Locked=\"Fedora\"} {Locked=\"RHEL\"} {Locked=\"{0}\"}" + }, + "keytar_symbols_missing": { + "text": "libsecret loaded but required symbols are missing. The language server cannot operate without a compatible libsecret.", + "hint": "{Locked=\"libsecret\"}" + }, + "telemetry_disable_failed": "Failed to disable telemetry.", + "lsp_method_not_found": { + "text": "Method not found: {0}", + "hint": "{0} is the LSP method name. {Locked=\"{0}\"}" + }, + "intellisense_same_canonical_path": { + "text": "Unable to process IntelliSense for a file with the same canonicalized path as an existing file. URI: {0}, canonicalized path: {1}", + "hint": "{Locked=\"IntelliSense\"} {Locked=\"URI\"} {Locked=\"{0}\"} {Locked=\"{1}\"}" + }, + "status_initializing": "Initializing", + "status_initializing_with_n_of_m": "Initializing ({0} of {1})", + "status_initializing_with_n_of_m_and_text": "Initializing ({0} of {1}): {2}", + "status_initializing_with_text": "Initializing {0}", + "status_initializing_projects": "Initializing projects", + "status_initializing_projects_with_n_of_m": "Initializing projects ({0} of {1})", + "status_initializing_projects_with_n_of_m_and_text": "Initializing projects ({0} of {1}): {2}", + "status_initializing_projects_with_text": "Initializing projects {0}", + "status_checking_for_outdated_files": "Checking for out of date files", + "status_checking_for_outdated_files_with_n_of_m": "Checking for out of date files ({0} of {1})", + "status_checking_for_outdated_files_with_n_of_m_and_text": "Checking for out of date files ({0} of {1}): {2}", + "status_checking_for_outdated_files_with_text": "Checking for out of date files {0}", + "status_parsing_files": "Parsing files", + "status_parsing_files_with_n_of_m": "Parsing files ({0} of {1})", + "status_parsing_files_with_n_of_m_and_text": "Parsing files ({0} of {1}): {2}", + "status_parsing_files_with_text": "Parsing files {0}", + "status_parsing_includes": "Parsing included files", + "status_parsing_includes_with_n_of_m": "Parsing included files ({0} of {1})", + "status_parsing_includes_with_n_of_m_and_text": "Parsing included files ({0} of {1}): {2}", + "status_parsing_includes_with_text": "Parsing included files {0}", + "status_scanning_includes": "Scanning #includes for more files", + "status_scanning_includes_with_n_of_m": "Scanning #includes for more files ({0} of {1})", + "status_scanning_includes_with_n_of_m_and_text": "Scanning #includes for more files ({0} of {1}): {2}", + "status_scanning_includes_with_text": "Scanning #includes for more files {0} {1}", + "status_updating_external_dependencies": "Ready (Updating external dependencies)", + "status_updating_external_dependencies_with_n_of_m": "Ready (Updating external dependencies) ({0} of {1})", + "status_updating_external_dependencies_with_n_of_m_and_text": "Ready (Updating external dependencies) ({0} of {1}): {2}", + "status_updating_external_dependencies_with_text": "Ready (Updating external dependencies) {0}", + "status_optimizing_database": "Ready (Optimizing database)", + "status_optimizing_database_with_n_of_m": "Ready (Optimizing database) ({0} of {1})", + "status_optimizing_database_with_n_of_m_and_text": "Ready (Optimizing database) ({0} of {1}): {2}", + "status_optimizing_database_with_text": "Ready (Optimizing database) {0}", + "status_creating_indexes": "Creating Indexes", + "status_creating_indexes_with_n_of_m": "Creating Indexes ({0} of {1})", + "status_creating_indexes_with_n_of_m_and_text": "Creating Indexes ({0} of {1}): {2}", + "status_creating_indexes_with_text": "Creating Indexes {0}", + "status_evaluating_file": "Evaluating", + "status_evaluating_file_with_n_of_m": "Evaluating ({0} of {1})", + "status_evaluating_file_with_n_of_m_and_text": "Evaluating ({0} of {1}): {2}", + "status_evaluating_file_with_text": "Evaluating {0}", + "status_indexing_files": "Indexing files", + "status_indexing_files_with_n_of_m": "Indexing files ({0} of {1})", + "status_indexing_files_with_n_of_m_and_text": "Indexing files ({0} of {1}): {2}", + "status_indexing_files_with_text": "Indexing files {0}", + "help_allow_missing_lsp_config": "Allow the server to start even if the specified --lsp-config file does not exist.", + "initialize_failed_during_engine_setup": "Initialization failed during engine setup.", + "important_label": "Important:" +} diff --git a/Extension/test/scenarios/RunWithoutDebugging/assets/argsTest.cpp b/Extension/test/scenarios/RunWithoutDebugging/assets/argsTest.cpp new file mode 100644 index 000000000..aef910aef --- /dev/null +++ b/Extension/test/scenarios/RunWithoutDebugging/assets/argsTest.cpp @@ -0,0 +1,21 @@ +#include + +int main(int argc, char *argv[]) { + if (argc < 2) { + return 1; + } + + std::ofstream resultFile(argv[1]); + if (!resultFile) { + return 2; + } + + for (int i = 2; i < argc; ++i) { + resultFile << argv[i]; + if (i + 1 < argc) { + resultFile << '\n'; + } + } + + return 0; +} diff --git a/Extension/test/scenarios/RunWithoutDebugging/assets/debugTest.cpp b/Extension/test/scenarios/RunWithoutDebugging/assets/debugTest.cpp new file mode 100644 index 000000000..77020e3e5 --- /dev/null +++ b/Extension/test/scenarios/RunWithoutDebugging/assets/debugTest.cpp @@ -0,0 +1,11 @@ +#include + +int main() { + std::ofstream resultFile("runWithoutDebuggingResult.txt"); + if (!resultFile) { + return 1; + } + + resultFile << 37; + return 0; +} diff --git a/Extension/test/scenarios/RunWithoutDebugging/tests/compileProgram.ts b/Extension/test/scenarios/RunWithoutDebugging/tests/compileProgram.ts new file mode 100644 index 000000000..4c71ad62c --- /dev/null +++ b/Extension/test/scenarios/RunWithoutDebugging/tests/compileProgram.ts @@ -0,0 +1,72 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +/* eslint-disable @typescript-eslint/triple-slash-reference */ +/// +import * as assert from 'assert'; +import * as cp from 'child_process'; +import * as vscode from 'vscode'; +import * as util from '../../../../src/common'; +import { isLinux, isMacOS, isWindows } from '../../../../src/constants'; +import { getEffectiveEnvironment } from '../../../../src/LanguageServer/devcmd'; + +interface ProcessResult { + code: number | null; + stdout: string; + stderr: string; +} + +function runProcess(command: string, args: string[], cwd: string, env?: NodeJS.ProcessEnv): Promise { + return new Promise((resolve, reject) => { + const child = cp.spawn(command, args, { cwd, env }); + let stdout = ''; + let stderr = ''; + + child.stdout.on('data', (data: Buffer) => { + stdout += data.toString(); + }); + + child.stderr.on('data', (data: Buffer) => { + stderr += data.toString(); + }); + + child.on('error', reject); + child.on('close', (code) => resolve({ code, stdout, stderr })); + }); +} + +async function setWindowsBuildEnvironment(): Promise { + const promise = vscode.commands.executeCommand('C_Cpp.SetVsDeveloperEnvironment', 'test'); + const timer = setInterval(() => { + void vscode.commands.executeCommand('workbench.action.acceptSelectedQuickOpenItem'); + }, 1000); + await promise; + clearInterval(timer); + const missingVars = util.getMissingMsvcEnvironmentVariables(); + assert.strictEqual(missingVars.length, 0, `MSVC environment missing: ${missingVars.join(', ')}`); +} + +export async function compileProgram(workspacePath: string, sourcePath: string, outputPath: string): Promise { + if (isWindows) { + await setWindowsBuildEnvironment(); + const env = getEffectiveEnvironment(); + const result = await runProcess('cl.exe', ['/nologo', '/EHsc', '/Zi', '/std:c++17', `/Fe:${outputPath}`, sourcePath], workspacePath, env); + assert.strictEqual(result.code, 0, `MSVC compilation failed. stdout: ${result.stdout}\nstderr: ${result.stderr}`); + return; + } + + if (isMacOS) { + const result = await runProcess('clang++', ['-std=c++17', '-g', sourcePath, '-o', outputPath], workspacePath); + assert.strictEqual(result.code, 0, `clang++ compilation failed. stdout: ${result.stdout}\nstderr: ${result.stderr}`); + return; + } + + if (isLinux) { + const result = await runProcess('g++', ['-std=c++17', '-g', sourcePath, '-o', outputPath], workspacePath); + assert.strictEqual(result.code, 0, `g++ compilation failed. stdout: ${result.stdout}\nstderr: ${result.stderr}`); + return; + } + + assert.fail(`Unsupported test platform: ${process.platform}`); +} diff --git a/Extension/test/scenarios/RunWithoutDebugging/tests/runWithoutDebugging.integration.test.ts b/Extension/test/scenarios/RunWithoutDebugging/tests/runWithoutDebugging.integration.test.ts new file mode 100644 index 000000000..53542e36e --- /dev/null +++ b/Extension/test/scenarios/RunWithoutDebugging/tests/runWithoutDebugging.integration.test.ts @@ -0,0 +1,267 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +/* eslint-disable @typescript-eslint/triple-slash-reference */ +/// +import * as assert from 'assert'; +import { suite } from 'mocha'; +import * as path from 'path'; +import * as vscode from 'vscode'; +import * as util from '../../../../src/common'; +import { isMacOS, isWindows } from '../../../../src/constants'; +import { compileProgram } from './compileProgram'; + +interface TrackerState { + setBreakpointsRequestReceived: boolean; + stoppedEventReceived: boolean; + exitedEventReceived: boolean; + exitedBeforeStop: boolean; +} + +interface TrackerController { + state: TrackerState; + lastEvent: Promise<'stopped' | 'exited'>; + dispose(): void; +} + +async function createBreakpointAtResultWriteStatement(sourceUri: vscode.Uri): Promise { + const document = await vscode.workspace.openTextDocument(sourceUri); + const resultWriteLine = document.getText().split(/\r?\n/).findIndex((line) => line.includes('resultFile << 37;')); + assert.notStrictEqual(resultWriteLine, -1, 'Unable to find expected result-write statement for breakpoint placement.'); + const breakpoint = new vscode.SourceBreakpoint(new vscode.Location(sourceUri, new vscode.Position(resultWriteLine, 0)), true); + vscode.debug.addBreakpoints([breakpoint]); + return breakpoint; +} + +function createSessionTerminatedPromise(sessionName: string): Promise { + return new Promise((resolve) => { + const terminateSubscription = vscode.debug.onDidTerminateDebugSession((session) => { + if (session.name === sessionName) { + terminateSubscription.dispose(); + resolve(); + } + }); + }); +} + +function createTracker(debugType: string, sessionName: string, timeoutMs: number, timeoutMessage: string): TrackerController { + const state: TrackerState = { + setBreakpointsRequestReceived: false, + stoppedEventReceived: false, + exitedEventReceived: false, + exitedBeforeStop: false + }; + + let trackerRegistration: vscode.Disposable | undefined; + let timeoutHandle: NodeJS.Timeout | undefined; + + const lastEvent = new Promise<'stopped' | 'exited'>((resolve, reject) => { + timeoutHandle = setTimeout(() => { + trackerRegistration?.dispose(); + trackerRegistration = undefined; + reject(new Error(timeoutMessage)); + }, timeoutMs); + + trackerRegistration = vscode.debug.registerDebugAdapterTrackerFactory(debugType, { + createDebugAdapterTracker: (session: vscode.DebugSession): vscode.DebugAdapterTracker | undefined => { + if (session.name !== sessionName) { + return undefined; + } + + return { + onWillReceiveMessage: (message: any): void => { + if (message?.type === 'request' && message?.command === 'setBreakpoints') { + state.setBreakpointsRequestReceived = true; + } + }, + onDidSendMessage: (message: any): void => { + if (message?.type !== 'event') { + return; + } + + if (message.event === 'stopped') { + state.stoppedEventReceived = true; + if (timeoutHandle) { + clearTimeout(timeoutHandle); + timeoutHandle = undefined; + } + resolve('stopped'); + } + + if ((message.event === 'terminated' || message.event === 'exited') && !state.exitedEventReceived) { + state.exitedEventReceived = true; + if (!state.stoppedEventReceived) { + state.exitedBeforeStop = true; + } + if (timeoutHandle) { + clearTimeout(timeoutHandle); + timeoutHandle = undefined; + } + resolve('exited'); + } + } + }; + } + }); + }); + + return { + state, + lastEvent, + dispose(): void { + if (timeoutHandle) { + clearTimeout(timeoutHandle); + timeoutHandle = undefined; + } + trackerRegistration?.dispose(); + trackerRegistration = undefined; + } + }; +} + +async function waitForResultFileValue(filePath: string, timeoutMs: number): Promise { + const deadline = Date.now() + timeoutMs; + let lastContents = ''; + + while (Date.now() < deadline) { + try { + lastContents = await util.readFileText(filePath, 'utf8'); + const trimmedContents = lastContents.trim(); + if (trimmedContents.length > 0) { + const value = Number.parseInt(trimmedContents, 10); + if (!Number.isNaN(value)) { + return value; + } + } + } catch (error) { + if ((error as NodeJS.ErrnoException).code !== 'ENOENT') { + throw error; + } + } + + await new Promise(resolve => setTimeout(resolve, 100)); + } + + assert.fail(`Timed out waiting for numeric result in ${filePath}. Last contents: ${lastContents}`); +} + +suite('Run Without Debugging Test', function (): void { + const expectedResultValue = 37; + const workspaceFolder = vscode.workspace.workspaceFolders?.[0] ?? assert.fail('No workspace folder available'); + const workspacePath = workspaceFolder.uri.fsPath; + const sourceFile = path.join(workspacePath, 'debugTest.cpp'); + const sourceUri = vscode.Uri.file(sourceFile); + const resultFilePath = path.join(workspacePath, 'runWithoutDebuggingResult.txt'); + const executableName = isWindows ? 'debugTestProgram.exe' : 'debugTestProgram'; + const executablePath = path.join(workspacePath, executableName); + const sessionName = 'Run Without Debugging Result File'; + const debugType = isWindows ? 'cppvsdbg' : 'cppdbg'; + const miMode = isMacOS ? 'lldb' : 'gdb'; + + suiteSetup(async function (): Promise { + const extension: vscode.Extension = vscode.extensions.getExtension('ms-vscode.cpptools') || assert.fail('Extension not found'); + if (!extension.isActive) { + await extension.activate(); + } + await compileProgram(workspacePath, sourceFile, executablePath); + }); + + suiteTeardown(async function (): Promise { + if (isWindows) { + await vscode.commands.executeCommand('C_Cpp.ClearVsDeveloperEnvironment'); + } + }); + + setup(async function (): Promise { + await util.deleteFile(resultFilePath); + }); + + test('Run Without Debugging should not break on breakpoints and write the expected result file', async () => { + const breakpoint = await createBreakpointAtResultWriteStatement(sourceUri); + const tracker = createTracker(debugType, sessionName, 30000, 'Timed out waiting for debugger event.'); + const debugSessionTerminated = createSessionTerminatedPromise(sessionName); + + try { + const started = await vscode.debug.startDebugging( + workspaceFolder, + { + name: sessionName, + type: debugType, + request: 'launch', + program: executablePath, + args: [], + cwd: workspacePath, + externalConsole: debugType === 'cppdbg' ? false : undefined, + console: debugType === 'cppvsdbg' ? 'internalConsole' : undefined + }, + { noDebug: true }); + + assert.strictEqual(started, true, 'The noDebug launch did not start successfully.'); + + const lastEvent = await tracker.lastEvent; + await debugSessionTerminated; + const actualResultValue = await waitForResultFileValue(resultFilePath, 10000); + + assert.strictEqual(lastEvent, 'exited', 'No-debug launch should exit rather than stop on a breakpoint.'); + assert.strictEqual(tracker.state.setBreakpointsRequestReceived, false, 'a "no debug" session should not send setBreakpoints requests.'); + assert.strictEqual(tracker.state.stoppedEventReceived, false, 'a "no debug" session should not emit stopped events.'); + assert.strictEqual(actualResultValue, expectedResultValue, 'Unexpected result value from run without debugging launch.'); + } finally { + tracker.dispose(); + vscode.debug.removeBreakpoints([breakpoint]); + await util.deleteFile(resultFilePath); + } + }); + + test('Debug launch should bind and stop at the breakpoint', async () => { + const breakpoint = await createBreakpointAtResultWriteStatement(sourceUri); + const tracker = createTracker(debugType, sessionName, 30000, 'Timed out waiting for debugger event in normal debug mode.'); + const debugSessionTerminated = createSessionTerminatedPromise(sessionName); + + let launchedSession: vscode.DebugSession | undefined; + const startedSubscription = vscode.debug.onDidStartDebugSession((session) => { + if (session.name === sessionName) { + launchedSession = session; + } + }); + + try { + const started = await vscode.debug.startDebugging( + workspaceFolder, + { + name: sessionName, + type: debugType, + request: 'launch', + program: executablePath, + args: [], + cwd: workspacePath, + MIMode: debugType === 'cppdbg' ? miMode : undefined, + externalConsole: debugType === 'cppdbg' ? false : undefined, + console: debugType === 'cppvsdbg' ? 'internalConsole' : undefined + }, + { noDebug: false }); + + assert.strictEqual(started, true, 'The debug launch did not start successfully.'); + + const lastEvent = await tracker.lastEvent; + + assert.strictEqual(lastEvent, 'stopped', 'Debug launch should stop at the breakpoint before exit.'); + assert.strictEqual(tracker.state.setBreakpointsRequestReceived, true, 'Debug mode should send setBreakpoints requests.'); + assert.strictEqual(tracker.state.stoppedEventReceived, true, 'Debug mode should emit a stopped event at the breakpoint.'); + assert.strictEqual(tracker.state.exitedBeforeStop, false, 'Program exited before stopping at breakpoint in debug mode.'); + assert.strictEqual(vscode.debug.activeDebugSession?.name, sessionName, 'Debug session should still be active at breakpoint.'); + + const stoppedSession = launchedSession ?? vscode.debug.activeDebugSession; + assert.ok(stoppedSession, 'Unable to identify the running debug session for termination.'); + await vscode.debug.stopDebugging(stoppedSession); + await debugSessionTerminated; + } finally { + startedSubscription.dispose(); + tracker.dispose(); + vscode.debug.removeBreakpoints([breakpoint]); + await util.deleteFile(resultFilePath); + } + }); + +}); diff --git a/Extension/test/scenarios/RunWithoutDebugging/tests/runWithoutDebugging.terminals.test.ts b/Extension/test/scenarios/RunWithoutDebugging/tests/runWithoutDebugging.terminals.test.ts new file mode 100644 index 000000000..57b27d975 --- /dev/null +++ b/Extension/test/scenarios/RunWithoutDebugging/tests/runWithoutDebugging.terminals.test.ts @@ -0,0 +1,190 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All Rights Reserved. + * See 'LICENSE' in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +/* eslint-disable @typescript-eslint/triple-slash-reference */ +/// +import * as assert from 'assert'; +import { suite } from 'mocha'; +import * as path from 'path'; +import * as vscode from 'vscode'; +import * as util from '../../../../src/common'; +import { isWindows } from '../../../../src/constants'; +import { compileProgram } from './compileProgram'; + +type ConsoleMode = 'integratedTerminal' | 'externalTerminal'; +type WindowsTerminalProfile = 'Command Prompt' | 'PowerShell'; + +/** + * Waits for the output of a program to be written to a file and returns the lines of output. + * @param filePath The path to the file containing the program output. + * @param timeoutMs The maximum time to wait for the output, in milliseconds. + * @returns A promise that resolves to an array of output lines. + * @throws An error if the output is not available within the specified timeout. + */ +async function waitForOutput(filePath: string, timeoutMs: number): Promise { + const deadline = Date.now() + timeoutMs; + let lastContents = ''; + + while (Date.now() < deadline) { + try { + lastContents = await util.readFileText(filePath, 'utf8'); + const trimmedContents = lastContents.trimEnd(); + if (trimmedContents.length > 0) { + return trimmedContents.split(/\r?\n/); + } + } catch (error) { + if ((error as NodeJS.ErrnoException).code !== 'ENOENT') { + throw error; + } + } + + await new Promise(resolve => setTimeout(resolve, 100)); + } + + assert.fail(`Timed out waiting for argument output in ${filePath}. Last contents: ${lastContents}`); +} + +/** + * Disposes of any terminals whose names match the given program paths. These are the terminals that were created to run the specified programs. + * @param programs An array of program paths whose corresponding terminals should be disposed. + */ +function disposeTerminals(programs: string[]): void { + const terminalNames = new Set(programs.map(program => path.normalize(program))); + for (const terminal of vscode.window.terminals) { + if (terminalNames.has(terminal.name)) { + terminal.dispose(); + } + } +} + +/** + * Sets or clears the setting for the default Windows terminal profile. + * @param profile The terminal profile to set as the default, or undefined to clear the setting. + */ +async function setWindowsDefaultTerminalProfile(profile?: WindowsTerminalProfile): Promise { + if (!isWindows) { + return; + } + + const config = vscode.workspace.getConfiguration('terminal.integrated'); + await config.update('defaultProfile.windows', profile, vscode.ConfigurationTarget.Workspace); +} + +async function runNoDebugLaunch(workspaceFolder: vscode.WorkspaceFolder, sessionName: string, program: string, consoleMode: ConsoleMode, resultFilePath: string, args: string[]): Promise { + const debugType = isWindows ? 'cppvsdbg' : 'cppdbg'; + const launchConfig: vscode.DebugConfiguration = { + name: sessionName, + type: debugType, + request: 'launch', + program: program, + args: [resultFilePath, ...args], + cwd: workspaceFolder.uri.fsPath + }; + + if (debugType === 'cppvsdbg') { + launchConfig.console = consoleMode; + } else { + launchConfig.externalConsole = consoleMode === 'externalTerminal'; + } + + const started = await vscode.debug.startDebugging(workspaceFolder, launchConfig, { noDebug: true }); + assert.strictEqual(started, true, `The ${consoleMode} noDebug launch did not start successfully.`); + return waitForOutput(resultFilePath, 15000); +} + +suite('Run Without Debugging Terminal and Arguments Test', function (this: Mocha.Suite): void { + this.timeout(120000); + + const workspaceFolder = vscode.workspace.workspaceFolders?.[0] ?? assert.fail('No workspace folder available'); + const workspacePath = workspaceFolder.uri.fsPath; + const sourceFile = path.join(workspacePath, 'argsTest.cpp'); + const resultFilePath = path.join(workspacePath, 'test_output.txt'); + const executablePath = path.join(workspacePath, isWindows ? 'argsTestProgram.exe' : 'argsTestProgram'); + const spacedExecutablePath = path.join(workspacePath, isWindows ? 'args Test Program.exe' : 'args Test Program'); + const executablePaths = [executablePath, spacedExecutablePath]; + const expectedArgs = [ + 'alpha', + 'two words', + path.join(workspacePath, 'input folder', 'three words.txt') + ]; + + suiteSetup(async function (): Promise { + const extension: vscode.Extension = vscode.extensions.getExtension('ms-vscode.cpptools') || assert.fail('Extension not found'); + if (!extension.isActive) { + await extension.activate(); + } + + await compileProgram(workspacePath, sourceFile, executablePath); + await compileProgram(workspacePath, sourceFile, spacedExecutablePath); + }); + + teardown(async function (): Promise { + await util.deleteFile(resultFilePath); + disposeTerminals(executablePaths); + }); + + setup(async function (): Promise { + if (await util.checkFileExists(resultFilePath)) { + await util.deleteFile(resultFilePath); + } + }); + + suiteTeardown(async function (): Promise { + await util.deleteFile(resultFilePath); + disposeTerminals(executablePaths); + + if (isWindows) { + await vscode.commands.executeCommand('C_Cpp.ClearVsDeveloperEnvironment'); + await util.deleteFile(path.join(workspacePath, '.vscode', 'settings.json')); + } + }); + + const consoleCases: { label: string; consoleMode: ConsoleMode; windowsProfiles?: (WindowsTerminalProfile | undefined)[] }[] = [ + { + label: 'integrated terminal', + consoleMode: 'integratedTerminal', + windowsProfiles: [undefined, 'Command Prompt', 'PowerShell'] + }, + { + label: 'external terminal', + consoleMode: 'externalTerminal' + } + ]; + + const programCases = [ + { + label: 'a program name without spaces', + programPath: executablePath + }, + { + label: 'a program name with spaces', + programPath: spacedExecutablePath + } + ]; + + for (const consoleCase of consoleCases) { + for (const programCase of programCases) { + const profiles: (WindowsTerminalProfile | undefined)[] = isWindows && consoleCase.consoleMode === 'integratedTerminal' ? consoleCase.windowsProfiles ?? [undefined] : [undefined]; + + for (const profile of profiles) { + const profileSuffix = profile ? ` with ${profile} as the default terminal` : consoleCase.consoleMode === 'integratedTerminal' ? ' with default terminal' : ''; + test(`No-debug launch via ${consoleCase.label} handles ${programCase.label}${profileSuffix}`, async () => { + await setWindowsDefaultTerminalProfile(profile); + + disposeTerminals(executablePaths); + const sessionName = `Run Without Debugging Args (${consoleCase.consoleMode}, ${path.basename(programCase.programPath)}${profile ? `, ${profile}` : ''})`; + const actualArgs = await runNoDebugLaunch( + workspaceFolder, + sessionName, + programCase.programPath, + consoleCase.consoleMode, + resultFilePath, + expectedArgs); + + assert.deepStrictEqual(actualArgs, expectedArgs, `Unexpected arguments received for ${consoleCase.label} using ${programCase.label}${profileSuffix}.`); + }); + } + } + } +}); diff --git a/Extension/test/scenarios/SingleRootProject/tests/common.test.ts b/Extension/test/scenarios/SingleRootProject/tests/common.test.ts index e04c88ea2..3c9e625a6 100644 --- a/Extension/test/scenarios/SingleRootProject/tests/common.test.ts +++ b/Extension/test/scenarios/SingleRootProject/tests/common.test.ts @@ -199,6 +199,23 @@ suite("resolveVariables", () => { .shouldLookupSymbol("Root"); }); + test("${env:X} expands to empty when unset", () => { + const processKey: string = `cpptoolstests_unset_${Date.now()}`; + delete process.env[processKey]; + resolveVariablesWithInput("${env:" + processKey + "}") + .withEnvironment({}) + .shouldResolveTo(""); + }); + + test("${X} left unexpanded when unset", () => { + const processKey: string = `cpptoolstests_unset_${Date.now()}`; + delete process.env[processKey]; + const token: string = "${" + processKey + "}"; + resolveVariablesWithInput(token) + .withEnvironment({}) + .shouldResolveTo(token); + }); + test("escapeForSquiggles:", () => { const testEscapeForSquigglesScenario: any = (input: string, expectedOutput: string) => { const result: string = escapeForSquiggles(input); diff --git a/Extension/tools/OptionsSchema.json b/Extension/tools/OptionsSchema.json index 29ad6476a..fe506f147 100644 --- a/Extension/tools/OptionsSchema.json +++ b/Extension/tools/OptionsSchema.json @@ -192,7 +192,6 @@ }, "SourceFileMapEntry": { "type": "object", - "description": "%c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.description%", "default": { "": { "editorPath": "", @@ -238,6 +237,24 @@ } } }, + "Debuginfod": { + "type": "object", + "description": "%c_cpp.debuggers.debuginfod.description%", + "default": {}, + "properties": { + "enabled": { + "type": "boolean", + "description": "%c_cpp.debuggers.debuginfod.enabled.description%", + "default": false + }, + "timeout": { + "type": "integer", + "description": "%c_cpp.debuggers.debuginfod.timeout.description%", + "minimum": 0, + "default": 30 + } + } + }, "Variables": { "type": "object", "description": "%c_cpp.debuggers.variables.description%", @@ -819,11 +836,21 @@ "default": "throw", "description": "%c_cpp.debuggers.unknownBreakpointHandling.description%" }, + "debuginfod": { + "$ref": "#/definitions/Debuginfod", + "description": "%c_cpp.debuggers.debuginfod.description%", + "default": {} + }, "variables": { "$ref": "#/definitions/Variables" }, "deploySteps": { "$ref": "#/definitions/DeploySteps" + }, + "ignoreRunWithoutDebuggingWarnings": { + "type": "boolean", + "description": "%c_cpp.debuggers.ignoreRunWithoutDebuggingWarnings.description%", + "default": false } } }, @@ -834,11 +861,6 @@ "program" ], "properties": { - "program": { - "type": "string", - "description": "%c_cpp.debuggers.program.description%", - "default": "${workspaceRoot}/a.out" - }, "targetArchitecture": { "type": "string", "description": "%c_cpp.debuggers.targetArchitecture.description%", @@ -884,6 +906,10 @@ "description": "%c_cpp.debuggers.useExtendedRemote.description%", "default": false }, + "program": { + "type": "string", + "markdownDescription": "%c_cpp.debuggers.program.attach.markdownDescription%" + }, "processId": { "markdownDescription": "%c_cpp.debuggers.processId.anyOf.markdownDescription%", "anyOf": [ @@ -921,6 +947,11 @@ } ] }, + "debuginfod": { + "$ref": "#/definitions/Debuginfod", + "description": "%c_cpp.debuggers.debuginfod.description%", + "default": {} + }, "logging": { "$ref": "#/definitions/Logging", "description": "%c_cpp.debuggers.logging.description%" @@ -1090,21 +1121,28 @@ "searchPaths": [], "searchMicrosoftSymbolServer": false } + }, + "ignoreRunWithoutDebuggingWarnings": { + "type": "boolean", + "description": "%c_cpp.debuggers.ignoreRunWithoutDebuggingWarnings.description%", + "default": false } } }, "CppvsdbgAttachOptions": { "type": "object", "default": {}, - "required": [ - "processId" - ], + "required": [], "properties": { "symbolSearchPath": { "type": "string", "description": "%c_cpp.debuggers.symbolSearchPath.description%", "default": "" }, + "program": { + "type": "string", + "markdownDescription": "%c_cpp.debuggers.program.attach.markdownDescription%" + }, "processId": { "markdownDescription": "%c_cpp.debuggers.processId.anyOf.markdownDescription%", "anyOf": [ diff --git a/Extension/ui/settings.ts b/Extension/ui/settings.ts index 4223ddf7e..c7ea9a780 100644 --- a/Extension/ui/settings.ts +++ b/Extension/ui/settings.ts @@ -42,7 +42,6 @@ const elementId: { [key: string]: string } = { mergeConfigurations: "mergeConfigurations", dotConfig: "dotConfig", dotConfigInvalid: "dotConfigInvalid", - recursiveIncludesReduce: "recursiveIncludes.reduce", recursiveIncludesPriority: "recursiveIncludes.priority", recursiveIncludesOrder: "recursiveIncludes.order", @@ -304,7 +303,6 @@ class SettingsApp { (document.getElementById(elementId.forcedInclude)).value = joinEntries(config.forcedInclude); (document.getElementById(elementId.dotConfig)).value = config.dotConfig ?? ""; if (config.recursiveIncludes) { - (document.getElementById(elementId.recursiveIncludesReduce)).value = config.recursiveIncludes.reduce ?? "${default}"; (document.getElementById(elementId.recursiveIncludesPriority)).value = config.recursiveIncludes.priority ?? "${default}"; (document.getElementById(elementId.recursiveIncludesOrder)).value = config.recursiveIncludes.order ?? "${default}"; } diff --git a/Extension/walkthrough/installcompiler/install-compiler-windows10.md b/Extension/walkthrough/installcompiler/install-compiler-windows10.md index 7e215fd65..305842637 100644 --- a/Extension/walkthrough/installcompiler/install-compiler-windows10.md +++ b/Extension/walkthrough/installcompiler/install-compiler-windows10.md @@ -1,9 +1,8 @@

Install a C++ compiler on Windows

If you're doing C++ development for Windows, we recommend installing the Microsoft Visual C++ (MSVC) compiler.

    -
  1. To install MSVC, open the VS Code terminal (CTRL + `) and paste in the following command: -

    winget install Microsoft.VisualStudio.2022.BuildTools --force --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.20348"
    -
  2. +
  3. To install MSVC, open the VS Code terminal (CTRL + `) and paste in the following command:

    +

    winget install Microsoft.VisualStudio.2022.BuildTools --force --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.19041"

    Note: You can use the C++ toolset from Visual Studio Build Tools along with Visual Studio Code to compile, build, and verify any C++ codebase as long as you also have a valid Visual Studio license (either Community, Pro, or Enterprise) that you are actively using to develop that C++ codebase.

    diff --git a/Extension/walkthrough/installcompiler/install-compiler-windows11.md b/Extension/walkthrough/installcompiler/install-compiler-windows11.md index cf9c39f1b..8d79b7eb7 100644 --- a/Extension/walkthrough/installcompiler/install-compiler-windows11.md +++ b/Extension/walkthrough/installcompiler/install-compiler-windows11.md @@ -1,9 +1,8 @@

    Install a C++ compiler on Windows

    If you're doing C++ development for Windows, we recommend installing the Microsoft Visual C++ (MSVC) compiler.

      -
    1. To install MSVC, open the VS Code terminal (CTRL + `) and paste in the following command: -

      winget install Microsoft.VisualStudio.2022.BuildTools --force --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.26100"
      -
    2. +
    3. To install MSVC, open the VS Code terminal (CTRL + `) and paste in the following command:

      +

      winget install Microsoft.VisualStudio.2022.BuildTools --force --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.26100"

      Note: You can use the C++ toolset from Visual Studio Build Tools along with Visual Studio Code to compile, build, and verify any C++ codebase as long as you also have a valid Visual Studio license (either Community, Pro, or Enterprise) that you are actively using to develop that C++ codebase.

      diff --git a/Extension/yarn.lock b/Extension/yarn.lock index c86ee4fb7..0e9de11fe 100644 --- a/Extension/yarn.lock +++ b/Extension/yarn.lock @@ -97,18 +97,23 @@ "@typespec/ts-http-runtime" "^0.3.0" tslib "^2.6.2" -"@azure/msal-browser@^4.2.0": - version "4.29.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-browser/-/msal-browser-4.29.0.tgz#6d711acd3b463b46bdae05445b83547816fb8f5c" - integrity sha1-bXEazTtGO0a9rgVEW4NUeBb7j1w= +"@azure/msal-browser@^4.2.0", "@azure/msal-browser@^4.29.1": + version "4.29.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-browser/-/msal-browser-4.29.1.tgz#01dc1d2f6ed325e32c03d3939c171f4f4d20a56d" + integrity sha1-AdwdL27TJeMsA9OTnBcfT00gpW0= dependencies: - "@azure/msal-common" "15.15.0" + "@azure/msal-common" "15.16.1" "@azure/msal-common@15.15.0": version "15.15.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-15.15.0.tgz#05e758b41923499af7ca0965edaafc28a2acf615" integrity sha1-BedYtBkjSZr3ygll7ar8KKKs9hU= +"@azure/msal-common@15.16.1": + version "15.16.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-15.16.1.tgz#5df3697ec0d53d08278f2536d53bd52214e52c39" + integrity sha1-XfNpfsDVPQgnjyU21TvVIhTlLDk= + "@azure/msal-node@^3.5.0": version "3.8.8" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-3.8.8.tgz#e7f161ceea81ea41b4ea6eaeadb5bfda35f8d0ba" @@ -455,9 +460,9 @@ "@nevware21/ts-utils" ">= 0.12.2 < 2.x" "@nevware21/ts-utils@>= 0.10.4 < 2.x", "@nevware21/ts-utils@>= 0.11.8 < 2.x", "@nevware21/ts-utils@>= 0.12.2 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x": - version "0.13.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@nevware21/ts-utils/-/ts-utils-0.13.0.tgz#0b1699597f736d162221c1922172924b38cef54c" - integrity sha1-CxaZWX9zbRYiIcGSIXKSSzjO9Uw= + version "0.14.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@nevware21/ts-utils/-/ts-utils-0.14.0.tgz#9e6074ce28f0b1bab7bfdacd1a7760b2ba73688d" + integrity sha1-nmB0zijwsbq3v9rNGndgsrpzaI0= "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1131,10 +1136,10 @@ "@vscode/vsce-sign-win32-arm64" "2.0.6" "@vscode/vsce-sign-win32-x64" "2.0.6" -"@vscode/vsce@^3.7.1": - version "3.7.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/vsce/-/vsce-3.7.1.tgz#55a88ae40e9618fea251e373bc6b23c128915654" - integrity sha1-VaiK5A6WGP6iUeNzvGsjwSiRVlQ= +"@vscode/vsce@^3.9.1": + version "3.9.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/vsce/-/vsce-3.9.1.tgz#cf273fe0895a14fe8a5e7fd88630bb5a5876ad6a" + integrity sha1-zyc/4IlaFP6KXn/YhjC7Wlh2rWo= dependencies: "@azure/identity" "^4.1.0" "@secretlint/node" "^10.1.2" @@ -1163,7 +1168,7 @@ typed-rest-client "^1.8.4" url-join "^4.0.1" xml2js "^0.5.0" - yauzl "^2.3.1" + yauzl "^3.2.1" yazl "^2.2.2" optionalDependencies: keytar "^7.7.0" @@ -1305,9 +1310,9 @@ integrity sha1-Ml20I5XNSf5sFAV/mpAOQn34gQ4= "@xmldom/xmldom@^0.8.8": - version "0.8.11" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@xmldom/xmldom/-/xmldom-0.8.11.tgz#b79de2d67389734c57c52595f7a7305e30c2d608" - integrity sha1-t53i1nOJc0xXxSWV96cwXjDC1gg= + version "0.8.13" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@xmldom/xmldom/-/xmldom-0.8.13.tgz#00d1dd940b218dff2e49309d410d8bb212159225" + integrity sha1-ANHdlAshjf8uSTCdQQ2LshIVkiU= "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -1742,24 +1747,24 @@ boundary@^2.0.0: integrity sha1-FpyLHw1Ezywlk4lnoyjzfgpOXvw= brace-expansion@^1.1.7: - version "1.1.12" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" - integrity sha1-q5tFRGblqMw6GHvqrVgEEqnFuEM= + version "1.1.15" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.15.tgz#a6d90d54067236e5f42570a3b7378d594d9b7738" + integrity sha1-ptkNVAZyNuX0JXCjtzeNWU2bdzg= dependencies: balanced-match "^1.0.0" concat-map "0.0.1" brace-expansion@^2.0.1: - version "2.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" - integrity sha1-VPxTI3phPYVMe9N0Y6rRffhyFOc= + version "2.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.1.1.tgz#c68b1c4111c76aae3a6fba55d496cee10c39dad8" + integrity sha1-xoscQRHHaq46b7pV1JbO4Qw52tg= dependencies: balanced-match "^1.0.0" brace-expansion@^5.0.2: - version "5.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-5.0.3.tgz#6a9c6c268f85b53959ec527aeafe0f7300258eef" - integrity sha1-apxsJo+FtTlZ7FJ66v4PcwAlju8= + version "5.0.6" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-5.0.6.tgz#ec68fe0a641a29d8711579caf641d05bae1f2285" + integrity sha1-7Gj+CmQaKdhxFXnK9kHQW64fIoU= dependencies: balanced-match "^4.0.2" @@ -2926,9 +2931,9 @@ fast-levenshtein@^3.0.0: fastest-levenshtein "^1.0.7" fast-uri@^3.0.1: - version "3.1.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa" - integrity sha1-Zu7P9sdkwN+bdi5iyn7c+1O07fo= + version "3.1.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-uri/-/fast-uri-3.1.2.tgz#8af3d4fc9d3e71b11572cc2673b514a7d1a8c8ec" + integrity sha1-ivPU/J0+cbEVcswmc7UUp9GoyOw= fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.7: version "1.0.16" @@ -2942,13 +2947,6 @@ fastq@^1.13.0, fastq@^1.6.0: dependencies: reusify "^1.0.4" -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= - dependencies: - pend "~1.2.0" - fdir@^6.5.0: version "6.5.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" @@ -3031,10 +3029,10 @@ flat@^5.0.2: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha1-jKb+MyBp/6nTJMMnGYxZglnOskE= -flatted@^3.2.9: - version "3.3.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" - integrity sha1-Z8j62VRUp8er6/dLt47nSkQCM1g= +flatted@^3.2.9, flatted@^3.4.1: + version "3.4.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/flatted/-/flatted-3.4.2.tgz#f5c23c107f0f37de8dbdf24f13722b3b98d52726" + integrity sha1-9cI8EH8PN96NvfJPE3IrO5jVJyY= flush-write-stream@^1.0.2: version "1.1.1" @@ -3072,15 +3070,15 @@ foreground-child@^3.3.1: signal-exit "^4.0.1" form-data@^4.0.0, form-data@^4.0.4: - version "4.0.5" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" - integrity sha1-tJ5IhYBF/0y/awPhgFzrytNnkFM= + version "4.0.6" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.6.tgz#28e864e1b786dbebb68db1f452f9635278665827" + integrity sha1-KOhk4beG2+u2jbH0UvljUnhmWCc= dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" es-set-tostringtag "^2.1.0" - hasown "^2.0.2" - mime-types "^2.1.12" + hasown "^2.0.4" + mime-types "^2.1.35" from@^0.1.7: version "0.1.7" @@ -3490,6 +3488,13 @@ hasown@^2.0.2: dependencies: function-bind "^1.1.2" +hasown@^2.0.4: + version "2.0.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/hasown/-/hasown-2.0.4.tgz#8c62d8cb90beb2aad5d0a5b67581ad9854c3f003" + integrity sha1-jGLYy5C+sqrV0KW2dYGtmFTD8AM= + dependencies: + function-bind "^1.1.2" + he@^1.2.0: version "1.2.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -3998,9 +4003,9 @@ js-tokens@^4.0.0: integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= js-yaml@^4.1.0, js-yaml@^4.1.1: - version "4.1.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" - integrity sha1-hUwpJGdwW2mUduGi3swMijRYgGs= + version "4.2.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.2.0.tgz#2bd9e85682dd91bd469afb809d816043b3d49524" + integrity sha1-K9noVoLdkb1GmvuAnYFgQ7PUlSQ= dependencies: argparse "^2.0.1" @@ -4185,10 +4190,10 @@ liftoff@^5.0.1: rechoir "^0.8.0" resolve "^1.20.0" -linkify-it@^5.0.0: - version "5.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" - integrity sha1-nvI4v6bccL2Of5VytS02mvVptCE= +linkify-it@^5.0.1: + version "5.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/linkify-it/-/linkify-it-5.0.1.tgz#10c4cecbb5c6828eabf81d3c801adc4a542dfb55" + integrity sha1-EMTOy7XGgo6r+B08gBrcSlQt+1U= dependencies: uc.micro "^2.0.0" @@ -4266,9 +4271,9 @@ lodash.truncate@^4.4.2: integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= lodash@^4.17.23: - version "4.17.23" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a" - integrity sha1-8ROwN4OGEDvk9okziMc9C95/LFo= + version "4.18.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" + integrity sha1-/ytmwfYybVlRPeJAe/iBQ5gSdxw= log-symbols@^4.1.0: version "4.1.0" @@ -4326,13 +4331,13 @@ map-stream@0.0.7: integrity sha1-ih8HiW2CsQkmvTdEokIACfiJdKg= markdown-it@^14.1.0: - version "14.1.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/markdown-it/-/markdown-it-14.1.1.tgz#856f90b66fc39ae70affd25c1b18b581d7deee1f" - integrity sha1-hW+Qtm/DmucK/9JcGxi1gdfe7h8= + version "14.2.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/markdown-it/-/markdown-it-14.2.0.tgz#06d48d9035e77d5b1c85adb315482fc8240289ef" + integrity sha1-BtSNkDXnfVscha2zFUgvyCQCie8= dependencies: argparse "^2.0.1" entities "^4.4.0" - linkify-it "^5.0.0" + linkify-it "^5.0.1" mdurl "^2.0.0" punycode.js "^2.3.1" uc.micro "^2.1.0" @@ -4389,7 +4394,7 @@ mime-db@1.52.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha1-u6vNwChZ9JhzAchW4zh85exDv3A= -mime-types@^2.1.12, mime-types@^2.1.27: +mime-types@^2.1.27, mime-types@^2.1.35: version "2.1.35" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha1-OBqHG2KnNEUGYK497uRIE/cNlZo= @@ -4969,14 +4974,14 @@ picocolors@^1.1.1: integrity sha1-PTIa8+q5ObCDyPkpodEs2oHCa2s= picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI= + version "2.3.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" + integrity sha1-WpQpFeJrNy3A8OZ1MUmhbmscVgE= picomatch@^4.0.3: - version "4.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" - integrity sha1-eWx2E20e6tcV2x57rXhd7daVoEI= + version "4.0.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589" + integrity sha1-/W9eAKFDCG4HTf/kySS4+yk7BYk= pkg-dir@^4.2.0: version "4.2.0" @@ -5024,10 +5029,10 @@ possible-typed-array-names@^1.0.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" integrity sha1-k+NYK8DlQmWG2dB7ee5A/IQd5K4= -postcss@^7.0.16, postcss@^8.4.31: - version "8.5.6" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" - integrity sha1-KCUAZhWmGbT2Kp50JswSCzSajzw= +postcss@^7.0.16, postcss@^8.5.14: + version "8.5.14" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/postcss/-/postcss-8.5.14.tgz#a66c2d7808fadf69ebb5b84a03f8bafd76c4919c" + integrity sha1-pmwteAj632nrtbhKA/i6/XbEkZw= dependencies: nanoid "^3.3.11" picocolors "^1.1.1" @@ -5114,9 +5119,9 @@ punycode@^2.1.0: integrity sha1-AnQi4vrsCyXhVJw+G9gwm5EztuU= qs@^6.9.1: - version "6.15.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/qs/-/qs-6.15.0.tgz#db8fd5d1b1d2d6b5b33adaf87429805f1909e7b3" - integrity sha1-24/V0bHS1rWzOtr4dCmAXxkJ57M= + version "6.15.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/qs/-/qs-6.15.2.tgz#fd55426d710403ddccc45e0f9eab16db7727ece9" + integrity sha1-/VVCbXEEA93MxF4PnqsW23cn7Ok= dependencies: side-channel "^1.1.0" @@ -5443,10 +5448,10 @@ semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.2, semver@^7.5.4, semve resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" integrity sha1-KEZONgYOmR+noR0CedLT87V6foo= -serialize-javascript@^6.0.2, serialize-javascript@^7.0.4: - version "7.0.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-7.0.4.tgz#c517735bd5b7631dd1fc191ee19cbb713ff8e05c" - integrity sha1-xRdzW9W3Yx3R/Bke4Zy7cT/44Fw= +serialize-javascript@^6.0.2, serialize-javascript@^7.0.5: + version "7.0.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/serialize-javascript/-/serialize-javascript-7.0.5.tgz#c798cc0552ffbb08981914a42a8756e339d0d5b1" + integrity sha1-x5jMBVL/uwiYGRSkKodW4znQ1bE= set-function-length@^1.2.2: version "1.2.2" @@ -5503,10 +5508,10 @@ shebang-regex@^3.0.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= -shell-quote@1.8.2: - version "1.8.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" - integrity sha1-0tg+BXlZ1T7CYTEenpuPUdyyk0o= +shell-quote@1.8.4: + version "1.8.4" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/shell-quote/-/shell-quote-1.8.4.tgz#2edd9a4dcefc96649e2e2cb12f637b1f1d92a190" + integrity sha1-Lt2aTc78lmSeLiyxL2N7Hx2SoZA= side-channel-list@^1.0.0: version "1.0.0" @@ -6032,10 +6037,10 @@ tinyglobby@^0.2.15: fdir "^6.5.0" picomatch "^4.0.3" -tmp@^0.2.3, tmp@^0.2.5: - version "0.2.5" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8" - integrity sha1-sGvNI/DzyDV7QmiRcm0WAVq/2Pg= +tmp@^0.2.3, tmp@^0.2.5, tmp@^0.2.7: + version "0.2.7" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tmp/-/tmp-0.2.7.tgz#26f4db11d1601ce8012dcb8a798ece1c06a99059" + integrity sha1-JvTbEdFgHOgBLcuKeY7OHAapkFk= to-absolute-glob@^2.0.0, to-absolute-glob@^2.0.2: version "2.0.2" @@ -6274,10 +6279,10 @@ undici-types@~7.18.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" integrity sha1-KTV6iee3ykrvO/D9P9DNc4hCKek= -undici@^7.19.0: - version "7.22.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-7.22.0.tgz#7a82590a5908e504a47d85c60b0f89ca14240e60" - integrity sha1-eoJZClkI5QSkfYXGCw+JyhQkDmA= +undici@^7.19.0, undici@^7.28.0: + version "7.28.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-7.28.0.tgz#97d64564198b285bc281f0e8e29597e3d11fe7ec" + integrity sha1-l9ZFZBmLKFvCgfDo4pWX49Ef5+w= unicorn-magic@^0.1.0: version "0.1.0" @@ -6332,10 +6337,10 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -uuid@^8.3.0: - version "8.3.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha1-gNW1ztJxu5r2xEXyGhoExgbO++I= +uuid@^11.1.1, uuid@^8.3.0: + version "11.1.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/uuid/-/uuid-11.1.1.tgz#f6d81d2e1c65d00762e5e29b16c5d2d995e208ad" + integrity sha1-9tgdLhxl0Adi5eKbFsXS2ZXiCK0= v8-compile-cache-lib@^3.0.1: version "3.0.1" @@ -6473,34 +6478,21 @@ vscode-cpptools@^7.1.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-cpptools/-/vscode-cpptools-7.1.1.tgz#adde3b6d627ddae5397224daa3e41952b219126b" integrity sha1-rd47bWJ92uU5ciTao+QZUrIZEms= -vscode-jsonrpc@8.1.0: - version "8.1.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94" - integrity sha1-y5mJxl4hnhhTPMOOdnYRJy0nTJQ= - vscode-jsonrpc@8.2.0: version "8.2.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz#f43dfa35fb51e763d17cd94dcca0c9458f35abf9" integrity sha1-9D36NftR52PRfNlNzKDJRY81q/k= -vscode-languageclient@^8.1.0: - version "8.1.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageclient/-/vscode-languageclient-8.1.0.tgz#3e67d5d841481ac66ddbdaa55b4118742f6a9f3f" - integrity sha1-PmfV2EFIGsZt29qlW0EYdC9qnz8= +vscode-languageclient@^9.0.1: + version "9.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz#cdfe20267726c8d4db839dc1e9d1816e1296e854" + integrity sha1-zf4gJncmyNTbg53B6dGBbhKW6FQ= dependencies: minimatch "^5.1.0" semver "^7.3.7" - vscode-languageserver-protocol "3.17.3" - -vscode-languageserver-protocol@3.17.3: - version "3.17.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz#6d0d54da093f0c0ee3060b81612cce0f11060d57" - integrity sha1-bQ1U2gk/DA7jBguBYSzODxEGDVc= - dependencies: - vscode-jsonrpc "8.1.0" - vscode-languageserver-types "3.17.3" + vscode-languageserver-protocol "3.17.5" -vscode-languageserver-protocol@^3.17.5: +vscode-languageserver-protocol@3.17.5, vscode-languageserver-protocol@^3.17.5: version "3.17.5" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz#864a8b8f390835572f4e13bd9f8313d0e3ac4bea" integrity sha1-hkqLjzkINVcvThO9n4MT0OOsS+o= @@ -6508,11 +6500,6 @@ vscode-languageserver-protocol@^3.17.5: vscode-jsonrpc "8.2.0" vscode-languageserver-types "3.17.5" -vscode-languageserver-types@3.17.3: - version "3.17.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64" - integrity sha1-ctBeR7c76TrLhNbjEbV4Y5DxP2Q= - vscode-languageserver-types@3.17.5: version "3.17.5" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz#3273676f0cf2eab40b3f44d085acbb7f08a39d8a" @@ -6835,13 +6822,13 @@ yargs@^17.3.0: y18n "^5.0.5" yargs-parser "^21.1.1" -yauzl@^2.3.1: - version "2.10.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= +yauzl@^3.2.1: + version "3.3.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yauzl/-/yauzl-3.3.1.tgz#b0de68ae3a862715e130849679a4236f54dba45f" + integrity sha1-sN5orjqGJxXhMISWeaQjb1TbpF8= dependencies: buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" + pend "~1.2.0" yazl@^2.2.2: version "2.5.1" diff --git a/ExtensionPack/.npmrc b/ExtensionPack/.npmrc index d8324806f..0446fca08 100644 --- a/ExtensionPack/.npmrc +++ b/ExtensionPack/.npmrc @@ -1,2 +1,4 @@ registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ -always-auth=true \ No newline at end of file +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 diff --git a/ExtensionPack/package-lock.json b/ExtensionPack/package-lock.json index 90554893b..0322343e6 100644 --- a/ExtensionPack/package-lock.json +++ b/ExtensionPack/package-lock.json @@ -9,7 +9,7 @@ "version": "1.5.1", "license": "SEE LICENSE IN LICENSE.txt", "devDependencies": { - "@vscode/vsce": "^3.7.1" + "@vscode/vsce": "^3.9.1" }, "engines": { "vscode": "^1.48.0" @@ -127,9 +127,9 @@ } }, "node_modules/@azure/identity": { - "version": "4.13.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/identity/-/identity-4.13.0.tgz", - "integrity": "sha1-sr5jZGlkq1ng3A6tyo5PVi/DH5Y=", + "version": "4.13.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/identity/-/identity-4.13.1.tgz", + "integrity": "sha1-vcCRZYuqWaR+6furSHpLsBhym8M=", "dev": true, "license": "MIT", "dependencies": { @@ -140,8 +140,8 @@ "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", - "@azure/msal-browser": "^4.2.0", - "@azure/msal-node": "^3.5.0", + "@azure/msal-browser": "^5.5.0", + "@azure/msal-node": "^5.1.0", "open": "^10.1.0", "tslib": "^2.2.0" }, @@ -164,22 +164,32 @@ } }, "node_modules/@azure/msal-browser": { - "version": "4.29.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-browser/-/msal-browser-4.29.0.tgz", - "integrity": "sha1-bXEazTtGO0a9rgVEW4NUeBb7j1w=", + "version": "4.29.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-browser/-/msal-browser-4.29.1.tgz", + "integrity": "sha1-AdwdL27TJeMsA9OTnBcfT00gpW0=", "dev": true, "license": "MIT", "dependencies": { - "@azure/msal-common": "15.15.0" + "@azure/msal-common": "15.16.1" }, "engines": { "node": ">=0.8.0" } }, + "node_modules/@azure/msal-browser/node_modules/@azure/msal-common": { + "version": "15.16.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-15.16.1.tgz", + "integrity": "sha1-XfNpfsDVPQgnjyU21TvVIhTlLDk=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/@azure/msal-common": { - "version": "15.15.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-15.15.0.tgz", - "integrity": "sha1-BedYtBkjSZr3ygll7ar8KKKs9hU=", + "version": "16.6.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-16.6.2.tgz", + "integrity": "sha1-SqeR2yxPN/UDv+EPWux2/VUtr44=", "dev": true, "license": "MIT", "engines": { @@ -187,18 +197,17 @@ } }, "node_modules/@azure/msal-node": { - "version": "3.8.8", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-3.8.8.tgz", - "integrity": "sha1-5/FhzuqB6kG06m6urbW/2jX40Lo=", + "version": "5.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-5.2.2.tgz", + "integrity": "sha1-D8joICfV95U417PxuFTsDv/xzqI=", "dev": true, "license": "MIT", "dependencies": { - "@azure/msal-common": "15.15.0", - "jsonwebtoken": "^9.0.0", - "uuid": "^8.3.0" + "@azure/msal-common": "16.6.2", + "jsonwebtoken": "^9.0.0" }, "engines": { - "node": ">=16" + "node": ">=20" } }, "node_modules/@babel/code-frame": { @@ -575,9 +584,9 @@ } }, "node_modules/@vscode/vsce": { - "version": "3.7.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/vsce/-/vsce-3.7.1.tgz", - "integrity": "sha1-VaiK5A6WGP6iUeNzvGsjwSiRVlQ=", + "version": "3.9.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/vsce/-/vsce-3.9.1.tgz", + "integrity": "sha1-zyc/4IlaFP6KXn/YhjC7Wlh2rWo=", "dev": true, "license": "MIT", "dependencies": { @@ -608,7 +617,7 @@ "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", "xml2js": "^0.5.0", - "yauzl": "^2.3.1", + "yauzl": "^3.2.1", "yazl": "^2.2.2" }, "bin": { @@ -946,9 +955,9 @@ "license": "BSD-2-Clause" }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha1-q5tFRGblqMw6GHvqrVgEEqnFuEM=", + "version": "1.1.13", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha1-03h1wB3J7/mI3UnREqV8tntU7+Y=", "dev": true, "license": "MIT", "dependencies": { @@ -1587,9 +1596,9 @@ } }, "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha1-Zu7P9sdkwN+bdi5iyn7c+1O07fo=", + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha1-ivPU/J0+cbEVcswmc7UUp9GoyOw=", "dev": true, "funding": [ { @@ -1613,16 +1622,6 @@ "reusify": "^1.0.4" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, - "license": "MIT", - "dependencies": { - "pend": "~1.2.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", @@ -1654,17 +1653,17 @@ } }, "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha1-tJ5IhYBF/0y/awPhgFzrytNnkFM=", + "version": "4.0.6", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha1-KOhk4beG2+u2jbH0UvljUnhmWCc=", "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" + "hasown": "^2.0.4", + "mime-types": "^2.1.35" }, "engines": { "node": ">= 6" @@ -1799,9 +1798,9 @@ } }, "node_modules/glob/node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha1-YU2q7NCmiPZgu7yQmodIw9gNQzY=", + "version": "5.0.6", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha1-7Gj+CmQaKdhxFXnK9kHQW64fIoU=", "dev": true, "license": "MIT", "dependencies": { @@ -1908,9 +1907,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", + "version": "2.0.4", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha1-jGLYy5C+sqrV0KW2dYGtmFTD8AM=", "dev": true, "license": "MIT", "dependencies": { @@ -2211,10 +2210,20 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha1-hUwpJGdwW2mUduGi3swMijRYgGs=", + "version": "4.2.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha1-K9noVoLdkb1GmvuAnYFgQ7PUlSQ=", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -2333,19 +2342,29 @@ } }, "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha1-nvI4v6bccL2Of5VytS02mvVptCE=", + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/linkify-it/-/linkify-it-5.0.1.tgz", + "integrity": "sha1-EMTOy7XGgo6r+B08gBrcSlQt+1U=", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { "uc.micro": "^2.0.0" } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha1-8ROwN4OGEDvk9okziMc9C95/LFo=", + "version": "4.18.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c", + "integrity": "sha1-/ytmwfYybVlRPeJAe/iBQ5gSdxw=", "dev": true, "license": "MIT" }, @@ -2419,15 +2438,25 @@ } }, "node_modules/markdown-it": { - "version": "14.1.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/markdown-it/-/markdown-it-14.1.1.tgz", - "integrity": "sha1-hW+Qtm/DmucK/9JcGxi1gdfe7h8=", + "version": "14.2.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/markdown-it/-/markdown-it-14.2.0.tgz", + "integrity": "sha1-BtSNkDXnfVscha2zFUgvyCQCie8=", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", - "linkify-it": "^5.0.0", + "linkify-it": "^5.0.1", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" @@ -2894,9 +2923,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "version": "2.3.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha1-WpQpFeJrNy3A8OZ1MUmhbmscVgE=", "dev": true, "license": "MIT", "engines": { @@ -2967,9 +2996,9 @@ } }, "node_modules/qs": { - "version": "6.15.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/qs/-/qs-6.15.0.tgz", - "integrity": "sha1-24/V0bHS1rWzOtr4dCmAXxkJ57M=", + "version": "6.15.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/qs/-/qs-6.15.2.tgz", + "integrity": "sha1-/VVCbXEEA93MxF4PnqsW23cn7Ok=", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -3683,9 +3712,9 @@ } }, "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha1-sGvNI/DzyDV7QmiRcm0WAVq/2Pg=", + "version": "0.2.7", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha1-JvTbEdFgHOgBLcuKeY7OHAapkFk=", "dev": true, "license": "MIT", "engines": { @@ -3776,9 +3805,9 @@ "license": "MIT" }, "node_modules/undici": { - "version": "7.22.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-7.22.0.tgz", - "integrity": "sha1-eoJZClkI5QSkfYXGCw+JyhQkDmA=", + "version": "7.28.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-7.28.0.tgz", + "integrity": "sha1-l9ZFZBmLKFvCgfDo4pWX49Ef5+w=", "dev": true, "license": "MIT", "engines": { @@ -3823,16 +3852,6 @@ "license": "MIT", "optional": true }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -3952,14 +3971,17 @@ "license": "ISC" }, "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "version": "3.3.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yauzl/-/yauzl-3.3.1.tgz", + "integrity": "sha1-sN5orjqGJxXhMISWeaQjb1TbpF8=", "dev": true, "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/yazl": { diff --git a/ExtensionPack/package.json b/ExtensionPack/package.json index 6374ded6d..199df4086 100644 --- a/ExtensionPack/package.json +++ b/ExtensionPack/package.json @@ -42,6 +42,9 @@ "ms-vscode.cmake-tools" ], "devDependencies": { - "@vscode/vsce": "^3.7.1" + "@vscode/vsce": "^3.9.1" + }, + "overrides": { + "@azure/msal-browser": "^4.29.1" } } diff --git a/Themes/.npmrc b/Themes/.npmrc index d8324806f..0446fca08 100644 --- a/Themes/.npmrc +++ b/Themes/.npmrc @@ -1,2 +1,4 @@ registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ -always-auth=true \ No newline at end of file +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 diff --git a/Themes/package-lock.json b/Themes/package-lock.json index 20934f09c..7d8f4d90f 100644 --- a/Themes/package-lock.json +++ b/Themes/package-lock.json @@ -9,7 +9,7 @@ "version": "2.1.0", "license": "SEE LICENSE IN LICENSE.txt", "devDependencies": { - "@vscode/vsce": "3.7.1" + "@vscode/vsce": "^3.9.1" }, "engines": { "vscode": "^1.30.0" @@ -127,9 +127,9 @@ } }, "node_modules/@azure/identity": { - "version": "4.13.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/identity/-/identity-4.13.0.tgz", - "integrity": "sha1-sr5jZGlkq1ng3A6tyo5PVi/DH5Y=", + "version": "4.13.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/identity/-/identity-4.13.1.tgz", + "integrity": "sha1-vcCRZYuqWaR+6furSHpLsBhym8M=", "dev": true, "license": "MIT", "dependencies": { @@ -140,8 +140,8 @@ "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", - "@azure/msal-browser": "^4.2.0", - "@azure/msal-node": "^3.5.0", + "@azure/msal-browser": "^5.5.0", + "@azure/msal-node": "^5.1.0", "open": "^10.1.0", "tslib": "^2.2.0" }, @@ -164,22 +164,32 @@ } }, "node_modules/@azure/msal-browser": { - "version": "4.29.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-browser/-/msal-browser-4.29.0.tgz", - "integrity": "sha1-bXEazTtGO0a9rgVEW4NUeBb7j1w=", + "version": "4.29.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-browser/-/msal-browser-4.29.1.tgz", + "integrity": "sha1-AdwdL27TJeMsA9OTnBcfT00gpW0=", "dev": true, "license": "MIT", "dependencies": { - "@azure/msal-common": "15.15.0" + "@azure/msal-common": "15.16.1" }, "engines": { "node": ">=0.8.0" } }, + "node_modules/@azure/msal-browser/node_modules/@azure/msal-common": { + "version": "15.16.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-15.16.1.tgz", + "integrity": "sha1-XfNpfsDVPQgnjyU21TvVIhTlLDk=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/@azure/msal-common": { - "version": "15.15.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-15.15.0.tgz", - "integrity": "sha1-BedYtBkjSZr3ygll7ar8KKKs9hU=", + "version": "16.6.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-common/-/msal-common-16.6.2.tgz", + "integrity": "sha1-SqeR2yxPN/UDv+EPWux2/VUtr44=", "dev": true, "license": "MIT", "engines": { @@ -187,18 +197,17 @@ } }, "node_modules/@azure/msal-node": { - "version": "3.8.8", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-3.8.8.tgz", - "integrity": "sha1-5/FhzuqB6kG06m6urbW/2jX40Lo=", + "version": "5.2.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@azure/msal-node/-/msal-node-5.2.2.tgz", + "integrity": "sha1-D8joICfV95U417PxuFTsDv/xzqI=", "dev": true, "license": "MIT", "dependencies": { - "@azure/msal-common": "15.15.0", - "jsonwebtoken": "^9.0.0", - "uuid": "^8.3.0" + "@azure/msal-common": "16.6.2", + "jsonwebtoken": "^9.0.0" }, "engines": { - "node": ">=16" + "node": ">=20" } }, "node_modules/@babel/code-frame": { @@ -575,9 +584,9 @@ } }, "node_modules/@vscode/vsce": { - "version": "3.7.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/vsce/-/vsce-3.7.1.tgz", - "integrity": "sha1-VaiK5A6WGP6iUeNzvGsjwSiRVlQ=", + "version": "3.9.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@vscode/vsce/-/vsce-3.9.1.tgz", + "integrity": "sha1-zyc/4IlaFP6KXn/YhjC7Wlh2rWo=", "dev": true, "license": "MIT", "dependencies": { @@ -608,7 +617,7 @@ "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", "xml2js": "^0.5.0", - "yauzl": "^2.3.1", + "yauzl": "^3.2.1", "yazl": "^2.2.2" }, "bin": { @@ -946,9 +955,9 @@ "license": "BSD-2-Clause" }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha1-q5tFRGblqMw6GHvqrVgEEqnFuEM=", + "version": "1.1.13", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha1-03h1wB3J7/mI3UnREqV8tntU7+Y=", "dev": true, "license": "MIT", "dependencies": { @@ -1587,9 +1596,9 @@ } }, "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha1-Zu7P9sdkwN+bdi5iyn7c+1O07fo=", + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha1-ivPU/J0+cbEVcswmc7UUp9GoyOw=", "dev": true, "funding": [ { @@ -1613,16 +1622,6 @@ "reusify": "^1.0.4" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, - "license": "MIT", - "dependencies": { - "pend": "~1.2.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fill-range/-/fill-range-7.1.1.tgz", @@ -1654,17 +1653,17 @@ } }, "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha1-tJ5IhYBF/0y/awPhgFzrytNnkFM=", + "version": "4.0.6", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha1-KOhk4beG2+u2jbH0UvljUnhmWCc=", "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" + "hasown": "^2.0.4", + "mime-types": "^2.1.35" }, "engines": { "node": ">= 6" @@ -1799,9 +1798,9 @@ } }, "node_modules/glob/node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha1-YU2q7NCmiPZgu7yQmodIw9gNQzY=", + "version": "5.0.6", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha1-7Gj+CmQaKdhxFXnK9kHQW64fIoU=", "dev": true, "license": "MIT", "dependencies": { @@ -1908,9 +1907,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha1-AD6vkb563DcuhOxZ3DclLO24AAM=", + "version": "2.0.4", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha1-jGLYy5C+sqrV0KW2dYGtmFTD8AM=", "dev": true, "license": "MIT", "dependencies": { @@ -2211,10 +2210,20 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha1-hUwpJGdwW2mUduGi3swMijRYgGs=", + "version": "4.2.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha1-K9noVoLdkb1GmvuAnYFgQ7PUlSQ=", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -2333,19 +2342,29 @@ } }, "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha1-nvI4v6bccL2Of5VytS02mvVptCE=", + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/linkify-it/-/linkify-it-5.0.1.tgz", + "integrity": "sha1-EMTOy7XGgo6r+B08gBrcSlQt+1U=", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { "uc.micro": "^2.0.0" } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha1-8ROwN4OGEDvk9okziMc9C95/LFo=", + "version": "4.18.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c", + "integrity": "sha1-/ytmwfYybVlRPeJAe/iBQ5gSdxw=", "dev": true, "license": "MIT" }, @@ -2419,15 +2438,25 @@ } }, "node_modules/markdown-it": { - "version": "14.1.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/markdown-it/-/markdown-it-14.1.1.tgz", - "integrity": "sha1-hW+Qtm/DmucK/9JcGxi1gdfe7h8=", + "version": "14.2.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/markdown-it/-/markdown-it-14.2.0.tgz", + "integrity": "sha1-BtSNkDXnfVscha2zFUgvyCQCie8=", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", - "linkify-it": "^5.0.0", + "linkify-it": "^5.0.1", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" @@ -2894,9 +2923,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", + "version": "2.3.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha1-WpQpFeJrNy3A8OZ1MUmhbmscVgE=", "dev": true, "license": "MIT", "engines": { @@ -2967,9 +2996,9 @@ } }, "node_modules/qs": { - "version": "6.15.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/qs/-/qs-6.15.0.tgz", - "integrity": "sha1-24/V0bHS1rWzOtr4dCmAXxkJ57M=", + "version": "6.15.2", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/qs/-/qs-6.15.2.tgz", + "integrity": "sha1-/VVCbXEEA93MxF4PnqsW23cn7Ok=", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -3683,9 +3712,9 @@ } }, "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha1-sGvNI/DzyDV7QmiRcm0WAVq/2Pg=", + "version": "0.2.7", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha1-JvTbEdFgHOgBLcuKeY7OHAapkFk=", "dev": true, "license": "MIT", "engines": { @@ -3776,9 +3805,9 @@ "license": "MIT" }, "node_modules/undici": { - "version": "7.22.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-7.22.0.tgz", - "integrity": "sha1-eoJZClkI5QSkfYXGCw+JyhQkDmA=", + "version": "7.28.0", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/undici/-/undici-7.28.0.tgz", + "integrity": "sha1-l9ZFZBmLKFvCgfDo4pWX49Ef5+w=", "dev": true, "license": "MIT", "engines": { @@ -3823,16 +3852,6 @@ "license": "MIT", "optional": true }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -3952,14 +3971,17 @@ "license": "ISC" }, "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "version": "3.3.1", + "resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yauzl/-/yauzl-3.3.1.tgz", + "integrity": "sha1-sN5orjqGJxXhMISWeaQjb1TbpF8=", "dev": true, "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/yazl": { diff --git a/Themes/package.json b/Themes/package.json index 74b4ef61d..90d3ba17d 100644 --- a/Themes/package.json +++ b/Themes/package.json @@ -63,6 +63,9 @@ ] }, "devDependencies": { - "@vscode/vsce": "3.7.1" + "@vscode/vsce": "^3.9.1" + }, + "overrides": { + "@azure/msal-browser": "^4.29.1" } }