Compare commits

...
Author SHA1 Message Date
spebl 212ea02e4c Fix extract to function formatting. (#11804)
* Fix extract to function formatting.
2023-12-29 11:15:32 -08:00
Sean McManus ab8b90b187 Stop clearing code analysis problems in updateCustomConfigurations. (#11798) 2023-12-21 17:35:51 -08:00
Sean McManus 8d42c49b77 Fix configuration provider handling with intelliSenseEngine "disabled". (#11797) 2023-12-21 12:27:41 -08:00
Colen Garoutte-Carson 0e24296f67 Enable progressive IntelliSense updates (#11735) 2023-12-19 18:24:05 -08:00
browntarik 7f87dc49f8 Fix shell quoting for command line arguments (#11734)
* Add shell quoting for command line arguments

* add shell escape logic from native

* resolve lint issues

* Refactor quoteArgument and getTask

* Add os specific shell quoting

* Correctly apply shell-quotes on Unix

* Fix lint

* fix lint

* Refactor quoteArgument logic
2023-11-30 10:01:19 -08:00
Sean McManus cc4177b096 Update for 1.19.1 (#11724) 2023-11-21 14:58:42 -08:00
Sean McManus a25b309ac7 Update for 1.19.0 (#11688)
* Update for 1.19.0
2023-11-16 17:01:15 -08:00
Sean McManus b6f48cd1fe Update changelog and version for 1.18.5 (#11697) 2023-11-16 16:39:31 -08:00
Sean McManus ea391a3a17 Fix default Linux cache path. (#11696) 2023-11-16 15:46:03 -08:00
Sean McManus 7cb9f88f6c Switch to a static import. Add telemetry. (#11686)
* Switch to a static import. Add telemetry.
2023-11-14 16:39:18 -08:00
Sean McManus 203823a6af Fix 'Extract to function' header selection state. (#11677)
* Fix 'Extract to function' header selection state.
* Update changelog.
2023-11-14 14:58:42 -08:00
Sean McManus 10564f909a Update changelog. 2023-11-14 14:41:00 -08:00
Sean McManus 383579dba3 Fix fetch call for VS Code before 1.82.0. (#11683) 2023-11-14 14:29:52 -08:00
Sean McManus 5325b379c5 Open the modified header for 'Extract to function'. (#11670)
* Open the modified header for 'Extract to function'.
2023-11-13 15:13:09 -08:00
Sean McManus 1af06e1dd5 Update GitHub actions dependencies. (#11667) 2023-11-13 11:36:48 -08:00
Sean McManus c68caae1e7 Update TPN. (#11660) 2023-11-10 17:46:22 -08:00
Sean McManus 3dc4b8f626 Update vscode-tas-client. (#11658) 2023-11-10 16:12:44 -08:00
dependabot[bot] b008f1a1cc Bump axios from 0.27.2 to 1.6.0 in /.github/actions (#11651)
Bumps [axios](https://github.com/axios/axios) from 0.27.2 to 1.6.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.27.2...v1.6.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-10 01:45:18 -08:00
Sean McManus 5504bdf63d Update changelog for 1.18.3 (#11648)
* Update changelog for 1.18.3
2023-11-09 17:55:43 -08:00
Sean McManus 7d051394e6 Remove the 'Extract to function' experimentalFeatures requirement. (#11638) 2023-11-08 12:29:01 -08:00
Sean McManus 468149a9ad Update changelog/version for 1.18.2 (#11628)
* Update changelog.
* Update version.
2023-11-07 15:46:27 -08:00
[email protected] 6ec1d81ef0 [Auto] Localization - Translated Strings (#11290) 2023-11-07 08:55:54 -08:00
Sean McManus 6b5d3ee985 Fix 'Extract to function' formatting/selection bugs. (#11621)
* Fix 'Extract to function' formatting/selection bugs.
2023-11-06 14:45:18 -08:00
Spencer Bloom 5b3c4c70b5 Add error catching on await calls and a persistent bool tracking if the user is on the pre-release channel (or has been while there's been a pre-release available) (#11613) 2023-11-03 12:07:03 -07:00
Sean McManus 6d5e4c4114 Fix 'Extract to function' switching to the header. (#11616)
* Fix 'Extract to function' switching to the header.
2023-11-03 10:10:32 -07:00
Sean McManus c26054a1a6 Update version (#11606) 2023-11-01 16:46:13 -07:00
Sean McManus a20a3f2781 Update changelog for 1.18.1 (#11604) 2023-11-01 16:34:18 -07:00
Sean McManus e7f5d1731d Fix formatting bug with multiple changes. (#11599) 2023-11-01 14:07:29 -07:00
Sean McManus 16f6cf91c7 Change Extract to Function to name earlier. (#11568)
* Change Extract to Function to name earlier.
2023-10-31 11:56:52 -07:00
browntarik 45addfddb3 Add Missing Include Code Action (#11488)
* Add loc string and Add Missing Include handler

* Add AddMissingInclude Command and resolve lint

* Refactor codeActionProvider

* resolve formatting and append newline to includes

* Only apply new line to Add Missing Include

* Resolve lint issue

* Add new line specific to OS

* Resolve newline
2023-10-27 10:58:45 -07:00
Spencer Bloom 6f80226e88 Update walkthrough text for the customize debugging step. (#11580) 2023-10-25 14:56:11 -07:00
Spencer Bloom 8fbc56a688 Notify users if there's a pre-release version available. (#11569)
* Notify users if there's a pre-release version available
2023-10-24 16:10:21 -07:00
Bob Brown fecfc08451 update changelog (#11532) 2023-10-16 11:30:46 -07:00
Sean McManus 62a03c2b21 Update changelog (2nd time) (#11527)
* Update changelog (2nd time).
2023-10-12 17:12:41 -07:00
Sean McManus 7273d6112b Update changelog for 1.18.0 (#11521) 2023-10-12 14:37:41 -07:00
Michelle Matias 74bddb82e5 Reuse workflow for CI builds (#11503) 2023-10-11 18:40:01 -07:00
Sean McManus 4af6ca9db0 Extract to function (#11467)
* Extract to function.
2023-10-11 17:27:36 -07:00
Michelle Matias 7e4ee25c48 remove CreateDeclDefnCommandArguments (#11517) 2023-10-10 12:31:23 -07:00
Sean McManus 6da9a49652 Updates for clang-tidy 17.0.1 (#11491) 2023-10-10 12:09:32 -07:00
Michelle Matias 51d88dbb24 Increase timeout for E2E tests (#11516) 2023-10-09 16:12:47 -07:00
Michelle Matias cd8ecf9060 Handle undefined environment variable (#11480) 2023-10-06 11:50:26 -07:00
Sean McManus 847ea0b73c Fix prepublish. (#11469) 2023-09-29 17:41:31 -07:00
Michelle Matias 68c7be9d9e Fix loading UI (#11486) 2023-09-29 13:06:38 -07:00
Michelle Matias 1bde544458 Add Include Header setting for refactoring actions (#11449) 2023-09-27 10:51:53 -07:00
Sean McManus f62cad6a2f Fix Initializing in the status bar instead of Indexing. (#11471) 2023-09-26 16:37:57 -07:00
Garrett Serack eec372a186 force module to node16 for ts-node (#11468) 2023-09-26 11:40:51 -07:00
Michelle Matias b98bb40a89 Update language server loc strings (#11445) 2023-09-25 17:29:54 -07:00
Colen Garoutte-Carson 4d1a2a0e90 Change how logging level is passed to native process (#11438) 2023-09-18 13:57:25 -07:00
Michelle Matias dec50598bc Remove obsolete experimental configuration code (#11427) 2023-09-14 17:12:03 -07:00
browntarik c5c64ad831 Update localized intellisense crash string (#11356)
* update localized intellisense crash string

* resolve string

* update hint

* resolve loc string

* resolve string locs

* resolve spelling error
2023-09-13 14:45:35 -07:00
Bob Brown 27153190e2 Compiler acquisition (#11286) 2023-09-13 11:54:29 -07:00
Sean McManus 2cc55ea6eb Add keyboard support for Inline Macro. (#11261)
* Add keyboard support for Inline Macro.
* Enable inline macro without hover.
* Standardize localize string naming.
* Fix spelling errors involving strings types.
2023-09-11 09:56:16 -07:00
Garrett Serack 121a657acb make translations export work correctly in CI (#11415) 2023-09-08 07:53:49 -07:00
dependabot[bot] 6a54986b3f Bump mongodb from 4.8.1 to 4.17.0 in /.github/actions (#11413)
Bumps [mongodb](https://github.com/mongodb/node-mongodb-native) from 4.8.1 to 4.17.0.
- [Release notes](https://github.com/mongodb/node-mongodb-native/releases)
- [Changelog](https://github.com/mongodb/node-mongodb-native/blob/v4.17.0/HISTORY.md)
- [Commits](https://github.com/mongodb/node-mongodb-native/compare/v4.8.1...v4.17.0)

---
updated-dependencies:
- dependency-name: mongodb
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-07 09:52:11 -07:00
Garrett Serack b4a70dfc0a Make yarn tasks imply yarn install where appropriate (#11394)
* made sure that yarn install gets called before compile

* Add some nice messages

* better detection

* cleaned up more

* more tweaks

* remove old checks

* let unit tests run without binaries

* turn off scenario tests until binaries can be installed

* add another rule
2023-09-06 07:47:36 -07:00
browntarik efa5c2244b Rework Database Storage Path Logic (#11309)
* Fix typo (#11275)

* rework database logic

* resolve PR

* fix lint issues

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* update names

* resolve PR

* resolve PR

* fix lint error

* resolve PR

* resolve PR
2023-09-05 13:35:11 -07:00
Sean McManus 4199155228 Update TPN. (#11393) 2023-08-31 12:56:15 -07:00
Garrett Serack d949d93924 Apply strict eslint rule (#11389) 2023-08-31 09:26:55 -07:00
Marcin Strzyz 44e2a0ec4c added enforcement of no array constructor. (#11385) 2023-08-30 13:12:41 -07:00
Marcin Strzyz 0cd369c603 Incremental. (#11383) 2023-08-30 13:04:01 -07:00
Marcin Strzyz 76fce67276 Added typing guards. (#11382) 2023-08-29 18:05:33 -07:00
Marcin Strzyz f3e0f0bb05 Added enforcement. (#11381) 2023-08-29 16:54:14 -07:00
Garrett Serack 628301be37 Test restructuring and cleanup (#11262)
* updated files

* queue and ready are now separate

* checkpoint

* found it! fixed missing call

* cleaned up and refactored a bit

* cleanup

* whoops. make sure linter runs!

* Make the queue itself static

* addressed formatting issues, added more rules to eslint

* more formatting, made ready Promise/void

* checkpoint

* checkpoint

* checkpoint

* checkpoint (linting)

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* renamed path to filepath.

* checkpoint

* checkpoint

* so close...

* checkpoint again

* before making doc

* checkpoint

* checkpoint

* Checkpoint

* renamed awaiters

* eslint

* fix format on generated native strings

* add dummy pretest task back in for the moment

* change unit test runing

* posix calc test failure

* make signal dispose better

* add 	est regen script

* missed file

* checkpoint

* Improve scripts a bit

* remove hooks for now

* remove unused script

* remove unused script

* filter out files

* ensure that eslint works for scripts too

* fix build oses to specific version

* cleanups and tweaking

* adjusted for cosmetic feedback

* more

* add eslint rule to fix space before/after semicolon

* remove tba/tbd

* cleanup

* Added space-infix-ops rule

* cleanup

* resolve comments

* resolve comments

* add simple debug task

* spelling fixes

* cleanup more

* More changes. yay

* remove the extra whitespace from before comments

* add eslint rule to ensure that there are never extra spaces

* adding another eslint rule to ensure that there isn't spacing around unary operators, which we all know is dangerous. Or weird. I forget which

* added a space between vs and code because a space is the desired format

* removed all mentions of transpiler which was removed

* removed an extra comma

* removed a trailing slash

* removed useless lines

* missed as file

* reconfigure no-extra-parens rule

* added note about yarn install

* whatever

* more fun

* FIx it so that it webpacks correctly

* remove refernces to attic

* restore line to correct check

* fix whitespace

* added blank yarn install

* removed
2023-08-29 16:08:07 -07:00
browntarik 6efaafef60 place markdownInComments setting under code doc (#11380) 2023-08-29 14:53:18 -07:00
Michelle Matias f387815749 Fix tag parse language status item UI (#11354) 2023-08-25 15:50:03 -07:00
Michelle Matias c873aa18bd 1.17.5 changelog (#11363) 2023-08-25 13:50:14 -07:00
Colen Garoutte-Carson 78a8ff3bb3 Disable AutoPCH early on platforms that don't support it (#11362) 2023-08-24 18:29:52 -07:00
Michelle Matias 3033657a19 Reset FAR UI if no results returned (#11359) 2023-08-23 18:03:44 -07:00
Sean McManus ac118f453b Fix formatting for IntelliSense loc strings. (#11348)
* Fix formatting for loc strings.
2023-08-22 15:04:23 -07:00
Sean McManus 9e10a71ffb Update changelog and version for 1.17.4 (#11340)
* Update changelog and version for 1.17.4
* Add a missed entry.
2023-08-21 11:08:15 -07:00
Sean McManus 4525bd0ed5 Fix crash called by missing IntelliSense loc strings. (#11339) 2023-08-21 10:40:35 -07:00
Garrett Serack 89d0a7a01f Enqueue the call to sendDidOpen (#11337)
* enqueue the call to sendDidOpen
2023-08-21 10:32:47 -07:00
Colen Garoutte-Carson 27cd52a1b9 Replace use of yauzl with node-stream-zip (#11304) 2023-08-17 18:42:56 -07:00
480 changed files with 67029 additions and 54095 deletions
+1690 -3064
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -13,9 +13,9 @@
"@actions/core": "^1.9.1",
"@actions/github": "^5.0.3",
"@octokit/rest": "^19.0.3",
"@slack/web-api": "^6.7.2",
"@slack/web-api": "^6.9.1",
"applicationinsights": "^2.5.1",
"axios": "^0.27.2",
"axios": "^1.6.1",
"uuid": "^8.3.2"
},
"devDependencies": {
@@ -32,7 +32,7 @@
"eslint-plugin-prettier": "^4.2.1",
"husky": "^8.0.1",
"mocha": "^10.0.0",
"mongodb": "^4.8.1",
"mongodb": "^4.17.0",
"nock": "^13.2.9",
"prettier": "2.7.1",
"ts-node": "^10.9.1",
+14 -47
View File
@@ -1,47 +1,14 @@
name: CI (Linux)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js 16
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Dependencies
run: yarn install
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
uses: GabrielBB/[email protected]
with:
run: yarn run unitTests
working-directory: Extension
# - name: Run languageServer integration tests
# uses: GabrielBB/[email protected]
# with:
# run: yarn run integrationTests
# working-directory: Extension
name: CI (Linux)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: ubuntu-22.04
platform: linux
+15 -47
View File
@@ -1,47 +1,15 @@
name: CI (Mac)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js 16
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Dependencies
run: yarn install --network-timeout 100000
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
uses: GabrielBB/[email protected]
with:
run: yarn run unitTests
working-directory: Extension
# - name: Run languageServer integration tests
# uses: GabrielBB/[email protected]
# with:
# run: yarn run integrationTests
# working-directory: Extension
name: CI (Mac)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: macos-12
platform: mac
yarn-args: --network-timeout 100000
+14 -43
View File
@@ -1,43 +1,14 @@
name: CI (Windows)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js 16
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Dependencies
run: yarn install
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
run: yarn run unitTests
working-directory: Extension
# - name: Run languageServer integration tests
# run: yarn run integrationTests
# working-directory: Extension
name: CI (Windows)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: windows-2022
platform: windows
@@ -0,0 +1,73 @@
# Reuable workflow for compiling and testing extension.
name: Compile and test extension
on:
workflow_call:
inputs:
runner-env:
required: true
type: string
platform:
# Expects 'mac', 'linux', or 'windows'
required: true
type: string
yarn-args:
type: string
jobs:
build:
runs-on: ${{ inputs.runner-env }}
steps:
- uses: actions/checkout@v3
- name: Use Node.js 16
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Dependencies
run: yarn install ${{ inputs.yarn-args }}
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Run unit tests
run: yarn test
working-directory: Extension
# NOTE : We can't run the test that require the native binary files
# yet -- there will be an update soon that allows the tester to
# acquire them on-the-fly
# - name: Run languageServer integration tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=SingleRootProject
# working-directory: Extension
# - name: Run E2E IntelliSense features tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=MultirootDeadlockTest
# 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
# - name: Run languageServer integration tests (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=SingleRootProject
# working-directory: Extension
# - name: Run E2E IntelliSense features tests (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=MultirootDeadlockTest
# working-directory: Extension
+2 -3
View File
@@ -1,5 +1,4 @@
*.js
test/**/index.ts
test/**/runTest.ts
tools/prepublish.js
dist/
vscode*.d.ts
+13 -3
View File
@@ -1,8 +1,8 @@
module.exports = {
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended"
//"plugin:@typescript-eslint/strict", // I want to enable this. Lots of little changes will happen.
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/strict",
],
"env": {
"browser": true,
@@ -11,7 +11,7 @@ module.exports = {
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "tsconfig.json",
"project": ["tsconfig.json", ".scripts/tsconfig.json"],
"ecmaVersion": 2022,
"sourceType": "module",
"warnOnUnsupportedTypeScriptVersion": false,
@@ -59,11 +59,17 @@ module.exports = {
}
}
],
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-extraneous-class": "off",
"no-case-declarations": "off",
"no-useless-escape": "off",
"no-floating-decimal": "error",
"keyword-spacing": ["error", { "before": true, "overrides": { "this": { "before": false } } }],
"arrow-spacing": ["error", { "before": true, "after": true }],
"semi-spacing": ["error", { "before": false, "after": true }],
"no-extra-parens": ["error", "all", { "nestedBinaryExpressions": false, "ternaryOperandBinaryExpressions": false }],
"@typescript-eslint/no-array-constructor": "error",
"@typescript-eslint/no-useless-constructor": "error",
"@typescript-eslint/no-for-in-array": "error",
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-misused-promises": "error",
@@ -82,6 +88,7 @@ module.exports = {
"@typescript-eslint/unified-signatures": "error",
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/method-signature-style": ["error", "method"],
"@typescript-eslint/space-infix-ops": "error",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
@@ -110,16 +117,19 @@ module.exports = {
"no-fallthrough": "error",
"no-invalid-this": "error",
"no-irregular-whitespace": "error",
"rest-spread-spacing": ["error", "never"],
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0 }],
"no-new-wrappers": "error",
"no-return-await": "error",
"no-sequences": "error",
"no-sparse-arrays": "error",
"no-trailing-spaces": "error",
"no-multi-spaces": "error",
"no-undef-init": "error",
"no-unsafe-finally": "error",
"no-unused-expressions": "error",
"no-unused-labels": "error",
"space-before-blocks": "error",
"no-var": "error",
"one-var": [
"error",
+1
View File
@@ -34,3 +34,4 @@ localized_string_ids.h
src/nativeStrings.ts
vscode*.d.ts
.scripts/_*
+64
View File
@@ -0,0 +1,64 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { error } from 'node:console';
import { resolve, sep } from 'node:path';
import { filepath } from '../src/Utility/Filesystem/filepath';
import { verbose } from '../src/Utility/Text/streams';
import { $root, Git, brightGreen, cyan, getModifiedIgnoredFiles, rimraf } from './common';
// notes:
// list all gitignore'd files that are modified: `git clean -Xd -n`
// list all untracked and ignored files that are modified/created: `git clean -Xd -n`
export async function main() {
await rimraf(resolve($root, 'dist'));
}
export async function all() {
await rimraf(...(await getModifiedIgnoredFiles()).filter(each => !each.includes('node_modules')));
}
export async function reset() {
verbose(`Resetting all .gitignored files in extension`);
await rimraf(...await getModifiedIgnoredFiles());
}
async function details(files: string[]) {
let all = await Promise.all(files.filter(each => each).map(async (each) => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const [filename, stats ] = await filepath.stats(each);
return {
filename: stats.isDirectory() ? cyan(`${each}${sep}**`) : brightGreen(`${each}`),
date: stats.mtime.toLocaleDateString().replace(/\b(\d)\//g, '0$1\/'),
time: stats.mtime.toLocaleTimeString().replace(/^(\d)\:/g, '0$1:'),
modified: stats.mtime
};
}));
all = all.sort((a, b) => a.modified.getTime() - b.modified.getTime());
// print a formatted table so the date and time are aligned
const max = all.reduce((max, each) => Math.max(max, each.filename.length), 0);
all.forEach(each => console.log(` ${each.filename.padEnd(max)} [${each.date} ${each.time}]`));
console.log('');
}
export async function show(opt?: string) {
switch (opt?.toLowerCase()) {
case 'new':
console.log(cyan('\n\nNew files:'));
const r = await Git('ls-files', '--others', '--exclude-standard', '-z');
return details(r.stdio.all().map(each => resolve(each.trim().replace(/\0/g, ''))));
case undefined:
case '':
case 'ignored':
case 'untracked':
console.log(cyan('\n\nUntracked+Ignored files:'));
return details(await getModifiedIgnoredFiles());
default:
return error(`Unknown option '${opt}'`);
}
}
+40
View File
@@ -0,0 +1,40 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { spawnSync } from 'child_process';
import { verbose } from '../src/Utility/Text/streams';
import { $args, $root, $scenario, assertAnyFile, brightGreen, gray, green, pwd } from './common';
import { resolve } from 'path';
import { getTestInfo } from '../test/common/selectTests';
import { install, options } from "./vscode";
export { install, reset } from './vscode';
export async function main() {
let ti = await getTestInfo($scenario);
if (!ti) {
// try using the first arg as a scenario name or location
ti = await getTestInfo($args[0], $args[0] ? resolve(pwd, $args[0]) : undefined);
if (ti) {
$args[0] = ti.workspace;
}
} else {
// we found it
$args.unshift(ti.workspace);
}
await assertAnyFile('dist/src/main.js', `The extension entry point '${$root}/dist/src/main.js is missing. You should run ${brightGreen("yarn compile")}\n\n`);
const { cli, args } = await install();
// example of installing an extension into code
//verbose(`Installing release version of 'ms-vscode.cpptools'`);
//spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' })
verbose(green('Launch VSCode'));
const ARGS = [...args, ...options.launchArgs.filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir=')), `--extensionDevelopmentPath=${$root}`, ...$args ];
verbose(gray(`${cli}\n ${ [...ARGS ].join('\n ')}`));
spawnSync(cli, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" } });
}
+343
View File
@@ -0,0 +1,343 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { Command, CommandFunction } from '../src/Utility/Process/program';
import { ok } from 'assert';
import { CommentJSONValue, parse, stringify } from 'comment-json';
import { mkdir as md, readFile, rm, writeFile } from 'fs/promises';
import { IOptions, glob as globSync } from 'glob';
import { dirname, resolve } from 'path';
import { chdir, cwd, env } from 'process';
import { setImmediate } from 'timers/promises';
import { promisify } from 'util';
import { filepath } from '../src/Utility/Filesystem/filepath';
import { is } from '../src/Utility/System/guards';
import { verbose } from '../src/Utility/Text/streams';
export const $root = resolve(`${__dirname}/..`);
export let $cmd = 'main';
export let $scenario = '';
// loop through the args and pick out --scenario=... and remove it from the $args and set $scenario
process.argv.slice(2).filter(each => !(each.startsWith('--scenario=') && ($scenario = each.substring('--scenario='.length))));
export const $args = process.argv.slice(2).filter(each => !each.startsWith('--'));
export const $switches = process.argv.slice(2).filter(each => each.startsWith('--'));
/** enqueue the call to the callback function to happen on the next available tick, and return a promise to the result */
export function then<T>(callback: () => Promise<T> | T): Promise<T> {
return setImmediate().then(callback);
}
export const pwd = env.INIT_CWD ?? cwd();
verbose(yellow(`pwd: ${pwd}`));
// ensure we're in the extension folder.
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')}`);
process.exit(1);
});
const git = new Command('git');
export const Git = async (...args: Parameters<Awaited<CommandFunction>>) => (await git)(...args);
export const GitClean = async (...args: Parameters<Awaited<CommandFunction>>) => (await new Command(await git, 'clean'))(...args);
export async function getModifiedIgnoredFiles() {
const {code, error, stdio } = await GitClean('-Xd', '-n');
if (code) {
throw new Error(`\n${error.all().join('\n')}`);
}
// return the full path of files that would be removed.
return Promise.all(stdio.filter("Would remove").map((s) => filepath.exists(s.replace(/^Would remove /, ''), $root)).filter(p => p));
}
export async function rimraf(...paths: string[]) {
const all = [];
for (const each of paths) {
if (!each) {
continue;
}
if (await filepath.isFolder(each)) {
verbose(`Removing folder ${red(each)}`);
all.push(rm(each, {recursive: true, force: true}));
continue;
}
verbose(`Removing file ${red(each)}`);
all.push(rm(each, {force: true}));
}
await Promise.all(all);
}
export async function mkdir(filePath: string) {
const [fullPath, info] = await filepath.stats(filePath, $root);
if (info) {
if (info.isDirectory()) {
return fullPath;
}
throw new Error(`Cannot create directory '${filePath}' because there is a file there.`);
}
await md(fullPath, { recursive: true });
return fullPath;
}
export const glob: (pattern: string, options?: IOptions) => Promise<string[]> = promisify(globSync);
export async function write(filePath: string, data: Buffer | string) {
await mkdir(dirname(filePath));
if (await filepath.isFile(filePath)) {
const content = await readFile(filePath);
if (is.string(data)) {
// if we're passed a text file, we should match the line endings of the existing file.
const textContent = content.toString();
// normalize the line endings to the same as the current file.
data = textContent.indexOf('\r\n') > -1 ? data.replace(/\r\n|\n/g, '\r\n') : data.replace(/\r\n|\n/g, '\n');
// if the text content is a match, we don't have to change anything
if (textContent === data) {
verbose(`Text file at '${filePath}' is up to date.`);
return;
}
} else {
// if the binary content is a match, we don't have to change anything
if (content.equals(data)) {
verbose(`File at '${filePath}' is up to date.`);
return;
}
}
}
verbose(`Writing file '${filePath}'`);
await writeFile(filePath, data);
}
export async function updateFiles(files: string[], dest: string | Promise<string>) {
const target = is.promise(dest) ? await dest : dest;
await Promise.all(files.map(async (each) => {
const sourceFile = await filepath.isFile(each, $root);
if (sourceFile) {
const targetFile = resolve(target, each);
await write(targetFile, await readFile(sourceFile));
}
}));
}
export async function go() {
if (require.main) {
// loop through the args and pick out the first non --arg and remove it from the $args and set $cmd
for (let i = 0; i < $args.length; i++) {
const each = $args[i];
if (!each.startsWith('--') && require.main.exports[each]) {
$cmd = each;
$args.splice(i, 1);
break;
}
}
verbose(`${yellow("Running task:")} ${green($cmd)} ${green($args.join(' '))}`);
require.main.exports[$cmd](...$args);
}
}
void then(go);
export async function read(filename: string) {
const content = await readFile(filename);
ok(content, `File '${filename}' has no content`);
return content.toString();
}
export async function readJson(filename: string, fallback = {}): Promise<CommentJSONValue> {
try {
return parse(await read(filename));
} catch {
return fallback as CommentJSONValue;
}
}
export async function writeJson(filename: string, object: CommentJSONValue) {
await write(filename, stringify(object, null, 4));
}
export function error(text: string) {
console.error(`\n${red('ERROR')}: ${text}`);
return true;
}
export function warn(text: string) {
console.error(`\n${yellow('WARNING')}: ${text}`);
return true;
}
export function note(text: string) {
console.error(`\n${cyan('NOTE')}: ${text}`);
}
export function underline(text: string) {
return `\u001b[4m${text}\u001b[0m`;
}
export function bold(text: string) {
return `\u001b[1m${text}\u001b[0m`;
}
export function dim(text: string) {
return `\u001b[2m${text}\u001b[0m`;
}
export function brightGreen(text: string) {
return `\u001b[38;2;19;161;14m${text}\u001b[0m`;
}
export function green(text: string) {
return `\u001b[38;2;78;154;6m${text}\u001b[0m`;
}
export function brightWhite(text: string) {
return `\u001b[38;2;238;238;236m${text}\u001b[0m`;
}
export function gray(text: string) {
return `\u001b[38;2;117;113;94m${text}\u001b[0m`;
}
export function yellow(text: string) {
return `\u001b[38;2;252;233;79m${text}\u001b[0m`;
}
export function red(text: string) {
return `\u001b[38;2;197;15;31m${text}\u001b[0m`;
}
export function cyan(text: string) {
return `\u001b[38;2;0;174;239m${text}\u001b[0m`;
}
export const hr = "===============================================================================";
export function heading(text: string, level = 1) {
switch (level) {
case 1:
return `${underline(bold(text))}`;
case 2:
return `${brightGreen(text)}`;
case 3:
return `${green(text)}`;
}
return `${bold(text)}\n`;
}
export function optional(text: string) {
return gray(text);
}
export function cmdSwitch(text: string) {
return optional(`--${text}`);
}
export function command(text: string) {
return brightWhite(bold(text));
}
export function hint(text: string) {
return green(dim(text));
}
export function count(num: number) {
return gray(`${num}`);
}
export function position(text: string) {
return gray(`${text}`);
}
export async function assertAnyFolder(oneOrMoreFolders: string | string[], errorMessage?: string): Promise<string> {
oneOrMoreFolders = is.array(oneOrMoreFolders) ? oneOrMoreFolders : [oneOrMoreFolders];
for (const each of oneOrMoreFolders) {
const result = await filepath.isFolder(each, $root);
if (result) {
verbose(`Folder ${brightGreen(each)} exists.`);
return result;
}
}
if (errorMessage) {
if (!$switches.includes('--quiet')) {
error(errorMessage);
}
process.exit(1);
}
}
export async function assertAnyFile(oneOrMoreFiles: string | string[], errorMessage?: string): Promise<string> {
oneOrMoreFiles = is.array(oneOrMoreFiles) ? oneOrMoreFiles : [oneOrMoreFiles];
for (const each of oneOrMoreFiles) {
const result = await filepath.isFile(each, $root);
if (result) {
verbose(`Folder ${brightGreen(each)} exists.`);
return result;
}
}
if (errorMessage) {
if (!$switches.includes('--quiet')) {
error(errorMessage);
}
process.exit(1);
}
}
const quiet = process.argv.includes('--quiet');
export async function checkPrep() {
let failing = false;
failing = !await assertAnyFolder('dist/test') && (quiet || warn(`The compiled test files are not in place.`)) || failing;
failing = !await assertAnyFolder('dist/walkthrough') && (quiet || warn(`The walkthrough files are not in place.`)) || failing;
failing = !await assertAnyFolder('dist/html') && (quiet || warn(`The html files are not in place.`)) || failing;
failing = !await assertAnyFolder('dist/schema') && (quiet || warn(`The schema files are not in place.`)) || failing;
failing = !await assertAnyFile('dist/nls.metadata.json') && (quiet || warn(`The extension translation file '${$root}/dist/nls.metadata.json is missing.`)) || failing;
failing = await checkDTS() || failing;
if (!failing) {
verbose('Prep files appear to be in place.');
}
return failing;
}
export async function checkCompiled() {
let failing = false;
failing = await checkDTS() || failing;
failing = !await assertAnyFile('dist/src/main.js') && (quiet || warn(`The extension entry point '${$root}/dist/src/main.js is missing.`)) || failing;
if (!failing) {
verbose('Compiled files appear to be in place.');
}
return failing;
}
export async function checkDTS() {
let failing = false;
failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`)) || failing;
failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`)) || failing;
if (!failing) {
verbose('VSCode d.ts files appear to be in place.');
}
return failing;
}
export async function checkBinaries() {
let failing = false;
failing = !await assertAnyFile(['bin/cpptools.exe', 'bin/cpptools']) && (quiet || warn(`The native binary files are not present. You should either build or install the native binaries\n\n.`)) || failing;
if (!failing) {
verbose('Native binary files appear to be in place.');
}
return failing;
}
+28
View File
@@ -0,0 +1,28 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { watch as watchFiles } from 'fs/promises';
import { filepath } from '../src/Utility/Filesystem/filepath';
import { verbose } from '../src/Utility/Text/streams';
import { $root, glob, mkdir, updateFiles } from './common';
export async function main() {
verbose(`Copying walkthrough media to extension/dist folder`);
await updateFiles(await glob('walkthrough/images/**/*'), mkdir('dist'));
}
export async function watch() {
const source = await filepath.isFolder('walkthrough/images', $root);
if (source) {
verbose(`Watching ${source} folder for changes.`);
console.log('Press Ctrl+C to exit.');
// eslint-disable-next-line @typescript-eslint/no-unused-vars
for await (const event of watchFiles(source, {recursive: true })) {
await main();
}
}
}
+134
View File
@@ -0,0 +1,134 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { parse } from 'comment-json';
import { resolve } from 'path';
import { read, write } from './common';
// ****************************
// Command: generate-native-strings
// The following is used to generate nativeStrings.ts and localized_string_ids.h from ./src/nativeStrings.json
// If adding localized strings to the native side, start by adding it to nativeStrings.json and use this to generate the others.
// ****************************
export async function main() {
const $root = resolve(`${__dirname}/..`);
const stringTable = parse(await read(`${$root}/src/nativeStrings.json`)) as any;
let nativeEnumContent = "";
let nativeStringTableContent = "";
let typeScriptSwitchContent = "";
let stringIndex = 1;
for (const property in stringTable) {
let stringValue = stringTable[property];
let hintValue;
if (typeof stringValue !== "string") {
hintValue = stringValue.hint;
stringValue = stringValue.text;
}
// Add to native enum
nativeEnumContent += ` ${property} = ${stringIndex},\n`;
// Add to native string table
nativeStringTableContent += ` ${JSON.stringify(stringValue)},\n`;
// Add to TypeScript switch
// Skip empty strings, which can be used to prevent enum/index reordering
if (stringValue !== "") {
// It's possible that a translation may skip "{#}" entries, so check for up to 50 of them.
let numArgs = 0;
for (let i = 0; i < 50; i++) {
if (stringValue.includes(`{${i}}`)) {
numArgs = i + 1;
}
}
typeScriptSwitchContent += ` case ${stringIndex}:\n`;
if (numArgs !== 0) {
typeScriptSwitchContent += ` if (stringArgs) {\n`;
if (hintValue) {
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
} else {
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
}
for (let i = 0; i < numArgs; i++) {
typeScriptSwitchContent += `, stringArgs[${i}]`;
}
typeScriptSwitchContent += `);\n break;\n }\n`;
}
if (hintValue) {
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
} else {
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
}
typeScriptSwitchContent += `);\n break;\n`;
}
++stringIndex;
}
// --------------------------------------------------------------------------------------------
// Generate the TypeScript file
// --------------------------------------------------------------------------------------------
const typeScriptContent = `/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
'use strict';
import * as nls from 'vscode-nls';
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
const localize: nls.LocalizeFunc = nls.loadMessageBundle();
export const localizedStringCount: number = ${stringIndex};
export function lookupString(stringId: number, stringArgs?: string[]): string {
let message: string = "";
switch (stringId) {
case 0:
// Special case for blank string
break;
${typeScriptSwitchContent}
default:
console.assert(\"Unrecognized string ID\");
break;
}
return message;
}
`;
// If the file isn't there, or the contents are different, write it out
await write(`${$root}/src/nativeStrings.ts`, typeScriptContent);
// --------------------------------------------------------------------------------------------
// Generate the native string header file
// --------------------------------------------------------------------------------------------
const nativeContents = `/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
#pragma once
// NOLINTBEGIN(modernize-raw-string-literal)
enum class localized_string_id : unsigned int
{
blank = 0,
${nativeEnumContent}};
inline static const char *localizable_strings[] = {
"",
${nativeStringTableContent}};
// NOLINTEND(modernize-raw-string-literal)
`;
// If the file isn't there, or the contents are different, write it out
await write(`${$root}/localized_string_ids.h`, nativeContents);
}
@@ -5,8 +5,8 @@
/* eslint-disable no-prototype-builtins */
import * as fs from 'fs';
import * as os from 'os';
import { resolve } from 'path';
import { $root, read, write } from './common';
function appendFieldsToObject(reference: any, obj: any): any {
// Make sure it is an object type
@@ -56,7 +56,7 @@ function updateDefaults(object: any, defaults: any): any {
function refReplace(definitions: any, ref: any): any {
// $ref is formatted as "#/definitions/ObjectName"
const referenceStringArray: string[] = ref['$ref'].split('/');
const referenceStringArray: string[] = ref.$ref.split('/');
// Getting "ObjectName"
const referenceName: string = referenceStringArray[referenceStringArray.length - 1];
@@ -71,7 +71,7 @@ function refReplace(definitions: any, ref: any): any {
ref = appendFieldsToObject(reference, ref);
// Remove $ref field
delete ref['$ref'];
delete ref.$ref;
return ref;
}
@@ -116,10 +116,10 @@ function mergeReferences(baseDefinitions: any, additionalDefinitions: any): void
}
}
function generateOptionsSchema(): void {
const packageJSON: any = JSON.parse(fs.readFileSync('package.json').toString());
const schemaJSON: any = JSON.parse(fs.readFileSync('tools/OptionsSchema.json').toString());
const symbolSettingsJSON: any = JSON.parse(fs.readFileSync('tools/VSSymbolSettings.json').toString());
export async function main() {
const packageJSON: any = JSON.parse(await read(resolve($root, 'package.json')));
const schemaJSON: any = JSON.parse(await read(resolve($root, 'tools/OptionsSchema.json')));
const symbolSettingsJSON: any = JSON.parse(await read(resolve($root, 'tools/VSSymbolSettings.json')));
mergeReferences(schemaJSON.definitions, symbolSettingsJSON.definitions);
@@ -135,15 +135,10 @@ function generateOptionsSchema(): void {
packageJSON.contributes.debuggers[1].configurationAttributes.attach = schemaJSON.definitions.CppvsdbgAttachOptions;
let content: string = JSON.stringify(packageJSON, null, 4);
if (os.platform() === 'win32') {
content = content.replace(/\n/gm, "\r\n");
}
// We use '\u200b' (unicode zero-length space character) to break VS Code's URL detection regex for URLs that are examples. This process will
// convert that from the readable espace sequence, to just an invisible character. Convert it back to the visible espace sequence.
content = content.replace(/\u200b/gm, "\\u200b");
content = content.replace(/\u200b/gm, "\\u200b") + "\n";
fs.writeFileSync('package.json', content);
await write('package.json', content);
}
generateOptionsSchema();
+95
View File
@@ -0,0 +1,95 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import * as fs from "fs";
import * as path from 'path';
import { parseString } from 'xml2js';
import { mkdir, write } from './common';
export async function main() {
const localizeRepoPath = process.argv[2];
const cpptoolsRepoPath = process.argv[3];
if (!localizeRepoPath || !cpptoolsRepoPath) {
console.error(`ERROR: Usage: ${path.parse(process.argv[0]).base} ${path.parse(process.argv[1]).base} <Localize repo path> <vscode-cpptools repo path>`);
return;
}
console.log("Importing EDGE strings from Localize repo: " + localizeRepoPath);
console.log("Writing to cpptools repo: " + cpptoolsRepoPath);
if (!fs.existsSync(path.join(localizeRepoPath, ".git"))) {
console.error("ERROR: Localize repo submodule is not initialized in Localize repo");
return;
}
const languages = [
{ id: "zh-tw", folderName: "cht", transifexId: "zh-hant" },
{ id: "zh-cn", folderName: "chs", transifexId: "zh-hans" },
{ id: "fr", folderName: "fra" },
{ id: "de", folderName: "deu" },
{ id: "it", folderName: "ita" },
{ id: "es", folderName: "esn" },
{ id: "ja", folderName: "jpn" },
{ id: "ko", folderName: "kor" },
{ id: "ru", folderName: "rus" },
{ id: "bg", folderName: "bul" }, // VS Code supports Bulgarian, but VS is not currently localized for those languages.
{ id: "hu", folderName: "hun" }, // VS Code supports Hungarian, but VS is not currently localized for those languages.
{ id: "pt-br", folderName: "ptb", transifexId: "pt-BR" },
{ id: "tr", folderName: "trk" },
{ id: "cs", folderName: "csy" },
{ id: "pl", folderName: "plk" }
];
const locFolderNames = fs.readdirSync(localizeRepoPath).filter(f => fs.lstatSync(path.join(localizeRepoPath, f)).isDirectory());
for (const locFolderName of locFolderNames) {
const lclPath = path.join(localizeRepoPath, locFolderName, "vc/vc/cpfeui.dll.lcl");
const languageInfo = languages.find(l => l.folderName === locFolderName);
if (!languageInfo) {
return;
}
const languageId = languageInfo.id;
const outputLanguageFolder = path.join(cpptoolsRepoPath, "Extension/bin/messages", languageId);
const outputPath = path.join(outputLanguageFolder, "messages.json");
const sourceContent = fs.readFileSync(lclPath, 'utf-8');
// Scan once, just to determine how many there are the size of the array we need
let highestValue = 0;
parseString(sourceContent, function (err, result) {
result.LCX.Item.forEach((item) => {
if (item.$.ItemId === ";String Table") {
item.Item.forEach((subItem) => {
const itemId = parseInt(subItem.$.ItemId, 10);
if (subItem.Str[0].Tgt) {
if (highestValue < itemId) {
highestValue = itemId;
}
}
});
}
});
});
const resultArray = new Array(highestValue);
parseString(sourceContent, function (err, result) {
result.LCX.Item.forEach((item) => {
if (item.$.ItemId === ";String Table") {
item.Item.forEach((subItem) => {
const itemId = parseInt(subItem.$.ItemId, 10);
if (subItem.Str[0].Tgt) {
resultArray[itemId] = subItem.Str[0].Tgt[0].Val[0].replace(/\]5D;/g, "]");
if (highestValue < itemId) {
highestValue = itemId;
}
}
});
}
});
});
await mkdir(outputLanguageFolder);
await write(outputPath, JSON.stringify(resultArray, null, 4) + "\n");
}
}
+17
View File
@@ -0,0 +1,17 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { gray, green, readJson } from './common';
export async function main() {
const pkg = await readJson('package.json') as Record<string, any>;
if (pkg.scripts) {
console.log(green('\n\nAvailable script commands:\n'));
for (const key of Object.keys(pkg.scripts)) {
console.log(green(`yarn ${key} - ${gray(pkg.scripts[key])}`));
}
console.log('');
}
}
+236
View File
@@ -0,0 +1,236 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { runTests } from '@vscode/test-electron';
import { spawnSync } from 'child_process';
import { CommentArray, CommentObject } from 'comment-json';
import { readdir } from 'fs/promises';
import { resolve } from 'path';
import { env } from 'process';
import { returns } from '../src/Utility/Async/returns';
import { filepath } from '../src/Utility/Filesystem/filepath';
import { is } from '../src/Utility/System/guards';
import { verbose } from '../src/Utility/Text/streams';
import { getTestInfo } from '../test/common/selectTests';
import { $args, $root, $scenario, assertAnyFile, assertAnyFolder, brightGreen, checkBinaries, cmdSwitch, cyan, error, gray, green, readJson, red, writeJson } from './common';
import { install, isolated, options } from './vscode';
export { install, reset } from './vscode';
const sowrite = process.stdout.write.bind(process.stdout) as (...args: unknown[]) => boolean;
const sewrite = process.stderr.write.bind(process.stderr) as (...args: unknown[]) => boolean;
const filters = [
/^\[(.*)\].*/,
/^Unexpected token A/,
/Cannot register 'cmake.cmakePath'/,
/\[DEP0005\] DeprecationWarning/,
/--trace-deprecation/,
/Iconv-lite warning/,
/^Extension '/,
/^Found existing install/
];
// remove unwanted messages from stdio
function filterStdio() {
process.stdout.write = function (...args: unknown[]) {
if (typeof args[0] === 'string') {
const text = args[0];
if (filters.some(each => text.match(each))) {
return true;
}
}
if (args[0] instanceof Buffer) {
const text = args[0].toString();
if (filters.some(each => text.match(each))) {
return true;
}
}
return sowrite(...args);
};
process.stderr.write = function (...args: unknown[]) {
if (typeof args[0] === 'string') {
const text = args[0];
if (filters.some(each => text.match(each))) {
return true;
}
}
if (args[0] instanceof Buffer) {
const text = args[0].toString();
if (filters.some(each => text.match(each))) {
return true;
}
}
return sewrite(...args);
};
}
filterStdio();
async function unitTests() {
await assertAnyFolder('dist/test/unit', `The folder '${$root}/dist/test/unit is missing. You should run ${brightGreen("yarn compile")}\n\n`);
const mocha = await assertAnyFile(["node_modules/.bin/mocha.cmd", "node_modules/.bin/mocha"], `Can't find the mocha testrunner. You might need to run ${brightGreen("yarn install")}\n\n`);
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit'});
verbose(`\n${green("NOTE:")} If you want to run a scenario test (end-to-end) use ${cmdSwitch('scenario=<NAME>')} \n\n`);
return result.status;
}
async function scenarioTests(assets: string, name: string, workspace: string) {
if (await checkBinaries()) {
process.exit(1);
}
return runTests({
...options,
extensionDevelopmentPath: $root,
extensionTestsPath: resolve($root, 'dist/test/common/selectTests'),
launchArgs: workspace ? [...options.launchArgs, workspace] : options.launchArgs,
extensionTestsEnv: {
SCENARIO: assets
}
});
}
export async function main() {
await assertAnyFolder('dist/test/', `The folder '${$root}/dist/test is missing. You should run ${brightGreen("yarn compile")}\n\n`);
const arg = $args.find(each => !each.startsWith("--"));
const specifiedScenario = $scenario || env.SCENARIO || await getScenarioFolder(arg);
const testInfo = await getTestInfo(specifiedScenario);
if (!testInfo) {
if (arg) {
return error(`Could not find scenario ${arg}`);
}
// lets just run the unit tests
process.exit(await unitTests());
}
// at this point, we're going to run some vscode tests
if (!await filepath.isFolder(isolated)) {
await install();
}
process.exit(await scenarioTests(testInfo.assets, testInfo.name, testInfo.workspace));
}
export async function all() {
if (await checkBinaries()) {
process.exit(1);
}
const finished: string[] = [];
if (await unitTests() !== 0) {
console.log(`${cyan(" UNIT TESTS: ")}${red("failed")}`);
process.exit(1);
}
finished.push(`${cyan(" UNIT TESTS: ")}${green("success")}`);
// at this point, we're going to run some vscode tests
if (!await filepath.isFolder(isolated)) {
await install();
}
try {
const scenarios = await getScenarioNames();
for (const each of scenarios) {
if (await filepath.isFolder(`${$root}/test/scenarios/${each}/tests`)) {
const ti = await getTestInfo(each);
if (ti) {
console.log(`\n\nRunning scenario ${each}`);
const result = await scenarioTests(ti.assets, ti.name, ti.workspace);
if (result) {
console.log(finished.join('\n'));
console.log(` ${cyan(`${ti.name} Tests:`)}${red("failed")}`);
process.exit(result);
}
finished.push(` ${cyan(`${ti.name} Tests:`)}${green("success")}`);
}
}
}
} catch (e) {
error(e);
} finally {
console.log(finished.join('\n'));
}
}
interface Input {
id: string;
type: string;
description: string;
options: CommentArray<{label: string; value: string}>;
}
export async function getScenarioNames() {
return (await readdir(`${$root}/test/scenarios`).catch(returns.none)).filter(each => each !== 'Debugger');
}
export async function getScenarioFolder(scenarioName: string) {
return scenarioName ? resolve(`${$root}/test/scenarios/${(await getScenarioNames()).find(each => each.toLowerCase() === scenarioName.toLowerCase())}`) : undefined;
}
export async function list() {
console.log(`\n${cyan("Scenarios: ")}\n`);
const names = await getScenarioNames();
const max = names.reduce((max, each) => Math.max(max, each), 0);
for (const each of names) {
console.log(` ${green(each.padEnd(max))}: ${gray(await getScenarioFolder(each))}`);
}
}
export async function regen() {
// update the .vscode/launch.json file with the scenarios
const scenarios = await getScenarioNames();
const launch = await readJson(`${$root}/.vscode/launch.json`) as CommentObject;
if (!is.object(launch)) {
return error(`The file ${$root}/.vscode/launch.json is not valid json`);
}
if (!is.array(launch.inputs)) {
return error(`The file ${$root}/.vscode/launch.json is missing the 'inputs' array`);
}
const inputs = launch.inputs as unknown as CommentArray<Input>;
const pickScenario = inputs.find(each => each.id === 'pickScenario');
if (!pickScenario) {
return error(`The file ${$root}/.vscode/launch.json is missing the 'pickScenario' input`);
}
const pickWorkspace = inputs.find(each => each.id === 'pickWorkspace');
if (!pickWorkspace) {
return error(`The file ${$root}/.vscode/launch.json is missing the 'pickWorkspace' input`);
}
for (const scenarioFolder of scenarios) {
const prefix = $root.replace(/\\/g, '/');
if (await filepath.isFolder(`${$root}/test/scenarios/${scenarioFolder}/tests`)) {
const testInfo = await getTestInfo(scenarioFolder);
if (testInfo) {
const label = `${scenarioFolder} `;
const value = testInfo.workspace.replace(/\\/g, '/').replace(prefix, '${workspaceFolder}');
const scenario = pickScenario.options.find(s => s.label === label);
if (!scenario) {
console.log(`Adding scenario ${green(scenarioFolder)} to pickScenario`);
pickScenario.options.push({ label, value });
} else {
verbose(`Skipping scenario ${scenarioFolder} because it already exists`);
}
const wrkspace = pickWorkspace.options.find(s => s.label === label);
if (!wrkspace) {
console.log(`Adding workspace ${green(scenarioFolder)} to pickWorkspace`);
pickWorkspace.options.push({ label, value });
} else {
verbose(`Skipping workspace ${scenarioFolder} because it already exists`);
}
} else {
verbose(`Skipping scenario ${scenarioFolder} because it doesn't look like there are any tests. (maybe try and run ${brightGreen("yarn compile")})`);
}
}
}
await writeJson(`${$root}/.vscode/launch.json`, launch);
}
+12
View File
@@ -0,0 +1,12 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "node16",
"moduleResolution": "node16",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"esModuleInterop": true
}
}
+52
View File
@@ -0,0 +1,52 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { checkBinaries, checkCompiled, checkDTS, checkPrep, error, green } from './common';
const quiet = process.argv.includes('--quiet');
export async function main() {
let failing = await checkPrep() && (quiet || error(`Files are not up to date. Run ${green('yarn prep')} to fix it.`));
failing = (await checkCompiled() && (quiet || error(`Compiled files are not present. Run ${green('yarn compile')} to fix it.`))) || failing;
failing = (await checkBinaries() && (quiet || error(`The native binary files are not present. You should either build or install the native binaries\n\n.`))) || failing;
if (failing) {
process.exit(1);
}
}
export async function compiled() {
let failing = false;
failing = (await checkCompiled() && (quiet || error(`Compiled files are not present. Run ${green('yarn compile')} to fix it.`))) || failing;
if (failing) {
process.exit(1);
}
}
export async function binaries() {
let failing = false;
failing = (await checkBinaries() && (quiet || error(`The native binary files are not present. You should either build or install the native binaries\n\n.`))) || failing;
if (failing) {
process.exit(1);
}
}
export async function prep() {
let failing = false;
failing = (await checkPrep() && (quiet || error(`Files are not up to date. Run ${green('yarn prep')} to fix it.`))) || failing;
if (failing) {
process.exit(1);
}
}
export async function dts() {
let failing = false;
failing = (await checkDTS() && (quiet || error(`VSCode import files are not present. Run ${green('yarn prep')} to fix it.`))) || failing;
if (failing) {
process.exit(1);
}
}
+61
View File
@@ -0,0 +1,61 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath } from '@vscode/test-electron';
import { createHash } from 'crypto';
import { tmpdir } from 'os';
import { resolve } from 'path';
import { verbose } from '../src/Utility/Text/streams';
import { mkdir, readJson, rimraf, write } from './common';
export const isolated = resolve(tmpdir(), '.vscode-test', createHash('sha256').update(__dirname).digest('hex').substring(0, 6));
export const extensionsDir = resolve(isolated, 'extensions');
export const userDir = resolve(isolated, 'user-data');
export const settings = resolve(userDir, "User", 'settings.json');
export const options = {
cachePath: `${isolated}/cache`,
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', `--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`, '--disable-workspace-trust']
};
export async function install() {
try {
// Create a new isolated directory for VS Code instance in the test folder, and make it specific to the extension folder so we can avoid collisions.
// keeping this out of the Extension folder means we're not worried about VS Code getting weird with locking files and such.
verbose(`Isolated VSCode test folder: ${isolated}`);
await mkdir(isolated);
const vscodeExecutablePath = await downloadAndUnzipVSCode(options);
const [cli, ...args] = resolveCliArgsFromVSCodeExecutablePath(vscodeExecutablePath).filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir='));
args.push(`--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`);
// install the appropriate extensions
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' });
// spawnSync(cli, [...args, '--install-extension', 'twxs.cmake'], { encoding: 'utf-8', stdio: 'ignore' });
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cmake-tools'], { encoding: 'utf-8', stdio: 'ignore' });
const settingsJson = await readJson(settings, {});
if (!settingsJson["workbench.colorTheme"]) {
settingsJson["workbench.colorTheme"] = "Tomorrow Night Blue";
}
settingsJson["git.openRepositoryInParentFolders"] = "never";
await write(settings, JSON.stringify(settingsJson, null, 4));
return {
cli, args
};
} catch (err: unknown) {
console.log(err);
}
}
export async function reset() {
verbose(`Removing VSCode test folder: ${isolated}`);
await rimraf(isolated);
}
+102 -102
View File
@@ -3,128 +3,75 @@
"version": "0.1.0",
"configurations": [
{
"name": "Launch Extension (development)",
// debugs the extension
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "Compile Dev",
},
{
"name": "Launch Extension (production)",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "TypeScript Compile",
},
{
"name": "Launch Extension (do not build)",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
]
},
{
"name": "Launch Extension (watch, development)",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "Compile Dev Watch",
},
{
"name": "Launch Extension (watch, production)",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "TypeScript Compile Watch",
},
{
"name": "Launch Unit Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--no-sandbox",
"--disable-updates",
"--skip-welcome",
"--skip-release-notes",
"--disable-workspace-trust",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests/index"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
"${workspaceFolder}/dist/**"
],
"preLaunchTask": "Pretest"
// you can use a watch task as a prelaunch task and it works like you'd want it to.
"preLaunchTask": "watch"
},
{
"name": "Launch Integration Tests",
// debugs the extension (selecting the workspace)
"name": "Run Extension-Select Workspace",
"type": "extensionHost",
"request": "launch",
"args": [
"--no-sandbox",
"--disable-updates",
"--skip-welcome",
"--skip-release-notes",
"--disable-workspace-trust",
"--extensionDevelopmentPath=${workspaceFolder}",
"${input:pickWorkspace}"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**"
],
// you can use a watch task as a prelaunch task and it works like you'd want it to.
"preLaunchTask": "watch"
},
{
// debug scenario tests (selecting the workspace)
"name": "VSCode Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"env": {
"SCENARIO": "${input:pickScenario}"
},
"args": [
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject/simpleCppProject.code-workspace",
"--no-sandbox",
"--disable-updates",
"--skip-welcome",
"--skip-release-notes",
"--disable-extensions",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer/index"
"--extensionTestsPath=${workspaceFolder}/dist/test/common/selectTests",
"--scenario=${input:pickScenario}",
"${input:pickScenario}"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
"${workspaceFolder}/dist/**"
],
"preLaunchTask": "Pretest",
},
{
"name": "Launch E2E IntelliSense features tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/../../Vcls-vscode-test/MultirootDeadlockTest/test.code-workspace",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/IntelliSenseFeatures/index"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "Pretest"
},
{
"name": "Node Attach",
"type": "node",
"request": "attach",
"port": 5858
// you can use a watch task as a prelaunch task and it works like you'd want it to.
"preLaunchTask": "watch"
},
{
// used for debugging unit tests
"name": "MochaTest",
"type": "node",
"request": "attach",
@@ -135,9 +82,62 @@
"<node_internals>/**"
],
"outFiles": [
"${workspaceFolder}/**/out/**/*.js",
"${workspaceFolder}/dist/**",
"!**/node_modules/**"
]
}
],
"inputs": [
{
"type": "pickString",
"id": "pickScenario",
"description": "Select which scenario to debug VSCode tests.",
"options": [
{
"label": "MultirootDeadlockTest ",
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
},
{
"label": "SimpleCppProject ",
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
},
{
"label": "SingleRootProject ",
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
},
{
"label": "CompilerDetection ",
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
}
]
},
{
"type": "pickString",
"id": "pickWorkspace",
"description": "Select which workspace scenario to debug VSCode.",
"default": "-n",
"options": [
{
"label": "(Debug with new window) ",
"value": "-n"
},
{
"label": "MultirootDeadlockTest ",
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
},
{
"label": "SimpleCppProject ",
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
},
{
"label": "SingleRootProject ",
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
},
{
"label": "CompilerDetection ",
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
}
]
}
]
}
+18 -3
View File
@@ -9,8 +9,8 @@
"typescript.tsdk": "./node_modules/typescript/lib", // we want to use the TS server from our node_modules folder to control its version
// if you install the mocha test explorer extension, you can run the unit tests from the test explorer UI
"testExplorer.useNativeTesting": true,
"mochaExplorer.files": "./**/internalUnitTests/**/*.test.js",
"mochaExplorer.watch": "./**/internalUnitTests/**/*.test.js",
"mochaExplorer.files": "./**/unit/**/*.test.js",
"mochaExplorer.watch": "./**/unit/**/*.test.js",
"mochaExplorer.ignore": [
"**/*skip*",
"**/dist/test/**/*.d.ts",
@@ -48,5 +48,20 @@
"eslint.format.enable": true,
"[javascript]": {
"editor.tabSize": 4,
}
},
"markdown.extension.list.indentationSize": "inherit",
"markdown.extension.toc.levels": "2..6",
"[markdown]": {
"editor.tabSize": 4,
},
"eslint.workingDirectories": [
{
"changeProcessCWD": true,
"directory": "./",
},
{
"changeProcessCWD": true,
"directory": "./.scripts",
}
],
}
+15 -193
View File
@@ -4,203 +4,25 @@
"version": "2.0.0",
"tasks": [
{
"label": "TypeScript Compile",
"group": {
"kind": "build",
"isDefault": true
},
"isBackground": false,
"type": "shell",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared"
},
"command": "yarn",
"args": [
"run",
"compile"
]
},
{
"label": "TypeScript Lint",
"group": "build",
"isBackground": false,
"type": "shell",
"command": "yarn",
"args": [
"run",
"lint"
],
"problemMatcher": {
"fileLocation": "absolute",
"source": "lint",
"pattern": [
{
"regexp": "(ERROR:) ([a-zA-Z/:\\-\\.]*)\\[(\\d+), (\\d+)\\]: (.*)",
"severity": 1,
"file": 2,
"line": 3,
"column": 4,
"message": 5
}
]
},
"dependsOn": [
"Compile Dev"
]
},
{
"label": "Compile Dev",
"group": "build",
"isBackground": false,
"type": "shell",
"command": "yarn",
"args": [
"run",
"compile-dev"
]
},
{
"label": "Pretest",
"group": "build",
"isBackground": false,
"type": "shell",
"command": "yarn",
"args": [
"run",
"pretest"
],
"dependsOn": [
"Compile Dev"
]
},
{
"label": "TypeScript Compile Watch",
"group": {
"kind": "build",
"isDefault": true
},
"isBackground": true,
"type": "shell",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared"
},
"command": "yarn",
"args": [
"run",
"compile-watch"
],
"problemMatcher": [
{
"owner": "typescript",
"source": "ts",
"applyTo": "closedDocuments",
"fileLocation": "absolute",
"severity": "error",
"pattern": [
{
"regexp": "\\[tsl\\] ERROR in (.*)?\\((\\d+),(\\d+)\\)",
"file": 1,
"line": 2,
"column": 3
},
{
"regexp": "\\s*TS\\d+:\\s*(.*)",
"message": 1
}
],
"background": {
"activeOnStart": true,
"beginsPattern": {
"regexp": "asset"
},
"endsPattern": {
"regexp": "webpack (.*?) compiled (.*?) ms"
}
}
}
]
},
{
"label": "Compile Dev Watch",
"group": "build",
"isBackground": true,
"type": "shell",
"command": "yarn",
"args": [
"run",
"compile-dev-watch"
],
"problemMatcher": [
{
"owner": "typescript",
"source": "ts",
"applyTo": "closedDocuments",
"fileLocation": "absolute",
"severity": "error",
"pattern": [
{
"regexp": "\\[tsl\\] ERROR in (.*)?\\((\\d+),(\\d+)\\)",
"file": 1,
"line": 2,
"column": 3
},
{
"regexp": "\\s*TS\\d+:\\s*(.*)",
"message": 1
}
],
"background": {
"activeOnStart": true,
"beginsPattern": {
"regexp": "asset"
},
"endsPattern": {
"regexp": "webpack (.*?) compiled (.*?) ms"
}
}
}
]
},
{
"label": "Compile:Watch (unit-tests)",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}"
},
"command": "yarn",
"args": [
"run",
"compile-watch-unit-tests"
],
"isBackground": true,
"problemMatcher": "$tsc-watch",
"group": {
"kind": "build",
"isDefault": false
}
},
{
"label": "Compile (unit-tests)",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}"
},
"command": "yarn",
"args": [
"run",
"compile-unit-tests"
],
"label": "compile",
"type": "npm",
"script": "compile",
"problemMatcher": "$tsc",
"group": {
"kind": "build",
"isDefault": false
"isDefault": true
}
},
{
"label": "watch",
"type": "npm",
"script": "watch",
"group": {
"kind": "build",
"isDefault": true
},
"isBackground": true,
"problemMatcher": "$tsc-watch",
}
]
}
+54 -47
View File
@@ -1,47 +1,54 @@
# ignore vscode settings for extension development
.vscode/**
# ignore binaries
obj/**
# ignore source files
tools/**
notices/**
test/**
src/**
# ignore .js files that are webpacked or only used for development
out/src/**
out/tools/**
# ignore ts files in ui
ui/*.ts
# ignore Azure-Pipelines files
jobs/**
cgmanifest.json
# ignore development files
tsconfig.json
test.tsconfig.json
tslint.json
.eslintrc.js
webpack.config.js
tscCompileList.txt
gulpfile.js
.gitattributes
.gitignore
CMakeLists.txt
debugAdapters/install.lock*
typings/**
**/*.map
import_edge_strings.js
localized_string_ids.h
translations_auto_pr.js
# ignore i18n language files
i18n/**
# ignore node_modules
node_modules/
# ignore vscode settings for extension development
.vscode/**
# ignore binaries
obj/**
# ignore source files
tools/**
notices/**
test/**
src/**
# ignore .js files that are webpacked or only used for development
out/src/**
out/tools/**
# don't include the local code and tests compiled files
dist/test/**
# no project scripts
.scripts/**
# ignore ts files in ui
ui/*.ts
# ignore Azure-Pipelines files
jobs/**
cgmanifest.json
# ignore development files
tsconfig.json
test.tsconfig.json
ui.tsconfig.json
tslint.json
.eslintrc.js
webpack.config.js
tscCompileList.txt
gulpfile.js
.gitattributes
.gitignore
CMakeLists.txt
debugAdapters/install.lock*
typings/**
**/*.map
import_edge_strings.js
localized_string_ids.h
translations_auto_pr.js
# ignore i18n language files
i18n/**
# ignore node_modules
node_modules/
+7
View File
@@ -0,0 +1,7 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
ignore-engines true
disable-self-update-check true
--run.silent true
+65
View File
@@ -1,5 +1,69 @@
# C/C++ for Visual Studio Code Changelog
## Version 1.19.1: November 21, 2023
### Bug Fixes
* Fix `Add '#include'` code actions for Mac frameworks. [#11579](https://github.com/microsoft/vscode-cpptools/issues/11579)
* Fix snippet and include completion. [#11715](https://github.com/microsoft/vscode-cpptools/issues/11715), [#11720](https://github.com/microsoft/vscode-cpptools/issues/11720)
## Version 1.19.0: November 16, 2023
### Bug Fixes
* Fix IntelliSense bug with type deduction using concepts. [#8132](https://github.com/microsoft/vscode-cpptools/issues/8132)
* Fix clang-format error messages not being logged. [#8944](https://github.com/microsoft/vscode-cpptools/issues/8944)
* Fix insert mode sometimes doing a replace for completion. [#10613](https://github.com/microsoft/vscode-cpptools/issues/10613)
* Fix indentation missing in markdown fenced code blocks. [#11379](https://github.com/microsoft/vscode-cpptools/issues/11379)
* Fix the parent path of the source file in compile_commands.json not being added to the browse.path. [#11631](https://github.com/microsoft/vscode-cpptools/issues/11631)
* Fix the database not getting updated in certain cases when switching configurations. [#11649](https://github.com/microsoft/vscode-cpptools/issues/11649)
* Fix a cpptools crash with certain projects. [#11674](https://github.com/microsoft/vscode-cpptools/issues/11674)
## Version 1.18.5: November 16, 2023
### Bug Fix
* Fix `~/vscode-cpptools` being used as the cache folder instead of `~/.cache/vscode-cpptools` on Linux. [#11693](https://github.com/microsoft/vscode-cpptools/issues/11693)
## Version 1.18.4: November 14, 2023
### Bug Fixes:
* Fix 'Extract to function' not scrolling to and selecting the added header declaration. [#11676](https://github.com/microsoft/vscode-cpptools/issues/11676)
* Fix the extension sometimes failing to activate with VS Code versions less than 1.85. [#11680](https://github.com/microsoft/vscode-cpptools/issues/11680)
## Version 1.18.3: November 13, 2023
### New Features
* Add an 'Extract to function' (or member function) code action after selecting code. [#1162](https://github.com/microsoft/vscode-cpptools/issues/1162)
* Compiler acquisition improvements. [#10525](https://github.com/microsoft/vscode-cpptools/issues/10525)
* Provide `Add '#include'` code action suggestions for IntelliSense errors related to symbols not being found. [#10791](https://github.com/microsoft/vscode-cpptools/issues/10791)
### Enhancements
* Add keyboard support for 'Inline Macro'. [#11260](https://github.com/microsoft/vscode-cpptools/issues/11260)
* Add setting `C_Cpp.refactoring.includeHeader` to customize whether or not to add an include header when doing a refactoring code action. [#11271](https://github.com/microsoft/vscode-cpptools/issues/11271)
* Improve the walkthrough wording. [#11320](https://github.com/microsoft/vscode-cpptools/issues/11320)
* Update clang-format and clang-tidy to 17. [PR #11491](https://github.com/microsoft/vscode-cpptools/pull/11491)
* Add a pre-release available notification. [PR #11569](https://github.com/microsoft/vscode-cpptools/pull/11569)
### Bug Fixes
* Fix the debugger truncating long strings when inspecting values. [#1786](https://github.com/microsoft/vscode-cpptools/issues/1786)
* Switch to using `XDG_CACHE_HOME` on Linux for the default database path. [#10191](https://github.com/microsoft/vscode-cpptools/issues/10191)
* Fix an IntelliSense error with std::is_trivially_copyable_v. [#10712](https://github.com/microsoft/vscode-cpptools/issues/10712)
* Fix incorrect status and commands with the tag parsing language status UI. [#10749](https://github.com/microsoft/vscode-cpptools/issues/10749)
* Fix an empty (`""`) `compilerPath` in a base configuration overriding the compiler specified by a custom configuration provider or a `compile_commands.json`. [#11373](https://github.com/microsoft/vscode-cpptools/issues/11373)
* Fix a startup crash when reading values from JSON (settings) that are not the type expected. [#11375](https://github.com/microsoft/vscode-cpptools/issues/11375)
* Fix a crash detected by crash telemetry. [#11401](https://github.com/microsoft/vscode-cpptools/issues/11401)
* Fix handling of an undefined `env` variable on Linux and macOS. [#11447](https://github.com/microsoft/vscode-cpptools/issues/11447)
* Fix multiple issues with querying `nvcc` (CUDA) as a compiler. [#11454](https://github.com/microsoft/vscode-cpptools/issues/11454)
* Fix an IntelliSense crash when hovering over an invalid array index expression. [#11510](https://github.com/microsoft/vscode-cpptools/issues/11510)
* Fix an issue that could cause a C language standard to be applied to a C++ file, or vice versa.
* Remove `cpp` and `clang-cpp` preprocessors from the list of detectable compilers.
* Fix an autocomplete crash bug (primarily on Mac).
## Version 1.17.5: August 28, 2023
### Bug Fixes
* Fix a language server crash for platforms that don't support the IntelliSense cache (AutoPCH). [#10789](https://github.com/microsoft/vscode-cpptools/issues/10789)
* Fix markdown in comments when inline/block code is used. [#11322](https://github.com/microsoft/vscode-cpptools/issues/11322)
* Fix Find All References and Call Hierarchy for C files when the cursor is at the end of a symbol. [#11338](https://github.com/microsoft/vscode-cpptools/issues/11338)
* Fix usage of the `/Zc:alignedNew-` MSVC compiler option. [#11350](https://github.com/microsoft/vscode-cpptools/issues/11350)
## Version 1.17.4: August 21, 2023
### Bug Fixes
* Fix crash recovery for the main extension process. [#11335](https://github.com/microsoft/vscode-cpptools/issues/11335)
* Fix an IntelliSense process crash when certain error messages occur with a language pack enabled. [#11336](https://github.com/microsoft/vscode-cpptools/issues/11336)
## Version 1.17.3: August 16, 2023
### Bug Fix
* Fix a regression with attaching the debugger to processes on Linux and macOS. [#11328](https://github.com/microsoft/vscode-cpptools/issues/11328)
@@ -18,6 +82,7 @@
* Fix an issue where the debugger would get stuck while using cl.exe options. [#10231](https://github.com/microsoft/vscode-cpptools/issues/10231)
* Fix C/C++ commands showing in the Command Palette with non-C/C++ files. [#10421](https://github.com/microsoft/vscode-cpptools/issues/10421)
* Fix the 'Select IntelliSense Configuration' command to also update an existing `compilerPath` in c_cpp_properties.json. [#10808](https://github.com/microsoft/vscode-cpptools/issues/10808)
* Update clang-format (and clang-tidy) to 16.0.6 to fix a bug. [#11027](https://github.com/microsoft/vscode-cpptools/issues/11027)
* Fix `#include` completion leaving an extra `>`. [#11042](https://github.com/microsoft/vscode-cpptools/issues/11042)
* Fix an issue with matching of glob patterns containing path delimiters. [#11132](https://github.com/microsoft/vscode-cpptools/issues/11132)
* Fix Create Declaration/Definition via `Quick Fix…` from hover tooltip. [#11157](https://github.com/microsoft/vscode-cpptools/issues/11157)
+455 -137
View File
@@ -332,6 +332,29 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---------------------------------------------------------
---------------------------------------------------------
webidl-conversions 3.0.1 - BSD-2-Clause
https://github.com/jsdom/webidl-conversions#readme
Copyright (c) 2014, Domenic Denicola
# The BSD 2-Clause License
Copyright (c) 2014, Domenic Denicola
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---------------------------------------------------------
---------------------------------------------------------
@@ -1177,12 +1200,14 @@ THE SOFTWARE.
---------------------------------------------------------
axios 0.26.1 - MIT
https://axios-http.com/
asynckit 0.4.0 - MIT
https://github.com/alexindigo/asynckit#readme
Copyright (c) 2014-present Matt Zabriskie
Copyright (c) 2016 Alex Indigo
Copyright (c) 2014-present Matt Zabriskie
The MIT License (MIT)
Copyright (c) 2016 Alex Indigo
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -1191,16 +1216,35 @@ 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 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.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
axios 1.6.1 - MIT
https://axios-http.com/
Copyright (c) 2023 Matt Zabriskie and contributors
Copyright (c) 2014-present Matt Zabriskie & Collaborators
# Copyright (c) 2014-present Matt Zabriskie & Collaborators
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.
---------------------------------------------------------
@@ -1419,36 +1463,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
buffer-crc32 0.2.13 - MIT
https://github.com/brianloveswords/buffer-crc32
Copyright (c) 2013 Brian J. Brennan
The MIT License
Copyright (c) 2013 Brian J. Brennan
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -1482,6 +1496,36 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
combined-stream 1.0.8 - MIT
https://github.com/felixge/node-combined-stream
Copyright (c) 2011 Debuggable Limited <[email protected]>
Copyright (c) 2011 Debuggable Limited <[email protected]>
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -1605,6 +1649,36 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
delayed-stream 1.0.0 - MIT
https://github.com/felixge/node-delayed-stream
Copyright (c) 2011 Debuggable Limited <[email protected]>
Copyright (c) 2011 Debuggable Limited <[email protected]>
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -1677,38 +1751,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.
---------------------------------------------------------
---------------------------------------------------------
fd-slicer 1.1.0 - MIT
https://github.com/andrewrk/node-fd-slicer#readme
Copyright (c) 2014 Andrew Kelley
Copyright (c) 2014 Andrew Kelley
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -1746,7 +1788,7 @@ THE SOFTWARE.
---------------------------------------------------------
follow-redirects 1.15.2 - MIT
follow-redirects 1.15.3 - MIT
https://github.com/follow-redirects/follow-redirects
Copyright 2014-present Olivier Lalonde <[email protected]> , James Talmage <[email protected]> , Ruben Verborgh
@@ -1771,6 +1813,36 @@ 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.
---------------------------------------------------------
---------------------------------------------------------
form-data 4.0.0 - MIT
https://github.com/form-data/form-data#readme
Copyright (c) 2012 Felix Geisendorfer ([email protected]) and contributors
Copyright (c) 2012 Felix Geisendörfer ([email protected]) 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.
---------------------------------------------------------
---------------------------------------------------------
@@ -2012,6 +2084,80 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
mime-db 1.52.0 - MIT
https://github.com/jshttp/mime-db#readme
Copyright (c) 2014 Jonathan Ong
Copyright (c) 2015-2022 Douglas Christopher Wilson
Copyright (c) 2014 Jonathan Ong <[email protected]>
Copyright (c) 2015-2022 Douglas Christopher Wilson <[email protected]>
(The MIT License)
Copyright (c) 2014 Jonathan Ong <[email protected]>
Copyright (c) 2015-2022 Douglas Christopher Wilson <[email protected]>
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.
---------------------------------------------------------
---------------------------------------------------------
mime-types 2.1.35 - MIT
https://github.com/jshttp/mime-types#readme
Copyright (c) 2014 Jonathan Ong
Copyright (c) 2015 Douglas Christopher Wilson
Copyright (c) 2014 Jonathan Ong <[email protected]>
Copyright (c) 2015 Douglas Christopher Wilson <[email protected]>
(The MIT License)
Copyright (c) 2014 Jonathan Ong <[email protected]>
Copyright (c) 2015 Douglas Christopher Wilson <[email protected]>
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -2072,6 +2218,70 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
nanoid 3.3.6 - MIT
https://github.com/ai/nanoid#readme
Copyright 2017 Andrey Sitnik <[email protected]>
The MIT License (MIT)
Copyright 2017 Andrey Sitnik <[email protected]>
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.
---------------------------------------------------------
---------------------------------------------------------
node-fetch 2.7.0 - MIT
https://github.com/bitinn/node-fetch
Copyright (c) 2016 David Frank
The MIT License (MIT)
Copyright (c) 2016 David Frank
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -2102,6 +2312,63 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
node-stream-zip 1.15.0 - MIT
https://github.com/antelle/node-stream-zip
Copyright (c) 2021 Antelle https://github.com/antelle
(c) 2020 Antelle https://github.com/antelle/node-stream-zip/blob/master/LICENSE
Copyright (c) 2012 Another-D-Mention Software and other contributors, http://www.another-d-mention.ro
Portions copyright https://github.com/cthackers/adm-zip https://raw.githubusercontent.com/cthackers/adm-zip/master/LICENSE
Copyright (c) 2021 Antelle https://github.com/antelle
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.
== dependency license: adm-zip ==
Copyright (c) 2012 Another-D-Mention Software and other contributors,
http://www.another-d-mention.ro/
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -2168,40 +2435,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
pend 1.2.0 - MIT
Copyright (c) 2014 Andrew Kelley
The MIT License (Expat)
Copyright (c) 2014 Andrew Kelley
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -2235,6 +2468,41 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
plist 3.1.0 - MIT
https://github.com/TooTallNate/node-plist#readme
Copyright (c) 2010-2017 Nathan Rajlich <[email protected]>
(The MIT License)
Copyright (c) 2010-2017 Nathan Rajlich <[email protected]>
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -2265,6 +2533,37 @@ 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.
---------------------------------------------------------
---------------------------------------------------------
proxy-from-env 1.1.0 - MIT
https://github.com/Rob--W/proxy-from-env#readme
Copyright (c) 2016-2018 Rob Wu <[email protected]>
The MIT License
Copyright (C) 2016-2018 Rob Wu <[email protected]>
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -2464,6 +2763,24 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
tr46 0.0.3 - MIT
https://github.com/Sebmaster/tr46.js#readme
MIT License
Copyright (c) <year> <copyright holders>
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -2604,6 +2921,39 @@ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON
OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
whatwg-url 5.0.0 - MIT
https://github.com/jsdom/whatwg-url#readme
(c) extraPathPercentEncodeSet.has
Copyright (c) 2015-2016 Sebastian Mayr
The MIT License (MIT)
Copyright (c) 20152016 Sebastian Mayr
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.
---------------------------------------------------------
---------------------------------------------------------
@@ -2636,38 +2986,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
yauzl 2.10.0 - MIT
https://github.com/thejoshwolfe/yauzl
Copyright (c) 2014 Josh Wolfe
The MIT License (MIT)
Copyright (c) 2014 Josh Wolfe
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.
---------------------------------------------------------
-------------------------------------------------------------------
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -138
View File
@@ -6,7 +6,7 @@
'use strict';
const gulp = require('gulp');
const eslint = require('gulp-eslint-new');
const fs = require('fs');
const nls = require('vscode-nls-dev');
const path = require('path');
@@ -58,24 +58,6 @@ const languages = [
{ id: "pl", folderName: "plk" }
];
/// Misc Tasks
const allTypeScript = [
'src/**/*.ts',
'!**/*.d.ts',
'!**/typings**'
];
gulp.task('lint', function () {
return gulp.src(allTypeScript)
.pipe(eslint({ overrideConfigFile: ".eslintrc.js" }))
.pipe(eslint.format())
.pipe(eslint.failAfterError());
});
gulp.task('copy-walkthrough-media', function () {
return gulp.src('walkthrough/images/**/*')
.pipe(gulp.dest('dist/walkthrough/images'));
});
// ****************************
// Command: translations-export
@@ -462,122 +444,3 @@ const generateJsonSchemaLoc = () => {
gulp.task('translations-generate', gulp.series(generateSrcLocBundle, generateAdditionalLocFiles, generateHtmlLoc, generateWalkthroughHtmlLoc, generateJsonSchemaLoc));
// ****************************
// Command: generate-native-strings
// The following is used to generate nativeStrings.ts and localized_string_ids.h from ./src/nativeStrings.json
// If adding localized strings to the native side, start by adding it to nativeStrings.json and use this to generate the others.
// ****************************
// A gulp task to parse ./src/nativeStrings.json and generate nativeStrings.ts, and localized_string_ids.h
gulp.task("generate-native-strings", (done) => {
const stringTable = jsonc.parse(fs.readFileSync('./src/nativeStrings.json').toString());
let nativeEnumContent = ""
let nativeStringTableContent = "";
let typeScriptSwitchContent = "";
let stringIndex = 1;
for (let property in stringTable) {
let stringValue = stringTable[property];
let hintValue;
if (typeof stringValue !== "string") {
hintValue = stringValue.hint;
stringValue = stringValue.text;
}
// Add to native enum
nativeEnumContent += ` ${property} = ${stringIndex},\n`;
// Add to native string table
nativeStringTableContent += ` ${JSON.stringify(stringValue)},\n`;
// Add to TypeScript switch
// Skip empty strings, which can be used to prevent enum/index reordering
if (stringValue != "") {
// It's possible that a translation may skip "{#}" entries, so check for up to 50 of them.
let numArgs = 0;
for (let i = 0; i < 50; i++) {
if (stringValue.includes(`{${i}}`)) {
numArgs = i + 1;
}
}
typeScriptSwitchContent += ` case ${stringIndex}:\n`;
if (numArgs != 0) {
typeScriptSwitchContent += ` if (stringArgs) {\n`;
if (hintValue) {
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
} else {
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
}
for (let i = 0; i < numArgs; i++) {
typeScriptSwitchContent += `, stringArgs[${i}]`;
}
typeScriptSwitchContent += `);\n break;\n }\n`;
}
if (hintValue) {
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
} else {
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
}
typeScriptSwitchContent += `);\n break;\n`;
}
++stringIndex;
};
let typeScriptContent = `/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
'use strict';
import * as nls from 'vscode-nls';
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
const localize: nls.LocalizeFunc = nls.loadMessageBundle();
export const localizedStringCount: number = ${stringIndex};
export function lookupString(stringId: number, stringArgs?: string[]): string {
let message: string = "";
switch (stringId) {
case 0:
// Special case for blank string
break;
${typeScriptSwitchContent}
default:
console.assert(\"Unrecognized string ID\");
break;
}
return message;
}
`;
console.log("Writing file: ./src/nativeStrings.ts");
fs.writeFileSync("./src/nativeStrings.ts", typeScriptContent, 'utf8');
let nativeContents = `/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
#pragma once
// NOLINTBEGIN(modernize-raw-string-literal)
enum class localized_string_id : unsigned int
{
blank = 0,
${nativeEnumContent}};
inline static const char *localizable_strings[] = {
"",
${nativeStringTableContent}};
// NOLINTEND(modernize-raw-string-literal)
`;
console.log("Writing file: localized_string_ids.h -- If changed, copy to VS repo: src/vc/designtime/vscode/Common/generated/");
fs.writeFileSync("localized_string_ids.h", nativeContents, 'utf8');
done();
});
+16 -7
View File
@@ -16,8 +16,8 @@
"c_cpp.command.configurationProviderSelect.title": "更改配置提供程序...",
"c_cpp.command.configurationEditJSON.title": "编辑配置(JSON)",
"c_cpp.command.configurationEditUI.title": "编辑配置(UI)",
"c_cpp.command.selectDefaultCompiler.title": "选择默认编译器...",
"c_cpp.command.selectIntelliSenseConfiguration.title": "选择 IntelliSense 配置...",
"c_cpp.command.installCompiler.title": "安装 C++ 编译器",
"c_cpp.command.rescanCompilers.title": "重新扫描编译器",
"c_cpp.command.switchHeaderSource.title": "切换标头/源",
"c_cpp.command.enableErrorSquiggles.title": "启用错误波形曲线",
@@ -416,8 +416,9 @@
"c_cpp.walkthrough.description": "深入了解 VS Code 丰富的 C++ 开发体验。",
"c_cpp.walkthrough.set.up.title": "设置 C++ 环境",
"c_cpp.walkthrough.activating.description": "激活 C++ 扩展以确定是否已设置 C++ 环境。\n正在激活扩展...",
"c_cpp.walkthrough.no.compilers.description": "无法在计算机上找到 C++ 编译器,这是使用 C++ 扩展所必需的。请按照右侧的说明安装一个编译器,然后单击下面的“查找我的新编译器”。\n[查找我的新编译器](command:C_Cpp.RescanCompilers?%7B%22sender%22%3A%22walkthrough%22%7D)",
"c_cpp.walkthrough.compilers.found.description": "C++ 扩展需要与 C++ 编译器一起使用。通过单击下面的按钮从计算机上已有的编译器中选择一个。\n[选择我的默认编译器](command:C_Cpp.SelectDefaultCompiler?%7B%22sender%22%3A%22walkthrough%22%7D)",
"c_cpp.walkthrough.no.compilers.windows.description": "无法在计算机上找到 C++ 编译器,这是使用 C++ 扩展所必需的。请按照右侧的说明安装一个编译器,然后单击下面的“查找我的新编译器”。\n[查找我的新编译器](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.no.compilers.description": "在你的计算机上找不到 C++ 编译器,而使用 C++ 扩展需要该编译器。请选择“安装 C++ 编译器”,为你安装编译器,或者按照右侧的说明安装编译器,然后单击下面的“查找我的新编译器”。\n[安装 C++ 编译器](command:C_Cpp.InstallCompiler?%22walkthrough%22)\n[查找我的新编译器](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.description": "C++ 扩展需要与 C++ 编译器一起使用。通过点击下面的按钮从机器上已有的编译器中选择一个。\n[选择我的默认编译器](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.altText": "显示在用户计算机上找到的选定默认编译器快捷检查和编译器列表的图像,其中一个已选定。",
"c_cpp.walkthrough.create.cpp.file.title": "创建 C++ 文件",
"c_cpp.walkthrough.create.cpp.file.description": "[打开](command:toSide:workbench.action.files.openFile)或[创建](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)一个 C++ 文件。请确保将其保存为 \".cpp\" 扩展名,例如 \"helloworld.cpp\"。\n[创建 C++ 文件](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)",
@@ -430,8 +431,16 @@
"c_cpp.walkthrough.run.debug.windows.description": "打开你的 C++ 文件,然后在编辑器右上角点击播放按钮,或者当你在该文件上时按下 F5。选择“cl.exe - 构建和调试活动文件”以使用调试器运行。",
"c_cpp.walkthrough.run.debug.windows.altText": "显示 C++ 文件中的断点、f5 按钮和右上角的运行符号的图像",
"c_cpp.walkthrough.customize.debugging.title": "自定义调试",
"c_cpp.walkthrough.customize.debugging.mac.description": "可以通过在播放按钮右侧选择“添加调试配置”来自定义调试配置(例如,在运行时传递参数给程序)。自定义调试配置将保存项目的 launch.json 文件中。\n[了解更多](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "可以通过在播放按钮右侧选择“添加调试配置”来自定义调试配置(例如,在运行时传递参数给程序)。自定义调试配置将保存项目的 launch.json 文件中。\n[了解更多](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "可以通过在播放按钮右侧选择“添加调试配置”来自定义调试配置(例如,在运行时传递参数给程序)。自定义的调试配置将保存项目的 launch.json 文件中。\n[了解更多](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "显示下拉列表中“添加调试配置”的图像"
"c_cpp.walkthrough.customize.debugging.mac.description": "若要自定义调试配置,请在活动栏中选择“资源管理器”,然后打开包含 C++ 文件的文件夹。打开 C++ 文件,然后选择播放按钮右侧“添加调试配置”。新的调试配置将保存项目的 launch.json 文件中。\n[了解详细信息](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "若要自定义调试配置,请在活动栏中选择“资源管理器”,然后打开包含 C++ 文件的文件夹。打开 C++ 文件,然后选择播放按钮右侧“添加调试配置”。新的调试配置将保存项目的 launch.json 文件中。\n[了解详细信息](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "若要自定义调试配置,请在活动栏中选择“资源管理器”,然后打开包含 C++ 文件的文件夹。打开 C++ 文件,然后选择播放按钮右侧“添加调试配置”。新的调试配置将保存项目的 launch.json 文件中。\n[了解详细信息](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "显示下拉列表中“添加调试配置”的图像",
"c_cpp.codeActions.refactor.inline.macro.title": "内联宏",
"c_cpp.codeActions.refactor.inline.macro.description": "将宏调用替换为展开的代码。",
"c_cpp.codeActions.refactor.extract.function.title": "提取到函数",
"c_cpp.codeActions.refactor.extract.function.description": "将所选代码提取到自由函数或成员函数。",
"c_cpp.configuration.refactoring.includeHeader.markdownDescription": "控制在执行重构操作(例如创建声明/定义)时是否将已重构的函数/符号的头文件包含在其相应的源文件。",
"c_cpp.configuration.refactoring.includeHeader.always.description": "如果头文件未显式包含在源文件中,则始终包含该头文件。",
"c_cpp.configuration.refactoring.includeHeader.ifNeeded.description": "仅当头文件未显式包含在源文件中或通过隐式包含来包含在内时,才包含该头文件。",
"c_cpp.configuration.refactoring.includeHeader.never.description": "从不包含头文件。"
}
@@ -4,5 +4,5 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"ignoring.lines.in.envfile": "忽略 {0} {1} 中不可分析的行:"
"ignoring.lines.in.envfile": "忽略 {0} {1} 中不可分析的行: "
}
@@ -14,5 +14,5 @@
"select.ssh.config.file": "选择 SSH 配置文件",
"yes": "是",
"no": "否",
"ssh.target.delete.confirmation": "是否确要永久删除“{0}”?"
"ssh.target.delete.confirmation": "是否确要永久删除“{0}”?"
}
@@ -0,0 +1,10 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"expands.to": "扩展到:",
"inline.macro": "内联宏",
"inline.macro.not.available": "内联宏在此位置不可用。"
}
@@ -11,44 +11,29 @@
"use.compiler": "使用 {0}",
"configuration.providers": "配置提供程序",
"compilers": "编译器",
"setCompiler.message": "未配置编译器。除非设置自己的配置,否则 IntelliSense 可能无法正常工作。",
"selectIntelliSenseConfiguration.string": "选择 IntelliSense 配置...",
"use.provider": "使用 {0}",
"use.compileCommands": "使用 {0}",
"selectAnotherCompiler.string": "在我的计算机上选择另一个编译器...",
"installCompiler.string": "帮助我安装编译器",
"installCompiler.string.nix": "安装编译器",
"noConfig.string": "请勿适用编译器进行配置(不推荐)",
"selectCompiler.string": "选择编译器",
"confirmCompiler.string": "是",
"selectCompiler.message": "已找到编译器 {0}。是否要使用此编译器配置 IntelliSense?",
"check.permissions": "EPERM: 检查“{0}”的权限",
"unable.to.start": "无法启动 C/C++ 语言服务器。IntelliSense 功能将被禁用。错误: {0}",
"server.crashed.restart": "语言服务器崩溃。正在重新启动...",
"server.crashed2": "在过去 3 分钟内,语言服务器崩溃了 5 次。它不会重新启动。",
"loggingLevel.changed": "{0} 已更改为: {1}",
"dismiss.button": "消除",
"diable.warnings.button": "禁用警告",
"disable.warnings.button": "禁用警告",
"unable.to.provide.configuration": "{0} 无法为“{1}”提供 IntelliSense 配置信息。将改为使用“{2}”配置中的设置。",
"config.not.found": "找不到请求的配置名称: {0}",
"unsupported.client": "不支持的客户端",
"timed.out": "将在 {0} 毫秒后超时。",
"update.intellisense.time": "更新 IntelliSense 时间(秒): {0}",
"configure.json.button": "配置(JSON)",
"configure.ui.button": "配置(UI)",
"dont.show.again": "不再显示",
"update.your.intellisense.settings": "更新 IntelliSense 设置或使用 Vcpkg 来安装用于帮助查找缺少的标头的库。",
"configure.your.intellisense.settings": "配置 IntelliSense 设置以帮助查找缺少的标头。",
"provider.configure.folder": "{0} 想要为“{1}”文件夹配置 IntelliSense。",
"provider.configure.this.folder": "{0} 想要为此文件夹配置 IntelliSense。",
"allow.button": "允许",
"dont.allow.button": "不允许",
"ask.me.later.button": "稍后询问我",
"a.compile.commands.file": "compile_commands.json 文件",
"auto-configure.intellisense.folder": "是否要使用 {0} 为“{1}”文件夹自动配置 IntelliSense?",
"auto-configure.intellisense.this.folder": "是否要使用 {0} 为此文件夹自动配置 IntelliSense?",
"yes.button": "是",
"no.button": "否",
"configurations.received": "已收到自定义配置:",
"browse.configuration.received": "已收到自定义浏览配置: {0}",
"fallback.clipboard": "已复制声明/定义。"
"fallback.clipboard": "已复制声明/定义。",
"handle.extract.name": "为提取的函数命名",
"handle.extract.new.function": "NewFunction",
"handle.extract.error": "未能提取到函数: {0}",
"invalid.edit": "未能提取到函数。生成了无效的编辑:“{0}”"
}
@@ -4,12 +4,12 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"fix_all_code_analysis_problems": "修复所有代码分析问题",
"clear_all_code_analysis_problems": "清除所有代码分析问题",
"fix_all_type_problems": "修复所有 {0} 问题",
"disable_all_type_problems": "禁用所有 {0} 问题",
"clear_all_type_problems": "清除所有{0}问题",
"clear_this_problem": "清除此 {0} 问题",
"fix_this_problem": "修复此 {0} 问题",
"show_documentation_for": "显示 {0} 文档"
"fix.all.code.analysis.problems": "修复所有代码分析问题",
"clear.all.code.analysis.problems": "清除所有代码分析问题",
"fix.all.type.problems": "修复所有 {0} 问题",
"disable.all.type.problems": "禁用所有 {0} 问题",
"clear.all.type.problems": "清除所有{0}问题",
"clear.this.problem": "清除此 {0} 问题",
"fix.this.problem": "修复此 {0} 问题",
"show.documentation.for": "显示 {0} 文档"
}
@@ -4,11 +4,11 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"build_active_file": "生成活动文件",
"compiler_details": "编译器:",
"task_generated_by_debugger": "调试器生成的任务。",
"build.active.file": "生成活动文件",
"compiler.details": "编译器:",
"task.generated.by.debugger": "调试器生成的任务。",
"cannot.build.non.cpp": "无法生成和调试,因为活动文件不是 C 或 C++ 源文件。",
"starting_build": "正在启动生成...",
"starting.build": "正在启动生成...",
"build.run.terminated": "生成运行已终止。",
"build.finished.with.error": "生成已完成,但出现错误。",
"build.finished.with.warnings": "生成已完成,但收到警告。",
@@ -8,8 +8,16 @@
"copy.vcpkg.command": "将用于安装“{0}”的 vcpkg 命令复制到剪贴板",
"on.disabled.command": "当 `C_Cpp.intelliSenseEngine` 设置为 `disabled` 时,无法执行与 IntelliSense 相关的命令。",
"client.not.found": "未找到客户端",
"ok": "确定",
"install.compiler.mac.title": "现在将安装 clang 编译器",
"install.compiler.mac.detail": "系统可能会提示你在 VS Code 终端窗口中键入密码以授权安装。",
"install.compiler.linux.title": "现在将安装 gcc 编译器",
"install.compiler.linux.detail": "系统可能会提示你在 VS Code 终端窗口中键入密码以授权安装。",
"configuration.select.first": "首先打开一个文件夹以选择配置。",
"configuration.provider.select.first": "首先打开一个文件夹以选择配置提供程序。",
"edit.configurations.open.first": "首先打开一个文件夹以编辑配置",
"code.action.aborted": "无法应用代码分析修复程序,因为文档已更改。"
"code.action.aborted": "无法应用代码分析修复程序,因为文档已更改。",
"prerelease.message": "C/C++ 扩展的预发行版本可用。是否要切换到它?",
"yes.button": "是",
"no.button": "否"
}
@@ -4,40 +4,47 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"updating.intellisense.text": "IntelliSense: 正在更新",
"idle.intellisense.text": "IntelliSense: 就绪",
"initializing.tagparser.text": "正在初始化工作区",
"indexing.tagparser.text": "正在索引工作区",
"running.tagparser.text": "分析工作区",
"paused.tagparser.text": "分析工作区: 已暂停",
"complete.tagparser.text": "分析完毕",
"initializing.tagparser.text": "正在初始化工作区",
"indexing.tagparser.text": "正在索引工作区",
"rescan.tagparse.text": "重新扫描工作区",
"c.cpp.parsing.open.files.tooltip": "正在分析打开的文件",
"click.to.preview": "单击以预览结果",
"updating.intellisense.text": "IntelliSense: 正在更新",
"idle.intellisense.text": "IntelliSense: 就绪",
"absent.intellisense.text": "IntelliSense: 未配置",
"running.analysis.text": "Code Analysis: 正在运行",
"paused.analysis.text": "Code Analysis: 已暂停",
"mode.analysis.prefix": "Code Analysis 模式:",
"click.to.preview": "单击以预览结果",
"c.cpp.configureIntelliSenseStatus.text": "配置 IntelliSense",
"c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 配置 IntelliSense",
"c.cpp.configuration.tooltip": "C/C++ 配置",
"c.cpp.references.statusbar": "C/C++ 引用状态",
"cpptools.status.intellisense": "C/C++ IntelliSense 状态",
"cpptools.status.tagparser": "C/C++ 标记分析器状态",
"cpptools.detail.tagparser": "正在初始化...",
"cpptools.status.codeanalysis": "C/C++ Code Analysis 状态",
"c.cpp.codeanalysis.statusbar.runNow": "立即运行",
"tagparser.pause.text": "暂停",
"tagparser.resume.text": "继续",
"intellisense.select.text": "选择编译器",
"rescan.intellisense.text": "重新扫描",
"rescan.intellisense.tooltip": "重新扫描 IntelliSense",
"cpptools.status.tagparser": "C/C++ 标记分析器状态",
"cpptools.detail.tagparser": "正在初始化...",
"tagparser.resume.text": "继续",
"tagparser.pause.text": "暂停",
"cpptools.status.codeanalysis": "C/C++ Code Analysis 状态",
"c.cpp.codeanalysis.statusbar.runNow": "立即运行",
"mode.codeanalysis.status.automatic": "自动",
"mode.codeanalysis.status.manual": "手动",
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "选项",
"startup.codeanalysis.status": "正在启动...",
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "立即运行",
"running.analysis.processed.tooltip": "正在运行: {0}/{1} ({2}%)",
"select.code.analysis.command": "选择代码分析命令...",
"cancel.analysis": "取消",
"resume.analysis": "继续",
"pause.analysis": "暂停",
"another.analysis": "启动另一个...",
"select.command": "选择命令...",
"active.analysis": "在活动文件上运行 Code Analysis",
"all.analysis": "在所有文件上运行 Code Analysis",
"open.analysis": "在打开的文件上运行 Code Analysis",
"c.cpp.references.statusbar": "C/C++ 引用状态",
"c.cpp.configuration.tooltip": "C/C++ 配置",
"c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 配置 IntelliSense",
"select.a.configuration": "选择配置...",
"edit.configuration.ui": "编辑配置(UI)",
"edit.configuration.json": "编辑配置(JSON)",
@@ -45,17 +52,5 @@
"active": "活动",
"none": "无",
"disable.configuration.provider": "禁用活动配置提供程序(如果适用)。",
"select.compile.commands": "选择 compile_commands.json...",
"select.workspace": "选择工作区文件夹…",
"select.command": "选择命令...",
"select.code.analysis.command": "选择代码分析命令...",
"resume.parsing": "恢复工作区分析",
"pause.parsing": "暂停工作区分析",
"cancel.analysis": "取消",
"resume.analysis": "继续",
"pause.analysis": "暂停",
"another.analysis": "启动另一个...",
"active.analysis": "在活动文件上运行 Code Analysis",
"all.analysis": "在所有文件上运行 Code Analysis",
"open.analysis": "在打开的文件上运行 Code Analysis"
"select.workspace": "选择工作区文件夹…"
}
@@ -7,7 +7,7 @@
"ssh.canceled": "已取消 SSH 命令",
"ssh.passphrase.input.box": "输入 ssh 密钥的密码{0}",
"ssh.enter.password.for.user": "输入用户 \"{0}\" 的密码",
"ssh_message_enterPassword": "输入密码",
"ssh.message.enter.password": "输入密码",
"ssh.continue.confirmation.placeholder": "您确定要继续吗?",
"ssh.host.key.confirmation.title": "\"{0}\" 具有指纹 \"{1}\"。",
"continue": "继续",
+21 -3
View File
@@ -8,6 +8,7 @@
"include_not_found_in_browse_path": "在 browse.path 中未找到包含文件。",
"update_browse_path": "编辑 \"browse.path\" 设置",
"add_to_include_path": "添加到 \"includePath\": {0}",
"add_missing_include_path": "添加“{0}”",
"edit_include_path": "编辑 \"includePath\" 设置",
"disable_error_squiggles": "禁用错误波形曲线",
"enable_error_squiggles": "启用所有错误波形曲线",
@@ -229,6 +230,7 @@
"failed_to_query_for_standard_version": "未能在路径 \"{0}\" 处查询编译器以获得默认标准版本。已对此编译器禁用编译器查询。",
"unrecognized_language_standard_version": "编译器查询返回了无法识别的语言标准版本。将改用受支持的最新版本。",
"intellisense_process_crash_detected": "检测到 IntelliSense 进程崩溃。",
"intellisense_feature_crash_detected": "检测到 IntelliSense 进程崩溃: {0}",
"return_values_label": "返回值:",
"nvcc_compiler_not_found": "找不到 nvcc 编译器: {0}",
"nvcc_host_compiler_not_found": "找不到 nvcc 主机编译器: {0}",
@@ -294,7 +296,23 @@
"refactor_operation_unsupported": "此操作不支持“%s”。",
"unknown_error": "未知错误。",
"run_select_intellisense_configuration": "请运行“选择 IntelliSense 配置...”命令以定位系统标头。",
"offer_copy_declaration": "\"{0}\" 的复制声明",
"offer_copy_definition": "\"{0}\" 的复制定义",
"refactor_copy_declaration_definition_failed": "将声明/定义复制到剪贴板失败: %s"
"offer_copy_declaration": "复制 '{0}' 的声明",
"offer_copy_definition": "复制 '{0}' 的定义",
"refactor_copy_declaration_definition_failed": "将声明/定义复制到剪贴板失败: %s",
"refactor_extract_to_function": "提取到函数",
"refactor_extract_to_free_function": "提取到自由函数",
"refactor_extract_to_member_function_in": "提取到“{0}”中的成员函数",
"refactor_extract_outsidefunc": "所选文本不在函数内。",
"refactor_extract_multifunc": "所选文本不能跨越不同的函数。",
"refactor_extract_variable": "变量\"%s\"在选中区域中声明,然后在它下方使用。",
"refactor_extract_macro": "预处理器宏“%s”在所选区域的下方使用。",
"refactor_extract_inactive": "所选的区域跨越不活动的预处理程序块。",
"refactor_extract_no_il": "所选的区域不包含任何可以被提取的代码。",
"refactor_extract_entirefunc": "所选区域不完全在函数的主体内。",
"refactor_extract_errors_selection": "所选内容包含 IntelliSense 错误。",
"refactor_extract_reference_c_code": "“%s”未在所选代码内声明,但正在被修改。C 代码不能通过引用传递参数。",
"refactor_extract_reference_return_c_code": "函数必须通过引用返回一个值。C 代码不能返回引用。",
"refactor_extract_xborder_jump": "所选代码和外层代码之间的存在跳跃。",
"refactor_extract_missing_return": "在所选代码中,一些控制路径退出而没有设置返回值。这只受标量、数字、和指针返回类型支持。",
"expand_selection": "展开选择(以启用“提取到函数”)"
}
@@ -27,7 +27,7 @@
"specify.a.compiler": "指定编译器路径或从下拉列表中选择检测到的编译器路径。",
"no.compiler.paths.detected": "(未检测到编译器路径)",
"compiler.args": "编译器参数",
"compiler.arguments": "用于修改所使用的包含或定义的编译器参数,例如 {0}、{1} 等。采用其他空格分隔参数的参数应在数组中作为单独的参数输入,例如,对于 {2} 使用 {3}。",
"compiler.arguments": "用于修改所使用的包含或定义的编译器参数,例如 {0}、{1} 等。采用其他空格分隔参数的参数应在数组中作为单独的参数输入,例如,对于 {2} 使用 {3}。",
"one.argument.per.line": "每行一个参数。",
"intellisense.mode": "IntelliSense 模式",
"intellisense.mode.description": "要使用的 IntelliSense 模式,该模式映射到 MSVC、gcc 或 Clang 的平台和体系结构变体。如果未设置或设置为 {0},则扩展将选择该平台的默认值。Windows 默认为 {1}Linux 默认为 {2}macOS 默认为 {3}。选择特定 IntelliSense 模式以替代 {4} 模式。仅指定 {5} 变体(例如 {6})的 IntelliSense 模式是旧模式,它们会根据主机平台自动转换为 {7} 变体。",
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"walkthough.mac.install.compiler": "在 macOS 上安装 C++ 编译器",
"walkthough.mac.text1": "如果要为 macOS 进行 C++ 开发,建议安装 Clang 编译器。只需在“终端”窗口(Ctrl+Shift+ `)中运行以下命令即可安装命令行开发人员工具:",
"walkthough.mac.text2": "然后,要验证已安装 clang,请在“终端”窗口中运行以下命令。你应该会看到一条消息,其中包含有关所使用的 Clang 版本的信息。"
"walkthrough.mac.install.compiler": "在 macOS 上安装 C++ 编译器",
"walkthrough.mac.text1": "如果要为 macOS 进行 C++ 开发,建议安装 Clang 编译器。只需在“终端”窗口(Ctrl+Shift+ `)中运行以下命令即可安装命令行开发人员工具:",
"walkthrough.mac.text2": "然后,要验证已安装 clang,请在“终端”窗口中运行以下命令。你应该会看到一条消息,其中包含有关所使用的 Clang 版本的信息。"
}
@@ -0,0 +1,23 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"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.note1": "注意",
"walkthrough.windows.note1.text": "可以使用 Visual Studio 生成工具中的 C++ 工具集以及 Visual Studio Code 以编译、生成并验证任何 C++ 代码库,前提是同时具有有效的 Visual Studio 许可证(社区版、专业版或企业版),且正积极将其用于开发该 C++ 代码库。",
"walkthrough.windows.verify.compiler": "正在验证编译器安装",
"walkthrough.windows.open.command.prompt": "在 Windows“开始”菜单中键入‘开发人员’以打开 {0}。",
"walkthrough.windows.command.prompt.name1": "VS 的开发人员命令提示",
"walkthrough.windows.check.install": "在 VS 的开发人员命令提示中键入 {0} 以检查 MSVC 安装。你应该会看到包含版本和基本使用情况说明的版权消息。",
"walkthrough.windows.note2": "注意",
"walkthrough.windows.note2.text": "要从命令行或 VS Code 使用 MSVC,必须从 {0} 运行。普通 shell (例如 {1}、 {2})或 Windows 命令提示符未设置必要的路径环境变量。",
"walkthrough.windows.command.prompt.name2": "VS 的开发人员命令提示",
"walkthrough.windows.other.compilers": "其他编译器选项",
"walkthrough.windows.text3": "如果面向的是 Windows 中的 Linux,请查看{0}。或者,可{1}。",
"walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 和 适用于 Linux 的 Windows 子系统(WSL)",
"walkthrough.windows.link.title2": "在带 MinGW 的 Windows 上安装 GCC"
}
@@ -0,0 +1,23 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"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.note1": "注意",
"walkthrough.windows.note1.text": "可以使用 Visual Studio 生成工具中的 C++ 工具集以及 Visual Studio Code 以编译、生成并验证任何 C++ 代码库,前提是同时具有有效的 Visual Studio 许可证(社区版、专业版或企业版),且正积极将其用于开发该 C++ 代码库。",
"walkthrough.windows.verify.compiler": "正在验证编译器安装",
"walkthrough.windows.open.command.prompt": "在 Windows“开始”菜单中键入‘开发人员’以打开 {0}。",
"walkthrough.windows.command.prompt.name1": "VS 的开发人员命令提示",
"walkthrough.windows.check.install": "在 VS 的开发人员命令提示中键入 {0} 以检查 MSVC 安装。你应该会看到包含版本和基本使用情况说明的版权消息。",
"walkthrough.windows.note2": "注意",
"walkthrough.windows.note2.text": "要从命令行或 VS Code 使用 MSVC,必须从 {0} 运行。普通 shell (例如 {1}、 {2})或 Windows 命令提示符未设置必要的路径环境变量。",
"walkthrough.windows.command.prompt.name2": "VS 的开发人员命令提示",
"walkthrough.windows.other.compilers": "其他编译器选项",
"walkthrough.windows.text3": "如果面向的是 Windows 中的 Linux,请查看{0}。或者,可{1}。",
"walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 和 适用于 Linux 的 Windows 子系统(WSL)",
"walkthrough.windows.link.title2": "在带 MinGW 的 Windows 上安装 GCC"
}
+16 -7
View File
@@ -16,8 +16,8 @@
"c_cpp.command.configurationProviderSelect.title": "變更組態提供者...",
"c_cpp.command.configurationEditJSON.title": "編輯組態 (JSON)",
"c_cpp.command.configurationEditUI.title": "編輯組態 (UI)",
"c_cpp.command.selectDefaultCompiler.title": "選取預設編譯器...",
"c_cpp.command.selectIntelliSenseConfiguration.title": "選取 IntelliSense 設定...",
"c_cpp.command.installCompiler.title": "安裝 C++ 編譯器",
"c_cpp.command.rescanCompilers.title": "掃描編譯器",
"c_cpp.command.switchHeaderSource.title": "切換標頭/來源",
"c_cpp.command.enableErrorSquiggles.title": "啟用錯誤波浪線",
@@ -416,8 +416,9 @@
"c_cpp.walkthrough.description": "深入了解 VS Code 豐富的 C++ 開發體驗。",
"c_cpp.walkthrough.set.up.title": "設定您的 C++ 環境",
"c_cpp.walkthrough.activating.description": "啟用 C++ 延伸模組,以判斷是否已設定您的 C++ 環境。\n正在啟用延伸模組...",
"c_cpp.walkthrough.no.compilers.description": "我們在您的電腦上找不到 C++ 編譯器,這是使用 C++ 延伸模組所需項目。請遵循右側的指示安裝,然後按一下下方的 [尋找我的新編譯器]。\n[尋找我的新編譯器](command:C_Cpp.RescanCompilers?%7B%22sender%22%3A%22walkthrough%22%7D)",
"c_cpp.walkthrough.compilers.found.description": "C++ 延伸模組可與 C++ 編譯器搭配運作。按一下下方的按鈕,從電腦上已存在的編譯器選取一個。\n[選取我的預設編譯器](command:C_Cpp.SelectDefaultCompiler?%7B%22sender%22%3A%22walkthrough%22%7D)",
"c_cpp.walkthrough.no.compilers.windows.description": "我們在您的電腦上找不到 C++ 編譯器,需要此編譯器才能使用 C++ 延伸模組。請遵循右側的指示安裝編譯器,然後按一下下方的 [尋找我的新編譯器]。\n[尋找我的新編譯器](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.no.compilers.description": "我們在您的電腦上找不到 C++ 編譯器,需要此編譯器才能使用 C++ 延伸模組。請選取 [安裝 C++ 編譯器] 為您安裝編譯器,或遵循右側的指示安裝編譯器,然後按一下下方的 [尋找我的新編譯器]。\n[安裝 C++ 編譯器](command:C_Cpp.InstallCompiler?%22walkthrough%22)\n[尋找我的新編譯器](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.description": "C++ 延伸模組可與 C++ 編譯器搭配運作。按一下下方的按鈕,從電腦上已存在的編譯器選取一個。\n[選取我的預設編譯器](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.altText": "影像顯示選取預設編譯器快速選取,以及在使用者電腦上找到的編譯器清單 (已選取其中一個)。",
"c_cpp.walkthrough.create.cpp.file.title": "建立 C++ 檔案",
"c_cpp.walkthrough.create.cpp.file.description": "[開啟](command:toSide:workbench.action.files.openFile) 或 [建立](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) C++ 檔案。務必使用 \".cpp\" 副檔名來儲存它,例如 \"helloworld.cpp\"。\n[建立 C++ 檔案](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)",
@@ -430,8 +431,16 @@
"c_cpp.walkthrough.run.debug.windows.description": "開啟您的 C++ 檔案,然後按一下編輯器右上角的播放按鈕,或在開啟檔案上時按 F5。選取 [cl.exe - 建置及偵錯使用中的檔案] 以使用偵錯工具執行。",
"c_cpp.walkthrough.run.debug.windows.altText": "影像顯示 C++ 檔案中的中斷點、F5 按鈕,以及右上方的執行符號",
"c_cpp.walkthrough.customize.debugging.title": "自訂偵錯",
"c_cpp.walkthrough.customize.debugging.mac.description": "您可以選取播放按鈕右的 [新增偵錯設定],以自訂您的偵錯設定 (例如,在執行階段將引數傳遞至程式)。自訂偵錯設定會儲存專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "您可以選取播放按鈕右的 [新增偵錯設定],以自訂您的偵錯設定 (例如,在執行階段將引數傳遞至程式)。自訂偵錯設定會儲存專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "您可以選取播放按鈕右邊的 [新增偵錯設定],以自訂您的偵錯設定 (例如,在執行階段將引數傳遞至程式)。自訂偵錯設定會儲存專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "影像顯示下拉式清單中 [新增偵錯設定]"
"c_cpp.walkthrough.customize.debugging.mac.description": "若要自訂您的偵錯設定,請在活動列中選取 [檔案總管],然後開啟包含 C++ 檔案的資料夾。開啟 C++ 檔案,然後選取 [播放] 按鈕右的 [新增偵錯設定]。新的偵錯組態已儲存專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "若要自訂您的偵錯設定,請在活動列中選取 [檔案總管],然後開啟包含 C++ 檔案的資料夾。開啟 C++ 檔案,然後選取 [播放] 按鈕右的 [新增偵錯設定]。新的偵錯組態已儲存專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "若要自訂您的偵錯設定,請在活動列中選取 [檔案總管],然後開啟包含 C++ 檔案的資料夾。開啟 C++ 檔案,然後選取 [播放] 按鈕右邊的 [新增偵錯設定]。新的偵錯組態已儲存專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "影像顯示下拉式清單中 [新增偵錯設定]",
"c_cpp.codeActions.refactor.inline.macro.title": "內嵌巨集",
"c_cpp.codeActions.refactor.inline.macro.description": "以展開程式碼取代巨集調用。",
"c_cpp.codeActions.refactor.extract.function.title": "擷取至函式",
"c_cpp.codeActions.refactor.extract.function.description": "將選取的程式碼擷取至自由或成員函式。",
"c_cpp.configuration.refactoring.includeHeader.markdownDescription": "控制在執行重構動作時,是否要將重構函式/符號的標頭檔案包含到其對應的來源檔案,例如建立宣告/定義。",
"c_cpp.configuration.refactoring.includeHeader.always.description": "如果標頭檔案未明確包含在其來源檔案中,則一律包含該標頭檔案。",
"c_cpp.configuration.refactoring.includeHeader.ifNeeded.description": "只有當標頭檔案未明確包含在其來源檔案或隱含包含時,才包含該標頭檔案。",
"c_cpp.configuration.refactoring.includeHeader.never.description": "永不包含標頭檔案。"
}
@@ -4,5 +4,5 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"ignoring.lines.in.envfile": "正在忽略 {0} {1} 中無法剖析的行:"
"ignoring.lines.in.envfile": "正在忽略 {0} {1} 中無法剖析的行: "
}
@@ -14,5 +14,5 @@
"select.ssh.config.file": "選取 SSH 設定檔",
"yes": "是",
"no": "否",
"ssh.target.delete.confirmation": "確定要永久刪除 \"{0}\" 嗎?"
"ssh.target.delete.confirmation": "確定要永久刪除 \"{0}\" 嗎?"
}
@@ -0,0 +1,10 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"expands.to": "展開至:",
"inline.macro": "內嵌巨集",
"inline.macro.not.available": "無法在此位置使用內嵌巨集。"
}
@@ -11,44 +11,29 @@
"use.compiler": "使用 {0}",
"configuration.providers": "設定提供者",
"compilers": "編譯器",
"setCompiler.message": "您尚未設定 IntelliSense。除非您自行加以設定,否則 IntelliSense 可能無法運作。",
"selectIntelliSenseConfiguration.string": "選取 IntelliSense 設定...",
"use.provider": "使用 {0}",
"use.compileCommands": "使用 {0}",
"selectAnotherCompiler.string": "在我的機器上選取另一個編譯器...",
"installCompiler.string": "協助我安裝編譯器",
"installCompiler.string.nix": "安裝編譯器",
"noConfig.string": "不要設定編譯器 (不建議)",
"selectCompiler.string": "選取編譯器",
"confirmCompiler.string": "是",
"selectCompiler.message": "找到編譯器 {0}。您要使用此編譯器來設定 IntelliSense 嗎?",
"check.permissions": "EPERM: 檢查 '{0}' 的權限",
"unable.to.start": "無法啟動 C/C + + 語言伺服器。將停用 IntelliSense 功能。錯誤: {0}",
"server.crashed.restart": "語言伺服器當機。正在重新啟動...",
"server.crashed2": "語言伺服器在過去 3 分鐘內發生 5 次故障。將不會重新啟動。",
"loggingLevel.changed": "{0} 已變更為: {1}",
"dismiss.button": "關閉",
"diable.warnings.button": "停用警告",
"disable.warnings.button": "停用警告",
"unable.to.provide.configuration": "{0} 無法提供 '{1}' 的 IntelliSense 組態資訊。將改用來自 '{2}' 組態的設定。",
"config.not.found": "找不到要求的組態名稱: {0}",
"unsupported.client": "不支援的用戶端",
"timed.out": "逾時 ({0} 毫秒內)。",
"update.intellisense.time": "更新 IntelliSense 時間 (秒): {0}",
"configure.json.button": "設定 (JSON)",
"configure.ui.button": "設定 (UI)",
"dont.show.again": "不要再顯示",
"update.your.intellisense.settings": "更新您的 IntelliSense 設定或使用 Vcpkg 安裝程式庫,以協助找出缺少的標頭。",
"configure.your.intellisense.settings": "設定您的 IntelliSense 設定,以協助找出缺少的標頭。",
"provider.configure.folder": "{0} 想要為 '{1}' 資料夾設定 IntelliSense。",
"provider.configure.this.folder": "{0} 想要為此資料夾設定 IntelliSense。",
"allow.button": "允許",
"dont.allow.button": "不允許",
"ask.me.later.button": "稍後詢問我",
"a.compile.commands.file": "compile_commands.json 檔案",
"auto-configure.intellisense.folder": "是否要使用 {0} 自動設定 '{1}' 資料夾的 IntelliSense?",
"auto-configure.intellisense.this.folder": "是否要使用 {0} 自動設定此資料夾的 IntelliSense?",
"yes.button": "是",
"no.button": "否",
"configurations.received": "收到的自訂組態:",
"browse.configuration.received": "收到的自訂瀏覽組態: {0}",
"fallback.clipboard": "已複製宣告/定義。"
"fallback.clipboard": "已複製宣告/定義。",
"handle.extract.name": "為擷取的函式命名",
"handle.extract.new.function": "NewFunction",
"handle.extract.error": "無法擷取至函式: {0}",
"invalid.edit": "無法擷取至函式。產生了無效編輯: '{0}'"
}
@@ -4,12 +4,12 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"fix_all_code_analysis_problems": "修正所有程式碼分析問題",
"clear_all_code_analysis_problems": "清除所有程式碼分析問題",
"fix_all_type_problems": "修正所有 {0} 問題",
"disable_all_type_problems": "停用所有 {0} 問題",
"clear_all_type_problems": "清除所有 {0} 問題",
"clear_this_problem": "清除此 {0} 問題",
"fix_this_problem": "修正此 {0} 問題",
"show_documentation_for": "顯示 {0} 的文件"
"fix.all.code.analysis.problems": "修正所有程式碼分析問題",
"clear.all.code.analysis.problems": "清除所有程式碼分析問題",
"fix.all.type.problems": "修正所有 {0} 問題",
"disable.all.type.problems": "停用所有 {0} 問題",
"clear.all.type.problems": "清除所有 {0} 問題",
"clear.this.problem": "清除此 {0} 問題",
"fix.this.problem": "修正此 {0} 問題",
"show.documentation.for": "顯示 {0} 的文件"
}
@@ -4,11 +4,11 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"build_active_file": "建置使用中檔案",
"compiler_details": "編譯器:",
"task_generated_by_debugger": "偵錯工具產生的工作。",
"build.active.file": "建置使用中檔案",
"compiler.details": "編譯器:",
"task.generated.by.debugger": "偵錯工具產生的工作。",
"cannot.build.non.cpp": "因為作用中的檔案不是 C 或 C++ 來源檔案,所以無法建立和偵錯。",
"starting_build": "正在開始建置...",
"starting.build": "正在開始建置...",
"build.run.terminated": "已終止建置執行。",
"build.finished.with.error": "建置已完成,但發生錯誤。",
"build.finished.with.warnings": "建置已完成,但出現警告。",
@@ -8,8 +8,16 @@
"copy.vcpkg.command": "將用於安裝 '{0}' 的 vcpkg 命令複製到剪貼簿",
"on.disabled.command": "當 `C_Cpp.intelliSenseEngine` 設為 `disabled` 時,無法執行IntelliSense 的相關命令。",
"client.not.found": "找不到用戶端",
"ok": "確定",
"install.compiler.mac.title": "現在將安裝 clang 編譯器",
"install.compiler.mac.detail": "系統可能會提示您在 VS Code 終端機視窗中輸入密碼以授權安裝。",
"install.compiler.linux.title": "現在將安裝 GCC 編譯器",
"install.compiler.linux.detail": "系統可能會提示您在 VS Code 終端機視窗中輸入密碼以授權安裝。",
"configuration.select.first": "先開啟資料夾以選取設定。",
"configuration.provider.select.first": "先開啟資料夾以選取設定提供者。",
"edit.configurations.open.first": "先開啟資料夾以編輯組態",
"code.action.aborted": "無法套用程式碼分析修正,因為文件已變更。"
"code.action.aborted": "無法套用程式碼分析修正,因為文件已變更。",
"prerelease.message": "已可使用 C/C++ 延伸模組的發行前版本。您要切換到此版本嗎?",
"yes.button": "是",
"no.button": "否"
}
@@ -4,40 +4,47 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"updating.intellisense.text": "IntelliSense: 更新中",
"idle.intellisense.text": "IntelliSense: 就緒",
"initializing.tagparser.text": "正在初始化工作區",
"indexing.tagparser.text": "索引工作區",
"running.tagparser.text": "剖析工作區",
"paused.tagparser.text": "剖析工作區: 已暫停",
"complete.tagparser.text": "剖析完成",
"initializing.tagparser.text": "正在初始化工作區",
"indexing.tagparser.text": "索引工作區",
"rescan.tagparse.text": "重新掃描工作區",
"c.cpp.parsing.open.files.tooltip": "剖析開啟的檔案",
"click.to.preview": "按一下以預覽結果",
"updating.intellisense.text": "IntelliSense: 更新中",
"idle.intellisense.text": "IntelliSense: 就緒",
"absent.intellisense.text": "IntelliSense: 未設定",
"running.analysis.text": "Code Analysis: 執行中",
"paused.analysis.text": "Code Analysis: 已暫停",
"mode.analysis.prefix": "Code Analysis 模式: ",
"click.to.preview": "按一下以預覽結果",
"c.cpp.configureIntelliSenseStatus.text": "設定 IntelliSense",
"c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 設定 IntelliSense",
"c.cpp.configuration.tooltip": "C/C++ 組態",
"c.cpp.references.statusbar": "C/C++ 參考狀態",
"cpptools.status.intellisense": "C/C++ IntelliSense 狀態",
"cpptools.status.tagparser": "C/C++ 標記剖析器狀態",
"cpptools.detail.tagparser": "正在初始化...",
"cpptools.status.codeanalysis": "C/C++ Code Analysis 狀態",
"c.cpp.codeanalysis.statusbar.runNow": "立即執行",
"tagparser.pause.text": "暫停",
"tagparser.resume.text": "繼續",
"intellisense.select.text": "選取編譯器",
"rescan.intellisense.text": "重新掃描",
"rescan.intellisense.tooltip": "重新掃描 IntelliSense",
"cpptools.status.tagparser": "C/C++ 標記剖析器狀態",
"cpptools.detail.tagparser": "正在初始化...",
"tagparser.resume.text": "繼續",
"tagparser.pause.text": "暫停",
"cpptools.status.codeanalysis": "C/C++ Code Analysis 狀態",
"c.cpp.codeanalysis.statusbar.runNow": "立即執行",
"mode.codeanalysis.status.automatic": "自動",
"mode.codeanalysis.status.manual": "手動",
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "選項",
"startup.codeanalysis.status": "正在啟動...",
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "立即執行",
"running.analysis.processed.tooltip": "正在執行: {0} / {1} ({2}%)",
"select.code.analysis.command": "選取程式碼分析命令...",
"cancel.analysis": "取消",
"resume.analysis": "繼續",
"pause.analysis": "暫停",
"another.analysis": "啟動另一個...",
"select.command": "選取命令...",
"active.analysis": "在使用中檔案上執行程式碼分析",
"all.analysis": "在所有檔案上執行程式碼分析",
"open.analysis": "在開啟檔案上執行程式碼分析",
"c.cpp.references.statusbar": "C/C++ 參考狀態",
"c.cpp.configuration.tooltip": "C/C++ 組態",
"c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 設定 IntelliSense",
"select.a.configuration": "選取組態...",
"edit.configuration.ui": "編輯組態 (UI)",
"edit.configuration.json": "編輯組態 (JSON)",
@@ -45,17 +52,5 @@
"active": "使用中",
"none": "無",
"disable.configuration.provider": "如果適用,停用現有組態提供者。",
"select.compile.commands": "選取 compile_commands.json...",
"select.workspace": "選取工作區資料夾...",
"select.command": "選取命令...",
"select.code.analysis.command": "選取程式碼分析命令...",
"resume.parsing": "繼續工作區剖析",
"pause.parsing": "暫停工作區剖析",
"cancel.analysis": "取消",
"resume.analysis": "繼續",
"pause.analysis": "暫停",
"another.analysis": "啟動另一個...",
"active.analysis": "在使用中檔案上執行程式碼分析",
"all.analysis": "在所有檔案上執行程式碼分析",
"open.analysis": "在開啟檔案上執行程式碼分析"
"select.workspace": "選取工作區資料夾..."
}
@@ -7,7 +7,7 @@
"ssh.canceled": "SSH 命令已取消",
"ssh.passphrase.input.box": "輸入 ssh 金鑰 {0} 的複雜密碼",
"ssh.enter.password.for.user": "輸入使用者 \"{0}\" 的密碼",
"ssh_message_enterPassword": "輸入密碼",
"ssh.message.enter.password": "輸入密碼",
"ssh.continue.confirmation.placeholder": "您確定要繼續嗎?",
"ssh.host.key.confirmation.title": "「{0}」具有指紋「{1}」。",
"continue": "繼續",
+19 -1
View File
@@ -8,6 +8,7 @@
"include_not_found_in_browse_path": "在 browse.path 中找不到包含檔案。",
"update_browse_path": "編輯 \"browse.path\" 設定",
"add_to_include_path": "新增至 \"includePath\": {0}",
"add_missing_include_path": "新增 '{0}'",
"edit_include_path": "編輯 \"includePath\" 設定",
"disable_error_squiggles": "停用錯誤波浪線",
"enable_error_squiggles": "啟用所有錯誤波浪線",
@@ -229,6 +230,7 @@
"failed_to_query_for_standard_version": "無法查詢位於路徑 \"{0}\" 的編譯器預設標準版本。已停用此編譯器的編譯器查詢。",
"unrecognized_language_standard_version": "編譯器查詢傳回無法辨識的語言標準版本。將改用支援的最新版本。",
"intellisense_process_crash_detected": "偵測到 IntelliSense 流程損毀。",
"intellisense_feature_crash_detected": "偵測到 IntelliSense 流程當機: {0}",
"return_values_label": "傳回值:",
"nvcc_compiler_not_found": "找不到 nvcc 編譯器: {0}",
"nvcc_host_compiler_not_found": "找不到 nvcc 主機編譯器: {0}",
@@ -296,5 +298,21 @@
"run_select_intellisense_configuration": "請執行 'Select IntelliSense Configuration...' 命令以尋找您的系統標頭。",
"offer_copy_declaration": "複製 '{0}' 的宣告",
"offer_copy_definition": "複製 '{0}' 的定義",
"refactor_copy_declaration_definition_failed": "將宣告/定義複製到剪貼簿已失敗: %s"
"refactor_copy_declaration_definition_failed": "將宣告/定義複製到剪貼簿已失敗: %s",
"refactor_extract_to_function": "擷取至函式",
"refactor_extract_to_free_function": "擷取至自由函式",
"refactor_extract_to_member_function_in": "擷取至 '{0}' 中的成員函數",
"refactor_extract_outsidefunc": "選取的文字不在函式中。",
"refactor_extract_multifunc": "選取的文字不得跨越不同的函式。",
"refactor_extract_variable": "選取的區域中已宣告變數 '%s',且在宣告後已使用該變數。",
"refactor_extract_macro": "前置處理器巨集 '%s' 已用於以下選取的區域。",
"refactor_extract_inactive": "選取的區域跨越非現用前置處理器區塊。",
"refactor_extract_no_il": "選取的區域未包含任何可擷取的程式碼。",
"refactor_extract_entirefunc": "選取的區域不完全在函式的主體內。",
"refactor_extract_errors_selection": "選取範圍包含 IntelliSense 錯誤。",
"refactor_extract_reference_c_code": "'%s' 未在所選取的程式碼中宣告,但已遭修改。C 程式碼無法藉傳址傳回引數。",
"refactor_extract_reference_return_c_code": "函式必須藉傳址傳回值。C 程式碼無法傳回參考。",
"refactor_extract_xborder_jump": "所選程式碼與周圍的程式碼之間存在跳躍。",
"refactor_extract_missing_return": "在選取的程式碼中,有一些控制項路徑未設定傳回值便結束。只有純量、數值與指標傳回類型支援此作法。",
"expand_selection": "展開選取範圍 (以啟用 [擷取至函式])"
}
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"walkthough.mac.install.compiler": "在 macOS 上安裝 C++ 編譯器",
"walkthough.mac.text1": "如果您執行 macOS 的 C++ 開發,建議您安裝 Clang 編譯器。您只需要在終端機視窗 (Ctrl+Shift+`) 中執行下列命令,以安裝命令列開發人員工具:",
"walkthough.mac.text2": "然後,若要確認是否已安裝 Clang,請在終端視窗中執行下列命令。您應該會看到一個訊息,其中包含您目前使用之 Clang 版本的資訊。"
"walkthrough.mac.install.compiler": "在 macOS 上安裝 C++ 編譯器",
"walkthrough.mac.text1": "如果您執行 macOS 的 C++ 開發,建議您安裝 Clang 編譯器。您只需要在終端機視窗 (Ctrl+Shift+`) 中執行下列命令,以安裝命令列開發人員工具:",
"walkthrough.mac.text2": "然後,若要確認是否已安裝 Clang,請在終端視窗中執行下列命令。您應該會看到一個訊息,其中包含您目前使用之 Clang 版本的資訊。"
}
@@ -0,0 +1,23 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"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.note1": "備註",
"walkthrough.windows.note1.text": "您可以使用 Visual Studio Build Tools 中的 C++ 工具組以及 Visual Studio Code 來編譯、組建及驗證任何 C++ 程式碼基底,只要您也擁有有效的 Visual Studio 授權 (社群版、專業版或企業版),且您正積極開發該 C++ 程式碼基底。",
"walkthrough.windows.verify.compiler": "正在驗證編譯器安裝",
"walkthrough.windows.open.command.prompt": "在 Windows 開始頁面功能表中鍵入「開發人員」,以開啟 {0}。",
"walkthrough.windows.command.prompt.name1": "VS 的開發人員命令提示",
"walkthrough.windows.check.install": "在 VS 的開發人員命令提示字元中輸入 {0},以檢查您的 MSVC 安裝。您應該會看到内附版本及基本使用說明的著作權訊息。",
"walkthrough.windows.note2": "備註",
"walkthrough.windows.note2.text": "若要從命令列或 VS Code 使用 MSVC,您必須從 {0} 執行。一般殼層,例如 {1}、{2} 或 Windows 命令提示字元,沒有設定必要的路徑環境變數集。",
"walkthrough.windows.command.prompt.name2": "VS 的開發人員命令提示",
"walkthrough.windows.other.compilers": "其他編譯器選項",
"walkthrough.windows.text3": "如果您是以 Windows 的 Linux 為目標,請查看 {0}。或者,您也可以 {1}。",
"walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 與 Windows 子系統 Linux 版 (WSL) ",
"walkthrough.windows.link.title2": "使用 MinGW 在 Windows 安裝 GCC"
}
@@ -0,0 +1,23 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"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.note1": "備註",
"walkthrough.windows.note1.text": "您可以使用 Visual Studio Build Tools 中的 C++ 工具組以及 Visual Studio Code 來編譯、組建及驗證任何 C++ 程式碼基底,只要您也擁有有效的 Visual Studio 授權 (社群版、專業版或企業版),且您正積極開發該 C++ 程式碼基底。",
"walkthrough.windows.verify.compiler": "正在驗證編譯器安裝",
"walkthrough.windows.open.command.prompt": "在 Windows 開始頁面功能表中鍵入「開發人員」,以開啟 {0}。",
"walkthrough.windows.command.prompt.name1": "VS 的開發人員命令提示",
"walkthrough.windows.check.install": "在 VS 的開發人員命令提示字元中輸入 {0},以檢查您的 MSVC 安裝。您應該會看到内附版本及基本使用說明的著作權訊息。",
"walkthrough.windows.note2": "備註",
"walkthrough.windows.note2.text": "若要從命令列或 VS Code 使用 MSVC,您必須從 {0} 執行。一般殼層,例如 {1}、{2} 或 Windows 命令提示字元,沒有設定必要的路徑環境變數集。",
"walkthrough.windows.command.prompt.name2": "VS 的開發人員命令提示",
"walkthrough.windows.other.compilers": "其他編譯器選項",
"walkthrough.windows.text3": "如果您是以 Windows 的 Linux 為目標,請查看 {0}。或者,您也可以 {1}。",
"walkthrough.windows.link.title1": "在 VS Code 中使用 C++ 與 Windows 子系統 Linux 版 (WSL) ",
"walkthrough.windows.link.title2": "使用 MinGW 在 Windows 安裝 GCC"
}
+16 -7
View File
@@ -16,8 +16,8 @@
"c_cpp.command.configurationProviderSelect.title": "Změnit poskytovatele konfigurací...",
"c_cpp.command.configurationEditJSON.title": "Upravit konfigurace (JSON)",
"c_cpp.command.configurationEditUI.title": "Upravit konfigurace (uživatelské rozhraní)",
"c_cpp.command.selectDefaultCompiler.title": "Vybrat výchozí kompilátor...",
"c_cpp.command.selectIntelliSenseConfiguration.title": "Vybrat konfiguraci IntelliSense...",
"c_cpp.command.installCompiler.title": "Instalace kompilátoru C++",
"c_cpp.command.rescanCompilers.title": "Znovu prohledat kompilátory",
"c_cpp.command.switchHeaderSource.title": "Přepnout hlavičku/zdroj",
"c_cpp.command.enableErrorSquiggles.title": "Povolit podtrhávání chyb vlnovkou",
@@ -416,8 +416,9 @@
"c_cpp.walkthrough.description": "Ponořte se do bohatého vývojového prostředí jazyka C++ VS Code.",
"c_cpp.walkthrough.set.up.title": "Nastavení vašeho prostředí C++",
"c_cpp.walkthrough.activating.description": "Aktivuje se rozšíření C++, aby se zjistilo, jestli je vaše prostředí C++ nastavené.\nRozšíření se aktivuje...",
"c_cpp.walkthrough.no.compilers.description": "Na vašem počítači jsme nenašli kompilátor C++, který je nutný k použití rozšíření C++. Nainstalujte si ho podle pokynů na pravé straně a potom klikněte níže na Najít můj nový kompilátor.\n[Najít můj nový kompilátor](command:C_Cpp.RescanCompilers?%7B%22sender%22%3A%22walkthrough%22%7D)",
"c_cpp.walkthrough.compilers.found.description": "Rozšíření C++ funguje s kompilátorem C++. Vyberte jednu z těch, které už máte na počítači, kliknutím na tlačítko níže.\n [Vybrat můj Výchozí kompilátor](command:C_Cpp.SelectDefaultCompiler?%7B%22sender%22%3A%22walkthrough%22%7D)",
"c_cpp.walkthrough.no.compilers.windows.description": "Na vašem počítači jsme nenašli kompilátor C++, který je nutný k použití rozšíření C++. Nainstalujte si ho podle pokynů na pravé straně a potom klikněte níže na Najít můj nový kompilátor.\n[Najít nový kompilátor](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.no.compilers.description": "Na vašem počítači jsme nenašli kompilátor C++, který je nutný k použití rozšíření C++. Buď vyberte „Nainstalovat kompilátor C++, aby pro vás byl nainstalován kompilátor, nebo postupujte podle pokynů na pravé straně a nainstalujte si ho a potom klikněte níže na „Najít můj nový kompilátor“.\n[Instalace kompilátoru C++](command:C_Cpp.InstallCompiler?%22walkthrough%22)\n[Najít nový kompilátor](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.description": "Rozšíření C++ funguje s kompilátorem C++. Vyberte jednu z těch, které už máte na počítači, kliknutím na tlačítko níže.\n[Vybrat výchozí kompilátor](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.altText": "Obrázek znázorňující výběr výchozího rychlého výběru kompilátoru a seznam kompilátorů nalezených na počítači uživatelů, z nichž jeden je vybraný.",
"c_cpp.walkthrough.create.cpp.file.title": "Vytvoření souboru C++",
"c_cpp.walkthrough.create.cpp.file.description": "[Otevřete](command:toSide:workbench.action.files.openFile) nebo [vytvořte](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) soubor C++. Nezapomeňte ho uložit s příponou .cpp, například „helloworld.cpp“. \n[Vytvořte soubor C++](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)",
@@ -430,8 +431,16 @@
"c_cpp.walkthrough.run.debug.windows.description": "Otevřete svůj soubor C++ a klikněte na tlačítko přehrát v pravém horním rohu editoru nebo stiskněte klávesu F5, když jste na souboru. Vyberte cl.exe Sestavit a ladit aktivní soubor, který se spustí s ladicím programem.",
"c_cpp.walkthrough.run.debug.windows.altText": "Obrázek znázorňující zarážku v souboru C++, tlačítko f5 a symbol spuštění v pravém horním rohu",
"c_cpp.walkthrough.customize.debugging.title": "Přizpůsobení ladění",
"c_cpp.walkthrough.customize.debugging.mac.description": "Konfiguraci ladění (např. za účelem předání argumentů do programu za běhu) můžete přizpůsobit výběrem možnosti Přidat konfiguraci ladění napravo od tlačítka Přehrát. Vlastní konfigurace ladění se uloží do souboru launch.json vašeho projektu. \n[Další informace](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "Konfiguraci ladění (např. za účelem předání argumentů do vašeho programu za běhu) můžete přizpůsobit výběrem možnosti Přidat konfiguraci ladění napravo od tlačítka Přehrát. Vlastní konfigurace ladění se uloží do souboru launch.json vašeho projektu. \n[Další informace](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "Konfiguraci ladění (např. za účelem předání argumentů do vašeho programu za běhu) můžete přizpůsobit výběrem možnosti Přidat konfiguraci ladění napravo od tlačítka Přehrát. Vlastní konfigurace ladění se uloží do souboru launch.json vašeho projektu. \n[Další informace](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "Obrázek znázorňující přidání konfigurace ladění v rozevíracím seznamu"
"c_cpp.walkthrough.customize.debugging.mac.description": "Pokud si chcete přizpůsobit konfiguraci ladění, vyberte na panelu aktivit Průzkumníka a otevřete složku, která obsahuje váš soubor C++. Otevřete soubor C++ a napravo od tlačítka Přehrát vyberte Přidat konfiguraci ladění. Nová konfigurace ladění se uložila do souboru launch.json vašeho projektu. \n[Další informace](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "Pokud si chcete přizpůsobit konfiguraci ladění, vyberte na panelu aktivit Průzkumníka a otevřete složku, která obsahuje váš soubor C++. Otevřete soubor C++ a napravo od tlačítka Přehrát vyberte Přidat konfiguraci ladění. Nová konfigurace ladění se uložila do souboru launch.json vašeho projektu. \n[Další informace](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "Pokud si chcete přizpůsobit konfiguraci ladění, vyberte na panelu aktivit Průzkumníka a otevřete složku, která obsahuje váš soubor C++. Otevřete soubor C++ a napravo od tlačítka Přehrát vyberte Přidat konfiguraci ladění. Nová konfigurace ladění se uložila do souboru launch.json vašeho projektu. \n[Další informace](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "Obrázek znázorňující přidání konfigurace ladění v rozevíracím seznamu",
"c_cpp.codeActions.refactor.inline.macro.title": "Vložit makro",
"c_cpp.codeActions.refactor.inline.macro.description": "Nahraďte vyvolání makra rozbaleným kódem.",
"c_cpp.codeActions.refactor.extract.function.title": "Extrahovat do funkce",
"c_cpp.codeActions.refactor.extract.function.description": "Extrahuje vybraný kód do bezplatné nebo členské funkce.",
"c_cpp.configuration.refactoring.includeHeader.markdownDescription": "Určuje, jestli se má do odpovídajícího zdrojového souboru zahrnout soubor hlaviček refaktorované funkce nebo symbolu při provádění akce refaktoringu, například vytvoření deklarace nebo definice.",
"c_cpp.configuration.refactoring.includeHeader.always.description": "Vždy zahrňte soubor hlaviček, pokud není explicitně zahrnut do jeho zdrojového souboru.",
"c_cpp.configuration.refactoring.includeHeader.ifNeeded.description": "Zahrňte soubor hlaviček pouze v případě, že není explicitně zahrnut do jeho zdrojového souboru nebo prostřednictvím implicitní zahrnutí.",
"c_cpp.configuration.refactoring.includeHeader.never.description": "Nikdy nezahrnujte soubor hlaviček."
}
@@ -4,5 +4,5 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"ignoring.lines.in.envfile": "Ignorují se řádky v souboru {1} typu {0}, které se nedají parsovat: "
"ignoring.lines.in.envfile": "Ignorují se řádky v {0} {1}, které se nedají parsovat: "
}
@@ -14,5 +14,5 @@
"select.ssh.config.file": "Vyberte konfigurační soubor SSH.",
"yes": "Ano",
"no": "Ne",
"ssh.target.delete.confirmation": "Opravdu chcete„{0}“ trvale odstranit?"
"ssh.target.delete.confirmation": "Opravdu chcete trvale odstranit soubor {0}?"
}
@@ -0,0 +1,10 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"expands.to": "Rozšiřuje se na:",
"inline.macro": "Vložit makro",
"inline.macro.not.available": "Vložené makro není v tomto umístění k dispozici."
}
@@ -11,44 +11,29 @@
"use.compiler": "Použít {0}",
"configuration.providers": "poskytovatelé konfigurace",
"compilers": "kompilátory",
"setCompiler.message": "Nemáte nakonfigurovaný technologii IntelliSense. Pokud nenastavíte vlastní konfigurace, IntelliSense nemusí být funkční.",
"selectIntelliSenseConfiguration.string": "Vybrat konfiguraci IntelliSense...",
"use.provider": "Použít {0}",
"use.compileCommands": "Použít {0}",
"selectAnotherCompiler.string": "Vybrat jiný kompilátor na mém počítači...",
"installCompiler.string": "Pomoc s instalací kompilátoru",
"installCompiler.string.nix": "Instalace kompilátoru",
"noConfig.string": "Nekonfigurovat pomocí kompilátoru (nedoporučuje se)",
"selectCompiler.string": "Vybrat kompilátor",
"confirmCompiler.string": "Ano",
"selectCompiler.message": "Byl nalezen {0} kompilátoru. Chcete nakonfigurovat IntelliSense s tímto kompilátorem?",
"check.permissions": "EPERM: Zkontrolujte oprávnění pro {0}.",
"unable.to.start": "Nepovedlo se spustit jazykový server C/C++. Funkce IntelliSense se zakážou. Chyba: {0}",
"server.crashed.restart": "Došlo k chybovému ukončení jazykového serveru. Restartuje se…",
"server.crashed2": "Jazykový server se 5krát za poslední 3 minuty chybově ukončil. Nebude se restartovat.",
"loggingLevel.changed": "{0} se změnila na: {1}",
"dismiss.button": "Zrušit",
"diable.warnings.button": "Zakázat upozornění",
"disable.warnings.button": "Zakázat upozornění",
"unable.to.provide.configuration": "{0} nemůže poskytnout informace pro konfiguraci IntelliSense pro {1}. Místo nich se použijí nastavení z konfigurace {2}.",
"config.not.found": "Požadovaný název konfigurace se nenašel: {0}",
"unsupported.client": "Nepodporovaný klient",
"timed.out": "Po {0} ms vypršel časový limit.",
"update.intellisense.time": "Čas aktualizace IntelliSense (sek.): {0}",
"configure.json.button": "Nakonfigurovat (JSON)",
"configure.ui.button": "Nakonfigurovat (uživatelské rozhraní)",
"dont.show.again": "Příště už nezobrazovat",
"update.your.intellisense.settings": "Pokud chcete snadněji najít chybějící hlavičky, aktualizujte nastavení IntelliSense nebo pomocí Vcpkg nainstalujte knihovny.",
"configure.your.intellisense.settings": "Pokud chcete snadněji najít chybějící hlavičky, nakonfigurujte nastavení IntelliSense.",
"provider.configure.folder": "{0} chce nakonfigurovat IntelliSense pro složku {1}.",
"provider.configure.this.folder": "{0} chce nakonfigurovat IntelliSense pro tuto složku.",
"allow.button": "Povolit",
"dont.allow.button": "Nepovolit",
"ask.me.later.button": "Požádat později",
"a.compile.commands.file": "soubor compile_commands.json",
"auto-configure.intellisense.folder": "Chcete použít {0} k automatické konfiguraci IntelliSense pro složku {1}?",
"auto-configure.intellisense.this.folder": "Chcete použít {0} k automatické konfiguraci IntelliSense pro tuto složku?",
"yes.button": "Ano",
"no.button": "Ne",
"configurations.received": "Přijaly se vlastní konfigurace:",
"browse.configuration.received": "Přijala se vlastní konfigurace procházení: {0}",
"fallback.clipboard": " Deklarace nebo definice se zkopírovala."
"fallback.clipboard": " Deklarace nebo definice se zkopírovala.",
"handle.extract.name": "Pojmenujte extrahovanou funkci.",
"handle.extract.new.function": "NewFunction",
"handle.extract.error": "Extrakce do funkce se nezdařila: {0}",
"invalid.edit": "Extrakce do funkce se nezdařila. Byla vygenerována neplatná úprava: {0}"
}
@@ -4,12 +4,12 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"fix_all_code_analysis_problems": "Opravit všechny problémy s analýzou kódu",
"clear_all_code_analysis_problems": "Vymazat všechny problémy s analýzou kódu",
"fix_all_type_problems": "Opravit všechny problémy {0}",
"disable_all_type_problems": "Zakázat všechny problémy {0}",
"clear_all_type_problems": "Vymazat všechny problémy {0}",
"clear_this_problem": "Vymazat tento problém {0}",
"fix_this_problem": "Opravit tento problém {0}",
"show_documentation_for": "Zobrazit dokumentaci pro {0}"
"fix.all.code.analysis.problems": "Opravit všechny problémy s analýzou kódu",
"clear.all.code.analysis.problems": "Vymazat všechny problémy s analýzou kódu",
"fix.all.type.problems": "Opravit všechny problémy {0}",
"disable.all.type.problems": "Zakázat všechny problémy {0}",
"clear.all.type.problems": "Vymazat všechny problémy {0}",
"clear.this.problem": "Vymazat tento problém {0}",
"fix.this.problem": "Opravit tento problém {0}",
"show.documentation.for": "Zobrazit dokumentaci pro {0}"
}
@@ -4,11 +4,11 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"build_active_file": "sestavit aktivní soubor",
"compiler_details": "kompilátor:",
"task_generated_by_debugger": "Úloha vygenerovaná ladicím programem",
"build.active.file": "sestavit aktivní soubor",
"compiler.details": "kompilátor:",
"task.generated.by.debugger": "Úloha vygenerovaná ladicím programem",
"cannot.build.non.cpp": "Sestavení a ladění není možné, protože aktivní soubor není zdrojový soubor jazyka C ani C++.",
"starting_build": "Spouští se sestavování...",
"starting.build": "Spouští se sestavování...",
"build.run.terminated": "Spuštění sestavení se ukončilo.",
"build.finished.with.error": "Sestavování se dokončilo s chybami.",
"build.finished.with.warnings": "Sestavování se dokončilo s upozorněními.",
@@ -8,8 +8,16 @@
"copy.vcpkg.command": "Zkopírovat příkaz vcpkg pro instalaci {0} do schránky",
"on.disabled.command": "Příkazy související s IntelliSense se nedají spustit, když je `C_Cpp.intelliSenseEngine` nastavené na `disabled`.",
"client.not.found": "klient se nenašel",
"ok": "OK",
"install.compiler.mac.title": "Kompilátor clang se teď nainstaluje.",
"install.compiler.mac.detail": "Může se zobrazit výzva k zadání hesla do okna terminálu VS Code, abyste instalaci autorizovali.",
"install.compiler.linux.title": "Kompilátor gcc se teď nainstaluje",
"install.compiler.linux.detail": "Může se zobrazit výzva k zadání hesla do okna terminálu VS Code, abyste instalaci autorizovali.",
"configuration.select.first": "Pokud chcete vybrat konfiguraci, otevřete nejdříve složku.",
"configuration.provider.select.first": "Pokud chcete vybrat poskytovatele konfigurace, otevřete nejdříve složku.",
"edit.configurations.open.first": "Pokud chcete upravit konfigurace, otevřete nejdříve složku.",
"code.action.aborted": "Opravu analýzy kódu nelze použít, protože dokument byl změněn."
"code.action.aborted": "Opravu analýzy kódu nelze použít, protože dokument byl změněn.",
"prerelease.message": "K dispozici je předběžná verze rozšíření C/C++. Chcete na ni přepnout?",
"yes.button": "Ano",
"no.button": "Ne"
}
@@ -4,40 +4,47 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"updating.intellisense.text": "IntelliSense: Aktualizace",
"idle.intellisense.text": "IntelliSense: Připraveno",
"initializing.tagparser.text": "Inicializuje se pracovní prostor",
"indexing.tagparser.text": "Pracovní prostor indexování",
"running.tagparser.text": "Parsování pracovního prostoru",
"paused.tagparser.text": "Pracovní prostor analýzy: Pozastaveno",
"complete.tagparser.text": "Analýza byla dokončena.",
"initializing.tagparser.text": "Inicializuje se pracovní prostor",
"indexing.tagparser.text": "Pracovní prostor indexování",
"rescan.tagparse.text": "Znovu prohledat pracovní prostor",
"c.cpp.parsing.open.files.tooltip": "Analýza otevřených souborů",
"click.to.preview": "kliknutím si můžete zobrazit náhled výsledků",
"updating.intellisense.text": "IntelliSense: Aktualizace",
"idle.intellisense.text": "IntelliSense: Připraveno",
"absent.intellisense.text": "IntelliSense: Nenakonfigurováno",
"running.analysis.text": "Code Analysis: Spuštěno",
"paused.analysis.text": "Code Analysis: Pozastaveno",
"mode.analysis.prefix": "Režim Code Analysis: ",
"click.to.preview": "kliknutím si můžete zobrazit náhled výsledků",
"c.cpp.configureIntelliSenseStatus.text": "Konfigurovat IntelliSense",
"c.cpp.configureIntelliSenseStatus.cppText": "Konfigurovat IntelliSense v C/C++",
"c.cpp.configuration.tooltip": "Konfigurace C/C++",
"c.cpp.references.statusbar": "Stav odkazů jazyka C/C++",
"cpptools.status.intellisense": "C/C++ IntelliSense Status",
"cpptools.status.tagparser": "Stav analyzátoru značky jazyka C/C++",
"cpptools.detail.tagparser": "Probíhá inicializace...",
"cpptools.status.codeanalysis": "Stav Code Analysis C/C++",
"c.cpp.codeanalysis.statusbar.runNow": "Spustit",
"tagparser.pause.text": "Pozastavit",
"tagparser.resume.text": "Pokračovat",
"intellisense.select.text": "Vyberte kompilátor.",
"rescan.intellisense.text": "Prohledat znovu",
"rescan.intellisense.tooltip": "Znovu prohledat IntelliSense",
"cpptools.status.tagparser": "Stav analyzátoru značky jazyka C/C++",
"cpptools.detail.tagparser": "Probíhá inicializace...",
"tagparser.resume.text": "Pokračovat",
"tagparser.pause.text": "Pozastavit",
"cpptools.status.codeanalysis": "Stav Code Analysis C/C++",
"c.cpp.codeanalysis.statusbar.runNow": "Spustit",
"mode.codeanalysis.status.automatic": "Automaticky",
"mode.codeanalysis.status.manual": "Ručně",
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Možnosti",
"startup.codeanalysis.status": "Spouštění...",
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "Spustit",
"running.analysis.processed.tooltip": "Spuštěno: {0} / {1} ({2} %)",
"select.code.analysis.command": "Vyberte příkaz pro analýzu kódu…",
"cancel.analysis": "Zrušit",
"resume.analysis": "Pokračovat",
"pause.analysis": "Pozastavit",
"another.analysis": "Spustit další…",
"select.command": "Vyberte příkaz…",
"active.analysis": "Spustit Code Analysis u aktivního souboru",
"all.analysis": "Spustit Code Analysis u všech souborů",
"open.analysis": "Spustit Code Analysis při otevírání souborů",
"c.cpp.references.statusbar": "Stav odkazů jazyka C/C++",
"c.cpp.configuration.tooltip": "Konfigurace C/C++",
"c.cpp.configureIntelliSenseStatus.cppText": "Konfigurovat IntelliSense v C/C++",
"select.a.configuration": "Vybrat konfiguraci...",
"edit.configuration.ui": "Upravit konfigurace (uživatelské rozhraní)",
"edit.configuration.json": "Upravit konfigurace (JSON)",
@@ -45,17 +52,5 @@
"active": "aktivní",
"none": "žádné",
"disable.configuration.provider": "Zakažte aktivního poskytovatele konfigurací, pokud je to možné.",
"select.compile.commands": "Vyberte soubor compile_commands.json...",
"select.workspace": "Vyberte složku pracovního prostoru...",
"select.command": "Vyberte příkaz…",
"select.code.analysis.command": "Vyberte příkaz pro analýzu kódu…",
"resume.parsing": "Pokračovat v analýze pracovního prostoru",
"pause.parsing": "Pozastavit analýzu pracovního prostoru",
"cancel.analysis": "Zrušit",
"resume.analysis": "Pokračovat",
"pause.analysis": "Pozastavit",
"another.analysis": "Spustit další…",
"active.analysis": "Spustit Code Analysis u aktivního souboru",
"all.analysis": "Spustit Code Analysis u všech souborů",
"open.analysis": "Spustit Code Analysis při otevírání souborů"
"select.workspace": "Vyberte složku pracovního prostoru..."
}
@@ -7,7 +7,7 @@
"ssh.canceled": "Příkaz SSH je zrušený",
"ssh.passphrase.input.box": "Zadejte heslo pro klíč SSH {0}",
"ssh.enter.password.for.user": "Zadejte heslo pro uživatele{0}",
"ssh_message_enterPassword": "Zadejte heslo",
"ssh.message.enter.password": "Zadejte heslo",
"ssh.continue.confirmation.placeholder": "Opravdu chcete pokračovat?",
"ssh.host.key.confirmation.title": "{0} má otisk prstu {1}.",
"continue": "Pokračovat",
+19 -1
View File
@@ -8,6 +8,7 @@
"include_not_found_in_browse_path": "Soubor, který se má zahrnout, se nenašel v browse.path.",
"update_browse_path": "Upravit nastavení browse.path",
"add_to_include_path": "Přidat do includePath: {0}",
"add_missing_include_path": "Přidat: {0}",
"edit_include_path": "Upravit nastavení includePath",
"disable_error_squiggles": "Zakázat podtržení chyb vlnovkou",
"enable_error_squiggles": "Povolit všechna podtržení chyb vlnovkou",
@@ -229,6 +230,7 @@
"failed_to_query_for_standard_version": "Nepovedlo se dotázat kompilátor na cestě {0} na výchozí standardní verze. Dotazování je pro tento kompilátor zakázané.",
"unrecognized_language_standard_version": "Dotaz na kompilátor vrátil nerozpoznanou standardní verzi jazyka. Místo ní se použije nejnovější podporovaná verze.",
"intellisense_process_crash_detected": "Zjistilo se chybové ukončení procesu IntelliSense.",
"intellisense_feature_crash_detected": "Zjistilo se chybové ukončení procesu IntelliSense: {0}",
"return_values_label": "Návratové hodnoty:",
"nvcc_compiler_not_found": "Nepovedlo se najít kompilátor nvcc: {0}",
"nvcc_host_compiler_not_found": "Nepovedlo se najít kompilátor hostitele nvcc: {0}",
@@ -296,5 +298,21 @@
"run_select_intellisense_configuration": "Spusťte prosím příkaz Vybrat konfiguraci IntelliSense, abyste vyhledali systémové hlavičky.",
"offer_copy_declaration": "Kopírovat deklaraci {0}",
"offer_copy_definition": "Kopírovat definici {0}",
"refactor_copy_declaration_definition_failed": "Kopírování deklarace nebo definice do schránky se nezdařilo: %s"
"refactor_copy_declaration_definition_failed": "Kopírování deklarace nebo definice do schránky se nezdařilo: %s",
"refactor_extract_to_function": "Extrahovat do funkce",
"refactor_extract_to_free_function": "Extrahovat do volné funkce",
"refactor_extract_to_member_function_in": "Extrahovat do členské funkce v {0}",
"refactor_extract_outsidefunc": "Vybraný text není uvnitř funkce.",
"refactor_extract_multifunc": "Vybraný text nemůže mít přesah přes různé funkce.",
"refactor_extract_variable": "Proměnná %s je deklarovaná ve vybrané oblasti a používá se pod ní.",
"refactor_extract_macro": "Makro preprocesoru %s se používá pod vybranou oblastí.",
"refactor_extract_inactive": "Do vybrané oblasti zasahuje neaktivní blok preprocesoru.",
"refactor_extract_no_il": "Vybraná oblast neobsahuje žádný kód, který by se dal vyextrahovat.",
"refactor_extract_entirefunc": "Vybraná oblast není zcela v textu funkce.",
"refactor_extract_errors_selection": "Výběr obsahuje chyby IntelliSense.",
"refactor_extract_reference_c_code": "%s nemá deklaraci ve vybraném kódu, ale modifikuje se. Kód C nemůže předávat argumenty pomocí odkazu.",
"refactor_extract_reference_return_c_code": "Funkce by musela vracet hodnotu pomocí odkazu. Kód C nemůže vracet odkazy.",
"refactor_extract_xborder_jump": "Přecházení mezi vybraným kódem a okolním kódem jsou k dispozici.",
"refactor_extract_missing_return": "Ve vybraném kódu se některé cesty ovládacího prvku ukončují bez nastavení návratové hodnoty. To se podporuje jenom u skalárních, numerických a ukazovacích návratových typů.",
"expand_selection": "Rozbalit výběr (pro povolení možnosti Extrahovat do funkce)"
}
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"walkthough.mac.install.compiler": "Instalace kompilátoru jazyka C++ na macOS",
"walkthough.mac.text1": "Pokud vyvíjíte v jazyce C++ pro macOS, doporučujeme nainstalovat kompilátor Clang. V okně terminálu (Ctrl+Shift+`) stačí spustit následující příkaz, který nainstaluje vývojářské nástroje příkazového řádku:",
"walkthough.mac.text2": "Pokud chcete ověřit, zda je Clang nainstalován, spusťte v okně terminálu následující příkaz. Měla by se zobrazit zpráva s informacemi o verzi Clang, kterou používáte."
"walkthrough.mac.install.compiler": "Instalace kompilátoru jazyka C++ na macOS",
"walkthrough.mac.text1": "Pokud vyvíjíte v jazyce C++ pro macOS, doporučujeme nainstalovat kompilátor Clang. V okně terminálu (Ctrl+Shift+`) stačí spustit následující příkaz, který nainstaluje vývojářské nástroje příkazového řádku:",
"walkthrough.mac.text2": "Pokud chcete ověřit, zda je Clang nainstalován, spusťte v okně terminálu následující příkaz. Měla by se zobrazit zpráva s informacemi o verzi Clang, kterou používáte."
}
@@ -0,0 +1,23 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"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.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",
"walkthrough.windows.open.command.prompt": "Otevřete {0} zadáním příkazu „developer“ do nabídky Start systému Windows.",
"walkthrough.windows.command.prompt.name1": "Developer Command Prompt for VS",
"walkthrough.windows.check.install": "MSVC instalaci zkontrolujte tak, že zadáte {0} do Developer Command Prompt for VS. Měla by se zobrazit zpráva o autorských právech v popisu verze a základního použití.",
"walkthrough.windows.note2": "Poznámka",
"walkthrough.windows.note2.text": "Pokud chcete použít MSVC z příkazového řádku nebo VS Code, musíte spouštět z {0}. Běžné prostředí, jako je {1}, {2} nebo příkazový řádek Windows, nemá nastavenou nezbytnou proměnnou prostředí cesty.",
"walkthrough.windows.command.prompt.name2": "Developer Command Prompt for VS",
"walkthrough.windows.other.compilers": "Další možnosti kompilátoru",
"walkthrough.windows.text3": "Pokud cílíte na Linux z Windows, podívejte se na {0}. Nebo můžete {1}.",
"walkthrough.windows.link.title1": "Použití C++ a subsystému Windows pro Linux (WSL) ve VS Code",
"walkthrough.windows.link.title2": "instalovat GCC na Windows pomocí MinGW"
}
@@ -0,0 +1,23 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"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.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",
"walkthrough.windows.open.command.prompt": "Otevřete {0} zadáním příkazu „developer“ do nabídky Start systému Windows.",
"walkthrough.windows.command.prompt.name1": "Developer Command Prompt for VS",
"walkthrough.windows.check.install": "MSVC instalaci zkontrolujte tak, že zadáte {0} do Developer Command Prompt for VS. Měla by se zobrazit zpráva o autorských právech v popisu verze a základního použití.",
"walkthrough.windows.note2": "Poznámka",
"walkthrough.windows.note2.text": "Pokud chcete použít MSVC z příkazového řádku nebo VS Code, musíte spouštět z {0}. Běžné prostředí, jako je {1}, {2} nebo příkazový řádek Windows, nemá nastavenou nezbytnou proměnnou prostředí cesty.",
"walkthrough.windows.command.prompt.name2": "Developer Command Prompt for VS",
"walkthrough.windows.other.compilers": "Další možnosti kompilátoru",
"walkthrough.windows.text3": "Pokud cílíte na Linux z Windows, podívejte se na {0}. Nebo můžete {1}.",
"walkthrough.windows.link.title1": "Použití C++ a subsystému Windows pro Linux (WSL) ve VS Code",
"walkthrough.windows.link.title2": "instalovat GCC na Windows pomocí MinGW"
}
+16 -7
View File
@@ -16,8 +16,8 @@
"c_cpp.command.configurationProviderSelect.title": "Konfigurationsanbieter ändern...",
"c_cpp.command.configurationEditJSON.title": "Konfigurationen bearbeiten (JSON)",
"c_cpp.command.configurationEditUI.title": "Konfigurationen bearbeiten (Benutzeroberfläche)",
"c_cpp.command.selectDefaultCompiler.title": "Standardcompiler auswählen...",
"c_cpp.command.selectIntelliSenseConfiguration.title": "IntelliSense-Konfiguration auswählen...",
"c_cpp.command.installCompiler.title": "Installieren eines C++-Compilers",
"c_cpp.command.rescanCompilers.title": "Erneut nach Compilern suchen",
"c_cpp.command.switchHeaderSource.title": "Header/Quelle umschalten",
"c_cpp.command.enableErrorSquiggles.title": "Fehlerwellenlinien aktivieren",
@@ -416,8 +416,9 @@
"c_cpp.walkthrough.description": "Tauchen Sie ein in die umfassende C++-Entwicklungserfahrung VS Code.",
"c_cpp.walkthrough.set.up.title": "C++-Umgebung einrichten",
"c_cpp.walkthrough.activating.description": "Die C++-Erweiterung wird aktiviert, um zu bestimmen, ob Ihre C++-Umgebung eingerichtet wurde.\nErweiterung wird aktiviert...",
"c_cpp.walkthrough.no.compilers.description": "Auf Ihrem Computer wurde kein C++-Compiler gefunden, der für die Verwendung der C++-Erweiterung erforderlich ist. Befolgen Sie die Anweisungen auf der rechten Seite, um einen zu installieren, und klicken Sie unten auf \"Meinen neuen Compiler suchen\".\n[Meinen neuen Compiler suchen](command:C_Cpp.RescanCompilers?%7B%22sender%22%3A%22walkthrough%22%7D)",
"c_cpp.walkthrough.compilers.found.description": "Die C++-Erweiterung funktioniert mit einem C++-Compiler. Wählen Sie eines der Elemente aus, die bereits auf Ihrem Computer vorhanden sind, indem Sie unten auf die Schaltfläche klicken.\n[Meinen Standard-Compiler auswählen](command:C_Cpp.SelectDefaultCompiler?%7B%22sender%22%3A%22walkthrough%22%7D)",
"c_cpp.walkthrough.no.compilers.windows.description": "Auf Ihrem Computer wurde kein C++-Compiler gefunden, der für die Verwendung der C++-Erweiterung erforderlich ist. Befolgen Sie die Anweisungen auf der rechten Seite, um einen Compiler zu installieren, und klicken Sie dann unten auf \"Meinen neuen Compiler suchen\".\n[Find my new Compiler](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.no.compilers.description": "Auf Ihrem Computer wurde kein C++-Compiler gefunden, der für die Verwendung der C++-Erweiterung erforderlich ist. Wählen Sie \"C++-Compiler installieren\" aus, um einen Compiler für Sie zu installieren, oder befolgen Sie die Anweisungen auf der rechten Seite, um einen Compiler zu installieren, und klicken Sie dann unten auf \"Meinen neuen Compiler suchen\".\n[Install a C++ Compiler](command:C_Cpp.InstallCompiler?%22walkthrough%22)\n[Find my new Compiler](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.description": "Die C++-Erweiterung funktioniert mit einem C++-Compiler. Wählen Sie eines der bereits auf Ihrem Computer Vorhandenen aus, indem Sie auf die Schaltfläche unten klicken.\n[Select my Default Compiler](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.altText": "Abbildung, das die Auswahl eines standardmäßigen Compilerschnellauswahl und die Liste der Compiler auf dem Benutzercomputer anzeigt, von denen einer ausgewählt ist.",
"c_cpp.walkthrough.create.cpp.file.title": "C++-Datei erstellen",
"c_cpp.walkthrough.create.cpp.file.description": "[Open](command:toSide:workbench.action.files.openFile) oder [create](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) eine C++-Datei. Speichern Sie die Datei unbedingt mit der Erweiterung \".cpp\", z. B. \"helloworld.cpp\". \n[C++-Datei erstellen](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)",
@@ -430,8 +431,16 @@
"c_cpp.walkthrough.run.debug.windows.description": "Öffnen Sie Ihre C++-Datei, und klicken Sie in der oberen rechten Ecke des Editors auf die Wiedergabeschaltfläche, oder drücken Sie F5, wenn Sie die Datei verwenden. Wählen Sie \"cl.exe Aktive Datei erstellen und debuggen\" aus, die mit dem Debugger ausgeführt werden soll.",
"c_cpp.walkthrough.run.debug.windows.altText": "Bild, das einen Haltepunkt in einer C++-Datei, die f5-Buttobn und das Ausführungssymbol oben rechts anzeigt",
"c_cpp.walkthrough.customize.debugging.title": "Debuggen anpassen",
"c_cpp.walkthrough.customize.debugging.mac.description": "Sie können Ihre Debugkonfiguration anpassen (z. B. um Argumente zur Laufzeit an Ihr Programm zu übergeben), indem Sie rechts neben der Wiedergabeschaltfläche \"Debugkonfiguration hinzufügen\" auswählen. Die benutzerdefinierte Debugkonfiguration wird in der Datei \"launch.json\" Ihres Projekts gespeichert. \n[Weitere Informationen](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "Sie können Ihre Debugkonfiguration anpassen (z. B. um Argumente zur Laufzeit an Ihr Programm zu übergeben), indem Sie rechts neben der Wiedergabeschaltfläche \"Debugkonfiguration hinzufügen\" auswählen. Die benutzerdefinierte Debugkonfiguration wird in der Datei \"launch.json\" Ihres Projekts gespeichert. \n[Weitere Informationen](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "Sie können Ihre Debugkonfiguration anpassen (z. B. um Argumente zur Laufzeit an Ihr Programm zu übergeben), indem Sie rechts neben der Wiedergabeschaltfläche \"Debugkonfiguration hinzufügen\" auswählen. Die benutzerdefinierte Debugkonfiguration wird in der Datei \"launch.json\" Ihres Projekts gespeichert. \n[Weitere Informationen](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "Bild, das \"Debugkonfiguration hinzufügen\" in der Dropdownliste anzeigt"
"c_cpp.walkthrough.customize.debugging.mac.description": "Um Ihre Debugkonfiguration anzupassen, wählen Sie den Explorer in der Aktivitätsleiste aus, und öffnen Sie einen Ordner, der Ihre C++-Datei enthält. Öffnen Sie die C++-Datei, und wählen Sie rechts neben der Wiedergabeschaltfläche \"Debugkonfiguration hinzufügen\" aus. Die neue Debugkonfiguration wird in der Datei \"launch.json\" Ihres Projekts gespeichert. \n[Weitere Informationen](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "Um Ihre Debugkonfiguration anzupassen, wählen Sie den Explorer in der Aktivitätsleiste aus, und öffnen Sie einen Ordner, der Ihre C++-Datei enthält. Öffnen Sie die C++-Datei, und wählen Sie rechts neben der Wiedergabeschaltfläche \"Debugkonfiguration hinzufügen\" aus. Die neue Debugkonfiguration wird in der Datei \"launch.json\" Ihres Projekts gespeichert. \n[Weitere Informationen](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "Um Ihre Debugkonfiguration anzupassen, wählen Sie den Explorer in der Aktivitätsleiste aus, und öffnen Sie einen Ordner, der Ihre C++-Datei enthält. Öffnen Sie die C++-Datei, und wählen Sie rechts neben der Wiedergabeschaltfläche \"Debugkonfiguration hinzufügen\" aus. Die neue Debugkonfiguration wird in der Datei \"launch.json\" Ihres Projekts gespeichert. \n[Weitere Informationen](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "Bild, das \"Debugkonfiguration hinzufügen\" in der Dropdownliste anzeigt",
"c_cpp.codeActions.refactor.inline.macro.title": "Inlinemakro",
"c_cpp.codeActions.refactor.inline.macro.description": "Ersetzen Sie den Makroaufruf durch den erweiterten Code.",
"c_cpp.codeActions.refactor.extract.function.title": "In Funktion extrahieren",
"c_cpp.codeActions.refactor.extract.function.description": "Extrahieren Sie den ausgewählten Code in eine freie oder Memberfunktion.",
"c_cpp.configuration.refactoring.includeHeader.markdownDescription": "Steuert, ob die Headerdatei einer umgestalteten Funktion/eines umgestalteten Symbols in die zugehörige Quelldatei aufgenommen werden soll, wenn ein Refactoring durchgeführt wird (beispielweise beim Erstellen einer Deklaration/Definition).",
"c_cpp.configuration.refactoring.includeHeader.always.description": "Hiermit wird die Headerdatei immer eingeschlossen, wenn sie nicht explizit in der zugehörigen Quelldatei enthalten ist.",
"c_cpp.configuration.refactoring.includeHeader.ifNeeded.description": "Hiermit wird die Headerdatei nur dann eingeschlossen, wenn sie nicht explizit in der zugehörigen Quelldatei enthalten ist oder implizit eingeschlossen wird.",
"c_cpp.configuration.refactoring.includeHeader.never.description": "Hiermit wird die Headerdatei nie eingeschlossen."
}
@@ -4,5 +4,5 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"ignoring.lines.in.envfile": "Nicht analysierbare Zeilen in {0} \"{1}\" werden ignoriert: "
}
"ignoring.lines.in.envfile": "Nicht analysierbare Zeilen in {0} {1} werden ignoriert: "
}
@@ -0,0 +1,10 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"expands.to": "Wird erweitert auf:",
"inline.macro": "Inlinemakro",
"inline.macro.not.available": "Das Inlinemakro ist an diesem Ort nicht verfügbar."
}
@@ -11,44 +11,29 @@
"use.compiler": "{0} verwenden",
"configuration.providers": "Konfigurationsanbieter",
"compilers": "Compiler",
"setCompiler.message": "IntelliSense ist nicht konfiguriert. Wenn Sie keine eigenen Konfigurationen festlegen, ist IntelliSense möglicherweise nicht funktionsfähig.",
"selectIntelliSenseConfiguration.string": "IntelliSense-Konfiguration auswählen...",
"use.provider": "{0} verwenden",
"use.compileCommands": "{0} verwenden",
"selectAnotherCompiler.string": "Anderen Compiler auf meinem Computer auswählen...",
"installCompiler.string": "Hilfe bei der Installation eines Compilers",
"installCompiler.string.nix": "Installieren eines Compilers",
"noConfig.string": "Nicht mit einem Compiler konfigurieren (nicht empfohlen)",
"selectCompiler.string": "Compiler auswählen",
"confirmCompiler.string": "Ja",
"selectCompiler.message": "Der Compiler {0} wurde gefunden. Möchten Sie IntelliSense mit diesem Compiler konfigurieren?",
"check.permissions": "EPERM: Berechtigungen für \"{0}\" überprüfen",
"unable.to.start": "Der C/C++-Sprachserver kann nicht gestartet werden. IntelliSense-Features werden deaktiviert. Fehler: {0}",
"server.crashed.restart": "Der Sprach-Server ist abgestürzt. Neustart wird ausgeführt ...",
"server.crashed2": "Der Sprachserver ist in den letzten 3 Minuten 5-mal abgestürzt. Er wird nicht neu gestartet.",
"loggingLevel.changed": "{0} wurde geändert in {1}",
"dismiss.button": "Schließen",
"diable.warnings.button": "Warnungen deaktivieren",
"disable.warnings.button": "Warnungen deaktivieren",
"unable.to.provide.configuration": "{0} kann keine IntelliSense-Konfigurationsinformationen für \"{1}\" bereitstellen. Stattdessen werden Einstellungen aus der Konfiguration \"{2}\" verwendet.",
"config.not.found": "Der angeforderte Konfigurationsname wurde nicht gefunden: {0}",
"unsupported.client": "Nicht unterstützter Client",
"timed.out": "Timeout nach {0} ms.",
"update.intellisense.time": "IntelliSense-Zeit aktualisieren (Sek.): {0}",
"configure.json.button": "Konfigurieren (JSON)",
"configure.ui.button": "Konfigurieren (Benutzeroberfläche)",
"dont.show.again": "Nicht mehr anzeigen",
"update.your.intellisense.settings": "Aktualisieren Sie Ihre IntelliSense-Einstellungen, oder verwenden Sie vcpkg, um Bibliotheken zur Suche nach fehlenden Headern zu installieren.",
"configure.your.intellisense.settings": "Konfigurieren Sie Ihre IntelliSense-Einstellungen, um fehlende Header zu suchen.",
"provider.configure.folder": "{0} möchte IntelliSense für den Ordner \"{1}\" konfigurieren.",
"provider.configure.this.folder": "{0} möchte IntelliSense für diesen Ordner konfigurieren.",
"allow.button": "Zulassen",
"dont.allow.button": "Nicht zulassen",
"ask.me.later.button": "Später nachfragen",
"a.compile.commands.file": "eine compile_commands.json-Datei",
"auto-configure.intellisense.folder": "Möchten Sie {0} zum automatischen Konfigurieren von IntelliSense für den Ordner \"{1}\" verwenden?",
"auto-configure.intellisense.this.folder": "Möchten Sie {0} zum automatischen Konfigurieren von IntelliSense für diesen Ordner verwenden?",
"yes.button": "Ja",
"no.button": "Nein",
"configurations.received": "Benutzerdefinierte Konfigurationen empfangen:",
"browse.configuration.received": "Benutzerdefinierte Suchkonfiguration empfangen: {0}",
"fallback.clipboard": " Die Deklaration/Definition wurde kopiert."
"fallback.clipboard": " Die Deklaration/Definition wurde kopiert.",
"handle.extract.name": "Benennen der extrahierten Funktion",
"handle.extract.new.function": "NewFunction",
"handle.extract.error": "Fehler beim Extrahieren in die Funktion: {0}",
"invalid.edit": "Fehler beim Extrahieren in die Funktion. Es wurde eine ungültige Bearbeitung generiert: „{0}“"
}
@@ -4,12 +4,12 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"fix_all_code_analysis_problems": "Beheben aller Codeanalyseprobleme",
"clear_all_code_analysis_problems": "Alle Codeanalyseprobleme löschen",
"fix_all_type_problems": "Alle {0}-Probleme beheben",
"disable_all_type_problems": "Alle {0}-Probleme deaktivieren",
"clear_all_type_problems": "Alle {0}-Probleme löschen",
"clear_this_problem": "Dieses {0}-Problem löschen",
"fix_this_problem": "Dieses {0}-Problem beheben",
"show_documentation_for": "Dokumentation für {0} anzeigen"
"fix.all.code.analysis.problems": "Beheben aller Codeanalyseprobleme",
"clear.all.code.analysis.problems": "Alle Codeanalyseprobleme löschen",
"fix.all.type.problems": "Alle {0}-Probleme beheben",
"disable.all.type.problems": "Alle {0}-Probleme deaktivieren",
"clear.all.type.problems": "Alle {0}-Probleme löschen",
"clear.this.problem": "Dieses {0}-Problem löschen",
"fix.this.problem": "Dieses {0}-Problem beheben",
"show.documentation.for": "Dokumentation für {0} anzeigen"
}
@@ -4,11 +4,11 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"build_active_file": "Aktive Datei kompilieren",
"compiler_details": "Compiler:",
"task_generated_by_debugger": "Vom Debugger generierte Aufgabe.",
"build.active.file": "Aktive Datei kompilieren",
"compiler.details": "Compiler:",
"task.generated.by.debugger": "Vom Debugger generierte Aufgabe.",
"cannot.build.non.cpp": "Erstellen und Debuggen nicht möglich, da die aktive Datei keine C- oder C++-Quelldatei ist.",
"starting_build": "Kompilierung wird gestartet...",
"starting.build": "Kompilierung wird gestartet...",
"build.run.terminated": "Die Build-Ausführung wurde beendet.",
"build.finished.with.error": "Der Build wurde mit Fehlern abgeschlossen.",
"build.finished.with.warnings": "Der Build wurde mit Warnungen abgeschlossen.",
@@ -8,8 +8,16 @@
"copy.vcpkg.command": "vcpkg-Befehl zum Installieren von \"{0}\" in die Zwischenablage kopieren",
"on.disabled.command": "IntelliSense-bezogene Befehle können nicht ausgeführt werden, wenn `C_Cpp.intelliSenseEngine` auf `disabled` festgelegt ist.",
"client.not.found": "Client nicht gefunden.",
"ok": "OK",
"install.compiler.mac.title": "Der Clang-Compiler wird jetzt installiert.",
"install.compiler.mac.detail": "Möglicherweise werden Sie aufgefordert, Ihr Kennwort im VS Code-Terminalfenster einzugeben, um die Installation zu autorisieren.",
"install.compiler.linux.title": "Der GCC-Compiler wird jetzt installiert.",
"install.compiler.linux.detail": "Möglicherweise werden Sie aufgefordert, Ihr Kennwort im VS Code-Terminalfenster einzugeben, um die Installation zu autorisieren.",
"configuration.select.first": "Öffnen Sie zum Auswählen einer Konfiguration zuerst einen Ordner.",
"configuration.provider.select.first": "Öffnen Sie zum Auswählen eines Konfigurationsanbieters zuerst einen Ordner.",
"edit.configurations.open.first": "Zum Bearbeiten von Konfigurationen zuerst einen Ordner öffnen",
"code.action.aborted": "Der Codeanalysepatch konnte nicht angewendet werden, da sich das Dokument geändert hat."
"code.action.aborted": "Der Codeanalysepatch konnte nicht angewendet werden, da sich das Dokument geändert hat.",
"prerelease.message": "Eine Vorabversion der C/C++-Erweiterung ist verfügbar. Möchten Sie zu ihr wechseln?",
"yes.button": "Ja",
"no.button": "Nein"
}
@@ -4,40 +4,47 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"updating.intellisense.text": "IntelliSense: Aktualisieren",
"idle.intellisense.text": "IntelliSense: Bereit",
"initializing.tagparser.text": "Arbeitsbereich wird initialisiert",
"indexing.tagparser.text": "Arbeitsbereich für die Indizierung",
"running.tagparser.text": "Parsing-Arbeitsbereich",
"paused.tagparser.text": "Parsing-Arbeitsbereich: Angehalten",
"complete.tagparser.text": "Parsing abgeschlossen",
"initializing.tagparser.text": "Arbeitsbereich wird initialisiert",
"indexing.tagparser.text": "Arbeitsbereich für die Indizierung",
"rescan.tagparse.text": "Arbeitsbereich neu einlesen",
"c.cpp.parsing.open.files.tooltip": "Offene Dateien werden geparst",
"click.to.preview": "Klicken Sie, um eine Vorschau der Ergebnisse anzuzeigen.",
"updating.intellisense.text": "IntelliSense: Aktualisieren",
"idle.intellisense.text": "IntelliSense: Bereit",
"absent.intellisense.text": "IntelliSense: Nicht konfiguriert",
"running.analysis.text": "Code Analysis: Wird ausgeführt",
"paused.analysis.text": "Code Analysis: Angehalten",
"mode.analysis.prefix": "Code Analysis-Modus: ",
"click.to.preview": "Klicken Sie, um eine Vorschau der Ergebnisse anzuzeigen.",
"c.cpp.configureIntelliSenseStatus.text": "IntelliSense konfigurieren",
"c.cpp.configureIntelliSenseStatus.cppText": "IntelliSense in C/C++ konfigurieren",
"c.cpp.configuration.tooltip": "C/C++-Konfiguration",
"c.cpp.references.statusbar": "C/C++-Verweisstatus",
"cpptools.status.intellisense": "Status von C/C++-IntelliSense",
"cpptools.status.tagparser": "Status des C/C++-Tagparsers",
"cpptools.detail.tagparser": "Wird initialisiert...",
"cpptools.status.codeanalysis": "C/C++-Code Analysis-Status",
"c.cpp.codeanalysis.statusbar.runNow": "Jetzt ausführen",
"tagparser.pause.text": "Anhalten",
"tagparser.resume.text": "Fortsetzen",
"intellisense.select.text": "Compiler auswählen",
"rescan.intellisense.text": "Neu einlesen",
"rescan.intellisense.tooltip": "IntelliSense neu einlesen",
"cpptools.status.tagparser": "Status des C/C++-Tagparsers",
"cpptools.detail.tagparser": "Wird initialisiert...",
"tagparser.resume.text": "Fortsetzen",
"tagparser.pause.text": "Anhalten",
"cpptools.status.codeanalysis": "C/C++-Code Analysis-Status",
"c.cpp.codeanalysis.statusbar.runNow": "Jetzt ausführen",
"mode.codeanalysis.status.automatic": "Automatisch",
"mode.codeanalysis.status.manual": "Manuell",
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Optionen",
"startup.codeanalysis.status": "Wird gestartet...",
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "Jetzt ausführen",
"running.analysis.processed.tooltip": "Wird ausgeführt: {0} / {1} ({2}%)",
"select.code.analysis.command": "Codeanalysebefehl auswählen...",
"cancel.analysis": "Abbrechen",
"resume.analysis": "Fortsetzen",
"pause.analysis": "Anhalten",
"another.analysis": "Starten Sie eine weitere...",
"select.command": "Befehl auswählen...",
"active.analysis": "Code Analysis auf \"Aktive Dateien\" ausführen",
"all.analysis": "Code Analysis auf \"Alle Dateien\" ausführen",
"open.analysis": "Code Analysis auf \"Dateien öffnen\" ausführen",
"c.cpp.references.statusbar": "C/C++-Verweisstatus",
"c.cpp.configuration.tooltip": "C/C++-Konfiguration",
"c.cpp.configureIntelliSenseStatus.cppText": "IntelliSense in C/C++ konfigurieren",
"select.a.configuration": "Konfiguration auswählen...",
"edit.configuration.ui": "Konfigurationen bearbeiten (Benutzeroberfläche)",
"edit.configuration.json": "Konfigurationen bearbeiten (JSON)",
@@ -45,17 +52,5 @@
"active": "aktiv",
"none": "Keine",
"disable.configuration.provider": "Deaktivieren Sie den aktiven Konfigurationsanbieter, falls zutreffend.",
"select.compile.commands": "compile_commands.json-Datei auswählen...",
"select.workspace": "Arbeitsbereichsordner auswählen...",
"select.command": "Befehl auswählen...",
"select.code.analysis.command": "Codeanalysebefehl auswählen...",
"resume.parsing": "Arbeitsbereichsanalyse fortsetzen",
"pause.parsing": "Arbeitsbereichsanalyse anhalten",
"cancel.analysis": "Abbrechen",
"resume.analysis": "Fortsetzen",
"pause.analysis": "Anhalten",
"another.analysis": "Starten Sie eine weitere...",
"active.analysis": "Code Analysis auf \"Aktive Dateien\" ausführen",
"all.analysis": "Code Analysis auf \"Alle Dateien\" ausführen",
"open.analysis": "Code Analysis auf \"Dateien öffnen\" ausführen"
"select.workspace": "Arbeitsbereichsordner auswählen..."
}
@@ -4,8 +4,8 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"local.forward.local.conflict": "„localSocket“ kann nicht gleichzeitig mit „bindAddress“ oder“\"Port“ in localForwards angegeben werden.",
"local.forward.local.conflict": "„localSocket“ kann nicht gleichzeitig mit „bindAddress“ oder“\"Port“ in localForwards angegeben werden",
"local.forward.local.missing": "„Port“ oder „localSocket“ in localForwards erforderlich",
"local.forward.remote.conflict": "„remoteSocket“ kann nicht gleichzeitig mit „host“ oder „hostPort“ in localForwards angegeben werden.",
"local.forward.remote.conflict": "„remoteSocket“ kann nicht gleichzeitig mit „host“ oder „hostPort“ in localForwards angegeben werden",
"local.forward.remote.missing": "„Host“ und „hostPort“ oder „remoteSocket“ sind in localForwards erforderlich."
}
@@ -7,7 +7,7 @@
"ssh.canceled": "Der SSH-Befehl wurde abgebrochen.",
"ssh.passphrase.input.box": "Passphrase für SSH-Schlüssel eingeben {0}",
"ssh.enter.password.for.user": "Geben Sie das Kennwort für Benutzer „{0}“ ein.",
"ssh_message_enterPassword": "Kennwort eingeben",
"ssh.message.enter.password": "Kennwort eingeben",
"ssh.continue.confirmation.placeholder": "Möchten Sie wirklich fortfahren?",
"ssh.host.key.confirmation.title": "\"{0}\" hat Fingerabdruck \"{1}\".",
"continue": "Weiter",
+19 -1
View File
@@ -8,6 +8,7 @@
"include_not_found_in_browse_path": "Die Includedatei wurde in \"browse.path\" nicht gefunden.",
"update_browse_path": "Einstellung \"browse.path\" bearbeiten",
"add_to_include_path": "Zu \"includePath\" hinzufügen: {0}",
"add_missing_include_path": "\"{0}\" hinzufügen",
"edit_include_path": "Einstellung für \"includePath\" bearbeiten",
"disable_error_squiggles": "Fehlerwellenlinien deaktivieren",
"enable_error_squiggles": "Alle Fehlerwellenlinien aktivieren",
@@ -229,6 +230,7 @@
"failed_to_query_for_standard_version": "Der Compiler im Pfad \"{0}\" konnte nicht nach standardmäßigen Standardversionen abgefragt werden. Die Compilerabfrage ist für diesen Compiler deaktiviert.",
"unrecognized_language_standard_version": "Die Compilerabfrage hat eine unbekannte Sprachstandardversion zurückgegeben. Stattdessen wird die neueste unterstützte Version verwendet.",
"intellisense_process_crash_detected": "IntelliSense-Prozessabsturz erkannt.",
"intellisense_feature_crash_detected": "IntelliSense-Prozessabsturz erkannt: {0}",
"return_values_label": "Rückgabewerte:",
"nvcc_compiler_not_found": "Der nvcc-Compiler wurde nicht gefunden: {0}",
"nvcc_host_compiler_not_found": "Der nvcc-Hostcompiler wurde nicht gefunden: {0}",
@@ -296,5 +298,21 @@
"run_select_intellisense_configuration": "Führen Sie den Befehl „IntelliSense-Konfiguration auswählen...“ aus, um nach Ihren Systemheadern zu suchen.",
"offer_copy_declaration": "Deklaration von \"{0}\" kopieren",
"offer_copy_definition": "Definition von \"{0}\" kopieren",
"refactor_copy_declaration_definition_failed": "Fehler beim Kopieren der Deklaration/Definition in die Zwischenablage: %s"
"refactor_copy_declaration_definition_failed": "Fehler beim Kopieren der Deklaration/Definition in die Zwischenablage: %s",
"refactor_extract_to_function": "In Funktion extrahieren",
"refactor_extract_to_free_function": "In freie Funktion extrahieren",
"refactor_extract_to_member_function_in": "In Memberfunktion in „{0}“ extrahieren",
"refactor_extract_outsidefunc": "Ausgewählter Text ist nicht in der Funktion enthalten.",
"refactor_extract_multifunc": "Der ausgewählte Text darf nicht unterschiedliche Funktionen umfassen.",
"refactor_extract_variable": "Variable '%s' wird in der ausgewählten Region deklariert und dann darunter verwendet.",
"refactor_extract_macro": "Preprozessormakro '%s' wird unter der ausgewählten Region verwendet.",
"refactor_extract_inactive": "Die ausgewählte Region umfasst einen inaktiven Preprozessorblock.",
"refactor_extract_no_il": "Die ausgewählte Region enthält keinen Code, der extrahiert werden kann.",
"refactor_extract_entirefunc": "Ausgewählter Bereich ist vollständig innerhalb des Texts der Funktion enthalten.",
"refactor_extract_errors_selection": "Die Auswahl enthält IntelliSense-Fehler.",
"refactor_extract_reference_c_code": "„%s“ ist nicht innerhalb des ausgewählten Codes deklariert, wird jedoch geändert. C-Code kann keine Argumente durch Verweis übergeben.",
"refactor_extract_reference_return_c_code": "Die Funktion muss einen Wert durch Verweis zurückgeben. C-Code kann keine Verweise zurückgeben.",
"refactor_extract_xborder_jump": "Es sind Sprünge zwischen dem ausgewählten und dem umgebenden Code vorhanden.",
"refactor_extract_missing_return": "Im ausgewählten Code werden einige Steuerungspfade beendet, ohne den Rückgabewert festzulegen. Dies wird nur für skalare, numerische und Zeigerrückgabetypen unterstützt.",
"expand_selection": "Auswahl erweitern (um „In Funktion extrahieren“ zu aktivieren)"
}
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"walkthough.mac.install.compiler": "C++-Compiler unter macOS installieren",
"walkthough.mac.text1": "Wenn Sie mithilfe von C++ unter macOS entwickeln, empfehlen wir die Installation des Clang-Compilers. Sie müssen nur den folgenden Befehl in einem Terminalfenster(STRG+UMSCHALT+ `) ausführen, um die Befehlszeilen-Entwicklertools zu installieren:",
"walkthough.mac.text2": "Führen Sie den folgenden Befehl in einem Terminalfenster aus, um zu überprüfen, ob Clang installiert ist. Es sollte eine Meldung mit Informationen zur verwendeten Clang-Version angezeigt werden."
"walkthrough.mac.install.compiler": "C++-Compiler unter macOS installieren",
"walkthrough.mac.text1": "Wenn Sie mithilfe von C++ unter macOS entwickeln, empfehlen wir die Installation des Clang-Compilers. Sie müssen nur den folgenden Befehl in einem Terminalfenster(STRG+UMSCHALT+ `) ausführen, um die Befehlszeilen-Entwicklertools zu installieren:",
"walkthrough.mac.text2": "Führen Sie den folgenden Befehl in einem Terminalfenster aus, um zu überprüfen, ob Clang installiert ist. Es sollte eine Meldung mit Informationen zur verwendeten Clang-Version angezeigt werden."
}
@@ -0,0 +1,23 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"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.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",
"walkthrough.windows.open.command.prompt": "Öffnen Sie die {0}, indem Sie im Windows-Startmenü \"Developer\" eingeben.",
"walkthrough.windows.command.prompt.name1": "Developer-Eingabeaufforderung für VS",
"walkthrough.windows.check.install": "Überprüfen Sie die MSVC-Installation, indem Sie {0} in die Developer-Eingabeaufforderung für VS eingeben. Es sollten ein Copyrighthinweis mit der Version und der grundlegenden Nutzungsbeschreibung angezeigt werden.",
"walkthrough.windows.note2": "Hinweis",
"walkthrough.windows.note2.text": "Um MSVC mithilfe der Befehlszeile oder mit VS Code zu verwenden, müssen Sie von einem {0} aus ausführen. Für eine normale Shell wie {1}, {2} oder die Windows-Eingabeaufforderung sind die erforderlichen PATH-Umgebungsvariablen nicht festgelegt.",
"walkthrough.windows.command.prompt.name2": "Developer-Eingabeaufforderung für VS",
"walkthrough.windows.other.compilers": "Andere Compileroptionen",
"walkthrough.windows.text3": "Wenn Sie Linux aus Windows verwenden, lesen Sie {0}. Oder Sie können {1}.",
"walkthrough.windows.link.title1": "Verwenden von C++ und Windows-Subsystem für Linux (WSL) in VS Code",
"walkthrough.windows.link.title2": "Installieren Sie GCC unter Windows mit MinGW."
}
@@ -0,0 +1,23 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"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.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",
"walkthrough.windows.open.command.prompt": "Öffnen Sie die {0}, indem Sie im Windows-Startmenü \"Developer\" eingeben.",
"walkthrough.windows.command.prompt.name1": "Developer-Eingabeaufforderung für VS",
"walkthrough.windows.check.install": "Überprüfen Sie die MSVC-Installation, indem Sie {0} in die Developer-Eingabeaufforderung für VS eingeben. Es sollten ein Copyrighthinweis mit der Version und der grundlegenden Nutzungsbeschreibung angezeigt werden.",
"walkthrough.windows.note2": "Hinweis",
"walkthrough.windows.note2.text": "Um MSVC mithilfe der Befehlszeile oder mit VS Code zu verwenden, müssen Sie von einem {0} aus ausführen. Für eine normale Shell wie {1}, {2} oder die Windows-Eingabeaufforderung sind die erforderlichen PATH-Umgebungsvariablen nicht festgelegt.",
"walkthrough.windows.command.prompt.name2": "Developer-Eingabeaufforderung für VS",
"walkthrough.windows.other.compilers": "Andere Compileroptionen",
"walkthrough.windows.text3": "Wenn Sie Linux aus Windows verwenden, lesen Sie {0}. Oder Sie können {1}.",
"walkthrough.windows.link.title1": "Verwenden von C++ und Windows-Subsystem für Linux (WSL) in VS Code",
"walkthrough.windows.link.title2": "Installieren Sie GCC unter Windows mit MinGW."
}
+17 -8
View File
@@ -16,8 +16,8 @@
"c_cpp.command.configurationProviderSelect.title": "Cambiar el proveedor de configuración...",
"c_cpp.command.configurationEditJSON.title": "Editar configuraciones (JSON)",
"c_cpp.command.configurationEditUI.title": "Editar configuraciones (interfaz de usuario)",
"c_cpp.command.selectDefaultCompiler.title": "Seleccionar compilador predeterminado...",
"c_cpp.command.selectIntelliSenseConfiguration.title": "Seleccionar configuración de IntelliSense...",
"c_cpp.command.installCompiler.title": "Instalar un compilador de C++",
"c_cpp.command.rescanCompilers.title": "Volver a examinar los compiladores",
"c_cpp.command.switchHeaderSource.title": "Cambiar el encabezado o el origen",
"c_cpp.command.enableErrorSquiggles.title": "Habilitar el subrayado ondulado de errores",
@@ -416,8 +416,9 @@
"c_cpp.walkthrough.description": "Sumérgete en la enriquecida experiencia de desarrollo de C++ de VS Code.",
"c_cpp.walkthrough.set.up.title": "Configurar el entorno de C++",
"c_cpp.walkthrough.activating.description": "Activando la extensión de C++ para determinar si se ha configurado el entorno de C++.\nActivando extensión...",
"c_cpp.walkthrough.no.compilers.description": "No se encontró ningún compilador de C++ en la máquina, pero es necesario para usar la extensión de C++. Siga las instrucciones de la derecha para instalar uno y, a continuación, haga clic en \"Buscar mi nuevo compilador\".\n[Buscar mi nuevo compilador](command:C_Cpp.RescanCompilers?%7B%22sender%22%3A%22walkthrough%22%7D)",
"c_cpp.walkthrough.compilers.found.description": "La extensión de C++ funciona con un compilador de C++. Haga clic en el botón siguiente para seleccionar uno de los que ya estén en su equipo.\n[Seleccionar mi compilador predeterminado](command:C_Cpp.SelectDefaultCompiler?%7B%22sender%22%3A%22walkthrough%22%7D)",
"c_cpp.walkthrough.no.compilers.windows.description": "No pudimos encontrar un compilador de C++ en el equipo, que es necesario para usar la extensión de C++. Siga las instrucciones de la derecha para instalar una y, a continuación, haga clic en Buscar mi nuevo compilador.\n[Buscar mi nuevo compilador](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.no.compilers.description": "No pudimos encontrar un compilador de C++ en el equipo, que es necesario para usar la extensión de C++. Seleccione “Instalar un compilador de C++” para tener un compilador instalado automáticamente o siga las instrucciones de la derecha para instalar uno y, a continuación, haga clic en “Buscar mi nuevo compilador”.\n[Instalar un compilador de C++](command:C_Cpp.InstallCompiler?%22walkthrough%22)\n[Buscar mi nuevo compilador](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.description": "La extensión de C++ funciona con un compilador de C++. Seleccione una de las que ya están en el equipo haciendo clic en el botón siguiente.\n[Seleccionar mi compilador predeterminado](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.altText": "Imagen que muestra la selección de una selección rápida predeterminada del compilador y la lista de compiladores encontrados en el equipo de los usuarios, uno de los cuales está seleccionado.",
"c_cpp.walkthrough.create.cpp.file.title": "Crear un archivo de C++",
"c_cpp.walkthrough.create.cpp.file.description": "[Abrir](command:toSide:workbench.action.files.openFile) o [crear](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D) un archivo de C++. Asegúrese de guardarlo con la extensión \".cpp\", como \"helloworld.cpp\". \n[Crear un archivo de C++](command:toSide:workbench.action.files.newUntitledFile?%7B%22languageId%22%3A%22cpp%22%7D)",
@@ -430,8 +431,16 @@
"c_cpp.walkthrough.run.debug.windows.description": "Abre el archivo de C++ y haz clic en el botón reproducir de la esquina superior derecha del editor o presiona F5 cuando estés en el archivo. Selecciona \"cl.exe - Compilar y depurar archivo activo\" para ejecutarlo con el depurador.",
"c_cpp.walkthrough.run.debug.windows.altText": "Imagen que muestra un punto de interrupción en un archivo de C++, el botón f5 y el símbolo de ejecución en la parte superior derecha",
"c_cpp.walkthrough.customize.debugging.title": "Personalizar depuración",
"c_cpp.walkthrough.customize.debugging.mac.description": "Puede personalizar la configuración de depuración (por ejemplo, para pasar argumentos al programa en tiempo de ejecución) seleccionando \"Agregar configuración de depuración\" a la derecha del botón de reproducir. La configuración de depuración personalizada se guarda en el archivo launch.json del proyecto. \n[Más información](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "Puede personalizar la configuración de depuración (por ejemplo, para pasar argumentos al programa en tiempo de ejecución) seleccionando \"Agregar configuración de depuración\" a la derecha del botón de reproducir. La configuración de depuración personalizada se guarda en el archivo launch.json del proyecto. \n[Más información](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "Puede personalizar la configuración de depuración (por ejemplo, para pasar argumentos al programa en tiempo de ejecución) seleccionando \"Agregar configuración de depuración\" a la derecha del botón de reproducir. La configuración de depuración personalizada se guarda en el archivo launch.json del proyecto. \n[Más información](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "Imagen que muestra Agregar configuración de depuración en la lista desplegable"
}
"c_cpp.walkthrough.customize.debugging.mac.description": "Para personalizar la configuración de depuración, seleccione el Explorador en la barra de actividad y abra una carpeta que incluya el archivo de C++. Abra el archivo de C++ y seleccione \"Agregar configuración de depuración\" a la derecha del botón de reproducción. La nueva configuración de depuración se guarda en el archivo launch.json del proyecto. \n[Learn More](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "Para personalizar la configuración de depuración, seleccione el Explorador en la barra de actividad y abra una carpeta que incluya el archivo de C++. Abra el archivo de C++ y seleccione \"Agregar configuración de depuración\" a la derecha del botón de reproducción. La nueva configuración de depuración se guarda en el archivo launch.json del proyecto. \n[Learn More](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "Para personalizar la configuración de depuración, seleccione el Explorador en la barra de actividad y abra una carpeta que incluya el archivo de C++. Abra el archivo de C++ y seleccione \"Agregar configuración de depuración\" a la derecha del botón de reproducción. La nueva configuración de depuración se guarda en el archivo launch.json del proyecto. \n[Learn More](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "Imagen que muestra Agregar configuración de depuración en la lista desplegable",
"c_cpp.codeActions.refactor.inline.macro.title": "Insertar macro",
"c_cpp.codeActions.refactor.inline.macro.description": "Reemplace la invocación de macro por el código expandido.",
"c_cpp.codeActions.refactor.extract.function.title": "Extraer a una función",
"c_cpp.codeActions.refactor.extract.function.description": "Extraer el código seleccionado a una función libre o función miembro.",
"c_cpp.configuration.refactoring.includeHeader.markdownDescription": "Controla si se incluye el archivo de encabezado de una función/símbolo refactorizado a su correspondiente archivo de origen al realizar una acción de refactorización, como crear declaración/definición.",
"c_cpp.configuration.refactoring.includeHeader.always.description": "Incluya siempre el archivo de encabezado si no está incluido explícitamente en su archivo de origen.",
"c_cpp.configuration.refactoring.includeHeader.ifNeeded.description": "Incluya el archivo de encabezado sólo si no está incluido explícitamente en su archivo de origen o mediante inclusión implícita.",
"c_cpp.configuration.refactoring.includeHeader.never.description": "Nunca incluya el archivo de encabezado."
}

Some files were not shown because too many files have changed in this diff Show More