Compare commits
218
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8ac65e65b5 | ||
|
|
2ec525e129 | ||
|
|
b124e441fa | ||
|
|
ff6fd3473b | ||
|
|
da110e78f0 | ||
|
|
89f609d70b | ||
|
|
9dfb2c6060 | ||
|
|
20759af979 | ||
|
|
2dbe8e4366 | ||
|
|
f94e7e05e0 | ||
|
|
aa2b618ff6 | ||
|
|
551642a987 | ||
|
|
c1c59368c1 | ||
|
|
6aa6146689 | ||
|
|
558a3cf892 | ||
|
|
659cc18243 | ||
|
|
1e5c015f99 | ||
|
|
225a8631d2 | ||
|
|
b8cd5d8bb0 | ||
|
|
9fcdafb9cc | ||
|
|
c71e06a208 | ||
|
|
77319d5ce0 | ||
|
|
7dcf4db276 | ||
|
|
eac4703376 | ||
|
|
ca4482d664 | ||
|
|
b31c42e629 | ||
|
|
754dd9a440 | ||
|
|
25dc96ac27 | ||
|
|
1a03dd2a1d | ||
|
|
2136b84aae | ||
|
|
9c835e5370 | ||
|
|
0a09372f61 | ||
|
|
af1ab619e6 | ||
|
|
d07c90b6aa | ||
|
|
1b8f652d97 | ||
|
|
7817a10b5f | ||
|
|
6eeff1ab02 | ||
|
|
bc0770aa9b | ||
|
|
d737c07a10 | ||
|
|
40e28c2a85 | ||
|
|
79d0b01722 | ||
|
|
8ad680b57b | ||
|
|
1822556dc2 | ||
|
|
f2ca7a2c03 | ||
|
|
0940fb709c | ||
|
|
9d79f0ff2b | ||
|
|
c23d218403 | ||
|
|
8dacea0cd5 | ||
|
|
04e93a9bb4 | ||
|
|
a17c8e6dd4 | ||
|
|
4508c95dac | ||
|
|
bcc45e5d60 | ||
|
|
df83a38c61 | ||
|
|
348be98436 | ||
|
|
927a0a8995 | ||
|
|
9f8a5ad797 | ||
|
|
27b5faca11 | ||
|
|
fc72913cb5 | ||
|
|
857256b753 | ||
|
|
c2af2c9296 | ||
|
|
9525fc702d | ||
|
|
0820b5ef52 | ||
|
|
58d071c917 | ||
|
|
9650bb7d9f | ||
|
|
3c06384078 | ||
|
|
ec0f671ecf | ||
|
|
fb3c9af085 | ||
|
|
19f918d111 | ||
|
|
c22ed1e843 | ||
|
|
6aab5a14f7 | ||
|
|
c1a5f25b5b | ||
|
|
be06726777 | ||
|
|
888d38632a | ||
|
|
2f35092acf | ||
|
|
75b4240b3e | ||
|
|
b5ac4e8515 | ||
|
|
825ecc350d | ||
|
|
81d0baa321 | ||
|
|
99b198f281 | ||
|
|
99b956c319 | ||
|
|
dd1ab75d13 | ||
|
|
58e60ac36a | ||
|
|
e1596fe3a9 | ||
|
|
66a9890551 | ||
|
|
8ea26d6e62 | ||
|
|
d04aa1c4a5 | ||
|
|
536a94ca3d | ||
|
|
3713694b47 | ||
|
|
a177759d3a | ||
|
|
6e60876af8 | ||
|
|
c752e31cb4 | ||
|
|
48d5fef90a | ||
|
|
ff24cdf33a | ||
|
|
abde9a33b9 | ||
|
|
e8bc0e8c42 | ||
|
|
ca777ddf92 | ||
|
|
c90c130d05 | ||
|
|
bcb7cd5875 | ||
|
|
35fa7f63a0 | ||
|
|
85936c3cf3 | ||
|
|
61360a8313 | ||
|
|
6d29964cb3 | ||
|
|
bf67be3000 | ||
|
|
462a8565ab | ||
|
|
ab5d4329f8 | ||
|
|
e621e98595 | ||
|
|
a84ab7e549 | ||
|
|
babafd20d0 | ||
|
|
d688979d4f | ||
|
|
a0b948057e | ||
|
|
a08a9b6e11 | ||
|
|
1f43948f92 | ||
|
|
e8d91542a8 | ||
|
|
f9c1dec542 | ||
|
|
834bfbc8eb | ||
|
|
2cc1f62b0f | ||
|
|
64cf9270ed | ||
|
|
02cc49b5ab | ||
|
|
742299309b | ||
|
|
42664952a1 | ||
|
|
5aa64f156d | ||
|
|
4e4828694a | ||
|
|
4ab525fd51 | ||
|
|
d390344167 | ||
|
|
8e2b2e67b7 | ||
|
|
ea26e533c0 | ||
|
|
1852c504bf | ||
|
|
18b7f8d8e4 | ||
|
|
fa1b16293e | ||
|
|
5f7e208926 | ||
|
|
80f41b7c06 | ||
|
|
3e8df13031 | ||
|
|
5743471b68 | ||
|
|
61c22d7b22 | ||
|
|
f82c1ed901 | ||
|
|
2e10951389 | ||
|
|
81b6d710f6 | ||
|
|
c87bd6576d | ||
|
|
ca72441372 | ||
|
|
8312941547 | ||
|
|
837cd84d8c | ||
|
|
a6f012a251 | ||
|
|
7cfe3606ff | ||
|
|
9db05b6945 | ||
|
|
eedadd9ba0 | ||
|
|
b33117997a | ||
|
|
734ce74be2 | ||
|
|
5262a75d87 | ||
|
|
214a22911d | ||
|
|
c8a36e091e | ||
|
|
6c95236356 | ||
|
|
6bdf5f2495 | ||
|
|
9b559d0a18 | ||
|
|
255ecac866 | ||
|
|
f97729a8cb | ||
|
|
a88ca881ad | ||
|
|
9ea6727743 | ||
|
|
bd1f66b411 | ||
|
|
c5be0b55c7 | ||
|
|
e8080fc86f | ||
|
|
579e4db42b | ||
|
|
16bc8f6e5d | ||
|
|
6c4080832b | ||
|
|
882b62c25b | ||
|
|
5878686eac | ||
|
|
f87944a72a | ||
|
|
8e0a0792b8 | ||
|
|
6712181c45 | ||
|
|
940a720501 | ||
|
|
211e497a89 | ||
|
|
f04ee43425 | ||
|
|
8a4bfa2183 | ||
|
|
c6af5ce8b5 | ||
|
|
014f30e942 | ||
|
|
d1c9d4d298 | ||
|
|
09ccd3af42 | ||
|
|
375b64b4f8 | ||
|
|
783ef7290a | ||
|
|
7f1efd4b84 | ||
|
|
d68f76b51e | ||
|
|
6ba1262347 | ||
|
|
490fc7504f | ||
|
|
f2959f4d7a | ||
|
|
fa4d7b22c1 | ||
|
|
3cb7f7e61f | ||
|
|
779f2ce2b5 | ||
|
|
0c4c83e5bd | ||
|
|
a369ede8d9 | ||
|
|
36ce8f885f | ||
|
|
347794b0c7 | ||
|
|
3ed087134c | ||
|
|
902355e021 | ||
|
|
32e98912df | ||
|
|
084a8e708c | ||
|
|
045d50bb90 | ||
|
|
68eda19665 | ||
|
|
39ab866a10 | ||
|
|
d4cdfe6994 | ||
|
|
c18592b5a3 | ||
|
|
fee924b374 | ||
|
|
6724e13c63 | ||
|
|
717de54b06 | ||
|
|
51cd214f1e | ||
|
|
da277c8593 | ||
|
|
b3cce807bb | ||
|
|
a533eb9a43 | ||
|
|
9702eae953 | ||
|
|
a4b51997ff | ||
|
|
b1274d3c76 | ||
|
|
8f8565dbfd | ||
|
|
7f4614c31c | ||
|
|
e231453778 | ||
|
|
8729804dc2 | ||
|
|
0cf237c839 | ||
|
|
ddc1f901c2 | ||
|
|
9ca27af2df | ||
|
|
082435ec8b | ||
|
|
324c5f59f4 |
@@ -0,0 +1,3 @@
|
||||
# ignore dependency packages
|
||||
node_modules
|
||||
*.js.map
|
||||
@@ -0,0 +1,44 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Locker = void 0;
|
||||
const utils_1 = require("../common/utils");
|
||||
const ActionBase_1 = require("../common/ActionBase");
|
||||
class Locker extends ActionBase_1.ActionBase {
|
||||
constructor(github, daysSinceClose, daysSinceUpdate, labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
|
||||
this.github = github;
|
||||
this.daysSinceClose = daysSinceClose;
|
||||
this.daysSinceUpdate = daysSinceUpdate;
|
||||
}
|
||||
async run() {
|
||||
const closedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceClose);
|
||||
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceUpdate);
|
||||
const query = this.buildQuery((this.daysSinceClose ? `closed:<${closedTimestamp} ` : "") + (this.daysSinceUpdate ? `updated:<${updatedTimestamp} ` : "") + "is:closed is:unlocked");
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
await Promise.all(page.map(async (issue) => {
|
||||
const hydrated = await issue.getIssue();
|
||||
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
|
||||
// TODO: Verify closed and updated timestamps
|
||||
) {
|
||||
console.log(`Locking issue ${hydrated.number}`);
|
||||
await issue.lockIssue();
|
||||
}
|
||||
else {
|
||||
if (hydrated.locked) {
|
||||
console.log(`Issue ${hydrated.number} is already locked. Ignoring`);
|
||||
}
|
||||
else {
|
||||
console.log('Query returned an invalid issue:' +
|
||||
JSON.stringify({ ...hydrated, body: 'stripped' }));
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.Locker = Locker;
|
||||
//# sourceMappingURL=Locker.js.map
|
||||
@@ -0,0 +1,58 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { GitHub, Issue } from '../api/api'
|
||||
import { daysAgoToHumanReadbleDate } from '../common/utils'
|
||||
import { ActionBase } from '../common/ActionBase'
|
||||
|
||||
export class Locker extends ActionBase {
|
||||
constructor(
|
||||
private github: GitHub,
|
||||
private daysSinceClose: number,
|
||||
private daysSinceUpdate: number,
|
||||
labels?: string,
|
||||
milestoneName?: string,
|
||||
milestoneId?: string,
|
||||
ignoreLabels?: string,
|
||||
ignoreMilestoneNames?: string,
|
||||
ignoreMilestoneIds?: string,
|
||||
minimumVotes?: number,
|
||||
maximumVotes?: number
|
||||
)
|
||||
{
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
|
||||
}
|
||||
|
||||
async run() {
|
||||
const closedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceClose)
|
||||
const updatedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceUpdate)
|
||||
|
||||
const query = this.buildQuery((this.daysSinceClose ? `closed:<${closedTimestamp} ` : "") + (this.daysSinceUpdate ? `updated:<${updatedTimestamp} ` : "") + "is:closed is:unlocked");
|
||||
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
await Promise.all(
|
||||
page.map(async (issue) => {
|
||||
const hydrated = await issue.getIssue()
|
||||
|
||||
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
|
||||
// TODO: Verify closed and updated timestamps
|
||||
) {
|
||||
console.log(`Locking issue ${hydrated.number}`)
|
||||
await issue.lockIssue()
|
||||
} else {
|
||||
if (hydrated.locked) {
|
||||
console.log(`Issue ${hydrated.number} is already locked. Ignoring`)
|
||||
} else {
|
||||
console.log(
|
||||
'Query returned an invalid issue:' +
|
||||
JSON.stringify({ ...hydrated, body: 'stripped' }),
|
||||
)
|
||||
}
|
||||
}
|
||||
}),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
name: Locker
|
||||
description: Lock closed issues and PRs after some time has passed
|
||||
inputs:
|
||||
token:
|
||||
description: GitHub token with issue, comment, and label read/write permissions
|
||||
default: ${{ github.token }}
|
||||
daysSinceClose:
|
||||
description: Days to wait since closing before locking the item
|
||||
required: true
|
||||
daysSinceUpdate:
|
||||
description: days to wait since the last interaction before locking the item
|
||||
required: true
|
||||
milestoneName:
|
||||
description: items with these milestones will be considered (name only, must match ID)
|
||||
milestoneId:
|
||||
description: items with these milestones will be considered (id only, must match name)
|
||||
labels:
|
||||
description: items with these labels will not be considered. May be "*".
|
||||
ignoredMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
ignoredMilestoneIds:
|
||||
description: items with these milestones will not be considered (IDs only, must match names)
|
||||
ignoredLabels:
|
||||
description: items with these labels will not be considered
|
||||
minimumVotes:
|
||||
descriptions: Only issues with at least this many votes will be considered.
|
||||
maximumVotes:
|
||||
descriptions: Only issues fewer or equal to this many votes will be considered.
|
||||
runs:
|
||||
using: 'node12'
|
||||
main: 'index.js'
|
||||
@@ -0,0 +1,20 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const utils_1 = require("../common/utils");
|
||||
const Locker_1 = require("./Locker");
|
||||
const Action_1 = require("../common/Action");
|
||||
class LockerAction extends Action_1.Action {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.id = 'Locker';
|
||||
}
|
||||
async onTriggered(github) {
|
||||
await new Locker_1.Locker(github, +utils_1.getRequiredInput('daysSinceClose'), +utils_1.getRequiredInput('daysSinceUpdate'), utils_1.getInput('labels') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoredLabels') || undefined, utils_1.getInput('ignoredMilestoneNames') || undefined, utils_1.getInput('ignoredMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999)).run();
|
||||
}
|
||||
}
|
||||
new LockerAction().run(); // eslint-disable-line
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -0,0 +1,31 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { OctoKit } from '../api/octokit'
|
||||
import { getInput, getRequiredInput } from '../common/utils'
|
||||
import { Locker } from './Locker'
|
||||
import { Action } from '../common/Action'
|
||||
|
||||
class LockerAction extends Action {
|
||||
id = 'Locker'
|
||||
|
||||
async onTriggered(github: OctoKit) {
|
||||
await new Locker(
|
||||
github,
|
||||
+getRequiredInput('daysSinceClose'),
|
||||
+getRequiredInput('daysSinceUpdate'),
|
||||
getInput('labels') || undefined,
|
||||
getInput('milestoneName') || undefined,
|
||||
getInput('milestoneId') || undefined,
|
||||
getInput('ignoredLabels') || undefined,
|
||||
getInput('ignoredMilestoneNames') || undefined,
|
||||
getInput('ignoredMilestoneIds') || undefined,
|
||||
+(getInput('minimumVotes') || 0),
|
||||
+(getInput('maximumVotes') || 9999999)
|
||||
).run()
|
||||
}
|
||||
}
|
||||
|
||||
new LockerAction().run() // eslint-disable-line
|
||||
@@ -0,0 +1,87 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.StaleCloser = void 0;
|
||||
const ActionBase_1 = require("../common/ActionBase");
|
||||
const utils_1 = require("../common/utils");
|
||||
class StaleCloser extends ActionBase_1.ActionBase {
|
||||
constructor(github, closeDays, labels, closeComment, pingDays, pingComment, additionalTeam, addLabels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
|
||||
this.github = github;
|
||||
this.closeDays = closeDays;
|
||||
this.closeComment = closeComment;
|
||||
this.pingDays = pingDays;
|
||||
this.pingComment = pingComment;
|
||||
this.additionalTeam = additionalTeam;
|
||||
this.addLabels = addLabels;
|
||||
}
|
||||
async run() {
|
||||
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.closeDays);
|
||||
const pingTimestamp = this.pingDays ? utils_1.daysAgoToTimestamp(this.pingDays) : undefined;
|
||||
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
for (const issue of page) {
|
||||
const hydrated = await issue.getIssue();
|
||||
const lastCommentIterator = await issue.getComments(true).next();
|
||||
if (lastCommentIterator.done) {
|
||||
throw Error('Unexpected comment data');
|
||||
}
|
||||
const lastComment = lastCommentIterator.value[0];
|
||||
if (hydrated.open && this.validateIssue(hydrated)
|
||||
// TODO: Verify updated timestamp
|
||||
) {
|
||||
if (!lastComment ||
|
||||
lastComment.author.isGitHubApp ||
|
||||
// TODO: List the collaborators once per go rather than checking a single user each issue
|
||||
(pingTimestamp != undefined &&
|
||||
(this.additionalTeam.includes(lastComment.author.name) ||
|
||||
(await issue.hasWriteAccess(lastComment.author))))) {
|
||||
if (lastComment) {
|
||||
console.log(`Last comment on ${hydrated.number} by ${lastComment.author.name}. Closing.`);
|
||||
}
|
||||
else {
|
||||
console.log(`No comments on ${hydrated.number}. Closing.`);
|
||||
}
|
||||
if (this.closeComment) {
|
||||
await issue.postComment(this.closeComment);
|
||||
}
|
||||
if (addLabelsSet.length > 0) {
|
||||
for (const addLabel of addLabelsSet) {
|
||||
if (addLabel && addLabel.length > 0) {
|
||||
console.log(`Adding label on ${hydrated.number}: ${addLabel}`);
|
||||
await issue.addLabel(addLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(`Closing ${hydrated.number}.`);
|
||||
await issue.closeIssue();
|
||||
}
|
||||
else if (pingTimestamp != undefined) {
|
||||
// Ping
|
||||
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
|
||||
console.log(`Last comment on ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
|
||||
if (this.pingComment) {
|
||||
await issue.postComment(this.pingComment
|
||||
.replace('${assignee}', hydrated.assignee)
|
||||
.replace('${author}', hydrated.author.name));
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.log(`Last comment on ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.log('Query returned an invalid issue:' +
|
||||
JSON.stringify({ ...hydrated, body: 'stripped' }));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.StaleCloser = StaleCloser;
|
||||
//# sourceMappingURL=StaleCloser.js.map
|
||||
@@ -0,0 +1,110 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { GitHub } from '../api/api'
|
||||
import { ActionBase } from '../common/ActionBase'
|
||||
import { daysAgoToHumanReadbleDate, daysAgoToTimestamp } from '../common/utils'
|
||||
|
||||
export class StaleCloser extends ActionBase {
|
||||
constructor(
|
||||
private github: GitHub,
|
||||
private closeDays: number,
|
||||
labels: string,
|
||||
private closeComment: string,
|
||||
private pingDays: number,
|
||||
private pingComment: string,
|
||||
private additionalTeam: string[],
|
||||
private addLabels?: string,
|
||||
milestoneName?: string,
|
||||
milestoneId?: string,
|
||||
ignoreLabels?: string,
|
||||
ignoreMilestoneNames?: string,
|
||||
ignoreMilestoneIds?: string,
|
||||
minimumVotes?: number,
|
||||
maximumVotes?: number
|
||||
)
|
||||
{
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
|
||||
}
|
||||
|
||||
async run() {
|
||||
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays)
|
||||
const pingTimestamp = this.pingDays ? daysAgoToTimestamp(this.pingDays) : undefined;
|
||||
|
||||
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
|
||||
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
for (const issue of page) {
|
||||
const hydrated = await issue.getIssue()
|
||||
const lastCommentIterator = await issue.getComments(true).next()
|
||||
if (lastCommentIterator.done) {
|
||||
throw Error('Unexpected comment data')
|
||||
}
|
||||
const lastComment = lastCommentIterator.value[0]
|
||||
|
||||
if (hydrated.open && this.validateIssue(hydrated)
|
||||
// TODO: Verify updated timestamp
|
||||
) {
|
||||
if (
|
||||
!lastComment ||
|
||||
lastComment.author.isGitHubApp ||
|
||||
// TODO: List the collaborators once per go rather than checking a single user each issue
|
||||
(pingTimestamp != undefined &&
|
||||
(this.additionalTeam.includes(lastComment.author.name) ||
|
||||
(await issue.hasWriteAccess(lastComment.author))))
|
||||
) {
|
||||
if (lastComment) {
|
||||
console.log(
|
||||
`Last comment on ${hydrated.number} by ${lastComment.author.name}. Closing.`,
|
||||
)
|
||||
} else {
|
||||
console.log(`No comments on ${hydrated.number}. Closing.`)
|
||||
}
|
||||
if (this.closeComment) {
|
||||
await issue.postComment(this.closeComment)
|
||||
}
|
||||
if (addLabelsSet.length > 0) {
|
||||
for (const addLabel of addLabelsSet) {
|
||||
if (addLabel && addLabel.length > 0) {
|
||||
console.log(`Adding label on ${hydrated.number}: ${addLabel}`)
|
||||
await issue.addLabel(addLabel)
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(`Closing ${hydrated.number}.`)
|
||||
await issue.closeIssue()
|
||||
} else if (pingTimestamp != undefined) {
|
||||
// Ping
|
||||
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
|
||||
console.log(
|
||||
`Last comment on ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`,
|
||||
)
|
||||
if (this.pingComment) {
|
||||
await issue.postComment(
|
||||
this.pingComment
|
||||
.replace('${assignee}', hydrated.assignee)
|
||||
.replace('${author}', hydrated.author.name),
|
||||
)
|
||||
}
|
||||
} else {
|
||||
console.log(
|
||||
`Last comment on ${hydrated.number} by ${lastComment.author.name}. Skipping.${
|
||||
hydrated.assignee ? ' cc @' + hydrated.assignee : ''
|
||||
}`,
|
||||
)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.log(
|
||||
'Query returned an invalid issue:' +
|
||||
JSON.stringify({ ...hydrated, body: 'stripped' }),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
name: Stale Issue Closer
|
||||
description: Close issues that are marked with a specified label and were last interacted with by a contributor or bot
|
||||
inputs:
|
||||
token:
|
||||
description: GitHub token with issue, comment, and label read/write permissions
|
||||
default: ${{ github.token }}
|
||||
closeDays:
|
||||
description: Days to wait before closing the issue
|
||||
required: true
|
||||
closeComment:
|
||||
description: Comment to add upon closing the issue
|
||||
pingDays:
|
||||
description: Days to wait before pinging the assignee, if any. If set, issue is not closed if there is an assignee.
|
||||
additionalTeam:
|
||||
description: Pipe-separated list of additional users to treat as team members
|
||||
pingComment:
|
||||
description: Comment to add when pinging assignee. ${assignee} and ${author} are replaced.
|
||||
milestoneName:
|
||||
description: items with these milestones will be considered (name only, must match ID)
|
||||
milestoneId:
|
||||
description: items with these milestones will be considered (id only, must match name)
|
||||
labels:
|
||||
description: items with these labels will not be considered. May be "*".
|
||||
required: true
|
||||
ignoredMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
ignoredMilestoneIds:
|
||||
description: items with these milestones will not be considered (IDs only, must match names)
|
||||
ignoredLabels:
|
||||
description: items with these labels will not be considered
|
||||
addLabels:
|
||||
description: Labels to add to issue as it is closed.
|
||||
minimumVotes:
|
||||
descriptions: Only issues with at least this many votes will be considered.
|
||||
maximumVotes:
|
||||
descriptions: Only issues fewer or equal to this many votes will be considered.
|
||||
runs:
|
||||
using: 'node12'
|
||||
main: 'index.js'
|
||||
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const utils_1 = require("../common/utils");
|
||||
const StaleCloser_1 = require("./StaleCloser");
|
||||
const Action_1 = require("../common/Action");
|
||||
class StaleCloserAction extends Action_1.Action {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.id = 'StaleCloser';
|
||||
}
|
||||
async onTriggered(github) {
|
||||
var _a;
|
||||
await new StaleCloser_1.StaleCloser(github, +utils_1.getRequiredInput('closeDays'), utils_1.getRequiredInput('labels'), utils_1.getInput('closeComment') || '', +(utils_1.getInput('pingDays') || 0), utils_1.getInput('pingComment') || '', ((_a = utils_1.getInput('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), utils_1.getInput('addLabels') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoredLabels') || undefined, utils_1.getInput('ignoredMilestoneNames') || undefined, utils_1.getInput('ignoredMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999)).run();
|
||||
}
|
||||
}
|
||||
new StaleCloserAction().run(); // eslint-disable-line
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -0,0 +1,35 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { OctoKit } from '../api/octokit'
|
||||
import { getInput, getRequiredInput } from '../common/utils'
|
||||
import { StaleCloser } from './StaleCloser'
|
||||
import { Action } from '../common/Action'
|
||||
|
||||
class StaleCloserAction extends Action {
|
||||
id = 'StaleCloser'
|
||||
|
||||
async onTriggered(github: OctoKit) {
|
||||
await new StaleCloser(
|
||||
github,
|
||||
+getRequiredInput('closeDays'),
|
||||
getRequiredInput('labels'),
|
||||
getInput('closeComment') || '',
|
||||
+(getInput('pingDays') || 0),
|
||||
getInput('pingComment') || '',
|
||||
(getInput('additionalTeam') ?? '').split(','),
|
||||
getInput('addLabels') || undefined,
|
||||
getInput('milestoneName') || undefined,
|
||||
getInput('milestoneId') || undefined,
|
||||
getInput('ignoredLabels') || undefined,
|
||||
getInput('ignoredMilestoneNames') || undefined,
|
||||
getInput('ignoredMilestoneIds') || undefined,
|
||||
+(getInput('minimumVotes') || 0),
|
||||
+(getInput('maximumVotes') || 9999999)
|
||||
).run()
|
||||
}
|
||||
}
|
||||
|
||||
new StaleCloserAction().run() // eslint-disable-line
|
||||
@@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
//# sourceMappingURL=api.js.map
|
||||
@@ -0,0 +1,99 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
export interface GitHub {
|
||||
query(query: Query): AsyncIterableIterator<GitHubIssue[]>
|
||||
|
||||
hasWriteAccess(user: User): Promise<boolean>
|
||||
|
||||
repoHasLabel(label: string): Promise<boolean>
|
||||
createLabel(label: string, color: string, description: string): Promise<void>
|
||||
deleteLabel(label: string): Promise<void>
|
||||
|
||||
readConfig(path: string): Promise<any>
|
||||
|
||||
dispatch(title: string): Promise<void>
|
||||
|
||||
createIssue(owner: string, repo: string, title: string, body: string): Promise<void>
|
||||
|
||||
releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'>
|
||||
}
|
||||
|
||||
export interface GitHubIssue extends GitHub {
|
||||
getIssue(): Promise<Issue>
|
||||
|
||||
postComment(body: string): Promise<void>
|
||||
deleteComment(id: number): Promise<void>
|
||||
getComments(last?: boolean): AsyncIterableIterator<Comment[]>
|
||||
|
||||
closeIssue(): Promise<void>
|
||||
lockIssue(): Promise<void>
|
||||
|
||||
setMilestone(milestoneId: number): Promise<void>
|
||||
|
||||
addLabel(label: string): Promise<void>
|
||||
removeLabel(label: string): Promise<void>
|
||||
|
||||
addAssignee(assignee: string): Promise<void>
|
||||
removeAssignee(assignee: string): Promise<void>
|
||||
|
||||
getClosingInfo(): Promise<{ hash: string | undefined; timestamp: number } | undefined>
|
||||
}
|
||||
|
||||
type SortVar =
|
||||
| 'comments'
|
||||
| 'reactions'
|
||||
| 'reactions-+1'
|
||||
| 'reactions--1'
|
||||
| 'reactions-smile'
|
||||
| 'reactions-thinking_face'
|
||||
| 'reactions-heart'
|
||||
| 'reactions-tada'
|
||||
| 'interactions'
|
||||
| 'created'
|
||||
| 'updated'
|
||||
type SortOrder = 'asc' | 'desc'
|
||||
export type Reactions = {
|
||||
'+1': number
|
||||
'-1': number
|
||||
laugh: number
|
||||
hooray: number
|
||||
confused: number
|
||||
heart: number
|
||||
rocket: number
|
||||
eyes: number
|
||||
}
|
||||
|
||||
export interface User {
|
||||
name: string
|
||||
isGitHubApp?: boolean
|
||||
}
|
||||
export interface Comment {
|
||||
author: User
|
||||
body: string
|
||||
id: number
|
||||
timestamp: number
|
||||
}
|
||||
export interface Issue {
|
||||
author: User
|
||||
body: string
|
||||
title: string
|
||||
labels: string[]
|
||||
open: boolean
|
||||
locked: boolean
|
||||
number: number
|
||||
numComments: number
|
||||
reactions: Reactions
|
||||
milestoneId: number | null
|
||||
assignee?: string
|
||||
createdAt: number
|
||||
updatedAt: number
|
||||
closedAt?: number
|
||||
}
|
||||
export interface Query {
|
||||
q: string
|
||||
sort?: SortVar
|
||||
order?: SortOrder
|
||||
}
|
||||
@@ -0,0 +1,396 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.OctoKitIssue = exports.OctoKit = exports.getNumRequests = void 0;
|
||||
const core_1 = require("@actions/core");
|
||||
const github_1 = require("@actions/github");
|
||||
const child_process_1 = require("child_process");
|
||||
let numRequests = 0;
|
||||
exports.getNumRequests = () => numRequests;
|
||||
class OctoKit {
|
||||
constructor(token, params, options = { readonly: false }) {
|
||||
this.token = token;
|
||||
this.params = params;
|
||||
this.options = options;
|
||||
// when in readonly mode, record labels just-created so at to not throw unneccesary errors
|
||||
this.mockLabels = new Set();
|
||||
this.writeAccessCache = {};
|
||||
this._octokit = new github_1.GitHub(token);
|
||||
}
|
||||
get octokit() {
|
||||
numRequests++;
|
||||
return this._octokit;
|
||||
}
|
||||
// TODO: just iterate over the issues in a page here instead of making caller do it
|
||||
async *query(query) {
|
||||
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`;
|
||||
console.log(`Querying for ${q}:`);
|
||||
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
|
||||
...query,
|
||||
q,
|
||||
per_page: 100,
|
||||
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
|
||||
});
|
||||
let pageNum = 0;
|
||||
const timeout = async () => {
|
||||
if (pageNum < 2) {
|
||||
/* pass */
|
||||
}
|
||||
else if (pageNum < 4) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 3000));
|
||||
}
|
||||
else {
|
||||
await new Promise((resolve) => setTimeout(resolve, 30000));
|
||||
}
|
||||
};
|
||||
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
|
||||
await timeout();
|
||||
numRequests++;
|
||||
const page = pageResponse.data;
|
||||
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
|
||||
yield page.map((issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue)));
|
||||
}
|
||||
}
|
||||
async createIssue(owner, repo, title, body) {
|
||||
core_1.debug(`Creating issue \`${title}\` on ${owner}/${repo}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.create({ owner, repo, title, body });
|
||||
}
|
||||
octokitIssueToIssue(issue) {
|
||||
var _a, _b, _c, _d, _e, _f;
|
||||
return {
|
||||
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
|
||||
body: issue.body,
|
||||
number: issue.number,
|
||||
title: issue.title,
|
||||
labels: issue.labels.map((label) => label.name),
|
||||
open: issue.state === 'open',
|
||||
locked: issue.locked,
|
||||
numComments: issue.comments,
|
||||
reactions: issue.reactions,
|
||||
assignee: (_b = (_a = issue.assignee) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : (_d = (_c = issue.assignees) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.login,
|
||||
milestoneId: (_f = (_e = issue.milestone) === null || _e === void 0 ? void 0 : _e.number) !== null && _f !== void 0 ? _f : null,
|
||||
createdAt: +new Date(issue.created_at),
|
||||
updatedAt: +new Date(issue.updated_at),
|
||||
closedAt: issue.closed_at ? +new Date(issue.closed_at) : undefined,
|
||||
};
|
||||
}
|
||||
async hasWriteAccess(user) {
|
||||
if (user.name in this.writeAccessCache) {
|
||||
core_1.debug('Got permissions from cache for ' + user);
|
||||
return this.writeAccessCache[user.name];
|
||||
}
|
||||
core_1.debug('Fetching permissions for ' + user);
|
||||
const permissions = (await this.octokit.repos.getCollaboratorPermissionLevel({
|
||||
...this.params,
|
||||
username: user.name,
|
||||
})).data.permission;
|
||||
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write');
|
||||
}
|
||||
async repoHasLabel(name) {
|
||||
try {
|
||||
await this.octokit.issues.getLabel({ ...this.params, name });
|
||||
return true;
|
||||
}
|
||||
catch (err) {
|
||||
if (err.status === 404) {
|
||||
return this.options.readonly && this.mockLabels.has(name);
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
async createLabel(name, color, description) {
|
||||
core_1.debug('Creating label ' + name);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createLabel({ ...this.params, color, description, name });
|
||||
else
|
||||
this.mockLabels.add(name);
|
||||
}
|
||||
async deleteLabel(name) {
|
||||
core_1.debug('Deleting label ' + name);
|
||||
try {
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.deleteLabel({ ...this.params, name });
|
||||
}
|
||||
catch (err) {
|
||||
if (err.status === 404) {
|
||||
return;
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
async readConfig(path) {
|
||||
core_1.debug('Reading config at ' + path);
|
||||
const repoPath = `.github/${path}.json`;
|
||||
try {
|
||||
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data;
|
||||
if ('type' in data && data.type === 'file') {
|
||||
if (data.encoding === 'base64' && data.content) {
|
||||
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'));
|
||||
}
|
||||
throw Error(`Could not read contents "${data.content}" in encoding "${data.encoding}"`);
|
||||
}
|
||||
throw Error('Found directory at config path when expecting file' + JSON.stringify(data));
|
||||
}
|
||||
catch (e) {
|
||||
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e));
|
||||
}
|
||||
}
|
||||
async releaseContainsCommit(release, commit) {
|
||||
return new Promise((resolve, reject) => child_process_1.exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
|
||||
if (!err || err.code === 1) {
|
||||
resolve(!err ? 'yes' : 'no');
|
||||
}
|
||||
else if (err.message.includes(`Not a valid commit name ${release}`)) {
|
||||
// release branch is forked. Probably in endgame. Not released.
|
||||
resolve('no');
|
||||
}
|
||||
else if (err.message.includes(`Not a valid commit name ${commit}`)) {
|
||||
// commit is probably in a different repo.
|
||||
resolve('unknown');
|
||||
}
|
||||
else {
|
||||
reject(err);
|
||||
}
|
||||
}));
|
||||
}
|
||||
async dispatch(title) {
|
||||
core_1.debug('Dispatching ' + title);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title });
|
||||
}
|
||||
}
|
||||
exports.OctoKit = OctoKit;
|
||||
class OctoKitIssue extends OctoKit {
|
||||
constructor(token, params, issueData, options = { readonly: false }) {
|
||||
super(token, params, options);
|
||||
this.params = params;
|
||||
this.issueData = issueData;
|
||||
console.log('running bot on issue', issueData.number);
|
||||
}
|
||||
async addAssignee(assignee) {
|
||||
core_1.debug('Adding assignee ' + assignee + ' to ' + this.issueData.number);
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.issues.addAssignees({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
assignees: [assignee],
|
||||
});
|
||||
}
|
||||
}
|
||||
async removeAssignee(assignee) {
|
||||
core_1.debug('Removing assignee ' + assignee + ' to ' + this.issueData.number);
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.issues.removeAssignees({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
assignees: [assignee],
|
||||
});
|
||||
}
|
||||
}
|
||||
async closeIssue() {
|
||||
core_1.debug('Closing issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
state: 'closed',
|
||||
});
|
||||
}
|
||||
async lockIssue() {
|
||||
core_1.debug('Locking issue ' + this.issueData.number);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number });
|
||||
}
|
||||
async getIssue() {
|
||||
if (isIssue(this.issueData)) {
|
||||
core_1.debug('Got issue data from query result ' + this.issueData.number);
|
||||
return this.issueData;
|
||||
}
|
||||
console.log('Fetching issue ' + this.issueData.number);
|
||||
const issue = (await this.octokit.issues.get({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
mediaType: { previews: ['squirrel-girl'] },
|
||||
})).data;
|
||||
return (this.issueData = this.octokitIssueToIssue(issue));
|
||||
}
|
||||
async postComment(body) {
|
||||
core_1.debug(`Posting comment ${body} on ${this.issueData.number}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createComment({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
body,
|
||||
});
|
||||
}
|
||||
async deleteComment(id) {
|
||||
core_1.debug(`Deleting comment ${id} on ${this.issueData.number}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.deleteComment({
|
||||
owner: this.params.owner,
|
||||
repo: this.params.repo,
|
||||
comment_id: id,
|
||||
});
|
||||
}
|
||||
async setMilestone(milestoneId) {
|
||||
core_1.debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
milestone: milestoneId,
|
||||
});
|
||||
}
|
||||
async *getComments(last) {
|
||||
core_1.debug('Fetching comments for ' + this.issueData.number);
|
||||
const response = this.octokit.paginate.iterator(this.octokit.issues.listComments.endpoint.merge({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
per_page: 100,
|
||||
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
|
||||
}));
|
||||
for await (const page of response) {
|
||||
numRequests++;
|
||||
yield page.data.map((comment) => ({
|
||||
author: { name: comment.user.login, isGitHubApp: comment.user.type === 'Bot' },
|
||||
body: comment.body,
|
||||
id: comment.id,
|
||||
timestamp: +new Date(comment.created_at),
|
||||
}));
|
||||
}
|
||||
}
|
||||
async addLabel(name) {
|
||||
core_1.debug(`Adding label ${name} to ${this.issueData.number}`);
|
||||
if (!(await this.repoHasLabel(name))) {
|
||||
throw Error(`Action could not execute becuase label ${name} is not defined.`);
|
||||
}
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.addLabels({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
labels: [name],
|
||||
});
|
||||
}
|
||||
async getAssigner(assignee) {
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
});
|
||||
let assigner;
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
numRequests++;
|
||||
const timelineEvents = event.data;
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if (timelineEvent.event === 'assigned' &&
|
||||
timelineEvent.assignee.login === assignee) {
|
||||
assigner = timelineEvent.actor.login;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!assigner) {
|
||||
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.');
|
||||
}
|
||||
return assigner;
|
||||
}
|
||||
async removeLabel(name) {
|
||||
core_1.debug(`Removing label ${name} from ${this.issueData.number}`);
|
||||
try {
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.removeLabel({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
name,
|
||||
});
|
||||
}
|
||||
catch (err) {
|
||||
if (err.status === 404) {
|
||||
console.log(`Label ${name} not found on issue`);
|
||||
return;
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
async getClosingInfo(alreadyChecked = []) {
|
||||
var _a, _b, _c, _d, _e, _f, _g;
|
||||
if (alreadyChecked.includes(this.issueData.number)) {
|
||||
return undefined;
|
||||
}
|
||||
alreadyChecked.push(this.issueData.number);
|
||||
if ((await this.getIssue()).open) {
|
||||
return;
|
||||
}
|
||||
const closingHashComment = /(?:\\|\/)closedWith (\S*)/;
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
});
|
||||
let closingCommit;
|
||||
const crossReferencing = [];
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
numRequests++;
|
||||
const timelineEvents = event.data;
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if ((timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
|
||||
timelineEvent.commit_id &&
|
||||
timelineEvent.commit_url
|
||||
.toLowerCase()
|
||||
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())) {
|
||||
closingCommit = {
|
||||
hash: timelineEvent.commit_id,
|
||||
timestamp: +new Date(timelineEvent.created_at),
|
||||
};
|
||||
}
|
||||
if (timelineEvent.event === 'reopened') {
|
||||
closingCommit = undefined;
|
||||
}
|
||||
if (timelineEvent.event === 'commented' &&
|
||||
!((_a = timelineEvent.body) === null || _a === void 0 ? void 0 : _a.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE')) &&
|
||||
closingHashComment.test(timelineEvent.body)) {
|
||||
closingCommit = {
|
||||
hash: closingHashComment.exec(timelineEvent.body)[1],
|
||||
timestamp: +new Date(timelineEvent.created_at),
|
||||
};
|
||||
}
|
||||
if (timelineEvent.event === 'cross-referenced' && ((_c = (_b = timelineEvent.source) === null || _b === void 0 ? void 0 : _b.issue) === null || _c === void 0 ? void 0 : _c.number) && ((_f = (_e = (_d = timelineEvent.source) === null || _d === void 0 ? void 0 : _d.issue) === null || _e === void 0 ? void 0 : _e.pull_request) === null || _f === void 0 ? void 0 : _f.url.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
|
||||
crossReferencing.push(timelineEvent.source.issue.number);
|
||||
}
|
||||
}
|
||||
}
|
||||
// If we dont have any closing info, try to get it from linked issues (PRs).
|
||||
// If there's a linked issue that was closed at almost the same time, guess it was a PR that closed this.
|
||||
if (!closingCommit) {
|
||||
for (const id of crossReferencing.reverse()) {
|
||||
const closed = await new OctoKitIssue(this.token, this.params, {
|
||||
number: id,
|
||||
}).getClosingInfo(alreadyChecked);
|
||||
if (closed) {
|
||||
if (Math.abs(closed.timestamp - ((_g = (await this.getIssue()).closedAt) !== null && _g !== void 0 ? _g : 0)) < 5000) {
|
||||
closingCommit = closed;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
|
||||
return closingCommit;
|
||||
}
|
||||
}
|
||||
exports.OctoKitIssue = OctoKitIssue;
|
||||
function isIssue(object) {
|
||||
const isIssue = 'author' in object &&
|
||||
'body' in object &&
|
||||
'title' in object &&
|
||||
'labels' in object &&
|
||||
'open' in object &&
|
||||
'locked' in object &&
|
||||
'number' in object &&
|
||||
'numComments' in object &&
|
||||
'reactions' in object &&
|
||||
'milestoneId' in object;
|
||||
return isIssue;
|
||||
}
|
||||
//# sourceMappingURL=octokit.js.map
|
||||
@@ -0,0 +1,460 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { debug } from '@actions/core'
|
||||
import { GitHub as GitHubAPI } from '@actions/github'
|
||||
import { Octokit } from '@octokit/rest'
|
||||
import { exec } from 'child_process'
|
||||
import { Comment, GitHub, GitHubIssue, Issue, Query, User } from './api'
|
||||
|
||||
let numRequests = 0
|
||||
export const getNumRequests = () => numRequests
|
||||
|
||||
export class OctoKit implements GitHub {
|
||||
private _octokit: GitHubAPI
|
||||
protected get octokit(): GitHubAPI {
|
||||
numRequests++
|
||||
return this._octokit
|
||||
}
|
||||
|
||||
// when in readonly mode, record labels just-created so at to not throw unneccesary errors
|
||||
protected mockLabels: Set<string> = new Set()
|
||||
|
||||
constructor(
|
||||
protected token: string,
|
||||
protected params: { repo: string; owner: string },
|
||||
protected options: { readonly: boolean } = { readonly: false },
|
||||
) {
|
||||
this._octokit = new GitHubAPI(token)
|
||||
}
|
||||
|
||||
// TODO: just iterate over the issues in a page here instead of making caller do it
|
||||
async *query(query: Query): AsyncIterableIterator<GitHubIssue[]> {
|
||||
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`
|
||||
console.log(`Querying for ${q}:`)
|
||||
|
||||
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
|
||||
...query,
|
||||
q,
|
||||
per_page: 100,
|
||||
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
|
||||
})
|
||||
|
||||
let pageNum = 0
|
||||
|
||||
const timeout = async () => {
|
||||
if (pageNum < 2) {
|
||||
/* pass */
|
||||
} else if (pageNum < 4) {
|
||||
await new Promise((resolve) => setTimeout(resolve, 3000))
|
||||
} else {
|
||||
await new Promise((resolve) => setTimeout(resolve, 30000))
|
||||
}
|
||||
}
|
||||
|
||||
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
|
||||
await timeout()
|
||||
numRequests++
|
||||
const page: Array<Octokit.SearchIssuesAndPullRequestsResponseItemsItem> = pageResponse.data
|
||||
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`)
|
||||
yield page.map(
|
||||
(issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue)),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
async createIssue(owner: string, repo: string, title: string, body: string): Promise<void> {
|
||||
debug(`Creating issue \`${title}\` on ${owner}/${repo}`)
|
||||
if (!this.options.readonly) await this.octokit.issues.create({ owner, repo, title, body })
|
||||
}
|
||||
|
||||
protected octokitIssueToIssue(
|
||||
issue: Octokit.IssuesGetResponse | Octokit.SearchIssuesAndPullRequestsResponseItemsItem,
|
||||
): Issue {
|
||||
return {
|
||||
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
|
||||
body: issue.body,
|
||||
number: issue.number,
|
||||
title: issue.title,
|
||||
labels: (issue.labels as Octokit.IssuesGetLabelResponse[]).map((label) => label.name),
|
||||
open: issue.state === 'open',
|
||||
locked: (issue as any).locked,
|
||||
numComments: issue.comments,
|
||||
reactions: (issue as any).reactions,
|
||||
assignee: issue.assignee?.login ?? (issue as any).assignees?.[0]?.login,
|
||||
milestoneId: issue.milestone?.number ?? null,
|
||||
createdAt: +new Date(issue.created_at),
|
||||
updatedAt: +new Date(issue.updated_at),
|
||||
closedAt: issue.closed_at ? +new Date((issue.closed_at as unknown) as string) : undefined,
|
||||
}
|
||||
}
|
||||
|
||||
private writeAccessCache: Record<string, boolean> = {}
|
||||
async hasWriteAccess(user: User): Promise<boolean> {
|
||||
if (user.name in this.writeAccessCache) {
|
||||
debug('Got permissions from cache for ' + user)
|
||||
return this.writeAccessCache[user.name]
|
||||
}
|
||||
debug('Fetching permissions for ' + user)
|
||||
const permissions = (
|
||||
await this.octokit.repos.getCollaboratorPermissionLevel({
|
||||
...this.params,
|
||||
username: user.name,
|
||||
})
|
||||
).data.permission
|
||||
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write')
|
||||
}
|
||||
|
||||
async repoHasLabel(name: string): Promise<boolean> {
|
||||
try {
|
||||
await this.octokit.issues.getLabel({ ...this.params, name })
|
||||
return true
|
||||
} catch (err) {
|
||||
if (err.status === 404) {
|
||||
return this.options.readonly && this.mockLabels.has(name)
|
||||
}
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
async createLabel(name: string, color: string, description: string): Promise<void> {
|
||||
debug('Creating label ' + name)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createLabel({ ...this.params, color, description, name })
|
||||
else this.mockLabels.add(name)
|
||||
}
|
||||
|
||||
async deleteLabel(name: string): Promise<void> {
|
||||
debug('Deleting label ' + name)
|
||||
try {
|
||||
if (!this.options.readonly) await this.octokit.issues.deleteLabel({ ...this.params, name })
|
||||
} catch (err) {
|
||||
if (err.status === 404) {
|
||||
return
|
||||
}
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
async readConfig(path: string): Promise<any> {
|
||||
debug('Reading config at ' + path)
|
||||
const repoPath = `.github/${path}.json`
|
||||
try {
|
||||
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data
|
||||
|
||||
if ('type' in data && data.type === 'file') {
|
||||
if (data.encoding === 'base64' && data.content) {
|
||||
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'))
|
||||
}
|
||||
throw Error(`Could not read contents "${data.content}" in encoding "${data.encoding}"`)
|
||||
}
|
||||
throw Error('Found directory at config path when expecting file' + JSON.stringify(data))
|
||||
} catch (e) {
|
||||
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e))
|
||||
}
|
||||
}
|
||||
|
||||
async releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'> {
|
||||
return new Promise((resolve, reject) =>
|
||||
exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
|
||||
if (!err || err.code === 1) {
|
||||
resolve(!err ? 'yes' : 'no')
|
||||
} else if (err.message.includes(`Not a valid commit name ${release}`)) {
|
||||
// release branch is forked. Probably in endgame. Not released.
|
||||
resolve('no')
|
||||
} else if (err.message.includes(`Not a valid commit name ${commit}`)) {
|
||||
// commit is probably in a different repo.
|
||||
resolve('unknown')
|
||||
} else {
|
||||
reject(err)
|
||||
}
|
||||
}),
|
||||
)
|
||||
}
|
||||
|
||||
async dispatch(title: string): Promise<void> {
|
||||
debug('Dispatching ' + title)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title })
|
||||
}
|
||||
}
|
||||
|
||||
export class OctoKitIssue extends OctoKit implements GitHubIssue {
|
||||
constructor(
|
||||
token: string,
|
||||
protected params: { repo: string; owner: string },
|
||||
private issueData: { number: number } | Issue,
|
||||
options: { readonly: boolean } = { readonly: false },
|
||||
) {
|
||||
super(token, params, options)
|
||||
console.log('running bot on issue', issueData.number)
|
||||
}
|
||||
|
||||
async addAssignee(assignee: string): Promise<void> {
|
||||
debug('Adding assignee ' + assignee + ' to ' + this.issueData.number)
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.issues.addAssignees({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
assignees: [assignee],
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
async removeAssignee(assignee: string): Promise<void> {
|
||||
debug('Removing assignee ' + assignee + ' to ' + this.issueData.number)
|
||||
if (!this.options.readonly) {
|
||||
await this.octokit.issues.removeAssignees({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
assignees: [assignee],
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
async closeIssue(): Promise<void> {
|
||||
debug('Closing issue ' + this.issueData.number)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
state: 'closed',
|
||||
})
|
||||
}
|
||||
|
||||
async lockIssue(): Promise<void> {
|
||||
debug('Locking issue ' + this.issueData.number)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number })
|
||||
}
|
||||
|
||||
async getIssue(): Promise<Issue> {
|
||||
if (isIssue(this.issueData)) {
|
||||
debug('Got issue data from query result ' + this.issueData.number)
|
||||
return this.issueData
|
||||
}
|
||||
|
||||
console.log('Fetching issue ' + this.issueData.number)
|
||||
const issue = (
|
||||
await this.octokit.issues.get({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
mediaType: { previews: ['squirrel-girl'] },
|
||||
})
|
||||
).data
|
||||
return (this.issueData = this.octokitIssueToIssue(issue))
|
||||
}
|
||||
|
||||
async postComment(body: string): Promise<void> {
|
||||
debug(`Posting comment ${body} on ${this.issueData.number}`)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.createComment({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
body,
|
||||
})
|
||||
}
|
||||
|
||||
async deleteComment(id: number): Promise<void> {
|
||||
debug(`Deleting comment ${id} on ${this.issueData.number}`)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.deleteComment({
|
||||
owner: this.params.owner,
|
||||
repo: this.params.repo,
|
||||
comment_id: id,
|
||||
})
|
||||
}
|
||||
|
||||
async setMilestone(milestoneId: number) {
|
||||
debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`)
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.update({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
milestone: milestoneId,
|
||||
})
|
||||
}
|
||||
|
||||
async *getComments(last?: boolean): AsyncIterableIterator<Comment[]> {
|
||||
debug('Fetching comments for ' + this.issueData.number)
|
||||
|
||||
const response = this.octokit.paginate.iterator(
|
||||
this.octokit.issues.listComments.endpoint.merge({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
per_page: 100,
|
||||
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
|
||||
}),
|
||||
)
|
||||
|
||||
for await (const page of response) {
|
||||
numRequests++
|
||||
yield (page.data as Octokit.IssuesListCommentsResponseItem[]).map((comment) => ({
|
||||
author: { name: comment.user.login, isGitHubApp: comment.user.type === 'Bot' },
|
||||
body: comment.body,
|
||||
id: comment.id,
|
||||
timestamp: +new Date(comment.created_at),
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
||||
async addLabel(name: string): Promise<void> {
|
||||
debug(`Adding label ${name} to ${this.issueData.number}`)
|
||||
if (!(await this.repoHasLabel(name))) {
|
||||
throw Error(`Action could not execute becuase label ${name} is not defined.`)
|
||||
}
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.addLabels({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
labels: [name],
|
||||
})
|
||||
}
|
||||
|
||||
async getAssigner(assignee: string): Promise<string> {
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
})
|
||||
|
||||
let assigner: string | undefined
|
||||
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
numRequests++
|
||||
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if (
|
||||
timelineEvent.event === 'assigned' &&
|
||||
(timelineEvent as any).assignee.login === assignee
|
||||
) {
|
||||
assigner = timelineEvent.actor.login
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!assigner) {
|
||||
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.')
|
||||
}
|
||||
|
||||
return assigner
|
||||
}
|
||||
|
||||
async removeLabel(name: string): Promise<void> {
|
||||
debug(`Removing label ${name} from ${this.issueData.number}`)
|
||||
try {
|
||||
if (!this.options.readonly)
|
||||
await this.octokit.issues.removeLabel({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
name,
|
||||
})
|
||||
} catch (err) {
|
||||
if (err.status === 404) {
|
||||
console.log(`Label ${name} not found on issue`)
|
||||
return
|
||||
}
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
async getClosingInfo(
|
||||
alreadyChecked: number[] = [],
|
||||
): Promise<{ hash: string | undefined; timestamp: number } | undefined> {
|
||||
if (alreadyChecked.includes(this.issueData.number)) {
|
||||
return undefined
|
||||
}
|
||||
alreadyChecked.push(this.issueData.number)
|
||||
|
||||
if ((await this.getIssue()).open) {
|
||||
return
|
||||
}
|
||||
|
||||
const closingHashComment = /(?:\\|\/)closedWith (\S*)/
|
||||
|
||||
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
|
||||
...this.params,
|
||||
issue_number: this.issueData.number,
|
||||
})
|
||||
let closingCommit: { hash: string | undefined; timestamp: number } | undefined
|
||||
const crossReferencing: number[] = []
|
||||
for await (const event of this.octokit.paginate.iterator(options)) {
|
||||
numRequests++
|
||||
|
||||
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
|
||||
for (const timelineEvent of timelineEvents) {
|
||||
if (
|
||||
(timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
|
||||
timelineEvent.commit_id &&
|
||||
timelineEvent.commit_url
|
||||
.toLowerCase()
|
||||
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())
|
||||
) {
|
||||
closingCommit = {
|
||||
hash: timelineEvent.commit_id,
|
||||
timestamp: +new Date(timelineEvent.created_at),
|
||||
}
|
||||
}
|
||||
if (timelineEvent.event === 'reopened') {
|
||||
closingCommit = undefined
|
||||
}
|
||||
if (
|
||||
timelineEvent.event === 'commented' &&
|
||||
!((timelineEvent as any).body as string)?.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE') &&
|
||||
closingHashComment.test((timelineEvent as any).body)
|
||||
) {
|
||||
closingCommit = {
|
||||
hash: closingHashComment.exec((timelineEvent as any).body)![1],
|
||||
timestamp: +new Date(timelineEvent.created_at),
|
||||
}
|
||||
}
|
||||
if (
|
||||
timelineEvent.event === 'cross-referenced' &&
|
||||
(timelineEvent as any).source?.issue?.number &&
|
||||
(timelineEvent as any).source?.issue?.pull_request?.url.includes(
|
||||
`/${this.params.owner}/${this.params.repo}/`.toLowerCase(),
|
||||
)
|
||||
) {
|
||||
crossReferencing.push((timelineEvent as any).source.issue.number)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If we dont have any closing info, try to get it from linked issues (PRs).
|
||||
// If there's a linked issue that was closed at almost the same time, guess it was a PR that closed this.
|
||||
if (!closingCommit) {
|
||||
for (const id of crossReferencing.reverse()) {
|
||||
const closed = await new OctoKitIssue(this.token, this.params, {
|
||||
number: id,
|
||||
}).getClosingInfo(alreadyChecked)
|
||||
|
||||
if (closed) {
|
||||
if (Math.abs(closed.timestamp - ((await this.getIssue()).closedAt ?? 0)) < 5000) {
|
||||
closingCommit = closed
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`)
|
||||
return closingCommit
|
||||
}
|
||||
}
|
||||
|
||||
function isIssue(object: any): object is Issue {
|
||||
const isIssue =
|
||||
'author' in object &&
|
||||
'body' in object &&
|
||||
'title' in object &&
|
||||
'labels' in object &&
|
||||
'open' in object &&
|
||||
'locked' in object &&
|
||||
'number' in object &&
|
||||
'numComments' in object &&
|
||||
'reactions' in object &&
|
||||
'milestoneId' in object
|
||||
|
||||
return isIssue
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Action = void 0;
|
||||
const octokit_1 = require("../api/octokit");
|
||||
const github_1 = require("@actions/github");
|
||||
const utils_1 = require("./utils");
|
||||
const core_1 = require("@actions/core");
|
||||
class Action {
|
||||
constructor() {
|
||||
this.token = utils_1.getRequiredInput('token');
|
||||
this.username = new github_1.GitHub(this.token).users.getAuthenticated().then((v) => v.data.name);
|
||||
}
|
||||
async run() {
|
||||
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
||||
console.log('running ', this.id, 'with context', {
|
||||
...github_1.context,
|
||||
payload: {
|
||||
issue: (_b = (_a = github_1.context.payload) === null || _a === void 0 ? void 0 : _a.issue) === null || _b === void 0 ? void 0 : _b.number,
|
||||
label: (_d = (_c = github_1.context.payload) === null || _c === void 0 ? void 0 : _c.label) === null || _d === void 0 ? void 0 : _d.name,
|
||||
repository: (_f = (_e = github_1.context.payload) === null || _e === void 0 ? void 0 : _e.repository) === null || _f === void 0 ? void 0 : _f.html_url,
|
||||
sender: (_j = (_h = (_g = github_1.context.payload) === null || _g === void 0 ? void 0 : _g.sender) === null || _h === void 0 ? void 0 : _h.login) !== null && _j !== void 0 ? _j : (_l = (_k = github_1.context.payload) === null || _k === void 0 ? void 0 : _k.sender) === null || _l === void 0 ? void 0 : _l.type,
|
||||
},
|
||||
});
|
||||
if (utils_1.errorLoggingIssue) {
|
||||
const { repo, issue, owner } = utils_1.errorLoggingIssue;
|
||||
if (github_1.context.repo.repo === repo &&
|
||||
github_1.context.repo.owner === owner &&
|
||||
((_m = github_1.context.payload.issue) === null || _m === void 0 ? void 0 : _m.number) === issue) {
|
||||
return console.log('refusing to run on error logging issue to prevent cascading errors');
|
||||
}
|
||||
}
|
||||
try {
|
||||
const token = utils_1.getRequiredInput('token');
|
||||
const readonly = !!core_1.getInput('readonly');
|
||||
const issue = (_o = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.issue) === null || _o === void 0 ? void 0 : _o.number;
|
||||
if (issue) {
|
||||
const octokit = new octokit_1.OctoKitIssue(token, github_1.context.repo, { number: issue }, { readonly });
|
||||
if (github_1.context.eventName === 'issue_comment') {
|
||||
await this.onCommented(octokit, github_1.context.payload.comment.body, github_1.context.actor);
|
||||
}
|
||||
else if (github_1.context.eventName === 'issues') {
|
||||
switch (github_1.context.payload.action) {
|
||||
case 'opened':
|
||||
await this.onOpened(octokit);
|
||||
break;
|
||||
case 'reopened':
|
||||
await this.onReopened(octokit);
|
||||
break;
|
||||
case 'closed':
|
||||
await this.onClosed(octokit);
|
||||
break;
|
||||
case 'labeled':
|
||||
await this.onLabeled(octokit, github_1.context.payload.label.name);
|
||||
break;
|
||||
case 'unassigned':
|
||||
await this.onUnassigned(octokit, github_1.context.payload.assignee.login);
|
||||
break;
|
||||
case 'edited':
|
||||
await this.onEdited(octokit);
|
||||
break;
|
||||
case 'milestoned':
|
||||
await this.onMilestoned(octokit);
|
||||
break;
|
||||
default:
|
||||
throw Error('Unexpected action: ' + github_1.context.payload.action);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
await this.onTriggered(new octokit_1.OctoKit(token, github_1.context.repo, { readonly }));
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
await this.error(e);
|
||||
}
|
||||
const usage = await utils_1.getRateLimit(this.token);
|
||||
}
|
||||
async error(error) {
|
||||
const details = {
|
||||
message: `${error.message}\n${error.stack}`,
|
||||
id: this.id,
|
||||
user: await this.username,
|
||||
};
|
||||
if (github_1.context.issue.number)
|
||||
details.issue = github_1.context.issue.number;
|
||||
const rendered = `
|
||||
Message: ${details.message}
|
||||
|
||||
Actor: ${details.user}
|
||||
|
||||
ID: ${details.id}
|
||||
`;
|
||||
await utils_1.logErrorToIssue(rendered, true, this.token);
|
||||
core_1.setFailed(error.message);
|
||||
}
|
||||
async onTriggered(_octokit) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onEdited(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onLabeled(_issue, _label) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onUnassigned(_issue, _label) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onOpened(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onReopened(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onClosed(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onMilestoned(_issue) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
async onCommented(_issue, _comment, _actor) {
|
||||
throw Error('not implemented');
|
||||
}
|
||||
}
|
||||
exports.Action = Action;
|
||||
//# sourceMappingURL=Action.js.map
|
||||
@@ -0,0 +1,137 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { OctoKit, OctoKitIssue, getNumRequests } from '../api/octokit'
|
||||
import { context, GitHub } from '@actions/github'
|
||||
import { getRequiredInput, logErrorToIssue, getRateLimit, errorLoggingIssue } from './utils'
|
||||
import { getInput, setFailed } from '@actions/core'
|
||||
|
||||
export abstract class Action {
|
||||
abstract id: string
|
||||
|
||||
private username: Promise<string>
|
||||
private token = getRequiredInput('token')
|
||||
|
||||
constructor() {
|
||||
this.username = new GitHub(this.token).users.getAuthenticated().then((v) => v.data.name)
|
||||
}
|
||||
|
||||
public async run() {
|
||||
console.log('running ', this.id, 'with context', {
|
||||
...context,
|
||||
payload: {
|
||||
issue: context.payload?.issue?.number,
|
||||
label: context.payload?.label?.name,
|
||||
repository: context.payload?.repository?.html_url,
|
||||
sender: context.payload?.sender?.login ?? context.payload?.sender?.type,
|
||||
},
|
||||
})
|
||||
|
||||
if (errorLoggingIssue) {
|
||||
const { repo, issue, owner } = errorLoggingIssue
|
||||
if (
|
||||
context.repo.repo === repo &&
|
||||
context.repo.owner === owner &&
|
||||
context.payload.issue?.number === issue
|
||||
) {
|
||||
return console.log('refusing to run on error logging issue to prevent cascading errors')
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
const token = getRequiredInput('token')
|
||||
const readonly = !!getInput('readonly')
|
||||
|
||||
const issue = context?.issue?.number
|
||||
if (issue) {
|
||||
const octokit = new OctoKitIssue(token, context.repo, { number: issue }, { readonly })
|
||||
if (context.eventName === 'issue_comment') {
|
||||
await this.onCommented(octokit, context.payload.comment.body, context.actor)
|
||||
} else if (context.eventName === 'issues') {
|
||||
switch (context.payload.action) {
|
||||
case 'opened':
|
||||
await this.onOpened(octokit)
|
||||
break
|
||||
case 'reopened':
|
||||
await this.onReopened(octokit)
|
||||
break
|
||||
case 'closed':
|
||||
await this.onClosed(octokit)
|
||||
break
|
||||
case 'labeled':
|
||||
await this.onLabeled(octokit, context.payload.label.name)
|
||||
break
|
||||
case 'unassigned':
|
||||
await this.onUnassigned(octokit, context.payload.assignee.login)
|
||||
break
|
||||
case 'edited':
|
||||
await this.onEdited(octokit)
|
||||
break
|
||||
case 'milestoned':
|
||||
await this.onMilestoned(octokit)
|
||||
break
|
||||
default:
|
||||
throw Error('Unexpected action: ' + context.payload.action)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
await this.onTriggered(new OctoKit(token, context.repo, { readonly }))
|
||||
}
|
||||
} catch (e) {
|
||||
await this.error(e)
|
||||
}
|
||||
|
||||
const usage = await getRateLimit(this.token)
|
||||
}
|
||||
|
||||
private async error(error: Error) {
|
||||
const details: any = {
|
||||
message: `${error.message}\n${error.stack}`,
|
||||
id: this.id,
|
||||
user: await this.username,
|
||||
}
|
||||
|
||||
if (context.issue.number) details.issue = context.issue.number
|
||||
|
||||
const rendered = `
|
||||
Message: ${details.message}
|
||||
|
||||
Actor: ${details.user}
|
||||
|
||||
ID: ${details.id}
|
||||
`
|
||||
await logErrorToIssue(rendered, true, this.token)
|
||||
|
||||
setFailed(error.message)
|
||||
}
|
||||
|
||||
protected async onTriggered(_octokit: OctoKit): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onEdited(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onLabeled(_issue: OctoKitIssue, _label: string): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onUnassigned(_issue: OctoKitIssue, _label: string): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onOpened(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onReopened(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onClosed(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onMilestoned(_issue: OctoKitIssue): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
protected async onCommented(_issue: OctoKitIssue, _comment: string, _actor: string): Promise<void> {
|
||||
throw Error('not implemented')
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ActionBase = void 0;
|
||||
class ActionBase {
|
||||
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
|
||||
this.labels = labels;
|
||||
this.milestoneName = milestoneName;
|
||||
this.milestoneId = milestoneId;
|
||||
this.ignoreLabels = ignoreLabels;
|
||||
this.ignoreMilestoneNames = ignoreMilestoneNames;
|
||||
this.ignoreMilestoneIds = ignoreMilestoneIds;
|
||||
this.minimumVotes = minimumVotes;
|
||||
this.maximumVotes = maximumVotes;
|
||||
this.labelsSet = [];
|
||||
this.ignoreLabelsSet = [];
|
||||
this.ignoreMilestoneNamesSet = [];
|
||||
this.ignoreMilestoneIdsSet = [];
|
||||
this.ignoreAllWithLabels = false;
|
||||
this.ignoreAllWithMilestones = false;
|
||||
}
|
||||
buildQuery(baseQuery) {
|
||||
var _a, _b;
|
||||
let query = baseQuery;
|
||||
console.log(`labels: ${this.labels}`);
|
||||
console.log(`milestoneName: ${this.milestoneName}`);
|
||||
console.log(`milestoneId: ${this.milestoneId}`);
|
||||
console.log(`ignoreLabels: ${this.ignoreLabels}`);
|
||||
console.log(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
|
||||
console.log(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
|
||||
console.log(`minimumVotes: ${this.minimumVotes}`);
|
||||
console.log(`maximumVotes: ${this.maximumVotes}`);
|
||||
// Both milestone name and milestone Id must be provided and must match.
|
||||
// The name is used to construct the query, which does not accept ID.
|
||||
// The ID is used for comparisons with issue data, which does not include the name.
|
||||
// TODO: Figure out a way to convert either from milestone name to ID, or vice versa.
|
||||
// If inclusion and exclusion are mixed, exclusion will take precedence.
|
||||
// For example, an issue with both labels A and B will not match if B is excluded, even if A is included.
|
||||
// GitHub does not appear to support searching for all issues with milestones (not lacking a milestone). "-no:milestone" does not work.
|
||||
// GitHub does not appear to support searching for all issues with labels (not lacking a label). "-no:label" does not work.
|
||||
// All indicated labels must be present
|
||||
if (this.labels) {
|
||||
this.labelsSet = (_a = this.labels) === null || _a === void 0 ? void 0 : _a.split(',');
|
||||
for (const str of this.labelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` label:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.ignoreLabels) {
|
||||
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
|
||||
query = query.concat(` no:label`);
|
||||
this.ignoreAllWithLabels = true;
|
||||
}
|
||||
else {
|
||||
this.ignoreLabelsSet = (_b = this.ignoreLabels) === null || _b === void 0 ? void 0 : _b.split(',');
|
||||
for (const str of this.ignoreLabelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` -label:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.ignoreMilestoneNames && this.ignoreMilestoneIds) {
|
||||
if (this.ignoreMilestoneNames == "*" && !this.milestoneName) { // only if no milestone
|
||||
query = query.concat(` no:milestone`);
|
||||
this.ignoreAllWithMilestones = true;
|
||||
}
|
||||
else {
|
||||
this.ignoreMilestoneNamesSet = this.ignoreMilestoneNames.split(',');
|
||||
this.ignoreMilestoneIdsSet = this.ignoreMilestoneIds.split(',');
|
||||
for (const str of this.ignoreMilestoneNamesSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` -milestone:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return query;
|
||||
}
|
||||
// This is necessary because GitHub sometimes returns incorrect results,
|
||||
// and because issues may get modified while we are processing them.
|
||||
validateIssue(issue) {
|
||||
if (this.ignoreAllWithLabels) {
|
||||
// Validate that the issue does not have labels
|
||||
if (issue.labels && issue.labels.length !== 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Make sure all labels we wanted are present.
|
||||
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
|
||||
return false;
|
||||
}
|
||||
for (const str of this.labelsSet) {
|
||||
if (!issue.labels.includes(str)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Make sure no labels we wanted to ignore are present.
|
||||
if (issue.labels && issue.labels.length > 0) {
|
||||
for (const str of this.ignoreLabelsSet) {
|
||||
if (issue.labels.includes(str)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.ignoreAllWithMilestones) {
|
||||
// Validate that the issue does not have a milestone.
|
||||
if (issue.milestoneId != null) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Make sure milestone is present, if required.
|
||||
if (this.milestoneId != undefined && issue.milestoneId != +this.milestoneId) {
|
||||
return false;
|
||||
}
|
||||
// Make sure a milestones we wanted to ignore is not present.
|
||||
if (issue.milestoneId != null) {
|
||||
for (const str of this.ignoreMilestoneIdsSet) {
|
||||
if (issue.milestoneId == +str) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Verify the issue has a sufficient number of upvotes
|
||||
if (this.minimumVotes != undefined) {
|
||||
if (issue.reactions['+1'] < this.minimumVotes) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Verify the issue does not have too many upvotes
|
||||
if (this.maximumVotes != undefined) {
|
||||
if (issue.reactions && issue.reactions['+1'] && issue.reactions['+1'] > this.maximumVotes) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
exports.ActionBase = ActionBase;
|
||||
//# sourceMappingURL=ActionBase.js.map
|
||||
@@ -0,0 +1,152 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { Issue } from '../api/api'
|
||||
|
||||
export class ActionBase {
|
||||
constructor(
|
||||
private labels?: string,
|
||||
private milestoneName?: string,
|
||||
private milestoneId?: string,
|
||||
private ignoreLabels?: string,
|
||||
private ignoreMilestoneNames?: string,
|
||||
private ignoreMilestoneIds?: string,
|
||||
private minimumVotes?: number,
|
||||
private maximumVotes?: number
|
||||
) {}
|
||||
|
||||
private labelsSet: string[] = [];
|
||||
private ignoreLabelsSet: string[] = [];
|
||||
private ignoreMilestoneNamesSet: string[] = [];
|
||||
private ignoreMilestoneIdsSet: string[] = [];
|
||||
private ignoreAllWithLabels: boolean = false;
|
||||
private ignoreAllWithMilestones: boolean = false;
|
||||
|
||||
buildQuery(baseQuery: string): string {
|
||||
let query = baseQuery;
|
||||
|
||||
console.log(`labels: ${this.labels}`);
|
||||
console.log(`milestoneName: ${this.milestoneName}`);
|
||||
console.log(`milestoneId: ${this.milestoneId}`);
|
||||
console.log(`ignoreLabels: ${this.ignoreLabels}`);
|
||||
console.log(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
|
||||
console.log(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
|
||||
console.log(`minimumVotes: ${this.minimumVotes}`);
|
||||
console.log(`maximumVotes: ${this.maximumVotes}`);
|
||||
|
||||
// Both milestone name and milestone Id must be provided and must match.
|
||||
// The name is used to construct the query, which does not accept ID.
|
||||
// The ID is used for comparisons with issue data, which does not include the name.
|
||||
// TODO: Figure out a way to convert either from milestone name to ID, or vice versa.
|
||||
|
||||
// If inclusion and exclusion are mixed, exclusion will take precedence.
|
||||
// For example, an issue with both labels A and B will not match if B is excluded, even if A is included.
|
||||
|
||||
// GitHub does not appear to support searching for all issues with milestones (not lacking a milestone). "-no:milestone" does not work.
|
||||
// GitHub does not appear to support searching for all issues with labels (not lacking a label). "-no:label" does not work.
|
||||
|
||||
// All indicated labels must be present
|
||||
if (this.labels) {
|
||||
this.labelsSet = this.labels?.split(',');
|
||||
for (const str of this.labelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` label:"${str}"`)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.ignoreLabels) {
|
||||
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
|
||||
query = query.concat(` no:label`)
|
||||
this.ignoreAllWithLabels = true;
|
||||
} else {
|
||||
this.ignoreLabelsSet = this.ignoreLabels?.split(',');
|
||||
for (const str of this.ignoreLabelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` -label:"${str}"`)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.ignoreMilestoneNames && this.ignoreMilestoneIds) {
|
||||
if (this.ignoreMilestoneNames == "*" && !this.milestoneName) { // only if no milestone
|
||||
query = query.concat(` no:milestone`)
|
||||
this.ignoreAllWithMilestones = true;
|
||||
} else {
|
||||
this.ignoreMilestoneNamesSet = this.ignoreMilestoneNames.split(',');
|
||||
this.ignoreMilestoneIdsSet = this.ignoreMilestoneIds.split(',');
|
||||
for (const str of this.ignoreMilestoneNamesSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` -milestone:"${str}"`)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
// This is necessary because GitHub sometimes returns incorrect results,
|
||||
// and because issues may get modified while we are processing them.
|
||||
validateIssue(issue: Issue): boolean {
|
||||
if (this.ignoreAllWithLabels) {
|
||||
// Validate that the issue does not have labels
|
||||
if (issue.labels && issue.labels.length !== 0) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// Make sure all labels we wanted are present.
|
||||
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
|
||||
return false;
|
||||
}
|
||||
for (const str of this.labelsSet) {
|
||||
if (!issue.labels.includes(str)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Make sure no labels we wanted to ignore are present.
|
||||
if (issue.labels && issue.labels.length > 0) {
|
||||
for (const str of this.ignoreLabelsSet) {
|
||||
if (issue.labels.includes(str)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.ignoreAllWithMilestones) {
|
||||
// Validate that the issue does not have a milestone.
|
||||
if (issue.milestoneId != null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// Make sure milestone is present, if required.
|
||||
if (this.milestoneId != undefined && issue.milestoneId != +this.milestoneId) {
|
||||
return false;
|
||||
}
|
||||
// Make sure a milestones we wanted to ignore is not present.
|
||||
if (issue.milestoneId != null) {
|
||||
for (const str of this.ignoreMilestoneIdsSet) {
|
||||
if (issue.milestoneId == +str) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Verify the issue has a sufficient number of upvotes
|
||||
if (this.minimumVotes != undefined) {
|
||||
if (issue.reactions['+1'] < this.minimumVotes) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Verify the issue does not have too many upvotes
|
||||
if (this.maximumVotes != undefined) {
|
||||
if (issue.reactions && issue.reactions['+1'] && issue.reactions['+1'] > this.maximumVotes) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.logErrorToIssue = exports.errorLoggingIssue = exports.getRateLimit = exports.daysAgoToHumanReadbleDate = exports.daysAgoToTimestamp = exports.loadLatestRelease = exports.normalizeIssue = exports.getRequiredInput = exports.getInput = void 0;
|
||||
const core = require("@actions/core");
|
||||
const github_1 = require("@actions/github");
|
||||
const axios_1 = require("axios");
|
||||
const octokit_1 = require("../api/octokit");
|
||||
exports.getInput = (name) => core.getInput(name) || undefined;
|
||||
exports.getRequiredInput = (name) => core.getInput(name, { required: true });
|
||||
exports.normalizeIssue = (issue) => {
|
||||
let { body, title } = issue;
|
||||
body = body !== null && body !== void 0 ? body : '';
|
||||
title = title !== null && title !== void 0 ? title : '';
|
||||
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body);
|
||||
const isFeatureRequest = body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body);
|
||||
const cleanse = (str) => {
|
||||
let out = str
|
||||
.toLowerCase()
|
||||
.replace(/<!--.*-->/gu, '')
|
||||
.replace(/.* version: .*/gu, '')
|
||||
.replace(/issue type: .*/gu, '')
|
||||
.replace(/vs ?code/gu, '')
|
||||
.replace(/we have written.*please paste./gu, '')
|
||||
.replace(/steps to reproduce:/gu, '')
|
||||
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
|
||||
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
|
||||
.replace(/\s+/gu, ' ')
|
||||
.replace(/```[^`]*?```/gu, '');
|
||||
while (out.includes(`<details>`) &&
|
||||
out.includes('</details>') &&
|
||||
out.indexOf(`</details>`) > out.indexOf(`<details>`)) {
|
||||
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10);
|
||||
}
|
||||
return out;
|
||||
};
|
||||
return {
|
||||
body: cleanse(body),
|
||||
title: cleanse(title),
|
||||
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
|
||||
};
|
||||
};
|
||||
exports.loadLatestRelease = async (quality) => (await axios_1.default.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data;
|
||||
exports.daysAgoToTimestamp = (days) => +new Date(Date.now() - days * 24 * 60 * 60 * 1000);
|
||||
exports.daysAgoToHumanReadbleDate = (days) => new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
|
||||
exports.getRateLimit = async (token) => {
|
||||
const usageData = (await new github_1.GitHub(token).rateLimit.get()).data.resources;
|
||||
const usage = {};
|
||||
['core', 'graphql', 'search'].forEach(async (category) => {
|
||||
usage[category] = 1 - usageData[category].remaining / usageData[category].limit;
|
||||
});
|
||||
return usage;
|
||||
};
|
||||
exports.errorLoggingIssue = (() => {
|
||||
try {
|
||||
const repo = github_1.context.repo.owner.toLowerCase() + '/' + github_1.context.repo.repo.toLowerCase();
|
||||
if (repo === 'microsoft/vscode-cpptools') {
|
||||
return { repo: 'vscode-cpptools', owner: 'Microsoft', issue: 6282 };
|
||||
}
|
||||
else if (exports.getInput('errorLogIssueNumber')) {
|
||||
return { ...github_1.context.repo, issue: +exports.getRequiredInput('errorLogIssueNumber') };
|
||||
}
|
||||
else {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e);
|
||||
return undefined;
|
||||
}
|
||||
})();
|
||||
exports.logErrorToIssue = async (message, ping, token) => {
|
||||
// Attempt to wait out abuse detection timeout if present
|
||||
await new Promise((resolve) => setTimeout(resolve, 10000));
|
||||
const dest = exports.errorLoggingIssue;
|
||||
if (!dest)
|
||||
return console.log('no error logging repo defined. swallowing error:', message);
|
||||
return new octokit_1.OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue })
|
||||
.postComment(`
|
||||
Workflow: ${github_1.context.workflow}
|
||||
|
||||
Error: ${message}
|
||||
|
||||
Issue: ${ping ? `${github_1.context.repo.owner}/${github_1.context.repo.repo}#` : ''}${github_1.context.issue.number}
|
||||
|
||||
Repo: ${github_1.context.repo.owner}/${github_1.context.repo.repo}
|
||||
|
||||
<!-- Context:
|
||||
${JSON.stringify(github_1.context, null, 2)
|
||||
.replace(/<!--/gu, '<@--')
|
||||
.replace(/-->/gu, '--@>')
|
||||
.replace(/\/|\\/gu, 'slash-')}
|
||||
-->
|
||||
`);
|
||||
};
|
||||
//# sourceMappingURL=utils.js.map
|
||||
@@ -0,0 +1,119 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as core from '@actions/core'
|
||||
import { context, GitHub } from '@actions/github'
|
||||
import axios from 'axios'
|
||||
import { OctoKitIssue } from '../api/octokit'
|
||||
|
||||
export const getInput = (name: string) => core.getInput(name) || undefined
|
||||
export const getRequiredInput = (name: string) => core.getInput(name, { required: true })
|
||||
|
||||
export const normalizeIssue = (issue: {
|
||||
body: string
|
||||
title: string
|
||||
}): { body: string; title: string; issueType: 'bug' | 'feature_request' | 'unknown' } => {
|
||||
let { body, title } = issue
|
||||
body = body ?? ''
|
||||
title = title ?? ''
|
||||
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body)
|
||||
const isFeatureRequest =
|
||||
body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body)
|
||||
|
||||
const cleanse = (str: string) => {
|
||||
let out = str
|
||||
.toLowerCase()
|
||||
.replace(/<!--.*-->/gu, '')
|
||||
.replace(/.* version: .*/gu, '')
|
||||
.replace(/issue type: .*/gu, '')
|
||||
.replace(/vs ?code/gu, '')
|
||||
.replace(/we have written.*please paste./gu, '')
|
||||
.replace(/steps to reproduce:/gu, '')
|
||||
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
|
||||
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
|
||||
.replace(/\s+/gu, ' ')
|
||||
.replace(/```[^`]*?```/gu, '')
|
||||
|
||||
while (
|
||||
out.includes(`<details>`) &&
|
||||
out.includes('</details>') &&
|
||||
out.indexOf(`</details>`) > out.indexOf(`<details>`)
|
||||
) {
|
||||
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10)
|
||||
}
|
||||
|
||||
return out
|
||||
}
|
||||
|
||||
return {
|
||||
body: cleanse(body),
|
||||
title: cleanse(title),
|
||||
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
|
||||
}
|
||||
}
|
||||
|
||||
export interface Release {
|
||||
productVersion: string
|
||||
timestamp: number
|
||||
version: string
|
||||
}
|
||||
|
||||
export const loadLatestRelease = async (quality: 'stable' | 'insider'): Promise<Release | undefined> =>
|
||||
(await axios.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data
|
||||
|
||||
export const daysAgoToTimestamp = (days: number): number => +new Date(Date.now() - days * 24 * 60 * 60 * 1000)
|
||||
|
||||
export const daysAgoToHumanReadbleDate = (days: number) =>
|
||||
new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '')
|
||||
|
||||
export const getRateLimit = async (token: string) => {
|
||||
const usageData = (await new GitHub(token).rateLimit.get()).data.resources
|
||||
const usage = {} as { core: number; graphql: number; search: number }
|
||||
;(['core', 'graphql', 'search'] as const).forEach(async (category) => {
|
||||
usage[category] = 1 - usageData[category].remaining / usageData[category].limit
|
||||
})
|
||||
return usage
|
||||
}
|
||||
|
||||
export const errorLoggingIssue = (() => {
|
||||
try {
|
||||
const repo = context.repo.owner.toLowerCase() + '/' + context.repo.repo.toLowerCase()
|
||||
if (repo === 'microsoft/vscode-cpptools') {
|
||||
return { repo: 'vscode-cpptools', owner: 'Microsoft', issue: 6282 }
|
||||
} else if (getInput('errorLogIssueNumber')) {
|
||||
return { ...context.repo, issue: +getRequiredInput('errorLogIssueNumber') }
|
||||
} else {
|
||||
return undefined
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
return undefined
|
||||
}
|
||||
})()
|
||||
|
||||
export const logErrorToIssue = async (message: string, ping: boolean, token: string): Promise<void> => {
|
||||
// Attempt to wait out abuse detection timeout if present
|
||||
await new Promise((resolve) => setTimeout(resolve, 10000))
|
||||
const dest = errorLoggingIssue
|
||||
if (!dest) return console.log('no error logging repo defined. swallowing error:', message)
|
||||
|
||||
return new OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue })
|
||||
.postComment(`
|
||||
Workflow: ${context.workflow}
|
||||
|
||||
Error: ${message}
|
||||
|
||||
Issue: ${ping ? `${context.repo.owner}/${context.repo.repo}#` : ''}${context.issue.number}
|
||||
|
||||
Repo: ${context.repo.owner}/${context.repo.repo}
|
||||
|
||||
<!-- Context:
|
||||
${JSON.stringify(context, null, 2)
|
||||
.replace(/<!--/gu, '<@--')
|
||||
.replace(/-->/gu, '--@>')
|
||||
.replace(/\/|\\/gu, 'slash-')}
|
||||
-->
|
||||
`)
|
||||
}
|
||||
Generated
+1453
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "vscode-cpptools-github-triage-actions",
|
||||
"version": "1.0.0",
|
||||
"description": "GitHub Actions used by VS Code cpptools for triaging issues",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"lint": "eslint -c .eslintrc --fix --ext .ts .",
|
||||
"watch": "tsc --watch"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.2.6",
|
||||
"@actions/github": "^2.1.1",
|
||||
"axios": "^0.19.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^6.8.0",
|
||||
"typescript": "^3.8.3"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es2019",
|
||||
"strict": true,
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"removeComments": false,
|
||||
"resolveJsonModule": true,
|
||||
"sourceMap": true,
|
||||
"lib": [
|
||||
"es2020"
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"**/*.test.ts",
|
||||
"**/vm-filesystem/**"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
name: By Design Closer
|
||||
on:
|
||||
schedule:
|
||||
- cron: 0 12 * * * # Run at 12:00 PM UTC (4:00 AM PST, 5:00 AM PDT)
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
uses: ./.github/actions/StaleCloser
|
||||
with:
|
||||
labels: by design
|
||||
ignoredLabels: debugger,Feature Request,more info needed
|
||||
closeDays: 60
|
||||
closeComment: "This issue has been closed automatically because it's labeled as 'by design' and has not had recent activity."
|
||||
pingDays: 80
|
||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
|
||||
@@ -0,0 +1,55 @@
|
||||
name: CI (Linux)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 10.16.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 10.16.x
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
working-directory: Extension
|
||||
|
||||
- name: Generate hashes for runtime dependency packages
|
||||
run: yarn run generatePackageHashes
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Validate Extension/package.json
|
||||
run: yarn run pr-check
|
||||
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
|
||||
@@ -0,0 +1,55 @@
|
||||
name: CI (Mac)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 10.16.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 10.16.x
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
working-directory: Extension
|
||||
|
||||
- name: Generate hashes for runtime dependency packages
|
||||
run: yarn run generatePackageHashes
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Validate Extension/package.json
|
||||
run: yarn run pr-check
|
||||
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
|
||||
@@ -0,0 +1,51 @@
|
||||
name: CI (Windows)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js 10.16.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 10.16.x
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
working-directory: Extension
|
||||
|
||||
- name: Generate hashes for runtime dependency packages
|
||||
run: yarn run generatePackageHashes
|
||||
working-directory: Extension
|
||||
|
||||
- name: Compile Sources
|
||||
run: yarn run compile
|
||||
working-directory: Extension
|
||||
|
||||
- name: Validate Extension/package.json
|
||||
run: yarn run pr-check
|
||||
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
|
||||
@@ -0,0 +1,23 @@
|
||||
name: Duplicate Closer
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 12 * * * # Run at 12:10 PM UTC (4:10 AM PST, 5:10 AM PDT)
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
uses: ./.github/actions/StaleCloser
|
||||
with:
|
||||
labels: duplicate
|
||||
ignoredLabels: debugger,Feature Request,more info needed,by design
|
||||
closeDays: 60
|
||||
closeComment: "This issue has been closed automatically because it's labeled as a 'duplicate' and has not had recent activity."
|
||||
pingDays: 80
|
||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
|
||||
@@ -0,0 +1,25 @@
|
||||
name: Feature Request Closer
|
||||
on:
|
||||
schedule:
|
||||
- cron: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
uses: ./.github/actions/StaleCloser
|
||||
with:
|
||||
labels: Feature Request
|
||||
ignoredLabels: debugger
|
||||
addLabels: more votes needed
|
||||
closeDays: 60
|
||||
maximumVotes: 1
|
||||
closeComment: "This feature request is being closed due to insufficient upvotes. When at least 2 upvotes are received, this issue will be eligible for our backlog."
|
||||
milestoneName: Backlog
|
||||
milestoneId: 28
|
||||
@@ -0,0 +1,25 @@
|
||||
name: Feature Request Closer
|
||||
on:
|
||||
schedule:
|
||||
- cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
uses: ./.github/actions/StaleCloser
|
||||
with:
|
||||
labels: Feature Request
|
||||
ignoredLabels: debugger
|
||||
addLabels: more votes needed
|
||||
closeDays: 60
|
||||
maximumVotes: 1
|
||||
closeComment: "This feature request is being closed due to insufficient upvotes. When at least 2 upvotes are received, this issue will be eligible for our backlog."
|
||||
milestoneName: Triage
|
||||
milestoneId: 30
|
||||
@@ -0,0 +1,20 @@
|
||||
name: Locker
|
||||
on:
|
||||
schedule:
|
||||
- cron: 30 11 * * * # Run at 11:30 AM UTC (3:30 AM PST, 4:30 AM PDT)
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Run Locker
|
||||
uses: ./.github/actions/Locker
|
||||
with:
|
||||
daysSinceClose: 45
|
||||
daysSinceUpdate: 3
|
||||
ignoredLabels: more votes needed,debugger
|
||||
@@ -0,0 +1,23 @@
|
||||
name: More Info Needed Closer
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
uses: ./.github/actions/StaleCloser
|
||||
with:
|
||||
labels: more info needed
|
||||
ignoredLabels: debugger
|
||||
closeDays: 60
|
||||
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity."
|
||||
pingDays: 80
|
||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
|
||||
@@ -0,0 +1,23 @@
|
||||
name: Question Closer
|
||||
on:
|
||||
schedule:
|
||||
- cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT)
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Stale Closer
|
||||
uses: ./.github/actions/StaleCloser
|
||||
with:
|
||||
labels: question
|
||||
ignoredLabels: debugger
|
||||
closeDays: 60
|
||||
closeComment: "This issue has been closed automatically because it's labeled as a 'question' and has not had recent activity."
|
||||
pingDays: 80
|
||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
|
||||
@@ -1,4 +1,4 @@
|
||||
gulpfile.js
|
||||
*.js
|
||||
test/**/index.ts
|
||||
test/**/runTest.ts
|
||||
tools/prepublish.js
|
||||
|
||||
@@ -71,7 +71,7 @@ module.exports = {
|
||||
"no-fallthrough": "error",
|
||||
"no-invalid-this": "error",
|
||||
"no-irregular-whitespace": "error",
|
||||
"no-multiple-empty-lines": "error",
|
||||
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0}],
|
||||
"no-new-wrappers": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-return-await": "error",
|
||||
|
||||
@@ -12,6 +12,7 @@ LLVM
|
||||
bin/cpptools*
|
||||
bin/*.dll
|
||||
bin/.vs
|
||||
bin/LICENSE.txt
|
||||
|
||||
# ignore lock files
|
||||
install.lock
|
||||
|
||||
+79
-13
@@ -1,33 +1,97 @@
|
||||
# C/C++ for Visual Studio Code Change Log
|
||||
|
||||
## Version 0.30.0-insiders2: August 11, 2020
|
||||
## Version 1.1.0-insiders2: October 15, 2020
|
||||
### Bug Fixes
|
||||
* Fix vcFormat setting default values. [#5907](https://github.com/microsoft/vscode-cpptools/issues/5907)
|
||||
* Fix vcFormat formatting causing multi-byte character document corruption. [#5914](https://github.com/microsoft/vscode-cpptools/issues/5914)
|
||||
* Fix an IntelliSense crash (regression) when using the IntelliSense cache with a standalone header. [#5923](https://github.com/microsoft/vscode-cpptools/issues/5923)
|
||||
* Change `clangFormat` and `Default` formatting modes that use the `Visual Studio` style (or fallback style) to use the clang-format implementation instead of vcFormat.
|
||||
* Restore fallback to the base configuration if a custom configuration provider does not provide a configuration for a file and does not provide compiler info in a custom browse configuration.
|
||||
* Fix `Build and Debug Active File` race condition with EngineLogs. [#6304](https://github.com/microsoft/vscode-cpptools/pull/6304)
|
||||
* Prevent configuration warnings from stealing focus. [#6308](https://github.com/microsoft/vscode-cpptools/issues/6308)
|
||||
* Fix `/std:c++latest` downgrading to `/std:c++17` when set via `compilerArgs` with cl.exe. [#6323](https://github.com/microsoft/vscode-cpptools/issues/6323)
|
||||
* Fix `cStandard` not being used. [#6324](https://github.com/microsoft/vscode-cpptools/issues/6324)
|
||||
|
||||
## Version 0.30.0-insiders: August 4, 2020
|
||||
## Version 1.1.0-insiders: October 13, 2020
|
||||
### Enhancements
|
||||
* Add support to run c/cpp build tasks. [#3674](https://github.com/microsoft/vscode-cpptools/issues/3674), [#5270](https://github.com/microsoft/vscode-cpptools/issues/5270), [#5285](https://github.com/microsoft/vscode-cpptools/issues/5285)
|
||||
* Tasks: Configure Task
|
||||
* Tasks: Run Build Task
|
||||
* C/C++: Build and debug active file.
|
||||
* Add logging around compiler probing, and the "C/C++ Configuration Warnings" output channel. [#5259](https://github.com/microsoft/vscode-cpptools/issues/5259)
|
||||
* Add compile commands info to Log Diagnostics. [#5761](https://github.com/microsoft/vscode-cpptools/issues/5761)
|
||||
* Enable support for specifying a compiler by only the filename if it's in the environment path. [#6179](https://github.com/microsoft/vscode-cpptools/issues/6179)
|
||||
* Restart the IntelliSense process if its memory usage exceeds the `C_Cpp.intelliSenseMemoryLimit` setting. [#6230](https://github.com/microsoft/vscode-cpptools/issues/6230)
|
||||
* Add handling of the "-ansi" compiler arg when querying gcc/clang compilers.
|
||||
* Add support for inferring the IntelliSenseMode based on the "--target" compiler arg.
|
||||
* Add support for inferring the C standard based on new c11/c17 language standard args for cl.exe.
|
||||
* Allow custom config providers to omit IntelliSenseMode and C/C++ language standard, enabling them to be inferred from the `compilerPath` and `compilerArgs`.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix issues with IntelliSense for clang-cl.exe. [#6075](https://github.com/microsoft/vscode-cpptools/issues/6075)
|
||||
* Fix "Comments are not permitted in JSON" error when `c_cpp_properties.json` is open but not active. [#6132](https://github.com/microsoft/vscode-cpptools/issues/6132)
|
||||
* Rename the C language standard setting values from c18 and gnu18 to c17 and gnu17. [#6105](https://github.com/microsoft/vscode-cpptools/issues/6105)
|
||||
* Add more IntelliSense support for std ranges, concepts, and modules exports (__cpp_lib_concepts is now enabled). [#6173](https://github.com/microsoft/vscode-cpptools/issues/6173)
|
||||
* Add "-fnoblocks" when querying clang on Mac, as IntelliSense does not currently support blocks. [#6189](https://github.com/microsoft/vscode-cpptools/issues/6189)
|
||||
* Fix clang-format on 32-bit Windows. [#6195](https://github.com/microsoft/vscode-cpptools/issues/6195)
|
||||
* Fix incorrect formatting results when clang-format removes duplicate includes. [#6205](https://github.com/microsoft/vscode-cpptools/issues/6205)
|
||||
* Fix a case where the main process could get stuck. [#6207](https://github.com/microsoft/vscode-cpptools/issues/6207)
|
||||
* Fix C files being treated as C++ files with compile_commands.json. [#6279](https://github.com/microsoft/vscode-cpptools/issues/6279)
|
||||
* Fix issues with the handling of the standard version for clang-cl.exe.
|
||||
* Fix the handling of various compiler arg pairs when querying compilers.
|
||||
* Avoid parsing entries in compile_commands.json for file types that we do not support.
|
||||
* Fixed an issue in which only C or C++ system headers were added to the browse path, rather than both.
|
||||
|
||||
### Other Contributions
|
||||
* Refactoring provider classes.
|
||||
* Abhishek Pal (@devabhishekpal) [PR #5998](https://github.com/microsoft/vscode-cpptools/pull/5998)
|
||||
|
||||
## Version 1.0.1: September 21, 2020
|
||||
### Bug Fixes
|
||||
* Fix "No IL available" IntelliSense error on Linux/macOS when `#error` directives are present in the source code. [#6009](https://github.com/microsoft/vscode-cpptools/issues/6009), [#6114](https://github.com/microsoft/vscode-cpptools/issues/6114)
|
||||
* Fix issue on Windows with the language server not shutting down properly which causes the IntelliSense database to become corrupted. [PR #6141](https://github.com/microsoft/vscode-cpptools/issues/6141)
|
||||
* Fix "No IL available" IntelliSense error when predefined macros are undefined. [#6147](https://github.com/microsoft/vscode-cpptools/issues/6147)
|
||||
* Fix infinite loop IntelliSense regression. [#6166](https://github.com/microsoft/vscode-cpptools/issues/6166)
|
||||
|
||||
## Version 1.0.0: September 14, 2020
|
||||
### New Features
|
||||
* Support for running the extension on Linux ARM devices, using remoting (arm64/aarch64 not supported yet). [#429](https://github.com/microsoft/vscode-cpptools/issues/429)
|
||||
* Support non-UTF-8 file encodings (GBK, UTF-16, etc.), excluding `files.autoGuessEncoding` support. [#414](https://github.com/microsoft/vscode-cpptools/issues/414)
|
||||
* Support for running the extension on Linux ARM devices (armhf/armv7l and aarch64/arm64), using remoting. [#429](https://github.com/microsoft/vscode-cpptools/issues/429), [#2506](https://github.com/microsoft/vscode-cpptools/issues/2506)
|
||||
* Add the `vcFormat` option to `C_Cpp.formatting` (with `C_Cpp.vcFormat.*` options) to enable VS-style formatting (instead of clang-format formatting). [#657](https://github.com/microsoft/vscode-cpptools/issues/657)
|
||||
* Add support for vcFormat settings in `.editorconfig` files. [PR #5932](https://github.com/microsoft/vscode-cpptools/pull/5932)
|
||||
|
||||
### Enhancements
|
||||
* Use `jsonc` parser to load `c_cpp_properties.json` to allow comments, trailing commas, etc. [#5885](https://github.com/microsoft/vscode-cpptools/issues/5885)
|
||||
* Improve the download and installation progress bar. [#1961](https://github.com/microsoft/vscode-cpptools/issues/1961)
|
||||
* Add error codes and the "C/C++" source to IntelliSense errors. [#2345](https://github.com/microsoft/vscode-cpptools/issues/2345)
|
||||
* Add support for `/Zc:__cplusplus` in `compilerArgs` for cl.exe. [#2595](https://github.com/microsoft/vscode-cpptools/issues/2595)
|
||||
* Search for `compilerPath` in the PATH environment variable. [#3078](https://github.com/microsoft/vscode-cpptools/issues/3078), [#5908](https://github.com/microsoft/vscode-cpptools/issues/5908)
|
||||
* Validate crypto signatures of binaries we download. [#5268](https://github.com/microsoft/vscode-cpptools/issues/5268)
|
||||
* Add link to the documentation in the configuration UI. [#5875](https://github.com/microsoft/vscode-cpptools/issues/5875)
|
||||
* Abhishek Pal (@devabhishekpal) [PR #5991](https://github.com/microsoft/vscode-cpptools/pull/5991)
|
||||
* Allow comments, trailing commas, etc. in `c_cpp_properties.json` [#5885](https://github.com/microsoft/vscode-cpptools/issues/5885)
|
||||
* Prevent comments from being removed from json files when the extension modifies them.
|
||||
* @dan-shaw [PR #5954](https://github.com/microsoft/vscode-cpptools/pull/5954)
|
||||
* Add diagnostics on potentially conflicting recursive includes to `C/C++: Log Diagnostics`, i.e. if a workspace uses files with the same name as system headers. [#6009](https://github.com/microsoft/vscode-cpptools/issues/6009)
|
||||
* Add workspace parsing diagnostics. [#6048](https://github.com/microsoft/vscode-cpptools/issues/6048)
|
||||
* Add `wmain` snippet on Windows. [#6064](https://github.com/microsoft/vscode-cpptools/issues/6064)
|
||||
* More C++20 support.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix member completion in C code after an operator is used in an expression. [#2184](https://github.com/microsoft/vscode-cpptools/issues/2184)
|
||||
* Fix extension not creating `tasks.json` if the `.vscode` folder doesn’t exist. [#4280](https://github.com/microsoft/vscode-cpptools/issues/4280)
|
||||
* Fix installation of clang-format 10 with the online vsix. [#5194](https://github.com/microsoft/vscode-cpptools/issues/5194)
|
||||
* Get the compiler type to determine if it's Clang when querying for default compiler so that the correct default `intelliSenseMode` is set. [#5352](https://github.com/microsoft/vscode-cpptools/issues/5352)
|
||||
* Get the default language standard of the compiler and use that std version if no version is specified. [#5579](https://github.com/microsoft/vscode-cpptools/issues/5579)
|
||||
* Fix an incorrect IntelliSense error squiggle. [#5783](https://github.com/microsoft/vscode-cpptools/issues/5783)
|
||||
* Fix `configuration.includePath` to only add the `defaultFolder` when the default `includePath` is set. [#5621](https://github.com/microsoft/vscode-cpptools/issues/5621)
|
||||
* Fix an IntelliSense crash when using C++20 on Linux. [#5727](https://github.com/microsoft/vscode-cpptools/issues/5727)
|
||||
* Get the default target of the compiler. If the default target is ARM/ARM64, do not use the generic "--target" option to determine bitness. [#5772](https://github.com/microsoft/vscode-cpptools/issues/5772)
|
||||
* Fix `compilerArgs` not being used if no `compilerPath` is set. [#5776](https://github.com/microsoft/vscode-cpptools/issues/5776)
|
||||
* Fix an incorrect IntelliSense error squiggle. [#5783](https://github.com/microsoft/vscode-cpptools/issues/5783)
|
||||
* Fix semantic colorization and inactive regions for multiroot workspaces. [#5812](https://github.com/microsoft/vscode-cpptools/issues/5812), [#5828](https://github.com/microsoft/vscode-cpptools/issues/5828)
|
||||
* Fix bug with cl.exe flags /FU and /FI not being processed. [#5819](https://github.com/microsoft/vscode-cpptools/issues/5819)
|
||||
* Fix `cStandard` being set to `c11` instead of `gnu18` with gcc. [#5834](https://github.com/microsoft/vscode-cpptools/issues/5834)
|
||||
* Fix compile commands compiler not being used if `C_Cpp.default.compilerPath` is set. [#5848](https://github.com/microsoft/vscode-cpptools/issues/5848)
|
||||
* Fix Doxygen parameterHint comment to display for a parameter name that is followed by colon. [#5836](https://github.com/microsoft/vscode-cpptools/issues/5836)
|
||||
* Fix compiler probing when relative paths are used in `compile_commands.json`. [#5848](https://github.com/microsoft/vscode-cpptools/issues/5848)
|
||||
* Fix the compile commands compiler not being used if `C_Cpp.default.compilerPath` is set. [#5848](https://github.com/microsoft/vscode-cpptools/issues/5848)
|
||||
* Fix Doxygen comment to escape markdown characters. [#5904](https://github.com/microsoft/vscode-cpptools/issues/5904)
|
||||
* Remove keyword completion of C identifiers that are defined in headers and aren't keywords (e.g. `alignas`). [#6022](https://github.com/microsoft/vscode-cpptools/issues/6022)
|
||||
* Fix error message with `Build and Debug Active File`. [#6071](https://github.com/microsoft/vscode-cpptools/issues/6071)
|
||||
* Restore fallback to the base configuration if a custom configuration provider does not provide a configuration for a file and does not provide compiler info in a custom browse configuration.
|
||||
* Fix a bug that could cause the extension to delay processing a newly opened file until any outstanding IntelliSense operations are complete, if using a custom configuration provider.
|
||||
* Fix a bug with incorrect configuration of a file when using a custom configuration provider and no custom configuration is available for that file. This now falls back to the compiler info received from the configuration provider with the browse configuration.
|
||||
* Fix a bug in which making a modification to `c_cpp_properties.json` could result in custom configurations for currently open files being discarded and not re-requested.
|
||||
@@ -35,9 +99,11 @@
|
||||
### Potentially Breaking Changes
|
||||
* Settings `commentContinuationPatterns`, `enhancedColorization`, and `codeFolding` are no longer available in per-Folder settings (only Workspace or higher settings). [PR #5830](https://github.com/microsoft/vscode-cpptools/pull/5830)
|
||||
* Fix compile command arguments not being used when `compilerPath` is set (so the compile command arguments need to be compatible now).
|
||||
* Default formatting results may be different if the "Visual Studio" style is used -- use the "Emulated Visual Studio" style to get the previous behavior. For example, see [#5901](https://github.com/microsoft/vscode-cpptools/issues/5901)
|
||||
* If a non-matching `intelliSenseMode` was being used, such as clang-x64 with a gcc ARM compiler, then we may auto-fix it internally, which may cause changes to IntelliSense behavior.
|
||||
|
||||
### Known Issues
|
||||
* Using `clang-format` on ARM may require installing libtinfo5. [#5958](https://github.com/microsoft/vscode-cpptools/issues/5958)
|
||||
|
||||
## Version 0.29.0: July 15, 2020
|
||||
### New Features
|
||||
* Add Doxygen comment support (to tooltip display of hover, completion, and signature help). [#658](https://github.com/microsoft/vscode-cpptools/issues/658)
|
||||
@@ -113,7 +179,7 @@
|
||||
## Version 0.28.0: May 12, 2020
|
||||
### New Features
|
||||
* Add C/C++ language-aware code folding. [#407](https://github.com/microsoft/vscode-cpptools/issues/407)
|
||||
* Add GNU (and C18) language standard options. [#2782](https://github.com/microsoft/vscode-cpptools/issues/2782)
|
||||
* Add GNU (and C17) language standard options. [#2782](https://github.com/microsoft/vscode-cpptools/issues/2782)
|
||||
* Add ARM and ARM64 IntelliSense modes. [#4271](https://github.com/microsoft/vscode-cpptools/issues/4271), [PR #5250](https://github.com/microsoft/vscode-cpptools/pull/5250)
|
||||
|
||||
### Enhancements
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@
|
||||
|
||||
[](https://aka.ms/vsls)
|
||||
|
||||
This preview release of the C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.
|
||||
The C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.
|
||||
|
||||
## Overview and tutorials
|
||||
* [C/C++ extension overview](https://code.visualstudio.com/docs/languages/cpp)
|
||||
@@ -52,7 +52,7 @@ The extension has platform-specific binary dependencies, therefore installation
|
||||
Package | Platform
|
||||
:--- | :---
|
||||
`cpptools-linux.vsix` | Linux 64-bit
|
||||
`cpptools-linux-armhf.vsix` | Linux ARM
|
||||
`cpptools-linux-armhf.vsix` | Linux ARM 32-bit
|
||||
`cpptools-linux-aarch64.vsix` | Linux ARM 64-bit
|
||||
`cpptools-osx.vsix` | macOS
|
||||
`cpptools-win32.vsix` | Windows 64-bit & 32-bit
|
||||
|
||||
+128
-26
@@ -327,6 +327,31 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
lru-cache 4.1.5 - ISC
|
||||
https://github.com/isaacs/node-lru-cache#readme
|
||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
||||
|
||||
The ISC License
|
||||
|
||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------------
|
||||
@@ -429,6 +454,31 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
sigmund 1.0.1 - ISC
|
||||
https://github.com/isaacs/sigmund#readme
|
||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
||||
|
||||
The ISC License
|
||||
|
||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------------
|
||||
@@ -697,7 +747,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
debug 3.1.0 - MIT
|
||||
debug 3.2.6 - MIT
|
||||
https://github.com/visionmedia/debug#readme
|
||||
Copyright (c) 2014 TJ Holowaychuk <[email protected]>
|
||||
Copyright (c) 2014-2017 TJ Holowaychuk <[email protected]>
|
||||
@@ -727,7 +777,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
debug 3.2.6 - MIT
|
||||
debug 3.1.0 - MIT
|
||||
https://github.com/visionmedia/debug#readme
|
||||
Copyright (c) 2014 TJ Holowaychuk <[email protected]>
|
||||
Copyright (c) 2014-2017 TJ Holowaychuk <[email protected]>
|
||||
@@ -815,6 +865,35 @@ Copyright (c) Microsoft Corporation.
|
||||
SOFTWARE
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
editorconfig 0.15.3 - MIT
|
||||
https://github.com/editorconfig/editorconfig-core-js#readme
|
||||
Copyright (c) 2012 EditorConfig Team
|
||||
|
||||
Copyright © 2012 EditorConfig Team
|
||||
|
||||
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.
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------------
|
||||
@@ -948,37 +1027,60 @@ 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.
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
jsonc-parser 2.2.0 - MIT
|
||||
https://github.com/microsoft/node-jsonc-parser#readme
|
||||
Copyright (c) Microsoft
|
||||
Copyright 2018, Microsoft
|
||||
Copyright (c) Microsoft Corporation.
|
||||
libiconv - Pre-installed on target platforms: Mac, Linux
|
||||
https://www.gnu.org/software/libiconv/
|
||||
/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
|
||||
|
||||
The MIT License (MIT)
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
Copyright (c) Microsoft
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
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:
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
https://www.gnu.org/licenses/. */
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
http://www.gnu.org/licenses/lgpl.html
|
||||
|
||||
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.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
comment-json 3.0.0 - MIT
|
||||
https://github.com/kaelzhang/node-comment-json#readme
|
||||
|
||||
Copyright (c) 2013 kaelzhang <>, contributors
|
||||
http://kael.me/
|
||||
|
||||
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.
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
@@ -1016,7 +1118,7 @@ THE SOFTWARE.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
ms 2.1.2 - MIT
|
||||
ms 2.0.0 - MIT
|
||||
https://github.com/zeit/ms#readme
|
||||
Copyright (c) 2016 Zeit, Inc.
|
||||
|
||||
@@ -1047,7 +1149,7 @@ SOFTWARE.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
ms 2.0.0 - MIT
|
||||
ms 2.1.2 - MIT
|
||||
https://github.com/zeit/ms#readme
|
||||
Copyright (c) 2016 Zeit, Inc.
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
"Očekávala se deklarace.",
|
||||
"Ukazatel ukazuje mimo podkladový objekt.",
|
||||
"neplatný typ konverze",
|
||||
"konflikt externího/interního propojení s předchozí deklarací",
|
||||
"konflikt externího/interního propojení s předchozí deklarací %p",
|
||||
"Hodnota s plovoucí desetinnou čárkou se nevejde do požadovaného integrálního typu.",
|
||||
"Výraz nemá žádný účinek.",
|
||||
"Dolní index je mimo rozsah.",
|
||||
@@ -420,9 +420,9 @@
|
||||
"Použije se víc než jedna funkce pro převod z %t na předdefinovaný typ:",
|
||||
"Konstanta %n",
|
||||
"Odkaz %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"předdefinovaný operátor %sq",
|
||||
"%no (zděděná dvojznačnost)",
|
||||
"%nod, nejednoznačné kvůli dědičnosti",
|
||||
"Adresa konstruktoru nebo destruktoru se pravděpodobně nepřevzala.",
|
||||
null,
|
||||
"Pro původní hodnotu odkazu na nekonstantní typ se použilo temporary (anachronizmus).",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"Proměnné atributy vyskytující se po inicializátoru v závorkách se ignorují.",
|
||||
"Výsledek tohoto přetypování se nedá použít jako l-hodnota.",
|
||||
"negace hodnoty s pevnou desetinnou čárkou bez znaménka",
|
||||
"Tento operátor není v tuto chvíli povolený, použijte závorky.",
|
||||
null,
|
||||
null,
|
||||
"Názvy registru se můžou použít jenom pro proměnné registru.",
|
||||
"Proměnné pojmenovaného registru nemůžou být typu void.",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"Před použitím std::initializer_list je potřeba zadat #include <seznam_inicializátorů>, včetně implicitního použití.",
|
||||
"Klíčové slovo inline se u deklarace aliasu oboru názvů nedá použít.",
|
||||
"Předchozí deklarace %n nebyla deklarovaná jako inline.",
|
||||
"Změna deklarace modifikátoru inline %n musí být deklarovaná jako inline.",
|
||||
"%n se dříve deklarovalo jako vložené.",
|
||||
"Prvním argumentem musí být celočíselná konstanta.",
|
||||
"Specifikátor se nedá použít s neagregačním typem %t.",
|
||||
"Specifikátor člena anonymního sjednocení se dá zadat jenom uvnitř závorek, které odpovídají tomuto anonymnímu sjednocení.",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"Konstruktor constexpr musí inicializovat přímou základní třídu %t.",
|
||||
"Je pravděpodobné, že vytvoření objektu std::initializer_list v inicializátoru pole nebude fungovat podle očekávání, protože podkladové pole se na konci úplného výrazu zničí.",
|
||||
"V konstantním výrazu se this nedá použít.",
|
||||
"Prázdný inicializátor není pro tento typ union platný. (Je nejednoznačné, který člen by se měl inicializovat.)",
|
||||
null,
|
||||
"U explicitní direktivy vytváření instancí není povolený modifikátor constexpr.",
|
||||
"Kvůli cyklické závislosti se nedá určit specifikace výjimky výchozího konstruktoru.",
|
||||
"%p definované anonymním sjednocením",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"neplatný kvalifikátor pro %t (odvozená třída tady není povolená)",
|
||||
"Atribut always_inline se u funkcí, které nejsou vložené, ignoruje.",
|
||||
"Dědící konstruktory musí být zděděné od přímé základní třídy.",
|
||||
"%np už zdědil od %t.",
|
||||
null,
|
||||
"Očekávalo se návěstí.",
|
||||
"Po %%l se očekávalo číslo operandu.",
|
||||
"Číslo operandu pro %%l neodkazuje na platný argument návěstí.",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"Odstraněné funkce jsou funkcí C++11.",
|
||||
"Funkce nastavené na výchozí hodnotu jsou funkcí C++11.",
|
||||
"Třída úložiště není u explicitní specializace povolená.",
|
||||
"%t není třída nebo vymezený výčet.",
|
||||
null,
|
||||
"Nevymezený výčet musí být neprůhledný, aby mohl být specializovaný.",
|
||||
"Deklarace šablony výčtu musí odkazovat na dříve deklarovaný člen šablony třídy.",
|
||||
"Očekává se vektorový operand.",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"typ elementu vektoru musí být integrál, výčet nebo reálné číslo s plovoucí desetinnou čárkou",
|
||||
"předdefinovaná funkce není dostupná, protože 128bitová celá čísla nejsou podporovaná",
|
||||
"předdefinovaná funkce není dostupná, protože vektorové typy nejsou podporované",
|
||||
"dvě po sobě jdoucí levé hranaté závorky můžou uvozovat jenom seznam atributů",
|
||||
"Dvěma levými hranatými závorkami za sebou vždy začíná seznam atributů, ale tady se seznam atributů nemůže nacházet.",
|
||||
"nerozpoznaný atribut target znemožňuje, aby tuto rutinu použila rutina překladače",
|
||||
"%t není vektorový typ",
|
||||
"vektorové typy %t1 a %t2 musí mít stejnou délku",
|
||||
@@ -3176,7 +3176,7 @@
|
||||
"return_void deklarovalo %p.",
|
||||
"Chybí příkaz co_return, přestože %t nemá na konci %n žádné return_void.",
|
||||
"Pro přidělení stavu korutiny se nenašla žádná varianta nothrow globálního operator new.",
|
||||
"Pro uvolnění stavu korutiny se nenašel žádný vhodný operator delete.",
|
||||
"Pro zrušení přidělení stavu korutiny se nenašel žádný vhodný operator delete.",
|
||||
"Funkce constexpr nemůže být korutina.",
|
||||
"Operand tohoto výrazu %s se překládá na typ %t, který není třída.",
|
||||
"Výraz co_await se ve statickém inicializátoru nepovoluje.",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"new-expression volající funkci přidělení specifickou pro třídu se nedá vyhodnotit jako konstanta",
|
||||
"výraz s umístěním new se nedá vyhodnotit podle konstanty",
|
||||
"odstranění přes ukazatel na podobjekt vyžaduje virtuální destruktor",
|
||||
"%npT (s obrácenými argumenty)",
|
||||
"%npTd s obrácenými argumenty",
|
||||
"operand __INTADDR__ musí být odsazený od nulového ukazatele",
|
||||
"_Obecný konstruktor odpovídá více typům",
|
||||
"druhá shoda je %t",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"Omezení šablony není splněné.",
|
||||
"V tomto oboru se definice konceptu nemůže vyskytovat.",
|
||||
"Neplatná změna deklarace %nd",
|
||||
"Nepodařilo se nahradit argumenty pro concept-id.",
|
||||
"Koncept je false.",
|
||||
"Nepovedlo se nahradit argumenty %T pro concept-id.",
|
||||
"Pro argumenty %T je koncept false.",
|
||||
"Klauzule requires tady není povolena (nejedná se o funkci se šablonami).",
|
||||
"Šablona konceptu",
|
||||
"Klauzule requires není kompatibilní s %nfd.",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"Nestatický datový člen typu odkazu %t brání vyhodnocování constexpr v __builtin_bit_cast.",
|
||||
"Nestálý typ %t brání vyhodnocování constexpr v __builtin_bit_cast.",
|
||||
"Typ sjednocení, ukazatele nebo ukazatele na člen %t brání vyhodnocování constexpr v __builtin_bit_cast.",
|
||||
"%npT (zděděno prostřednictvím decl %p)",
|
||||
"%npTd, zděděno pomocí decl %p",
|
||||
"Podobjekt %t pro dědící konstruktory se nedá vytvořit -- implicitní výchozí konstruktor se odstranil.",
|
||||
"%n musí vracet void.",
|
||||
"Neplatný začátek deklarace členu",
|
||||
@@ -3321,5 +3321,35 @@
|
||||
"Ukazatel na člen neúplného typu %t se nepovoluje.",
|
||||
"Rozšíření balíčku v init-capture se v tomto režimu nepodporuje.",
|
||||
"Rozšíření balíčku v init-capture je funkce jazyka C++20.",
|
||||
"Operátor porovnání v definici třídy nastavený jako výchozí musí být první deklarace daného operátoru porovnání (%nd)."
|
||||
"Operátor porovnání v definici třídy nastavený jako výchozí musí být první deklarace daného operátoru porovnání (%nd).",
|
||||
"Rozšíření balíčku v init-capture se dá použít jen ve variadické šabloně.",
|
||||
"Omezení typu používá %nd, které není konceptem typu (tj. šablona konceptu, jejíž první parametr je parametr typu).",
|
||||
"Odvozený typ zástupného symbolu %t nesplnil omezení typu.",
|
||||
"Výchozí konstruktor pro %t není oprávněný.",
|
||||
"Destruktor pro %t je nejednoznačný kvůli neuspořádaným omezením.",
|
||||
"Destruktor pro %t není oprávněný kvůli neúspěšným omezením.",
|
||||
"Kandidát nejednoznačného destruktoru",
|
||||
"Virtuální funkce nemůže mít na konci klauzuli requires.",
|
||||
"%nd nesplňuje svá omezení.",
|
||||
"Výsledek kvalifikátoru decltype %t není třída ani výčet.",
|
||||
"Porovnání je ve standardním C++20 nejednoznačné, protože implikovaný operátor porovnání se zaměněnými parametry je stejně dobrá shoda -- příčinou je obvykle chybějící kvalifikátor const u operátoru porovnání. Podívejte se na %nod.",
|
||||
"Neplatné concept-id",
|
||||
"Nepovedlo se nahradit argumenty %T pro klauzuli requires.",
|
||||
"Omezení pro %nd se nesplnila.",
|
||||
"typ proměnné %t ve funkci constexpr má virtuální základní třídy",
|
||||
"konstantní výraz nemůže přidělit virtuální základní podobjekt (pro typ %t)",
|
||||
"parametr šablony typu třídy musí být typu strukturální třídy",
|
||||
"podpora pro literály UTF-8 vyžaduje podporu literálů u-literal.",
|
||||
"mapování souborů modulu pro %s bylo zadané více než jednou",
|
||||
"mapování jednotek záhlaví pro %s bylo zadané více než jednou",
|
||||
"není zadané žádné mapování pro %s",
|
||||
"mapování souborů modulu pro %s je neplatné",
|
||||
"nejde najít záhlaví %s, které se má importovat",
|
||||
"více než jeden soubor v seznamu souborů modulu odpovídá %s",
|
||||
"soubor modulu, který se našel pro %s, je pro jiný modul",
|
||||
"libovolný druh souboru modulu",
|
||||
"nejde přečíst soubor modulu",
|
||||
"předdefinovaná funkce není k dispozici, protože typ char8_t se nepodporuje s aktuálními možnostmi",
|
||||
"možnost příkazového řádku --ms_await nejde zadat, pokud jsou povolené korutiny C++20",
|
||||
"nestandardní použití explicitního konstruktoru %nod pro inicializaci výchozího agregačního elementu"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"Es wurde eine Deklaration erwartet.",
|
||||
"Der Zeiger zeigt auf eine Stelle außerhalb des zugrunde liegenden Objekts.",
|
||||
"Ungültige Typkonvertierung.",
|
||||
"Konflikt für externe/interne Bindung mit vorheriger Deklaration.",
|
||||
"Konflikt für externe/interne Bindung mit vorheriger Deklaration %p",
|
||||
"Der Gleitkommawert passt nicht in den erforderlichen integralen Typ.",
|
||||
"Der Ausdruck hat keinen Effekt.",
|
||||
"Index außerhalb des definierten Bereichs.",
|
||||
@@ -352,8 +352,8 @@
|
||||
"Mehr als ein %sq-Operator stimmt mit diesen Operanden überein:",
|
||||
"Der erste Parameter der Speicherbelegungsfunktion muss vom Typ \"size_t\" sein.",
|
||||
"Die Speicherbelegungsfunktion erfordert den Rückgabetyp \"void *\".",
|
||||
"Die Funktion zum Aufheben der Zuordnung erfordert den Rückgabetyp \"void\".",
|
||||
"Der erste Parameter der Funktion zum Aufheben der Zuordnung muss vom Typ \"void *\" sein.",
|
||||
"Die Funktion zur Belegungsfreigabe erfordert den Rückgabetyp \"void\".",
|
||||
"Der erste Parameter der Funktion zur Belegungsfreigabe muss vom Typ \"void *\" sein.",
|
||||
null,
|
||||
"Der Typ muss ein Objekttyp sein.",
|
||||
"Die Basisklasse \"%t\" wurde bereits initialisiert.",
|
||||
@@ -420,9 +420,9 @@
|
||||
"Es gilt mehr als eine Konvertierungsfunktion von \"%t\" in einen integrierten Typ:",
|
||||
"Konstante \"%n\"",
|
||||
"Verweis \"%n\"",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"Integrierter %sq-Operator",
|
||||
"%no (mehrdeutig durch Vererbung)",
|
||||
"%nod, mehrdeutig durch Vererbung",
|
||||
"Die Adresse eines Konstruktors oder Destruktors darf nicht verwendet werden.",
|
||||
null,
|
||||
"Es wurde ein temporärer Wert für den Anfangswert des Verweises auf die Nicht-Konstante verwendet (Anachronismus).",
|
||||
@@ -732,7 +732,7 @@
|
||||
"%n ist keine Klassenvorlage.",
|
||||
"Ein Array mit unvollständigem Elementtyp entspricht nicht dem Standard.",
|
||||
"Ein Speicherbelegungsoperator darf nicht in einem Namespace deklariert werden.",
|
||||
"Ein Operator zum Aufheben der Zuordnung darf nicht in einem Namespace deklariert werden.",
|
||||
"Ein Operator zur Belegungsfreigabe darf nicht in einem Namespace deklariert werden.",
|
||||
"\"%np1\" steht mit der using-Deklaration von \"%np2\" in Konflikt.",
|
||||
"Die using-Deklaration von \"%np1\" steht mit \"%npd2\" in Konflikt.",
|
||||
"Die namespaces-Option kann nur beim Kompilieren von C++ verwendet werden.",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"Variablenattribute nach einem in Klammern gesetzten Initialisierer werden ignoriert.",
|
||||
"Das Ergebnis dieser Umwandlung kann nicht als lvalue verwendet werden.",
|
||||
"Negation eines nicht signierten Festkommawerts.",
|
||||
"Dieser Operator ist an dieser Stelle nicht zulässig; verwenden Sie Klammern.",
|
||||
null,
|
||||
null,
|
||||
"Registrierungsnamen können nur für Registrierungswerte verwendet werden.",
|
||||
"Variablen mit benannter Registrierung können nicht den Typ \"void\" aufweisen.",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"\"#include <initializer_list>\" ist vor der Verwendung von \"std::initializer_list\" erforderlich, einschließlich einer impliziten Verwendung.",
|
||||
"Das 'inline'-Schlüsselwort darf nicht in einer Namespacealiasdeklaration verwendet werden.",
|
||||
"Die vorherige Deklaration von \"%n\" wurde nicht inline deklariert.",
|
||||
"Eine Neudeklaration von \"%n\" (inline) muss inline deklariert werden.",
|
||||
"%n wurde zuvor als Inline deklariert.",
|
||||
"Das erste Argument muss eine ganzzahlige Konstante sein.",
|
||||
"Ein Kennzeichner darf nicht mit einem Nicht-Aggregattyp %t verwendet werden.",
|
||||
"Ein Kennzeichner für einen anonymen Union-Member darf nur innerhalb geschweifter Klammern auftreten, die zu dieser anonymen Union gehören.",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"Der constexpr-Konstruktor muss die direkte Basisklasse %t initialisieren.",
|
||||
"Das Erstellen eines \"std::initializer_list\"-Objekts in einem Feldinitialisierer funktioniert wahrscheinlich nicht wie erwartet, da das zugrunde liegende Array am Ende des vollständigen Ausdrucks zerstört wird.",
|
||||
"'this' kann nicht in einem konstanten Ausdruck verwendet werden.",
|
||||
"Ein leerer Initialisierer ist für diesen Union-Typ nicht gültig (der zu initialisierende Member ist nicht eindeutig).",
|
||||
null,
|
||||
"'constexpr' ist in einer expliziten Instanziierungsdirektive nicht zulässig.",
|
||||
"Die Ausnahmespezifikation des Standardkonstruktors kann aufgrund einer Ringabhängigkeit nicht bestimmt werden.",
|
||||
"Anonyme Union definiert als %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"Ungültiger Qualifizierer für \"%t\" (eine abgeleitete Klasse ist an dieser Stelle nicht zulässig).",
|
||||
"Das Attribut \"always_inline\" wird für Nicht-Inlinefunktionen ignoriert.",
|
||||
"Erbende Konstruktoren müssen von einer direkten Basisklasse geerbt werden.",
|
||||
"\"%np\" hat bereits von \"%t\" geerbt.",
|
||||
null,
|
||||
"Bezeichnung erwartet",
|
||||
"Operandennummer nach \"%%l\" erwartet",
|
||||
"Operandennummer für '%%l' verweist nicht auf ein gültiges Bezeichnungsargument.",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"Gelöschte Funktionen sind eine C++11-Funktion.",
|
||||
"Standardfunktionen sind eine C++11-Funktion.",
|
||||
"Eine Speicherklasse ist in einer expliziten Spezialisierung nicht zulässig.",
|
||||
"\"%t\" ist keine Klasse oder Enumeration mit eigenem Gültigkeitsbereich.",
|
||||
null,
|
||||
"Eine Enumeration ohne eigenen Gültigkeitsbereich muss undurchsichtig sein, um spezialisiert werden zu können.",
|
||||
"Eine Enumerationsvorlagendeklaration muss auf einen zuvor deklarierten Member einer Klassenvorlage verweisen.",
|
||||
"Es wurde ein Vektoroperand erwartet.",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"Der Vektorelementtyp muss eine Ganzzahl, eine Enumeration oder ein echter Gleitkommatyp sein.",
|
||||
"Die integrierte Funktion ist nicht verfügbar, da 128-Bit-Ganzzahlen nicht unterstützt werden.",
|
||||
"Die integrierte Funktion ist nicht verfügbar, da Vektortypen nicht unterstützt werden.",
|
||||
"Zwei aufeinanderfolgende linke eckige Klammern können nur eine Attributliste einleiten.",
|
||||
"Zwei aufeinanderfolgende öffnende eckige Klammern leiten immer eine Attributliste ein, aber eine Attributliste darf an dieser Stelle nicht vorkommen.",
|
||||
"Ein nicht erkanntes Zielattribut schließt diese Routine von der Verwendung durch eine Resolverroutine aus.",
|
||||
"\"%t\" ist kein Vektortyp.",
|
||||
"Die Vektortypen %t1 und %t2 müssen gleich lang sein.",
|
||||
@@ -3190,10 +3190,10 @@
|
||||
"Kein statisches constexpr-Datenmember \"%sq\" in \"%t\" gefunden.",
|
||||
"Die Anzahl der Elemente (%d) ist zu groß für die dynamische Zuordnung.",
|
||||
"Die Anforderung für die dynamische constexpr-Zuordnung ist zu groß.",
|
||||
"Die Zuordnung des nicht dynamisch zugeordneten Speichers wird aufgehoben.",
|
||||
"Die Größe der Zuordnungsaufhebung (%d1) entspricht nicht der Zuordnungsgröße (%d2).",
|
||||
"Belegungsfreigabe für nicht dynamisch zugeordneten Speicher",
|
||||
"Die Größe der Belegungsfreigabe (%d1) entspricht nicht der Größe der Speicherbelegung (%d2).",
|
||||
"Zuordnung hier erfolgt",
|
||||
"Der Typ der Zuordnungsaufhebung (%t1) entspricht nicht dem Zuordnungstyp (%t2).",
|
||||
"Der Typ der Belegungsfreigabe (%t1) entspricht nicht dem Typ der Speicherbelegung (%t2).",
|
||||
"Einige dynamische Zuordnungen (Gesamtzahl = %d) wurden nicht aufgehoben.",
|
||||
"%n (systemintern) mit unerwarteter Signatur deklariert (Typ \"%t\").",
|
||||
">> Ausgabe von std::__report_constexpr_value",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"Ein new-expression mit Aufruf einer klassenspezifischen Zuteilungsfunktion kann nicht in einem konstanten Ausdruck ausgewertet werden.",
|
||||
"Ein new-expression mit Platzierung kann nicht in einem konstanten Ausdruck ausgewertet werden.",
|
||||
"Das Löschen über einen Teilobjektzeiger erfordert einen virtuellen Destruktor.",
|
||||
"%npT (mit umgekehrten Argumenten)",
|
||||
"%npTd, mit umgekehrten Argumenten",
|
||||
"Der Operand von __INTADDR__ muss ein Offset vom NULL-Zeiger aufweisen.",
|
||||
"_Generic-Konstrukt stimmt mit mehreren Typen überein.",
|
||||
"Die andere Übereinstimmung lautet \"%t\".",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"Die Vorlageneinschränkung wurde nicht erfüllt.",
|
||||
"Die Konzeptdefinition kann in diesem Bereich nicht verwendet werden.",
|
||||
"Ungültige Neudeklaration von \"%nd\".",
|
||||
"Fehler beim Ersetzen von Argumenten für \"concept-id\".",
|
||||
"Das Konzept ist falsch.",
|
||||
"Fehler beim Ersetzen von Argumenten \"%T\" für \"concept-id\".",
|
||||
"Das Konzept für die Argumente \"%T\" ist FALSE.",
|
||||
"Eine requires-Klausel ist hier nicht zulässig (keine Funktion mit Vorlagen).",
|
||||
"Konzeptvorlage",
|
||||
"Die requires-Klausel ist nicht mit \"%nfd\" kompatibel.",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"Ein nicht statischer Datenmember vom Verweistyp \"%t\" verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
|
||||
"Ein flüchtiger %t-Typ verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
|
||||
"Ein Union-, Zeiger- oder Pointer-to-Member-Typ \"%t\" verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
|
||||
"%npT (geerbt per Verwendung von \"decl %p\")",
|
||||
"%npTd, geerbt über die Verwendung von decl %p",
|
||||
"Die Teilobjekterstellung von \"%t\" für erbende Konstruktoren kann nicht durchgeführt werden – der implizite Standardkonstruktor wurde gelöscht.",
|
||||
"\"%n\" muss \"void\" zurückgeben.",
|
||||
"Ungültiger Beginn der Memberdeklaration.",
|
||||
@@ -3315,11 +3315,41 @@
|
||||
"\"constinit\" ist hier nicht gültig.",
|
||||
"\"constinit\" ist nur für Deklarationen von Variablen mit Speicherdauer \"static\" oder \"thread\" gültig.",
|
||||
"Die constinit-Variable erfordert eine dynamische Initialisierung.",
|
||||
"Die Variable wurde zuvor mit \"constinit\" deklariert: %p",
|
||||
"Die Variable wurde zuvor mit \"constinit\" %p deklariert.",
|
||||
"Verwendung eines Funktionsdeklarators ohne Prototyp ",
|
||||
"Das Argument darf keinen const-qualifizierten Typ aufweisen.",
|
||||
"Eine Pointer-to-Member-Funktion eines unvollständigen Typs \"%t\" ist nicht zulässig.",
|
||||
"Die Paketerweiterung in \"init-capture\" ist in diesem Modus nicht aktiviert.",
|
||||
"Die Paketerweiterung in \"init-capture\" ist ein C++ 20-Feature.",
|
||||
"Ein auf den Standardwert festgelegter Vergleichsoperator in einer Klassendefinition muss als erste Deklaration dieses Vergleichsoperators (%nd) aufgeführt sein."
|
||||
"Ein auf den Standardwert festgelegter Vergleichsoperator in einer Klassendefinition muss als erste Deklaration dieses Vergleichsoperators (%nd) aufgeführt sein.",
|
||||
"Eine Paketerweiterung in \"init-capture\" kann nur in einer variadischen Vorlage verwendet werden.",
|
||||
"Die Typeinschränkung verwendet \"%nd\". Dies ist kein Typkonzept (d. h. eine Konzeptvorlage, deren erster Parameter ein Typparameter ist).",
|
||||
"Fehler bei der Typeinschränkung aufgrund des hergeleiteten Platzhaltertyps \"%t\".",
|
||||
"Der Standardkonstruktor für \"%t\" ist nicht gültig.",
|
||||
"Der Destruktor für \"%t\" ist aufgrund ungeordneter Einschränkungen mehrdeutig.",
|
||||
"Der Destruktor für \"%t\" ist aufgrund fehlerhafter Einschränkungen nicht gültig.",
|
||||
"Mehrdeutiger Destruktorkandidat",
|
||||
"Eine virtuelle Funktion darf keine nachfolgende requires-Klausel aufweisen.",
|
||||
"\"%nd\" erfüllt nicht die Einschränkungen.",
|
||||
"Das Ergebnis des decltype-Qualifizierers \"%t\" ist keine Klasse oder Enumeration.",
|
||||
"Der Vergleich ist in standardmäßigem C++20 mehrdeutig, weil der implizite Vergleichsoperator mit umgekehrten Parametern eine gleichwertige Übereinstimmung darstellt. Dies wird normalerweise durch einen fehlenden const-Qualifizierer für den Vergleichsoperator ausgelöst. Siehe \"%nod\".",
|
||||
"Ungültige concept-id",
|
||||
"Fehler beim Ersetzen von Argumenten \"%T\" für requires-Klausel.",
|
||||
"Einschränkungen für \"%nd\" sind nicht erfüllt.",
|
||||
"Der Variablentyp \"%t\" in der constexpr-Funktion weist virtuelle Basisklassen auf.",
|
||||
"Ein konstanter Ausdruck kann kein virtuelles Basisteilobjekt zuordnen (für den Typ \"%t\").",
|
||||
"Ein Vorlagenparameter des Klassentyps muss einen strukturellen Klassentyp aufweisen.",
|
||||
"Die Unterstützung für UTF-8-Literale erfordert Unterstützung für u-Literale.",
|
||||
"Die Moduldateizuordnung für \"%s\" wurde mehrmals angegeben.",
|
||||
"Die Zuordnung der Headereinheit für \"%s\" wurde mehrmals angegeben.",
|
||||
"Für \"%s\" wurde keine Zuordnung angegeben.",
|
||||
"Die Moduldateizuordnung für \"%s\" ist ungültig.",
|
||||
"Der zu importierende Header \"%s\" wurde nicht gefunden.",
|
||||
"Mehrere Dateien in der Moduldateiliste stimmen mit \"%s\" überein.",
|
||||
"Die für \"%s\" gefundene Moduldatei ist für ein anderes Modul bestimmt.",
|
||||
"Beliebige Art von Moduldatei",
|
||||
"Die Moduldatei kann nicht gelesen werden.",
|
||||
"Die integrierte Funktion ist nicht verfügbar, weil der char8_t-Typ mit den aktuellen Optionen nicht unterstützt wird.",
|
||||
"Die Befehlszeilenoption \"--ms_await\" kann nicht angegeben werden, wenn C++20-Coroutinen aktiviert sind.",
|
||||
"Nicht standardmäßige Verwendung des expliziten Konstruktors \"%nod\" für die standardmäßige Aggregatelementinitialisierung"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"se esperaba una declaración",
|
||||
"el puntero señala fuera del objeto subyacente",
|
||||
"conversión de tipo no válida",
|
||||
"conflicto de vinculación externa o interna con la declaración anterior",
|
||||
"conflicto de vinculación externa o interna con la declaración anterior %p",
|
||||
"el valor de punto flotante no incluye el tipo entero requerido",
|
||||
"la expresión no tiene efecto",
|
||||
"el subíndice está fuera del intervalo",
|
||||
@@ -420,9 +420,9 @@
|
||||
"se aplica más de una función de conversión de %t a un tipo integrado:",
|
||||
"const %n",
|
||||
"referencia %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"operador integrado %sq",
|
||||
"%no (ambiguo por herencia)",
|
||||
"%nod, ambiguo por herencia",
|
||||
"no se puede tomar la dirección de un constructor o destructor",
|
||||
null,
|
||||
"elemento temporal usado para el valor inicial de referencia a un elemento que no es const (anacronismo)",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"los atributos de variable que aparecen después de un inicializador entre paréntesis se omiten",
|
||||
"el resultado de esta conversión no se puede usar como valor L",
|
||||
"negación de un valor de punto fijo sin signo",
|
||||
"este operador no está permitido en este punto; use paréntesis",
|
||||
null,
|
||||
null,
|
||||
"los nombres de registro solo se pueden usar para las variables de registro",
|
||||
"las variables de registro con nombre no pueden tener el tipo void",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"es necesario #include <lista_de_inicializadores> antes de usar std::initializer_list, incluido un uso implícito",
|
||||
"la palabra clave 'inline' no se puede usar en una declaración de alias de espacio de nombres",
|
||||
"la declaración de %n anterior no se declaró como inline",
|
||||
"una nueva declaración de %n inline debe declararse como inline",
|
||||
"%n se declaró anteriormente como inline",
|
||||
"el primer argumento debe ser una constante de tipo entero",
|
||||
"un designador no se puede usar con un tipo %t no agregado",
|
||||
"Un designador de un miembro de unión anónima solo puede aparecer entre las llaves correspondientes a esa unión anónima",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"el constructor constexpr debe inicializar la clase base directa %t",
|
||||
"es probable que la creación de un objeto std::initializer_list en un inicializador de campo no funcione según lo esperado porque la matriz subyacente se destruirá al final de la expresión completa",
|
||||
"'this' no se puede usar en una expresión constante",
|
||||
"un inicializador vacío no es válido para este tipo de unión (la elección del miembro que debe inicializarse es ambigua)",
|
||||
null,
|
||||
"\"constexpr\" no se permite en una directiva de creación de una instancia explícita",
|
||||
"no se puede determinar la especificación de excepción del constructor predeterminado debido a una dependencia circular",
|
||||
"la unión anónima definió %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"calificador no válido para %t (no se permite aquí una clase derivada)",
|
||||
"el atributo \"always_inline\" se omite en funciones no insertadas",
|
||||
"los constructores de herencia deben heredarse de una clase base directa",
|
||||
"%np ya se ha heredado de %t",
|
||||
null,
|
||||
"se esperaba una etiqueta",
|
||||
"se esperaba un número de operando después de \"%%l\"",
|
||||
"el número de operando de \"%%l\" no hace referencia a un argumento de etiqueta válido",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"las funciones eliminadas son una característica de C++11",
|
||||
"las funciones con valores predeterminados son una característica de C++11",
|
||||
"no se permite una clase de almacenamiento en una especialización explícita",
|
||||
"%t no es una clase o una enumeración con ámbito",
|
||||
null,
|
||||
"Una enumeración sin ámbito debe ser opaca para que pueda especializarse",
|
||||
"una declaración de plantilla de enumeración debe hacer referencia a un miembro anteriormente declarado de una plantilla de clase",
|
||||
"se esperaba un operando vectorial",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"el tipo de elemento de vector debe ser integral, enumeración o punto flotante real",
|
||||
"la función builtin no está disponible porque no se admiten enteros de 128 bits",
|
||||
"la función builtin no está disponible porque no se admiten tipos de vectores",
|
||||
"dos corchetes izquierdos consecutivos solo pueden introducir una lista de atributos",
|
||||
"dos corchetes izquierdos consecutivos siempre introducen una lista de atributos, pero aquí no puede aparecer una lista de ese tipo",
|
||||
"el atributo \"target\" no reconocido descalifica esta rutina para su uso por la rutina de resolución",
|
||||
"%t no es un tipo de vector",
|
||||
"los tipos de vector %t1 y %t2 deben tener la misma longitud",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"una expresión \"new\" que llama a una función de asignación específica de clase no se puede evaluar como constante",
|
||||
"una expresión de colocación \"new\" no se puede evaluar como constante",
|
||||
"la eliminación mediante un puntero de subobjeto requiere un destructor virtual",
|
||||
"%npT (con argumentos revertidos)",
|
||||
"%npTd, con argumentos inversos",
|
||||
"el operando de __INTADDR__ debe estar desplazado respecto al puntero nulo",
|
||||
"La construcción _Generic coincide con varios tipos",
|
||||
"la otra coincidencia es %t",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"la restricción de plantilla no se cumple",
|
||||
"la definición de concepto no puede aparecer en este ámbito",
|
||||
"nueva declaración de %nd no válida",
|
||||
"error de sustitución de los argumentos para concept-id",
|
||||
"el concepto es false",
|
||||
"error de sustitución de los argumentos %T para concept-id",
|
||||
"el concepto es false para los argumentos %T",
|
||||
"no se permite una cláusula requires aquí (no es una función basada en plantilla)",
|
||||
"plantilla de concepto",
|
||||
"la cláusula requires es incompatible con %nfd",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"un miembro de datos no estático del tipo de referencia %t impide la evaluación constexpr de __builtin_bit_cast",
|
||||
"un tipo volatile %t impide la evaluación constexpr de __builtin_bit_cast",
|
||||
"un tipo de unión, puntero o puntero a miembro %t impide la evaluación constexpr de __builtin_bit_cast",
|
||||
"%npT (heredado mediante la declaración using %p)",
|
||||
"%npTd, heredado mediante el uso de la declaración %p",
|
||||
"no se puede realizar la construcción de subobjetos de %t para los constructores de herencia; se elimina el constructor predeterminado implícito",
|
||||
"%n debe devolver void",
|
||||
"inicio de declaración de miembro no válido",
|
||||
@@ -3321,5 +3321,35 @@
|
||||
"no se permite un puntero a miembro de un tipo %t incompleto",
|
||||
"la expansión del paquete en la captura de inicialización no está habilitada en este modo",
|
||||
"la expansión del paquete en la captura de inicialización es una característica de C++20",
|
||||
"un operador de comparación con valor predeterminado en una definición de clase debe ser la primera declaración de ese operador de comparación (%nd)"
|
||||
"un operador de comparación con valor predeterminado en una definición de clase debe ser la primera declaración de ese operador de comparación (%nd)",
|
||||
"una expansión del paquete en una captura de inicialización solo se puede usar en una plantilla variádica",
|
||||
"la restricción de tipo usa %nd, que no es un concepto de tipo (es decir, una plantilla de concepto cuyo primer parámetro es un parámetro de tipo)",
|
||||
"el tipo de marcador de posición %t deducido generó un error en la restricción de tipo",
|
||||
"el constructor predeterminado de %t no es elegible",
|
||||
"el destructor de %t es ambiguo debido a restricciones desordenadas",
|
||||
"el destructor de %t no es elegible debido a restricciones con errores",
|
||||
"candidato destructor ambiguo",
|
||||
"una función virtual no puede tener una cláusula requires final",
|
||||
"%nd no cumple sus restricciones",
|
||||
"el resultado del calificador decltype %t no es una clase ni una enumeración",
|
||||
"la comparación es ambigua en C++ 20 estándar porque el operador de comparación implicado con los parámetros inversos es una coincidencia igualmente buena. Esto suele deberse a que falta un calificador \"const\" en el operador de comparación; vea %nod",
|
||||
"identificador de concepto no válido",
|
||||
"error de sustitución de los argumentos %T para la cláusula requires",
|
||||
"no se cumplen las restricciones de %nd",
|
||||
"el tipo de variable %t de la función constexpr tiene clases base virtuales",
|
||||
"una expresión constante no puede asignar un subobjeto base virtual (para el tipo %t)",
|
||||
"un parámetro de plantilla de tipo de clase debe ser un tipo de clase estructural",
|
||||
"la compatibilidad con los literales UTF-8 requiere compatibilidad con u-literal.",
|
||||
"la asignación de archivos de módulo para \"%s\" se especificó más de una vez",
|
||||
"la asignación de unidades de encabezado para \"%s\" se especificó más de una vez",
|
||||
"no se especificó ninguna asignación para \"%s\"",
|
||||
"la asignación del archivo de módulo para \"%s\" no es válida",
|
||||
"no se encuentra el encabezado \"%s\" para importar",
|
||||
"hay más de un archivo de la lista de archivos de módulo que coincide con \"%s\"",
|
||||
"el archivo de módulo que se encontró para \"%s\" es para otro módulo",
|
||||
"cualquier tipo de archivo de módulo",
|
||||
"no se puede leer el archivo de módulo",
|
||||
"la función integrada no está disponible porque no se admite el tipo char8_t con las opciones actuales",
|
||||
"no se puede especificar la opción de línea de comandos --ms_await si están habilitadas las corrutinas de C++ 20",
|
||||
"uso no estándar de %nod de constructor explícito para la inicialización predeterminada del elemento de agregado"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"déclaration attendue",
|
||||
"le pointeur pointe en dehors de l'objet sous-jacent",
|
||||
"conversion de type non valide",
|
||||
"conflit entre la liaison externe/interne et la déclaration précédente",
|
||||
"conflit entre la liaison externe/interne et la déclaration précédente %p",
|
||||
"la valeur à virgule flottante ne peut pas être contenue dans le type intégral requis",
|
||||
"Expression sans effet",
|
||||
"Indice hors limites",
|
||||
@@ -420,9 +420,9 @@
|
||||
"plusieurs fonctions de conversion de %t en type intégré s'appliquent :",
|
||||
"const %n",
|
||||
"référence %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"opérateur intégré %sq",
|
||||
"%no (ambigu par héritage)",
|
||||
"%nod, ambigu par héritage",
|
||||
"impossible de prendre l'adresse d'un constructeur ou d'un destructeur",
|
||||
null,
|
||||
"utilisation temporaire pour la valeur initiale d'une référence à une non-constante (anachronisme)",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"plusieurs variables apparaissant après un initialiseur entre parenthèses sont ignorées",
|
||||
"impossible d'utiliser le résultat de ce cast comme une lvalue",
|
||||
"négation d'une valeur à virgule fixe non signée",
|
||||
"cet opérateur n'est pas autorisé actuellement ; utilisez des parenthèses",
|
||||
null,
|
||||
null,
|
||||
"les noms de registre peuvent uniquement être utilisés pour les variables de registre",
|
||||
"les variables de registre nommées ne peuvent pas avoir le type void",
|
||||
@@ -1739,7 +1739,7 @@
|
||||
"impossible de capturer une variable locale en dehors de la portée de la fonction active",
|
||||
"impossible de faire référence à la fonction englobante 'this' dans le corps d'une expression lambda, sauf si elle figure dans la liste de capture",
|
||||
null,
|
||||
"impossible de copier la variable de capture lambda de type %t1 dans le champ closure class de type %t2",
|
||||
"impossible de copier la variable capturée lambda de type %t1 dans le champ closure class de type %t2",
|
||||
"répertoire de modèles non valide : %s",
|
||||
"erreur",
|
||||
"erreurs",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"#include <initializer_list> est nécessaire avant l'utilisation de std::initializer_list, dont une utilisation implicite",
|
||||
"Le mot clé 'inline' ne peut pas être utilisé sur une déclaration d'alias d'espace de noms",
|
||||
"la déclaration précédente de %n n'était pas déclarée inline",
|
||||
"une redéclaration de %n inline doit être déclarée inline",
|
||||
"%n a déjà été déclaré Inline",
|
||||
"le premier argument doit être une constante entière",
|
||||
"impossible d'utiliser un désignateur avec un type différent d'un agrégat %t",
|
||||
"un désignateur pour un membre d'union anonyme peut uniquement apparaître entre des accolades qui correspondent à cette union anonyme",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"le constructeur constexpr doit initialiser la classe de base directe %t",
|
||||
"la création d'un objet std::initializer_list dans un initialiseur de champ ne fonctionne généralement pas comme il le devrait, car le tableau sous-jacent est détruit à la fin de l'expression complète",
|
||||
"Impossible d'utiliser 'this' dans une expression constante",
|
||||
"initialiseur vide non valide pour ce type d'union (ambiguïté quant au membre à initialiser)",
|
||||
null,
|
||||
"'constexpr' n'est pas autorisé sur une directive d'instanciation explicite",
|
||||
"impossible de déterminer la spécification d'exception du constructeur par défaut en raison d'une dépendance circulaire",
|
||||
"union anonyme définie %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"qualificateur non valide pour %t (classe dérivée non autorisée ici)",
|
||||
"l'attribut 'always_inline' est ignoré dans les fonctions non inline",
|
||||
"les constructeurs d'héritage doivent être hérités d'une classe de base directe",
|
||||
"%np déjà hérité de %t",
|
||||
null,
|
||||
"étiquette attendue",
|
||||
"nombre d'opérande attendu après '%%l'",
|
||||
"le nombre d'opérande pour '%%l' ne fait pas référence à un argument d'étiquette valide",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"les fonctions supprimées sont une fonctionnalité C++11",
|
||||
"les fonctions par défaut sont une fonctionnalité C++11",
|
||||
"impossible d'utiliser une classe de stockage dans une spécialisation explicite",
|
||||
"%t n'est pas une classe ni une énumération délimitée",
|
||||
null,
|
||||
"une énumération non délimitée doit être opaque pour être spécialisée",
|
||||
"une déclaration de modèle d'énumération doit faire référence à un membre précédemment déclaré d'un modèle de classe",
|
||||
"opérande de vecteur attendu",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"le type d'élément de vecteur doit être intégral, enum ou un type à virgule flottante réel",
|
||||
"la fonction intégrée n'est pas disponible car les entiers 128 bits ne sont pas pris en charge",
|
||||
"la fonction intégrée n'est pas disponible car les types de vecteur ne sont pas pris en charge",
|
||||
"deux crochets gauches consécutifs peuvent uniquement introduire une liste d'attributs",
|
||||
"deux crochets gauches successifs introduisent toujours une liste d'attributs, mais aucune liste d'attributs ne peut apparaître ici",
|
||||
"un attribut 'target' non reconnu empêche cette routine d'être utilisée par la routine de résolution",
|
||||
"%t n'est pas un type de vecteur",
|
||||
"les types de vecteur %t1 et %t2 doivent avoir la même longueur",
|
||||
@@ -3176,7 +3176,7 @@
|
||||
"'return_void' déclaré %p",
|
||||
"instruction co_return manquante alors que %t n'a aucun 'return_void' à la fin de %n",
|
||||
"variante nothrow de la fonction globale 'operator new' introuvable pour l'allocation d'état de la coroutine",
|
||||
"'operator delete' viable introuvable pour la libération d'état de la coroutine",
|
||||
"'operator delete' viable introuvable pour la désallocation d'état de la coroutine",
|
||||
"une fonction constexpr ne peut pas être une coroutine",
|
||||
"l'opérande de cette expression %s est résolu en un %t qui n'est pas une classe",
|
||||
"une expression co_await n'est pas autorisée dans un initialiseur statique",
|
||||
@@ -3190,10 +3190,10 @@
|
||||
"membre de données statique constexpr %sq introuvable dans %t",
|
||||
"nombre d'éléments (%d) trop grand pour une allocation dynamique",
|
||||
"demande d'allocation dynamique constexpr trop grande",
|
||||
"libération de stockage non alloué dynamiquement",
|
||||
"la taille de libération (%d1) ne correspond pas à la taille allouée (%d2)",
|
||||
"désallocation de stockage non alloué dynamiquement",
|
||||
"la taille de désallocation (%d1) ne correspond pas à la taille allouée (%d2)",
|
||||
"une allocation s'est produite ici",
|
||||
"le type de libération (%t1) ne correspond pas au type d'allocation (%t2)",
|
||||
"le type de désallocation (%t1) ne correspond pas au type d'allocation (%t2)",
|
||||
"certaines allocations dynamiques (nombre total = %d) n'ont pas été libérées",
|
||||
"%n intrinsèque déclaré avec une signature inattendue (type %t)",
|
||||
">> sortie de std::__report_constexpr_value",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"une expression new qui appelle une fonction d'allocation spécifique à une classe ne peut pas être évaluée en tant que constante",
|
||||
"une expression new de placement ne peut pas être évaluée en tant que constante",
|
||||
"une suppression via un pointeur de sous-objet nécessite un destructeur virtuel",
|
||||
"%npT (avec arguments inversés)",
|
||||
"%npTd, avec des arguments inversés",
|
||||
"l'opérande de __INTADDR__ doit être décalé par rapport au pointeur null",
|
||||
"La construction _Generic correspond à plusieurs types",
|
||||
"l'autre correspondance est %t",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"contrainte de modèle non satisfaite",
|
||||
"la définition de concept ne peut pas apparaître dans cette étendue",
|
||||
"redéclaration non valide de %nd",
|
||||
"échec de la substitution des arguments pour l'ID de concept",
|
||||
"le concept a la valeur false",
|
||||
"échec de la substitution des arguments %T pour l'ID de concept",
|
||||
"le concept est faux pour les arguments %T",
|
||||
"une clause requires n'est pas autorisée ici (il ne s'agit pas d'une fonction basée sur un modèle)",
|
||||
"modèle de concept",
|
||||
"clause requires incompatible avec %nfd",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"un membre de données non statique de type référence %t empêche l'évaluation de constexpr de __builtin_bit_cast",
|
||||
"un type volatile %t empêche l'évaluation de constexpr de __builtin_bit_cast",
|
||||
"un type union, pointeur ou pointeur vers membre %t empêche l'évaluation de constexpr de __builtin_bit_cast",
|
||||
"%npT (hérité via l'utilisation de decl %p)",
|
||||
"%npTd, hérité via l'utilisation de decl %p",
|
||||
"la construction de sous-objet de %t pour l'héritage de constructeurs ne peut pas être effectuée -- le constructeur par défaut implicite est supprimé",
|
||||
"%n doit retourner void",
|
||||
"début de déclaration de membre non valide",
|
||||
@@ -3321,5 +3321,35 @@
|
||||
"un pointeur vers membre de type incomplet %t n'est pas autorisé",
|
||||
"l'expansion de pack dans init-capture n'est pas activée dans ce mode",
|
||||
"l'expansion de pack dans init-capture est une fonctionnalité C++20",
|
||||
"un opérateur de comparaison par défaut dans une définition de classe doit être la première déclaration de cet opérateur de comparaison (%nd)"
|
||||
"un opérateur de comparaison par défaut dans une définition de classe doit être la première déclaration de cet opérateur de comparaison (%nd)",
|
||||
"une expansion de pack dans une capture d'initialisation peut uniquement être utilisée dans un modèle variadique",
|
||||
"la contrainte de type utilise %nd qui n'est pas un concept de type (c'est-à-dire un modèle de concept dont le premier paramètre est un paramètre de type)",
|
||||
"échec de la contrainte de type pour le type d'espace réservé déduit %t",
|
||||
"le constructeur par défaut pour %t n'est pas éligible",
|
||||
"le destructeur pour %t est ambigu en raison de contraintes non ordonnées",
|
||||
"le destructeur pour %t est inéligible en raison de l'échec de contraintes",
|
||||
"candidat destructeur ambigu",
|
||||
"une fonction virtuelle ne peut pas avoir de clause requires de fin",
|
||||
"%nd ne respecte pas ses contraintes",
|
||||
"le résultat du qualificateur decltype %t n'est pas une classe ou une énumération",
|
||||
"la comparaison est ambiguë dans la norme C++20, car l'opérateur de comparaison implicite avec des paramètres inversés représente une correspondance tout aussi appropriée (cela est généralement dû à un qualificateur 'const' manquant sur l'opérateur de comparaison) ; consultez %nod",
|
||||
"ID de concept non valide",
|
||||
"échec de la substitution des arguments %T pour la clause requires",
|
||||
"les contraintes pour %nd ne sont pas satisfaites",
|
||||
"le type de variable %t dans la fonction constexpr a des classes de base virtuelles",
|
||||
"une expression constante ne peut pas allouer un sous-objet de base virtuel (pour le type %t)",
|
||||
"un paramètre de modèle de type classe doit être de type classe structurelle",
|
||||
"la prise en charge des littéraux UTF-8 nécessite une prise en charge du littéral u.",
|
||||
"mappage de fichier de module pour '%s' spécifié plusieurs fois",
|
||||
"mappage d'unité d'en-tête pour '%s' spécifié plusieurs fois",
|
||||
"aucun mappage spécifié pour '%s'",
|
||||
"le mappage de fichier de module pour '%s' est non valide",
|
||||
"l'en-tête '%s' à importer est introuvable",
|
||||
"plusieurs fichiers dans la liste de fichiers de module correspondent à '%s'",
|
||||
"le fichier de module trouvé pour '%s' est destiné à un autre module",
|
||||
"n'importe quel genre de fichier de module",
|
||||
"impossible de lire le fichier de module",
|
||||
"la fonction intégrée n'est pas disponible, car le type char8_t n'est pas pris en charge avec les options actuelles",
|
||||
"l'option de ligne de commande --ms_await ne peut pas être spécifiée si les coroutines C++20 sont activées",
|
||||
"utilisation non standard du constructeur explicite %nod pour l'initialisation de l'élément d'agrégation par défaut"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"prevista una dichiarazione",
|
||||
"il puntatore punta all'esterno dell'oggetto sottostante",
|
||||
"conversione di tipo non valida",
|
||||
"conflitto tra collegamenti esterni/interni con la dichiarazione precedente",
|
||||
"conflitto tra collegamenti esterni/interni con la dichiarazione precedente %p",
|
||||
"il valore a virgola mobile non rientra nel tipo integrale richiesto",
|
||||
"l'espressione non ha effetto",
|
||||
"indice non incluso nell'intervallo",
|
||||
@@ -420,9 +420,9 @@
|
||||
"è disponibile più di una funzione di conversione da %t a un tipo incorporato:",
|
||||
"costante %n",
|
||||
"riferimento %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"operatore predefinito %sq",
|
||||
"%no (ambiguo per ereditarietà)",
|
||||
"%nod, ambiguo per ereditarietà",
|
||||
"un costruttore o un distruttore non può accettare il relativo indirizzo",
|
||||
null,
|
||||
"memoria temporanea utilizzata per il valore iniziale del riferimento a non const (anacronismo)",
|
||||
@@ -732,7 +732,7 @@
|
||||
"%n non è un modello di classe",
|
||||
"matrice con tipo di elementi incompleto non conforme allo standard",
|
||||
"impossibile dichiarare un operatore di allocazione in uno spazio dei nomi",
|
||||
"impossibile dichiarare un operatore di deallocazione in uno spazio dei nomi",
|
||||
"non è possibile dichiarare un operatore di deallocazione in uno spazio dei nomi",
|
||||
"conflitto tra %np1 e la dichiarazione using di %np2",
|
||||
"conflitto tra la dichiarazione using di %np1 e %npd2",
|
||||
"è possibile utilizzare l'opzione namespaces solo quando si esegue la compilazione nel linguaggio C++",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"gli attributi di variabile inseriti dopo un inizializzatore tra parentesi vengono ignorati",
|
||||
"impossibile utilizzare il risultato di questo cast come lvalue",
|
||||
"negazione di un valore a virgola fissa senza segno",
|
||||
"operatore non consentito in questo punto. Usare le parentesi",
|
||||
null,
|
||||
null,
|
||||
"i nomi di registro possono essere utilizzati solo per le variabili register",
|
||||
"il tipo delle variabili denominato nel registro non può essere void",
|
||||
@@ -1739,7 +1739,7 @@
|
||||
"impossibile acquisire una variabile locale all'esterno dell'ambito di funzione corrente",
|
||||
"impossibile fare riferimento alla funzione contenitore 'this' nel corpo di un'espressione lambda a meno che non sia inclusa nell'elenco di acquisizione",
|
||||
null,
|
||||
"impossibile copiare la variabile acquisita di tipo %t1 dell'espressione lambda nel campo closure class di tipo %t2",
|
||||
"non è possibile copiare la variabile catturata di tipo %t1 dell'espressione lambda nel campo closure class di tipo %t2",
|
||||
"directory del modello non valida: %s",
|
||||
"errore",
|
||||
"errori",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"#include <initializer_list> è necessario prima di utilizzare std::initializer_list, compreso un utilizzo implicito",
|
||||
"impossibile utilizzare la parola chiave 'inline' in una dichiarazione di alias dello spazio dei nomi",
|
||||
"la dichiarazione precedente di %n non è stata dichiarata inline",
|
||||
"una ridichiarazione di inline %n deve essere dichiarata inline",
|
||||
"%n è stato dichiarato in precedenza come inline",
|
||||
"il primo argomento deve essere una costante integer",
|
||||
"non è possibile usare un indicatore con un tipo non aggregato %t",
|
||||
"un indicatore per un membro di unione anonima può essere presente solo all'interno delle parentesi graffe corrispondenti a tale unione anonima",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"il costruttore constexpr deve inizializzare la classe base diretta %t",
|
||||
"è improbabile che la creazione di un oggetto std::initializer_list in un inizializzatore di campo funzioni come previsto perché la matrice sottostante verrà distrutta alla fine dell'espressione completa",
|
||||
"impossibile utilizzare 'this' in un'espressione costante",
|
||||
"un inizializzatore vuoto non è valido per questo tipo di unione (il membro da inizializzare è ambiguo)",
|
||||
null,
|
||||
"'constexpr' non è consentito in una direttiva di creazione esplicita di un'istanza",
|
||||
"impossibile determinare la specificazione dell'espressione del costruttore predefinito a causa di una dipendenza circolare",
|
||||
"%p definito da unione anonima",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"il qualificatore per %t non è valido. In questo punto non sono consentite classi derivate.",
|
||||
"l'attributo 'always_inline' viene ignorato in funzioni non inline",
|
||||
"i costruttori che ereditano devono essere ereditati da una classe base diretta",
|
||||
"%np è già ereditato da %t",
|
||||
null,
|
||||
"è prevista un'etichetta",
|
||||
"è previsto un numero operando dopo '%%l'",
|
||||
"il numero operando per '%%l' non fa riferimento a un argomento di etichetta valido",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"le funzioni eliminate sono una funzionalità di C++11",
|
||||
"le funzioni impostate come predefinite sono una funzionalità di C++11",
|
||||
"una classe di archiviazione non è consentita in una specializzazione esplicita",
|
||||
"%t non è una classe o un'enumerazione con ambito",
|
||||
null,
|
||||
"un'enumerazione senza ambito deve essere opaca per essere specializzata",
|
||||
"una dichiarazione di modello dell'enumerazione deve fare riferimento a un membro precedentemente dichiarato di un modello di classe",
|
||||
"è previsto un operando vettore",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"il tipo di elemento di vettore deve essere integrale, enumerazione o reale a virgola mobile",
|
||||
"la funzione predefinita non è disponibile perché gli interi a 128 bit non sono supportati",
|
||||
"la funzione predefinita non è disponibile perché i tipi di vettore non sono supportati",
|
||||
"due parentesi quadre aperte consecutive possono solo introdurre un elenco di attributi",
|
||||
"due parentesi quadre aperte consecutive introducono sempre un elenco di attributi, ma in questo punto non è possibile specificare un elenco di attributi",
|
||||
"l'attributo 'target' non è riconosciuto, di conseguenza questa routine non può essere usata dalla routine del resolver",
|
||||
"%t non è un tipo di vettore",
|
||||
"i tipi di vettore %t1 e %t2 devono avere la stessa lunghezza",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"un'espressione expr.new che chiama una funzione di allocazione specifica della classe non può essere valutata in un'espressione costante",
|
||||
"un'espressione new di posizionamento non può essere valutata in un'espressione costante",
|
||||
"per l'eliminazione tramite un puntatore a sotto-oggetto è richiesto un distruttore virtuale",
|
||||
"%npT (con argomenti invertiti)",
|
||||
"%npTd, con argomenti invertiti",
|
||||
"l'operando di __INTADDR__ deve essere scostato dal puntatore Null",
|
||||
"Il costrutto _generico corrisponde a più tipi",
|
||||
"l'altra corrispondenza è %t",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"il vincolo del modello non è soddisfatto",
|
||||
"la definizione del concetto non può essere presente in questo ambito",
|
||||
"la ridichiarazione di %nd non è valida",
|
||||
"la sostituzione degli argomenti per l'ID concetto non è riuscita",
|
||||
"il concetto è false",
|
||||
"la sostituzione degli argomenti %T per l'ID concetto non è riuscita",
|
||||
"il concetto è false per gli argomenti %T",
|
||||
"in questo punto non sono consentite clausole requires (non è una funzione basata su modelli)",
|
||||
"modello di concetto",
|
||||
"la clausola requires non è compatibile con %nfd",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"il membro dati non statico del tipo riferimento %t impedisce la valutazione constexpr di __builtin_bit_cast",
|
||||
"un tipo volatile %t impedisce la valutazione constexpr di __builtin_bit_cast",
|
||||
"un tipo unione, puntatore o puntatore a membro %t impedisce la valutazione constexpr di __builtin_bit_cast",
|
||||
"%npT (ereditato tramite l'uso di decl %p)",
|
||||
"%npTd, ereditato tramite l'uso della dichiarazione %p",
|
||||
"non è possibile costruire oggetti secondari di %t per ereditare costruttori. Il costruttore predefinito implicito è stato eliminato",
|
||||
"%n deve restituire void",
|
||||
"l'inizio della dichiarazione di membro non è valido",
|
||||
@@ -3315,11 +3315,41 @@
|
||||
"'constinit' non è valida in questo punto",
|
||||
"'constinit' è valida solo per dichiarazioni con durata di archiviazione del thread o statica",
|
||||
"con la variabile constinit è richiesta l'inizializzazione dinamica",
|
||||
"la variabile è stata dichiarata in precedenza con 'constinit' %p",
|
||||
"la variabile è stata dichiarata in precedenza con 'constinit' alla posizione %p",
|
||||
"uso del dichiaratore di funzione non prototipo",
|
||||
"l'argomento non può avere un tipo qualificato da const",
|
||||
"non è consentito un puntatore a membro di un tipo incompleto %t",
|
||||
"l'espansione del pacchetto in init-capture non è abilitata in questa modalità",
|
||||
"l'espansione del pacchetto in init-capture è una funzionalità di C++20",
|
||||
"un operatore di confronto impostato come predefinito in una definizione di classe deve essere la prima dichiarazione di tale operatore di confronto (%nd)"
|
||||
"un operatore di confronto impostato come predefinito in una definizione di classe deve essere la prima dichiarazione di tale operatore di confronto (%nd)",
|
||||
"un'espansione di pacchetto in init-capture può essere usata solo in un modello variadic",
|
||||
"il vincolo di tipo usa %nd che non è un concetto di tipo, ad esempio un modello di concetto il cui primo parametro è un parametro di tipo",
|
||||
"il tipo di segnaposto dedotto %t non soddisfa il vincolo di tipo",
|
||||
"il costruttore predefinito per %t non è idoneo",
|
||||
"il distruttore per %t è ambiguo a causa di vincoli non ordinati",
|
||||
"il distruttore per %t non è idoneo a causa di vincoli non soddisfatti",
|
||||
"candidato di distruttore ambiguo",
|
||||
"una funzione virtuale non può includere una clausola requires finale",
|
||||
"%nd non soddisfa i vincoli",
|
||||
"il risultato del qualificatore decltype %t non è una classe o un'enumerazione",
|
||||
"il confronto è ambiguo in C++20 standard perché l'operatore di confronto implicito con parametri invertiti è una corrispondenza altrettanto valida. In genere questo problema dipende dalla mancanza di un qualificatore 'const' nell'operatore di confronto. Vedere %nod",
|
||||
"ID concetto non valido",
|
||||
"la sostituzione degli argomenti %T per la clausola requires non è riuscita",
|
||||
"i vincoli per %nd non sono soddisfatti",
|
||||
"il tipo di variabile %t nella funzione constexpr contiene classi di base virtuali",
|
||||
"un'espressione costante non può allocare un sotto-oggetto di base virtuale (per il tipo %t)",
|
||||
"un parametro di modello di tipo classe deve essere un tipo classe strutturale",
|
||||
"per il supporto dei valori letterali UTF-8 è richiesto il supporto di valori letterali u",
|
||||
"il mapping del file del modulo per '%s' è stato specificato più di una volta",
|
||||
"il mapping dell'unità intestazione per '%s' è stato specificato più di una volta",
|
||||
"non è stato specificato alcun mapping per '%s'",
|
||||
"Il mapping del file del modulo per '%s' non è valido",
|
||||
"non è possibile trovare l'intestazione '%s' da importare",
|
||||
"più di un file nell'elenco file di modulo corrisponde a '%s'",
|
||||
"il file di modulo trovato per '%s' è riferito a un modulo diverso",
|
||||
"qualsiasi tipo di modulo",
|
||||
"non è possibile leggere il file del modulo",
|
||||
"la funzione predefinita non è disponibile perché il tipo char8_t non è supportato con le opzioni correnti",
|
||||
"non è possibile specificare l'opzione della riga di comando --ms_await se le coroutine di C++20 sono abilitate",
|
||||
"uso non standard del costruttore esplicito %nod per l'inizializzazione dell'elemento di aggregazione predefinito"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"宣言が必要です",
|
||||
"ポインターが基になるオブジェクトの外部を指しています",
|
||||
"無効な型変換です",
|
||||
"外部/内部リンケージが以前の宣言と競合しています",
|
||||
"外部または内部のリンケージが以前の宣言 %p と競合しています",
|
||||
"浮動小数点値が必要な整数型では不適切です",
|
||||
"式が無効です",
|
||||
"添字が有効範囲にありません",
|
||||
@@ -352,8 +352,8 @@
|
||||
"複数の演算子 %sq がこれらのオペランドと一致します:",
|
||||
"割り当て関数の最初のパラメーターは型 'size_t' である必要があります",
|
||||
"割り当て関数には 'void *' 戻り値の型が必要です",
|
||||
"解放関数には 'void' 戻り値の型が必要です",
|
||||
"解放関数の最初のパラメーターは型 'void *' である必要があります",
|
||||
"割り当て解除関数には 'void' 戻り値の型が必要です",
|
||||
"割り当て解除関数の最初のパラメーターは型 'void *' である必要があります",
|
||||
null,
|
||||
"型はオブジェクト型である必要があります",
|
||||
"基底クラス %t は既に初期化されています",
|
||||
@@ -420,9 +420,9 @@
|
||||
"%t から組み込み型への変換関数が複数適用されます:",
|
||||
"const %n",
|
||||
"参照 %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"組み込み演算子 %sq",
|
||||
"%no (継承によりあいまいです)",
|
||||
"%nod (継承によりあいまいです)",
|
||||
"コンストラクターまたはデストラクターのアドレスは取得できません",
|
||||
null,
|
||||
"非 const への参照の初期値用に一時的に使用されます (旧形式)",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"かっこで囲まれた初期化子の後にある変数属性は無視されます",
|
||||
"このキャストの結果は左辺値として使用できません",
|
||||
"符号なし固定小数点値の否定です",
|
||||
"この演算子はこの位置では使用できません (かっこを使用してください)",
|
||||
null,
|
||||
null,
|
||||
"レジスタ名はレジスタ変数に対してのみ使用できます",
|
||||
"名前付きレジスタ変数に void 型を使用することはできません",
|
||||
@@ -1739,7 +1739,7 @@
|
||||
"現在の関数スコープ外のローカル変数はキャプチャできません",
|
||||
"外側の関数の 'this' は、キャプチャ リストに含まれていない限り、ラムダ本体で参照できません",
|
||||
null,
|
||||
"ラムダでキャプチャされた型 %t1 の変数を型 %t2 の closure class フィールドにコピーできません",
|
||||
"ラムダでキャプチャした型 %t1 の変数を型 %t2 の closure class フィールドにコピーできません",
|
||||
"無効なテンプレート ディレクトリ: %s",
|
||||
"エラー",
|
||||
"件のエラー",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"std::initializer_list を使用する (暗黙的な使用を含む) 前に #include <initializer_list> が必要です",
|
||||
"'inline' キーワードは、名前空間のエイリアス宣言では使用できません",
|
||||
"%n の前の宣言は、インラインで宣言されていませんでした",
|
||||
"インライン %n の再宣言はインラインで宣言する必要があります",
|
||||
"%n は、以前にインラインで宣言されました",
|
||||
"最初の引数は整数の定数である必要があります",
|
||||
"指定子と非集約型 %t は同時に使用できません",
|
||||
"匿名共用体メンバーの指定子は、その匿名共用体に対応する中かっこ内でのみ使用できます",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"constexpr コンストラクターは、直接的な基底クラス %t を初期化する必要があります",
|
||||
"フィールド初期化子に std::initializer_list オブジェクトを作成すると、正しく動作しない可能性があります。基になる配列が式全体の最後で破棄されます。",
|
||||
"'this' は定数式では使用できません",
|
||||
"この共用体型では空の初期化子は無効です (初期化する必要があるメンバーがあいまいです)",
|
||||
null,
|
||||
"明示的なインスタンス化ディレクティブでは 'constexpr' を使用できません",
|
||||
"循環依存の関係が原因で、既定のコンストラクターの例外指定を特定できません",
|
||||
"無名共用体で %p が定義されました",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"%t に対する修飾子が無効です (ここでは派生クラスを使用できません)",
|
||||
"'always_inline' 属性は、非インライン関数では無視されます",
|
||||
"継承しているコンストラクターは、直接基底クラスから継承される必要があります",
|
||||
"%np が既に %t から継承されています",
|
||||
null,
|
||||
"ラベルが必要です",
|
||||
"'%%l' の後にオペランド番号が必要です",
|
||||
"'%%l' のオペランド番号は、有効なラベルの引数を参照していません",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"削除された関数は C++11 の機能です",
|
||||
"既定値にされた関数は C++11 の機能です",
|
||||
"ストレージ クラスは明示的特殊化では許可されません ",
|
||||
"%t はクラスまたはスコープを持つ列挙型ではありません",
|
||||
null,
|
||||
"スコープを持たない列挙型が特殊化になるには、あいまいである必要があります",
|
||||
"列挙テンプレート宣言は、クラス テンプレートの以前宣言されたメンバーを参照している必要があります",
|
||||
"ベクトル オペランドが必要です",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"ベクトル要素の型は、整数型、列挙型、または実数の浮動小数点型である必要があります",
|
||||
"128 ビットの整数がサポートされていないので、ビルトイン関数を使用できません",
|
||||
"ベクトル型がサポートされていないので、ビルトイン関数を使用できません",
|
||||
"2 つの連続した左角かっこは、属性リストを導入するためにのみ使用できます",
|
||||
"2 つの連続した左角かっこは常に属性リストを導入するために使用されますが、こちらには属性リストを表示できません",
|
||||
"認識されていない 'ターゲット' 属性は、リゾルバー ルーチンがこのルーチンを使用できないようにします",
|
||||
"%t はベクトル型ではありません",
|
||||
"ベクトル型 %t1 と %t2 の長さは同じでなければなりません",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"クラス固有の割り当て関数を呼び出す new-expression を定数評価することはできません",
|
||||
"配置 new の式を定数評価することはできません",
|
||||
"サブオブジェクト ポインターを使用して削除するには仮想デストラクターが必要です",
|
||||
"%npT (逆引数を含む)",
|
||||
"%npTd (逆引数が含まれます)",
|
||||
"__INTADDR__ のオペランドは null ポインターからのオフセットでなければなりません",
|
||||
"ジェネリック コンストラクトが複数の型と一致する(_G)",
|
||||
"もう一方の一致は %t です",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"テンプレート制約が満たされていません",
|
||||
"このスコープにコンセプトの定義を指定することはできません",
|
||||
"%nd の再宣言が無効です",
|
||||
"コンセプト ID の引数の置換に失敗しました",
|
||||
"コンセプトが false です",
|
||||
"概念 ID の引数 %Tの置換に失敗しました",
|
||||
"引数 %T の概念は false です",
|
||||
"こちらでは requires 句は許可されていません (テンプレート関数ではありません)",
|
||||
"コンセプト テンプレート",
|
||||
"requires 句は %nfd と互換性がありません",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"参照型 %t の静的でないデータ メンバーは、__builtin_bit_cast の constexpr 評価を妨げます",
|
||||
"volatile 型 %t は、__builtin_bit_cast の constexpr 評価を妨げます",
|
||||
"UNION、ポインター、またはメンバーへのポインター型 %t は、__builtin_bit_cast の constexpr 評価を妨げます",
|
||||
"%npT (宣言 %p を使用して継承)",
|
||||
"%npTd (宣言 %p を使用して継承されています)",
|
||||
"コンストラクターを継承するための %t のサブオブジェクト構築は実行できません。暗黙の既定のコンストラクターは削除されます",
|
||||
"%n は void を返す必要があります",
|
||||
"メンバー宣言の先頭が無効です",
|
||||
@@ -3321,5 +3321,35 @@
|
||||
"不完全な型 %t のメンバーへのポインターは使用できません",
|
||||
"初期化キャプチャのパック展開はこのモードでは有効ではありません",
|
||||
"初期化キャプチャのパック展開は C++20 の機能です",
|
||||
"クラス定義で既定値にされた比較演算子は、その比較演算子の最初の宣言でなければなりません (%nd)"
|
||||
"クラス定義で既定値にされた比較演算子は、その比較演算子の最初の宣言でなければなりません (%nd)",
|
||||
"初期化キャプチャのパック展開は、可変個引数テンプレートでのみ使用できます",
|
||||
"型制約は型概念ではない %nd を使用します (例: 最初のパラメーターが型パラメーターである概念テンプレート)",
|
||||
"推測されるプレースホルダーの型 %t が型制約に失敗しました",
|
||||
"%t の既定のコンストラクターは適切ではありません",
|
||||
"制約の順序が指定されていないため、%t のデストラクターがあいまいです",
|
||||
"制約が失敗したため、%t のデストラクターは適切ではありません",
|
||||
"あいまいなデストラクター候補",
|
||||
"仮想関数では後続の Requires 句は使用できません",
|
||||
"%nd は制約を満たしていません",
|
||||
"decltype 修飾子 %t の結果はクラスまたは列挙ではありません",
|
||||
"標準 C++ 20 では、パラメーターが反転した暗黙的な比較演算子が同程度に適合するため、比較はあいまいです。これは通常、比較演算子の 'const' 修飾子がない場合に発生します。%nod を参照してください",
|
||||
"無効な概念 ID",
|
||||
"Requires 句の引数 %T の置換に失敗しました",
|
||||
"%nd の制約が満たされていません",
|
||||
"constexpr 関数の変数の型 %t に仮想基底クラスが含まれています",
|
||||
"定数式では、仮想ベースのサブオブジェクト (型 %t) の割り当てを行うことはできません",
|
||||
"クラス型のテンプレート パラメーターは、構造クラス型である必要があります",
|
||||
"UTF-8 リテラルのサポートには、u リテラルのサポートが必要です。",
|
||||
"'%s' のモジュール ファイル マッピングが 2 回以上指定されました",
|
||||
"'%s' のヘッダー単位のマッピングが 2 回以上指定されました",
|
||||
"'%s' にマッピングが指定されていません",
|
||||
"'%s' のモジュール ファイル マッピングが無効です",
|
||||
"インポートするヘッダー '%s' が見つかりません",
|
||||
"モジュール ファイル リスト内の複数のファイルが '%s' と一致しています",
|
||||
"'%s' に対して見つかったモジュール ファイルは別のモジュール用です",
|
||||
"あらゆる種類のモジュール ファイル",
|
||||
"モジュール ファイルを読み取れません",
|
||||
"現在のオプションで char8_t 型がサポートされていないので、ビルトイン関数を使用できません",
|
||||
"--ms_await コマンド ライン オプションは、C++20 コルーチンが有効になっている場合は指定できません",
|
||||
"既定の集約要素の初期化における明示的なコンストラクター %nod の非標準的な使用"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"선언이 필요합니다.",
|
||||
"포인터가 내부 개체를 벗어난 범위를 가리킵니다.",
|
||||
"잘못된 형식 변환입니다.",
|
||||
"외부/내부 연결이 이전 선언과 충돌합니다.",
|
||||
"외부/내부 연결이 이전 선언 %p과(와) 충돌함",
|
||||
"부동 소수점 값이 필요한 정수 계열 형식에 맞지 않습니다.",
|
||||
"의미 없는 식입니다.",
|
||||
"첨자가 범위를 벗어났습니다.",
|
||||
@@ -420,9 +420,9 @@
|
||||
"%t에서 기본 제공 형식으로 적용되는 변환 함수가 두 개 이상입니다.",
|
||||
"상수 %n",
|
||||
"참조 %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"기본 제공 연산자 %sq",
|
||||
"%no(상속에 의해 모호함)",
|
||||
"%nod, 상속에 의해 모호함",
|
||||
"생성자 또는 소멸자가 해당 주소를 가져올 수 없습니다.",
|
||||
null,
|
||||
"비const 참조에 대한 초기 값으로 임시 사용(오래된 구문)",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"괄호로 묶인 이니셜라이저 다음에 나타나는 변수 특성은 무시됩니다.",
|
||||
"이 캐스트의 결과를 lvalue로 사용할 수 없습니다.",
|
||||
"부호 없는 고정 소수점 값의 부정",
|
||||
"이 지점에 이 연산자를 사용할 수 없습니다. 괄호를 사용하십시오.",
|
||||
null,
|
||||
null,
|
||||
"레지스터 이름은 레지스터 변수에만 사용할 수 있습니다.",
|
||||
"명명된 레지스터 변수에는 void 형식을 사용할 수 없습니다.",
|
||||
@@ -1739,7 +1739,7 @@
|
||||
"현재 함수 범위 바깥쪽에 있는 지역 변수를 캡처할 수 없습니다.",
|
||||
"바깥쪽 함수 'this'는 캡처 목록에 있지 않는 한 람다 본문에서 참조할 수 없습니다.",
|
||||
null,
|
||||
"%t1 형식의 람다 캡처 변수를 %t2 형식의 closure class 필드로 복사할 수 없습니다.",
|
||||
"%t1 형식의 람다 캡처된 변수를 %t2 형식의 closure class 필드로 복사할 수 없습니다.",
|
||||
"잘못된 템플릿 디렉터리: %s",
|
||||
"오류",
|
||||
"오류",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"#include <initializer_list>는 std::initializer_list의 사용(암시적 사용 포함) 전에 필요합니다.",
|
||||
"'inline' 키워드는 네임스페이스 별칭 선언에 사용할 수 없습니다.",
|
||||
"%n의 이전 선언이 인라인으로 선언되지 않았습니다.",
|
||||
"인라인 %n의 재선언은 인라인으로 선언되어야 합니다.",
|
||||
"%n이(가) 이전에 인라인으로 선언됨",
|
||||
"첫 번째 인수는 정수 상수여야 합니다.",
|
||||
"지정자는 비집계 형식 %t과(와) 함께 사용할 수 없습니다.",
|
||||
"익명 공용 구조체 멤버의 지정자는 익명 공용 구조체에 해당하는 중괄호 내에만 표시될 수 있습니다.",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"constexpr 생성자는 직접 기본 클래스 %t을(를) 초기화해야 합니다.",
|
||||
"기본 배열이 전체 식의 끝에서 삭제되므로 필드 이니셜라이저에서 std::initializer_list 개체 만들기가 올바르게 작동하지 않을 가능성이 있습니다.",
|
||||
"'this'는 상수 식에 사용할 수 없습니다.",
|
||||
"이 공용 구조체 형식에는 빈 이니셜라이저를 사용할 수 없습니다(초기화해야 하는 멤버가 모호함).",
|
||||
null,
|
||||
"'constexpr'은 명시적 인스턴스화 지시문에서 사용할 수 없습니다.",
|
||||
"순환 종속성으로 인해 기본 생성자의 예외 사양을 확인할 수 없습니다.",
|
||||
"익명 공용 구조체 정의 %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"%t에 대한 한정자가 잘못되었습니다(여기에는 파생 클래스를 사용할 수 없음).",
|
||||
"'always_inline' 특성이 인라인 함수가 아닌 함수에서 무시되었습니다.",
|
||||
"상속 생성자는 직접 기본 클래스에서 상속되어야 합니다.",
|
||||
"%np이(가) 이미 %t에서 상속되었습니다.",
|
||||
null,
|
||||
"레이블이 필요합니다.",
|
||||
"'%%l' 다음에는 피연산자 숫자가 필요합니다.",
|
||||
"'%%l'의 피연산자 숫자가 올바른 레이블 인수를 참조하지 않습니다.",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"삭제된 함수는 C++11 기능입니다.",
|
||||
"기본값으로 설정된 함수는 C++11 기능입니다.",
|
||||
"스토리지 클래스는 명시적 특수화에 사용할 수 없습니다.",
|
||||
"%t은(는) 클래스 또는 범위가 지정된 열거형이 아닙니다.",
|
||||
null,
|
||||
"특수화하려면 범위가 지정되지 않은 열거형이 불투명해야 합니다.",
|
||||
"열거형 템플릿 선언은 이전에 선언된 클래스 템플릿의 멤버를 참조해야 합니다.",
|
||||
"벡터 피연산자가 필요합니다.",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"벡터 요소 형식은 정수, 열거형 또는 실수 부동 소수점 형식이어야 합니다.",
|
||||
"128비트 정수가 지원되지 않으므로 기본 제공 함수를 사용할 수 없습니다.",
|
||||
"벡터 형식이 지원되지 않으므로 기본 제공 함수를 사용할 수 없습니다.",
|
||||
"연속하는 두 개의 왼쪽 대괄호에는 특성 목록만 넣을 수 있습니다.",
|
||||
"연속하는 두 개의 왼쪽 대괄호에는 항상 특성 목록이 들어가지만 특성 목록을 여기에 표시할 수 없음",
|
||||
"인식할 수 없는 '대상' 특성은 확인자 루틴에서 사용하지 못하도록 이 루틴의 자격을 취소합니다.",
|
||||
"%t은(는) 벡터 형식이 아닙니다.",
|
||||
"벡터 형식 %t1 및 %t2의 길이가 같아야 합니다.",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"클래스 관련 할당 함수를 호출하는 new-expression은 상수로 계산할 수 없습니다.",
|
||||
"배치 new-expression은 상수를 계산할 수 없습니다.",
|
||||
"하위 개체 포인터를 통해 삭제하려면 가상 소멸자가 필요합니다.",
|
||||
"%npT(역 인수 포함)",
|
||||
"%npTd, 역 인수 포함",
|
||||
"__INTADDR__의 피연산자는 Null 포인터에서 오프셋되어야 합니다.",
|
||||
"_Generic 구문이 여러 형식과 일치합니다.",
|
||||
"다른 일치 항목은 %t입니다.",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"템플릿 제약 조건이 충족되지 않습니다.",
|
||||
"이 범위에는 개념 정의가 표시될 수 없습니다.",
|
||||
"%nd의 재선언이 잘못되었습니다.",
|
||||
"개념 ID의 인수를 대체하지 못했습니다.",
|
||||
"개념이 false입니다.",
|
||||
"개념 ID의 %T 인수를 대체하지 못했습니다.",
|
||||
"%T 인수의 개념이 false입니다.",
|
||||
"requires 절은 여기에서 허용되지 않습니다(템플릿 기반 함수가 아님).",
|
||||
"개념 템플릿",
|
||||
"requires 절이 %nfd과(와) 호환되지 않습니다.",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"참조 형식 %t의 비정적 데이터 멤버는 __builtin_bit_cast의 constexpr 평가를 차단합니다.",
|
||||
"volatile 형식 %t은(는) __builtin_bit_cast의 constexpr 평가를 차단합니다.",
|
||||
"공용 구조체, 포인터 또는 멤버 포인터 형식 %t은(는) __builtin_bit_cast의 constexpr 평가를 차단합니다.",
|
||||
"%npT(%p decl을 통해 상속됨)",
|
||||
"%npTd, decl %p 사용을 통해 상속됨",
|
||||
"생성자를 상속하기 위해 %t의 하위 개체를 생성할 수 없습니다. 암시적 기본 생성자가 삭제됩니다.",
|
||||
"%n은(는) void를 반환해야 합니다.",
|
||||
"잘못된 멤버 선언 시작",
|
||||
@@ -3315,11 +3315,41 @@
|
||||
"'constinit'는 여기에 유효하지 않습니다.",
|
||||
"'constinit'는 정적 또는 스레드 저장 기간을 사용하는 변수 선언에만 유효합니다.",
|
||||
"constinit 변수에는 동적 초기화가 필요합니다.",
|
||||
"변수가 이전에 'constinit' %p(으)로 선언되었습니다.",
|
||||
"변수가 이전에 'constinit'(%p)로 선언되었습니다.",
|
||||
"프로토타입 함수가 아닌 함수 선언자를 사용합니다.",
|
||||
"인수에는 const 한정 형식을 사용할 수 없습니다.",
|
||||
"불완전한 형식 %t의 멤버 포인터는 사용할 수 없습니다.",
|
||||
"init-capture의 팩 확장은 이 모드에서 사용할 수 없습니다.",
|
||||
"init-capture의 팩 확장은 C++20 기능입니다.",
|
||||
"클래스 정의의 기본 비교 연산자는 해당 비교 연산자(%nd)의 첫 번째 선언이어야 합니다."
|
||||
"클래스 정의의 기본 비교 연산자는 해당 비교 연산자(%nd)의 첫 번째 선언이어야 합니다.",
|
||||
"init-capture의 팩 확장은 가변 인자 템플릿에서만 사용할 수 있습니다.",
|
||||
"형식 제약 조건이 형식 개념(즉, 첫 번째 매개 변수가 형식 매개 변수인 개념 템플릿)이 아닌 %nd를 사용합니다.",
|
||||
"추론된 자리 표시자 형식 %t이(가) 형식 제약 조건에 실패했습니다.",
|
||||
"%t의 기본 생성자가 적합하지 않습니다.",
|
||||
"순서가 지정되지 않은 제약 조건으로 인해 %t의 소멸자가 모호합니다.",
|
||||
"실패한 제약 조건으로 인해 %t의 소멸자가 부적합합니다.",
|
||||
"모호한 소멸자 후보",
|
||||
"가상 함수에는 후행 requires 절을 사용할 수 없습니다.",
|
||||
"%nd이(가) 해당 제약 조건을 충족하지 않습니다.",
|
||||
"decltype 한정자 %t의 결과가 클래스 또는 열거형이 아닙니다.",
|
||||
"역 매개 변수를 사용하는 암시적 비교 연산자는 동일하게 적절한 일치 항목이므로 표준 C++20에서 비교는 모호합니다. 이 문제는 일반적으로 비교 연산자에 'const' 한정자가 없어서 발생합니다. %nod를 참조하세요.",
|
||||
"잘못된 개념 ID",
|
||||
"requires 절의 %T 인수를 대체하지 못했습니다.",
|
||||
"%nd에 대한 제약 조건을 충족하지 않습니다.",
|
||||
"constexpr 함수의 변수 형식 %t에는 가상 기본 클래스가 있습니다.",
|
||||
"상수 식은 가상 기본 하위 개체(%t 형식)를 할당할 수 없습니다.",
|
||||
"클래스 형식의 템플릿 매개 변수는 구조적 클래스 형식이어야 합니다.",
|
||||
"UTF-8 리터럴에 대한 지원에는 u-리터럴 지원이 필요합니다.",
|
||||
"'%s'에 대한 모듈 파일 매핑이 두 번 이상 지정되었습니다.",
|
||||
"'%s'에 대한 헤더 단위 매핑이 두 번 이상 지정되었습니다.",
|
||||
"'%s'에 대한 매핑이 지정되지 않았습니다.",
|
||||
"'%s'에 대한 모듈 파일 매핑이 잘못되었습니다.",
|
||||
"가져올 '%s' 헤더를 찾을 수 없습니다.",
|
||||
"모듈 파일 목록에 있는 두 개 이상의 파일이 '%s'과(와) 일치합니다.",
|
||||
"'%s'에 대해 찾은 모듈 파일이 다른 모듈에 대한 것입니다.",
|
||||
"모든 종류의 모듈 파일",
|
||||
"모듈 파일을 읽을 수 없음",
|
||||
"char8_t 형식이 현재 옵션에서 지원되지 않기 때문에 기본 제공 함수를 사용할 수 없습니다.",
|
||||
"C++20 코루틴을 사용하도록 설정한 경우 --ms_await 명령줄 옵션을 지정할 수 없습니다.",
|
||||
"기본 집계 요소 초기화에 명시적 생성자 %nod의 비표준 사용"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"oczekiwano deklaracji",
|
||||
"wskaźnik wskazuje poza obiekt podstawowy",
|
||||
"nieprawidłowa konwersja typu",
|
||||
"konflikt zewnętrznego/wewnętrznego wiązania z poprzednią deklaracją",
|
||||
"konflikt zewnętrznego/wewnętrznego wiązania z poprzednią deklaracją %p",
|
||||
"wartość zmiennoprzecinkowa nie mieści się w wymaganym typie całkowitym",
|
||||
"wyrażenie nie ma żadnego efektu",
|
||||
"indeks poza zakresem",
|
||||
@@ -352,8 +352,8 @@
|
||||
"więcej niż jeden operator %sq pasuje do tych argumentów operacji:",
|
||||
"pierwszy parametr funkcji alokacji musi mieć typ „size_t”",
|
||||
"funkcja alokacji musi zwracać typ „void *”",
|
||||
"funkcja dezalokacji musi zwracać typ „void”",
|
||||
"pierwszy parametr funkcji dezalokacji musi mieć typ „void *”",
|
||||
"funkcja cofania alokacji musi zwracać typ „void”",
|
||||
"pierwszy parametr funkcji cofania alokacji musi mieć typ „void *”",
|
||||
null,
|
||||
"typ musi być typem obiektu",
|
||||
"klasa bazowa %t jest już zainicjowana",
|
||||
@@ -420,9 +420,9 @@
|
||||
"więcej niż jedna funkcja konwersji umożliwia konwertowanie elementu %t na typ wbudowany:",
|
||||
"wartość stała %n",
|
||||
"odwołanie do %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"wbudowany operator %sq",
|
||||
"%no (niejednoznaczne dziedziczenie)",
|
||||
"%nod, niejednoznaczność przez dziedziczenie",
|
||||
"nie można pobrać adresu konstruktora lub destruktora",
|
||||
null,
|
||||
"użyto wartości tymczasowej jako wartości początkowej odwołania do elementu niebędącego stałą (anachronizm)",
|
||||
@@ -732,7 +732,7 @@
|
||||
"%n to nie jest szablon klasy",
|
||||
"tablica z niekompletnym typem elementu jest niestandardowa",
|
||||
"operatora alokacji nie można zadeklarować w przestrzeni nazw",
|
||||
"operatora dezalokacji nie można zadeklarować w przestrzeni nazw",
|
||||
"operatora cofania alokacji nie można zadeklarować w przestrzeni nazw",
|
||||
"wystąpił konflikt elementu %np1 z deklaracją using elementu %np2",
|
||||
"wystąpił konflikt elementu %np1 używającego deklaracji using z elementem %npd2",
|
||||
"opcji przestrzeni nazw można użyć tylko w przypadku kompilowania kodu C++",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"atrybuty zmiennej pojawiające się po inicjatorze w nawiasach są ignorowane",
|
||||
"wynik tego rzutowania nie może być używany jako l-wartość",
|
||||
"negacja wartości stałoprzecinkowej bez znaku",
|
||||
"ten operator jest niedozwolony w tym miejscu. Użyj nawiasów.",
|
||||
null,
|
||||
null,
|
||||
"nazwy rejestru mogą być używane tylko dla zmiennych rejestru",
|
||||
"zmienne nazwanego rejestru nie mogą mieć typu void",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"dyrektywa #include <lista_inicjatorów> jest potrzebna przed użyciem obiektu std::initializer_list, z uwzględnieniem użycia niejawnego",
|
||||
"nie można użyć słowa kluczowego „inline” w deklaracji aliasu przestrzeni nazw",
|
||||
"poprzednia deklaracja elementu %n nie była zadeklarowana śródwierszowo",
|
||||
"ponowna deklaracja wbudowanego elementu %n musi być zadeklarowana śródwierszowo",
|
||||
"Element %n był wcześniej zadeklarowany śródwierszowo",
|
||||
"pierwszy argument musi być całkowitą wartością stałą",
|
||||
"desygnator nie może być używany z niezagregowanym typem %t",
|
||||
"desygnator dla anonimowej składowej unii może występować tylko w nawiasach klamrowych odpowiadających tej anonimowej unii",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"konstruktor constexpr musi inicjować bezpośrednią klasę bazową %t",
|
||||
"tworzenie obiektu std::initializer_list w inicjatorze pola prawdopodobnie nie będzie działać zgodnie z oczekiwaniami, ponieważ tablica bazowa zostanie zniszczona na koniec pełnego wyrażenia",
|
||||
"słowo kluczowe „this” nie może być używane w wyrażeniu stałej",
|
||||
"pusty inicjator nie jest prawidłowy dla tego typu unii (to, która składowa powinna być inicjowana, jest niejednoznaczne)",
|
||||
null,
|
||||
"słowo kluczowe „constexpr” nie jest dozwolone dla jawnej dyrektywy tworzenia wystąpienia",
|
||||
"nie można ustalić specyfikacji wyjątku konstruktora domyślnego z powodu zależności cyklicznej",
|
||||
"element %p zdefiniowany przez unię anonimową",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"nieprawidłowy kwalifikator dla elementu %t (klasa pochodna jest w tym miejscu niedozwolona)",
|
||||
"atrybut „always_inline” jest ignorowany w przypadku funkcji innych niż inline",
|
||||
"konstruktory dziedziczące muszą być dziedziczone po bezpośredniej klasie bazowej",
|
||||
"element %np dziedziczył już po elemencie %t",
|
||||
null,
|
||||
"oczekiwano etykiety",
|
||||
"oczekiwano numeru argumentu operacji za „%%l”",
|
||||
"liczba argumentu operacji dla elementu „%%l” nie odwołuje się do prawidłowego argumentu etykiety",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"funkcje usunięte są funkcją języka C++11",
|
||||
"funkcje domyślne są funkcją języka C++11",
|
||||
"klasa magazynu nie jest dozwolona w jawnej specjalizacji",
|
||||
"element %t nie jest klasą ani wyliczeniem z zakresem",
|
||||
null,
|
||||
"wyliczenie bez zakresu musi być nieprzezroczyste, aby było specjalizowane",
|
||||
"deklaracja szablonu wyliczenia musi odwoływać się do wcześniej zadeklarowanej składowej szablonu klasy",
|
||||
"oczekiwano wektora jako argumentu operacji",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"typ elementu wektora musi być typem integralnym, wyliczeniem lub rzeczywistą liczbą zmiennoprzecinkową",
|
||||
"wbudowana funkcja jest niedostępna, ponieważ 128-bitowe liczby całkowite nie są obsługiwane",
|
||||
"wbudowana funkcja jest niedostępna, ponieważ typy wektorów nie są obsługiwane",
|
||||
"dwa kolejne lewe nawiasy kwadratowe mogą wprowadzać tylko listę atrybutów",
|
||||
"dwa kolejne lewe nawiasy kwadratowe zawsze wprowadzają listę atrybutów, ale lista atrybutów nie może znajdować się w tym miejscu",
|
||||
"nierozpoznany atrybut „target” dyskwalifikuje tę procedurę z użycia przez procedurę programu rozpoznawania nazw",
|
||||
"%t nie jest typem wektora",
|
||||
"typy wektorów %t1 i %t2 muszą mieć tę samą długość",
|
||||
@@ -3190,10 +3190,10 @@
|
||||
"nie znaleziono statycznego elementu członkowskiego danych constexpr %sq w %t",
|
||||
"liczba elementów (%d) jest zbyt duża na potrzeby dynamicznej alokacji",
|
||||
"żądanie dynamicznej alokacji wyrażenia constexpr jest zbyt duże",
|
||||
"cofnięcie przydziału magazynu, który nie został dynamicznie przydzielony",
|
||||
"rozmiar dezalokacji (%d1) nie odpowiada przydzielonemu rozmiarowi (%d2)",
|
||||
"cofnięcie alokacji magazynu, który nie został dynamicznie przydzielony",
|
||||
"rozmiar cofania alokacji (%d1) nie odpowiada przydzielonemu rozmiarowi (%d2)",
|
||||
"tutaj wystąpił przydział",
|
||||
"typ dezalokacji (%t1) nie jest zgodny z typem alokacji (%t2)",
|
||||
"typ cofania alokacji (%t1) nie jest zgodny z typem alokacji (%t2)",
|
||||
"nie cofnięto przydziału niektórych dynamicznych alokacji (łączna liczba: %d)",
|
||||
"wewnętrzny element %n zadeklarowany z nieoczekiwanym podpisem (typ %t)",
|
||||
">> dane wyjściowe z elementu std::__report_constexpr_value",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"wyrażenie new-expression wywołujące funkcję alokacji specyficzną dla klasy nie może być obliczane jako stała",
|
||||
"wyrażenie new umieszczania nie może dawać wartości stałej",
|
||||
"usuwanie za pomocą wskaźnika podobiektu wymaga destruktora wirtualnego",
|
||||
"%npT (z odwróconymi argumentami)",
|
||||
"%npTd, z odwróconymi argumentami",
|
||||
"argument operacji __INTADDR__ musi być odsunięty od wskaźnika o wartości null",
|
||||
"Konstrukcja _Generic dopasowuje wiele typów",
|
||||
"inne dopasowanie jest %t",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"ograniczenie szablonu nie zostało spełnione",
|
||||
"definicja koncepcji nie może znajdować się w tym zakresie",
|
||||
"nieprawidłowa ponowna deklaracja elementu %nd",
|
||||
"podstawianie argumentów za identyfikator concept-id nie powiodło się",
|
||||
"koncepcja ma wartość false",
|
||||
"podstawianie argumentów %T dla identyfikatora koncepcji nie powiodło się",
|
||||
"koncepcja jest fałszywa dla argumentów %T",
|
||||
"klauzula requires nie jest dozwolona w tym miejscu (nie jest to funkcja z szablonem)",
|
||||
"szablon koncepcji",
|
||||
"klauzula requires jest niezgodna z elementem %nfd",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"niestatyczna składowa danych typu referencyjnego %t uniemożliwia ocenę wyrażenia constexpr dla elementu __builtin_bit_cast",
|
||||
"typ nietrwały %t uniemożliwia ocenę wyrażenia constexpr dla elementu __builtin_bit_cast",
|
||||
"typ unii, wskaźnika lub wskaźnika do składowej %t uniemożliwia ocenę wyrażenia constexpr dla elementu __builtin_bit_cast",
|
||||
"%npT (odziedziczone za pomocą deklaracji %p)",
|
||||
"%npTd, odziedziczone za pomocą deklaracji %p",
|
||||
"nie można wykonać konstrukcji podobiektu %t na potrzeby dziedziczenia konstruktorów — niejawny konstruktor domyślny został usunięty",
|
||||
"Element %n musi zwracać wartość void",
|
||||
"nieprawidłowy początek deklaracji członkowskiej",
|
||||
@@ -3321,5 +3321,35 @@
|
||||
"wskaźnik do składowej niepełnego typu %t jest niedozwolony",
|
||||
"rozszerzenie pakietu w funkcji init-capture nie jest włączone w tym trybie",
|
||||
"rozszerzenie pakietu w funkcji init-capture to funkcja języka C++20",
|
||||
"operator porównania przyjęty domyślnie w definicji klasy musi być pierwszą deklaracją tego operatora porównania (%nd)"
|
||||
"operator porównania przyjęty domyślnie w definicji klasy musi być pierwszą deklaracją tego operatora porównania (%nd)",
|
||||
"rozszerzenie pakietu w elemencie init-capture może być używane tylko w szablonie wariadycznym",
|
||||
"ograniczenie typu używa elementu %nd, który nie jest koncepcją typu (tj. szablonem koncepcji, którego pierwszym parametrem jest parametr typu)",
|
||||
"wywnioskowany typ symbolu zastępczego %t nie spełniał ograniczenia typu",
|
||||
"domyślny konstruktor dla elementu %t nie kwalifikuje się",
|
||||
"destruktor dla %t jest niejednoznaczny z powodu nieuporządkowanych ograniczeń",
|
||||
"destruktor %t dla nie kwalifikuje się z powodu niepowodzenia ograniczeń",
|
||||
"niejednoznaczny kandydat destruktora",
|
||||
"funkcja wirtualna nie może mieć końcowej klauzuli requires",
|
||||
"%nd nie spełnia swoich ograniczeń",
|
||||
"wynik %t kwalifikatora decltype nie jest klasą ani wyliczeniem",
|
||||
"porównanie jest niejednoznaczne w standardowym języku C++20, ponieważ implikowany operator porównania z odwróconymi parametrami jest równie dobrym dopasowaniem — jest to zwykle spowodowane brakującym kwalifikatorem „const” w operatorze porównania; zobacz %nod",
|
||||
"nieprawidłowy identyfikator koncepcji",
|
||||
"podstawianie argumentów %T dla klauzuli requires nie powiodło się",
|
||||
"ograniczenia dla %nd nie są spełnione",
|
||||
"typ zmiennej %t w funkcji constexpr ma wirtualne klasy podstawowe",
|
||||
"wyrażenie stałe nie może przydzielić wirtualnego podobiektu podstawowego (dla typu %t)",
|
||||
"parametr szablonu typu klasy musi być typu klasy strukturalnej",
|
||||
"obsługa literałów UTF-8 wymaga obsługi literału z prefiksem u.",
|
||||
"mapowanie pliku modułu dla elementu „%s” zostało określone więcej niż raz",
|
||||
"mapowanie jednostki nagłówka dla elementu „%s” zostało określone więcej niż raz",
|
||||
"nie określono mapowania dla elementu „%s”",
|
||||
"mapowanie pliku modułu dla elementu „%s” jest nieprawidłowe",
|
||||
"nie można odnaleźć nagłówka „%s” do zaimportowania",
|
||||
"więcej niż jeden plik na liście plików modułu pasuje do elementu „%s”",
|
||||
"plik modułu znaleziony dla elementu „%s” jest dla innego modułu",
|
||||
"dowolny rodzaj pliku modułu",
|
||||
"nie można odczytać pliku modułu",
|
||||
"wbudowana funkcja jest niedostępna, ponieważ typ char8_t nie jest obsługiwany z bieżącymi opcjami",
|
||||
"nie można określić opcji wiersza polecenia --ms_await, jeśli włączono koprocedury języka C++20",
|
||||
"niestandardowe użycie konstruktora jawnego %nod dla domyślnej inicjalizacji elementu agregacji"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"esperado uma declaração",
|
||||
"ponteiro aponta para fora do objeto considerado",
|
||||
"conversão de tipo inválida",
|
||||
"conflito de vínculo interno/externo com declaração anterior",
|
||||
"conflito de vínculo interno/externo com a declaração anterior %p",
|
||||
"valor de ponto flutuante não cabe no tipo integral requerido",
|
||||
"a expressão não possui efeito",
|
||||
"subscrito fora do intervalo",
|
||||
@@ -420,9 +420,9 @@
|
||||
"é possível aplicar mais de uma função de conversão de %t para um tipo embutido:",
|
||||
"constante %n",
|
||||
"referência %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"operador embutido %sq",
|
||||
"%no (ambíguo por herança)",
|
||||
"%nod, ambíguo por herança",
|
||||
"um construtor or destrutor pode não ter seu endereço capturado",
|
||||
null,
|
||||
"variável temporária utilizada para valor inicial de referência de uma não constante (anacronismo)",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"os atributos variáveis que são exibidos depois de um inicializador entre parênteses são ignorados",
|
||||
"o resultado dessa conversão não pode ser usado como um lvalue",
|
||||
"negação de um valor de ponto fixo não atribuído",
|
||||
"esse operador não é permitido nesse ponto; use parênteses",
|
||||
null,
|
||||
null,
|
||||
"os nomes de registro somente podem ser usados para variáveis de registro",
|
||||
"as variáveis de registro nomeado não pode ter tipo void",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"um #include <lista_de_inicializadores> é necessário antes do uso de um std::initializer_list, incluindo um uso implícito",
|
||||
"a palavra-chave 'inline' não pode ser usada na declaração de um alias de namespace",
|
||||
"a declaração anterior de %n não foi declarada em linha",
|
||||
"a redeclaração de inline %n deve ser declarada em linha",
|
||||
"O %n foi declarado embutido anteriormente",
|
||||
"o primeiro argumento deve ser uma constante inteira",
|
||||
"um designador não pode ser usado com um tipo de não agregação %t",
|
||||
"um designador para um membro de união anônima só pode aparecer entre chaves correspondentes àquela união anônima",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"o construtor constexpr deve inicializar a classe base direta %t",
|
||||
"é improvável que a criação de um objeto std::initializer_list em um inicializador de campo funcione como esperado porque a matriz subjacente será destruída ao final da expressão completa",
|
||||
"'this' não pode ser usado em uma expressão constante",
|
||||
"um inicializador vazio não é válido para este tipo de união (qual membro deve ser inicializado fica ambíguo)",
|
||||
null,
|
||||
"'constexpr' não é permitido em uma diretiva explícita de instanciação",
|
||||
"não é possível determinar a especificação de exceção do construtor padrão devido a uma dependência circular",
|
||||
"%p definido por união anônima",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"qualificador inválido para %t (uma classe derivada não é permitida aqui)",
|
||||
"o atributo 'always_inline' é ignorado em funções não embutidas",
|
||||
"construtores de herança devem ser herdados de uma classe base direta",
|
||||
"%np já herdado de %t",
|
||||
null,
|
||||
"espera-se um rótulo",
|
||||
"espera-se um número de operando depois de '%%l'",
|
||||
"o número de operando para '%%l' não se refere a um argumento de rótulo válido",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"funções excluídas são um recurso do C++11",
|
||||
"funções padrão são um recurso do C++11",
|
||||
"uma classe de armazenamento não é permitida em uma especialização explícita",
|
||||
"%t não é uma classe ou enumeração com escopo",
|
||||
null,
|
||||
"uma enumeração sem escopo definido deve ser opaco para ser especializada",
|
||||
"uma declaração de modelo enumeração deve fazer referência a um membro anteriormente declarado de um modelo de classe",
|
||||
"espera-se um operando de vetor",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"o tipo de elemento do vetor deve ser integral, de enumeração ou do tipo de ponto flutuante real",
|
||||
"a função interna não está disponível porque não há suporte para 128 bits inteiros",
|
||||
"a função interna não está disponível porque não há suporte para os tipos de vetores",
|
||||
"dois colchetes à esquerda e consecutivos só podem apresentar uma lista de atributos",
|
||||
"dois colchetes à esquerda consecutivos sempre introduzem uma lista de atributos, mas uma lista de atributos não pode aparecer aqui",
|
||||
"o atributo 'de destino' não reconhecido desqualifica essa rotina de ser usada pela rotina do resolvedor",
|
||||
"%t não é um tipo de vetor",
|
||||
"os tipos de vetor %t1 e %t2 devem ter o mesmo comprimento",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"uma nova expressão que chama uma função de alocação específica da classe não pode ser avaliada como constante",
|
||||
"uma nova expressão de posicionamento não pode ser avaliada como constante",
|
||||
"excluir por meio de um ponteiro de subobjeto exige um destruidor virtual",
|
||||
"%npT (com argumentos invertidos)",
|
||||
"%npTd, com argumentos revertidos",
|
||||
"o operando de __INTADDR__ precisa ser deslocado do ponteiro nulo",
|
||||
"O constructo _genérico corresponde a vários tipos",
|
||||
"a outra correspondência é %t",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"restrição de modelo não satisfeita",
|
||||
"a definição do conceito não pode aparecer neste escopo",
|
||||
"redeclaração inválida de %nd",
|
||||
"falha na substituição de argumentos para o conceito de ID",
|
||||
"o conceito é false",
|
||||
"falha na substituição de argumentos %T da ID do conceito",
|
||||
"o conceito é falso para argumentos %T",
|
||||
"uma cláusula requires não é permitida aqui (não é uma função de modelo)",
|
||||
"modelo de conceito",
|
||||
"cláusula requires incompatível com %nfd",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"o membro de dados não estático do tipo de referência %t impede a avaliação constexpr de __builtin_bit_cast",
|
||||
"um tipo volátil %t impede a avaliação constexpr de __builtin_bit_cast",
|
||||
"um tipo de união, ponteiro ou ponteiro para membro %t impede a avaliação constexpr de __builtin_bit_cast",
|
||||
"%npT (herdado pelo uso de decl %p)",
|
||||
"%npTd, herdado por meio do uso de decl %p",
|
||||
"a construção de subobjeto de %t para construtores herdados não pode ser executada. O construtor padrão implícito foi excluído",
|
||||
"%n precisa retornar nulo",
|
||||
"declaração de início de membro inválida",
|
||||
@@ -3321,5 +3321,35 @@
|
||||
"um ponteiro para membro de um tipo incompleto %t não é permitido",
|
||||
"a expansão de pacote em init-capture não está habilitada neste modo",
|
||||
"a expansão de pacote em init-capture é um recurso do C++20",
|
||||
"um operador de comparação usado como padrão em uma definição de classe precisa ser a primeira declaração desse operador de comparação (%nd)"
|
||||
"um operador de comparação usado como padrão em uma definição de classe precisa ser a primeira declaração desse operador de comparação (%nd)",
|
||||
"uma expansão de pacote em um init-capture pode ser usada somente em um modelo variádico",
|
||||
"a restrição de tipo usa %nd, que não é um conceito de tipo (ou seja, um modelo de conceito cujo primeiro parâmetro é um parâmetro de tipo)",
|
||||
"falha do tipo de espaço reservado deduzido %t na restrição de tipo",
|
||||
"o construtor padrão de %t não é qualificado",
|
||||
"o destruidor de %t é ambíguo devido a restrições não ordenadas",
|
||||
"o destruidor de %t é inelegível devido a falhas de restrições",
|
||||
"candidato a destruidor ambíguo",
|
||||
"uma função virtual não pode ter uma cláusula requires à direita",
|
||||
"%nd não satisfaz as respectivas restrições",
|
||||
"o resultado do qualificador decltype %t não é uma classe nem uma enumeração",
|
||||
"a comparação é ambígua no padrão de C++20 porque o operador de comparação implícito com parâmetros invertidos é uma correspondência igualmente boa. Isso geralmente é causado por um qualificador 'const' ausente no operador de comparação. Confira %nod",
|
||||
"ID do conceito inválida",
|
||||
"falha na substituição de argumentos %T da cláusula requires",
|
||||
"as restrições de %nd não estão satisfeitas",
|
||||
"o tipo de variável %t na função constexpr tem classes base virtuais",
|
||||
"uma expressão de constante não pode alocar um subobjeto base virtual (para o tipo %t)",
|
||||
"um parâmetro de modelo de tipo de classe precisa ser do tipo de classe estrutural",
|
||||
"o suporte para literais UTF-8 exige o suporte para o literal u.",
|
||||
"o mapeamento de arquivo de módulo de '%s' foi especificado mais de uma vez",
|
||||
"o mapeamento de unidade de cabeçalho de '%s' foi especificado mais de uma vez",
|
||||
"não foi especificado nenhum mapeamento para '%s'",
|
||||
"o mapeamento de arquivo de módulo de '%s' é inválido",
|
||||
"não é possível localizar o cabeçalho '%s' a ser importado",
|
||||
"mais de um arquivo na lista de arquivos de módulo corresponde a '%s'",
|
||||
"o arquivo de módulo encontrado para '%s' é de um módulo diferente",
|
||||
"qualquer tipo de arquivo de módulo",
|
||||
"não é possível ler o arquivo de módulo",
|
||||
"a função interna não está disponível porque não há suporte para o tipo char8_t com as opções atuais",
|
||||
"a opção da linha de comando --ms_await não poderá ser especificada se as corrotinas do C++20 estiverem habilitadas",
|
||||
"o uso não padrão do construtor explícito %nod para inicialização do elemento de agregação padrão"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"требуется объявление",
|
||||
"указатель указывает на элемент вне базового объекта",
|
||||
"недопустимое преобразование типа",
|
||||
"внешнее или внутреннее связывание конфликтует с предыдущим объявлением",
|
||||
"конфликт внешнего или внутреннего связывания с предыдущим объявлением %p",
|
||||
"значение с плавающей запятой не помещается в необходимом целом типе",
|
||||
"выражение не имеет силы",
|
||||
"индекс вне диапазона",
|
||||
@@ -352,8 +352,8 @@
|
||||
"существует несколько операторов %sq, соответствующих этим операндам:",
|
||||
"первый параметр функции выделения должен иметь тип \"size_t\"",
|
||||
"функции выделения требуется тип возвращаемого значения \"void *\"",
|
||||
"функции изъятия требуется тип возвращаемого значения \"void\"",
|
||||
"первый параметр функции изъятия должен иметь тип \"void *\"",
|
||||
"функции освобождения требуется тип возвращаемого значения \"void\"",
|
||||
"первый параметр функции освобождения должен иметь тип \"void *\"",
|
||||
null,
|
||||
"необходимо использовать тип объекта",
|
||||
"базовый класс %t инициализирован",
|
||||
@@ -420,9 +420,9 @@
|
||||
"применяется несколько функций преобразования из %t во встроенный тип:",
|
||||
"константа %n",
|
||||
"ссылка %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"встроенный оператор %sq",
|
||||
"%no (неоднозначное наследование)",
|
||||
"%nod, неоднозначный по наследованию",
|
||||
"получение адреса конструктора или деструктора не допускается",
|
||||
null,
|
||||
"временно используется в качестве начального значения для ссылки на неконстантный параметр (устаревший элемент)",
|
||||
@@ -732,7 +732,7 @@
|
||||
"%n не является шаблоном класса",
|
||||
"нестандартный массив с неполным типом элементов",
|
||||
"оператор выделения нельзя объявить в пространстве имен",
|
||||
"оператор изъятия нельзя объявить в пространстве имен",
|
||||
"оператор освобождения нельзя объявить в пространстве имен",
|
||||
"%np1 конфликтует с объявлением using для %np2",
|
||||
"объявление using для %np1 конфликтует с %npd2",
|
||||
"параметр namespaces можно использовать только при компиляции C++",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"атрибуты переменной, появляющиеся после инициализатора в круглых скобках, пропущены",
|
||||
"результат этого приведения не может использоваться в качестве левостороннего значения",
|
||||
"отрицание значения с фиксированной запятой без знака",
|
||||
"использование данного оператора в этом месте не допускается; используйте круглые скобки",
|
||||
null,
|
||||
null,
|
||||
"имена регистра можно использовать только для регистровых переменных",
|
||||
"переменные named-register не могут иметь тип void",
|
||||
@@ -1739,7 +1739,7 @@
|
||||
"локальная переменная вне текущей функции не может быть записана",
|
||||
"на вложенную функцию \"this\" нельзя ссылаться внутри тела лямбды, если она не находится в списке записей",
|
||||
null,
|
||||
"записанная лямбдой переменная типа %t1 не может быть скопирована в поле показатели класса типа %t2",
|
||||
"зафиксированная лямбдой переменная типа %t1 не может быть скопирована в поле показатели класса типа %t2",
|
||||
"недопустимый каталог шаблона: %s",
|
||||
"ошибка",
|
||||
"ошибки",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"параметр #include <список_инициализатора> необходимо использовать перед std::initializer_list, включая неявное использование",
|
||||
"невозможно использовать ключевое слово inline в объявлении псевдонима пространства имен",
|
||||
"предыдущее объявление %n не было выполнено в строке",
|
||||
"повторное объявление встроенного параметра %n должно выполняться в строке",
|
||||
"%n ранее был объявлен как встроенный",
|
||||
"первым аргументом должна являться целочисленная константа",
|
||||
"Указатель не может использоваться с неагрегатным типом %t.",
|
||||
"Указатель элемента анонимного объединения может быть только в фигурных скобках, соответствующих этому анонимному объединению.",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"конструктор constexpr должен инициализировать прямой базовый класс %t",
|
||||
"создание объекта std::initializer_list в инициализаторе полей, вероятно, не будет работать, как ожидается, потому что базовый массив будет разрушен в конце полного выражения",
|
||||
"выражение \"this\" не может использоваться в константном выражении",
|
||||
"пустой инициализатор для этого типа объединения не допускается (непонятно, какой из членов должен инициализироваться)",
|
||||
null,
|
||||
"\"constexpr\" не допускается в директиве явного создания экземпляра",
|
||||
"не удается определить спецификацию исключения конструктора по умолчанию из-за кольцевой зависимости",
|
||||
"определенный анонимным объединением %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"недопустимый квалификатор для %t (использование производного класса не допускается)",
|
||||
"атрибут always_inline пропускается в функциях, не являющихся встраиваемыми",
|
||||
"наследуемые конструкторы должны наследоваться от прямого базового класса",
|
||||
"%np уже наследуется от %t",
|
||||
null,
|
||||
"ожидается метка",
|
||||
"после \"%%l\" ожидается номер операнда",
|
||||
"номер операнда для \"%%l\" не указывает на допустимый аргумент метки",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"удаленные функции — это функция C++ 11",
|
||||
"функции по умолчанию — это функция C++ 11",
|
||||
"класс хранения недопустим в явной специализации",
|
||||
"%t не является классом или ограниченным перечислением.",
|
||||
null,
|
||||
"чтобы быть специализированным, неограниченное перечисление должно быть непрозрачным",
|
||||
"объявление шаблона перечисления должно ссылаться на ранее объявленный член шаблона класса",
|
||||
"требуется векторный операнд",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"тип элемента вектора должен быть целым числом, перечислением или действительным числом с плавающей запятой",
|
||||
"встроенная функция недоступна, так как 128-разрядные целые числа не поддерживаются",
|
||||
"встроенная функция недоступна, так как векторные типы не поддерживаются",
|
||||
"две левые квадратные скобки подряд могут представлять только список атрибутов",
|
||||
"две последовательных левых квадратных скобки всегда вводят список атрибутов, но список атрибутов не может быть указан здесь",
|
||||
"нераспознанный атрибут target блокирует использование этой процедуры процедурой сопоставителя",
|
||||
"%t не является векторным типом",
|
||||
"векторные типы %t1 и %t2 должны иметь одинаковую длину",
|
||||
@@ -3176,7 +3176,7 @@
|
||||
"\"return_void\" было объявлено как %p",
|
||||
"Отсутствует оператор co_return, хотя %t не содержит \"return_void\" в конце %n.",
|
||||
"Для распределения состояния сопрограммы не обнаружено ни одного nothrow-варианта глобального \"operator new\".",
|
||||
"Для отмены выделения состояния сопрограммы не обнаружено подходящего \"operator delete\".",
|
||||
"Для освобождения выделения состояния сопрограммы не обнаружено подходящего \"operator delete\".",
|
||||
"Функция constexpr не может быть сопрограммой.",
|
||||
"операнд для этого выражения %s разрешается в %t, не являющийся классом",
|
||||
"выражение co_await не допускается в статическом инициализаторе",
|
||||
@@ -3190,10 +3190,10 @@
|
||||
"в %t не найдено ни одного элемента статических данных constexpr %sq",
|
||||
"слишком большое число элементов (%d) для динамического распределения",
|
||||
"слишком большой запрос динамического выделения constexpr",
|
||||
"отмена распределения хранилища, которое не было распределено динамически",
|
||||
"размер отмены распределения (%d1) не соответствует выделенному размеру (%d2)",
|
||||
"освобождение хранилища, которое не было распределено динамически",
|
||||
"размер освобождения распределения (%d1) не соответствует выделенному размеру (%d2)",
|
||||
"место распределения",
|
||||
"тип отмены распределения (%t1) не соответствует типу распределения (%t2)",
|
||||
"тип освобождения (%t1) не соответствует типу распределения (%t2)",
|
||||
"не удалось отменить некоторые динамические распределения (общее число: %d)",
|
||||
"встроенный %n объявлен с непредвиденной сигнатурой (тип %t)",
|
||||
">> вывод из std::__report_constexpr_value",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"new-expression, вызывающее функцию выделения для конкретного класса, не может быть вычислено в константном выражении",
|
||||
"Выражение placement new не может быть вычислено как константное.",
|
||||
"для удаления через указатель на подобъект требуется виртуальный деструктор",
|
||||
"%npT (с обратными аргументами)",
|
||||
"%npTd с аргументами в обратном порядке",
|
||||
"операнд __INTADDR__ должен содержать смещение от нулевого указателя",
|
||||
"Конструкция _Generic соответствует нескольким типам",
|
||||
"другое совпадение — %t",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"Ограничение шаблона не соблюдено",
|
||||
"Определение концепции не может находиться в этой области",
|
||||
"Недопустимое повторное объявление %nd",
|
||||
"Не удалось подставить аргументы для идентификатора концепции",
|
||||
"концепция имеет значение false",
|
||||
"не удалось подставить аргументы %T для идентификатора концепции",
|
||||
"концепция имеет значение false для аргументов %T",
|
||||
"Использование здесь предложения requires запрещено (не шаблонная функция)",
|
||||
"шаблон концепции",
|
||||
"Предложение requires несовместимо с %nfd",
|
||||
@@ -3276,7 +3276,7 @@
|
||||
"файл модуля",
|
||||
"не удалось найти файл модуля для модуля %sq",
|
||||
"не удалось импортировать файл модуля %sq",
|
||||
"ожидалось \"%s1\", но было использовано \"%s2\"",
|
||||
"ожидалось %s1, но было найдено %s2",
|
||||
"При открытии файла модуля %sq",
|
||||
"Неизвестное имя раздела %sq",
|
||||
"неизвестный файл модуля",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"нестатические элементы данных ссылочного типа %t не позволяют выполнять вычисление constexpr для __builtin_bit_cast.",
|
||||
"непостоянный тип %t не позволяет выполнять вычисление constexpr для __builtin_bit_cast",
|
||||
"тип %t объединения, указателя или указателя на элемент не позволяет выполнять вычисление constexpr для __builtin_bit_cast.",
|
||||
"%npT (наследуется с помощью объявления %p)",
|
||||
"%npTd, унаследованный с помощью decl %p",
|
||||
"невозможно выполнить конструирование подобъекта %t для наследования конструкторов — неявный конструктор по умолчанию удален.",
|
||||
"%n требует возврата void.",
|
||||
"недопустимое начало объявления элемента",
|
||||
@@ -3321,5 +3321,35 @@
|
||||
"недопустимый указатель на член неполного типа %t",
|
||||
"расширение пакета в init-capture не включено в этом режиме",
|
||||
"расширение пакета в init-capture — это функция C++ 20",
|
||||
"оператор сравнения по умолчанию в определении класса должен быть первым объявлением этого оператора сравнения (%nd)"
|
||||
"оператор сравнения по умолчанию в определении класса должен быть первым объявлением этого оператора сравнения (%nd)",
|
||||
"расширение пакета в init-capture может быть использовано только в шаблоне с переменным числом аргументов",
|
||||
"ограничение типа использует %nd, не являющийся концепцией типа (например, шаблон концепции, первый параметр которого является параметром типа)",
|
||||
"выведенный тип заполнителя %t не отвечает ограничению типа",
|
||||
"конструктор по умолчанию для %t не соответствует требованиям",
|
||||
"деструктор для %t является неоднозначным из-за неупорядоченных ограничений",
|
||||
"деструктор для %t не соответствует требованиям из-за несоблюденных ограничений",
|
||||
"неоднозначный кандидат деструктора",
|
||||
"виртуальная функция не может иметь завершающее предложение requires",
|
||||
"%nd не удовлетворяет его ограничениям",
|
||||
"результат квалификатора decltype %t не является классом или перечислением",
|
||||
"cравнение является неоднозначным в стандартном C++ 20, поскольку подразумеваемый оператор сравнения с обратными параметрами является в той же степени подходящим соответствием — как правило, это вызвано отсутствием квалификатора \"const\" в операторе сравнения; см. %nod",
|
||||
"недопустимый идентификатор концепции",
|
||||
"не удалось подставить аргументы %T для предложения requires",
|
||||
"ограничения для %nd не удовлетворены",
|
||||
"тип переменной %t в функции constexpr содержит виртуальные базовые классы",
|
||||
"константное выражение не может выделить виртуальный базовый подобъект (для типа %t)",
|
||||
"параметр шаблона для типа класса должен иметь тип структурного класса",
|
||||
"для поддержки литералов UTF-8 требуется поддержка u-literal.",
|
||||
"сопоставление файла модуля для \"%s\" указано несколько раз",
|
||||
"сопоставление блока заголовка для \"%s\" указано несколько раз",
|
||||
"сопоставление для \"%s\" не указано",
|
||||
"сопоставление файла модуля для \"%s\" является недопустимым",
|
||||
"не удается найти заголовок \"%s\" для импорта",
|
||||
"несколько файлов в списке файлов модулей соответствуют \"%s\"",
|
||||
"файл модуля, обнаруженный для \"%s\", относится к другому модулю",
|
||||
"любой тип файла модуля",
|
||||
"не удалось прочитать файл модуля",
|
||||
"встроенная функция недоступна, так как тип char8_t не поддерживается с текущими параметрами.",
|
||||
"невозможно указать параметр командной строки --ms_await, если включены сопрограммы C++20.",
|
||||
"нестандартное использование явного конструктора %nod для агрегатной инициализации элементов по умолчанию."
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"bir bildirim bekleniyor",
|
||||
"işaretçi, alttaki nesnenin dışına işaret ediyor",
|
||||
"geçersiz tür dönüşümü",
|
||||
"önceki bildirim ile dış/iç bağlantı çakışması",
|
||||
"önceki %p bildirimi ile dış/iç bağlantı çakışması",
|
||||
"kayan nokta değeri gerekli tam sayı türüne uymuyor",
|
||||
"ifadenin bir etkisi yok",
|
||||
"indis aralık dışında",
|
||||
@@ -352,8 +352,8 @@
|
||||
"bu işlenenlerle eşleşen birden fazla %sq işleç var:",
|
||||
"ayırma işlevinin ilk parametresi 'size_t' türünde olmalı",
|
||||
"ayırma işlevi 'void *' dönüş türü gerektiriyor",
|
||||
"ayırmayı kaldırma işlevi 'void' dönüş türü gerektiriyor",
|
||||
"ayırmayı kaldırma işlevinin ilk parametresi 'void *' türünde olmalı",
|
||||
"serbest bırakma işlevi 'void' dönüş türü gerektiriyor",
|
||||
"serbest bırakma işlevinin ilk parametresi 'void *' türünde olmalı",
|
||||
null,
|
||||
"tür, bir nesne türü olmalı",
|
||||
"%t taban sınıfı önceden başlatılmış",
|
||||
@@ -420,9 +420,9 @@
|
||||
"%t türünden yerleşik bir türe dönüşüm yapan birden çok dönüştürme işlevi geçerli:",
|
||||
"%n const bir öğe",
|
||||
"%n başvurusu",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"%sq yerleşik işleci",
|
||||
"%no (devralma yoluyla belirsiz)",
|
||||
"%nod, belirsiz olarak devralındı",
|
||||
"bir oluşturucu ya da yıkıcının adresi alınamaz",
|
||||
null,
|
||||
"const olmayan bir değere başvurunun ilk değeri için geçici değer kullanıldı (anakronizm)",
|
||||
@@ -732,7 +732,7 @@
|
||||
"%n bir sınıf şablonu değil",
|
||||
"tamamlanmamış öğe türüne sahip bir dizi standart değil",
|
||||
"ayırma işleci bir ad uzayı içinde bildirilemez",
|
||||
"ayırmayı kaldırma işleci bir ad uzayı içinde bildirilemez",
|
||||
"serbest bırakma işleci bir isim uzayı içinde bildirilemez",
|
||||
"%np1, %np2 öğesinin using bildirimi ile çakışıyor",
|
||||
"%np1 öğesinin using bildirimi %npd2 ile çakışıyor",
|
||||
"ad uzayı seçeneği yalnızca C++ derlenirken kullanılabilir",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"parantez içine alınmış bir başlatıcıdan sonra gelen değişken öznitelikleri yoksayılıyor",
|
||||
"bu tür dönüştürmenin sonucu bir lvalue olarak kullanılamaz",
|
||||
"işaretsiz sabit noktalı bir değer değilleniyor",
|
||||
"bu aşamada bu operatöre izin verilmiyor; parantez kullanın",
|
||||
null,
|
||||
null,
|
||||
"yazmaç adları yalnızca yazmaç değişkenleri için kullanılabilir",
|
||||
"adlandırılmış yazmaç değişkenleri void türünde olamaz",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"Örtük kullanım dahil olmak üzere std::initializer_list kullanımından önce #include <initializer_list> gereklidir",
|
||||
"Ad alanı diğer ad bildiriminde 'inline' anahtar sözcüğü kullanılamaz",
|
||||
"Önceki %n bildirimi satır içi olarak bildirilmedi",
|
||||
"Satır içi %n yeniden bildirimi satır içi olarak bildirilmelidir",
|
||||
"%n daha önce satır içi olarak bildirildi",
|
||||
"İlk bağımsız değişken bir tam sayı sabiti olmalıdır",
|
||||
"Belirleyici, küme olmayan tür %t ile kullanılamaz",
|
||||
"Anonim birleşim üyesine yönelik belirleyici, yalnızca ilgili anonim birleşime karşılık gelen küme ayraçları içinde görünebilir",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"constexpr oluşturucusu %t doğrudan temel sınıfını başlatmalıdır",
|
||||
"Temel alınan dizi tam ifadenin sonunda yok edileceği için, bir alan başlatıcısındaki std::initializer_list nesnesinin oluşturulması büyük olasılıkla beklenen şekilde çalışmaz",
|
||||
"Sabit bir ifadede 'this' kullanılamaz",
|
||||
"Bu birleşim türü için boş başlatıcı geçerli değildir (hangi üyenin başlatılması gerektiği belirsizdir)",
|
||||
null,
|
||||
"Açık örnek oluşturma yönergesinde 'constexpr'ye izin verilmez",
|
||||
"Döngüsel bağımlılık nedeniyle varsayılan oluşturucunun özel durum belirtimi belirlenemiyor",
|
||||
"Anonim birleşim tanımlı %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"%t için geçersiz niteleyici (burada türetilen bir sınıfa izin verilmiyor)",
|
||||
"'always_inline' özniteliği satır içi olmayan işlevlerde yoksayılır",
|
||||
"Devralınan oluşturucular doğrudan temel sınıftan devralınmalıdır",
|
||||
"%np zaten %t üzerinden devraldı",
|
||||
null,
|
||||
"etiket bekleniyordu",
|
||||
"'%%l' sonrasında bir işlenen numarası bekleniyordu",
|
||||
"'%%l' işlenen numarası geçerli bir etiket bağımsız değişkenine başvurmaz",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"silinen işlevler bir C++11 özelliğidir",
|
||||
"varsayılan olarak ayarlanan işlevler bir C++11 özelliğidir",
|
||||
"Açık özelleştirmede depolama sınıfına izin verilmez",
|
||||
"%t bir sınıf veya kapsamlı sabit listesi değildir",
|
||||
null,
|
||||
"Kapsamsız sabit listesi, özelleştirilmek için genel olmamalıdır",
|
||||
"Sabit listesi şablonu bildirimi, sınıf şablonunun önceden bildirilmiş üyesine başvurmalıdır",
|
||||
"vektör işlenen bekleniyordu",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"vektör öğe türü, tam sayı, sabit listesi veya gerçek kayan nokta türünde olmalıdır",
|
||||
"128 bit tamsayılar desteklenmediği için yerleşik işlev kullanılamıyor",
|
||||
"vektör türleri desteklenmediği için yerleşik işlev kullanılamıyor",
|
||||
"iki ardışık sol köşeli ayraç yalnızca bir öznitelik listesini tanımlayabilir",
|
||||
"arka arkaya iki köşeli parantez her zaman bir öznitelik listesi belirtir ancak öznitelik listesi burada görünmez",
|
||||
"tanınmayan 'target' özniteliğinden dolayı bu yordam, çözümleyici yordamı tarafından kullanılmak için uygun değil",
|
||||
"%t bir vektör türü değil",
|
||||
"%t1 ve %t2 vektör türleri aynı uzunlukta olmalıdır",
|
||||
@@ -3176,7 +3176,7 @@
|
||||
"'return_void' tarafından bildirilen %p",
|
||||
"%t, %n sonunda 'return_void' öğesine sahip olmadığından, co_return deyimi eksik",
|
||||
"eş yordam durum ayırma için genel 'operator new' öğesinin nothrow çeşidi bulunamadı",
|
||||
"eş yordam durum ayırmasının kaldırılması için uygun bir 'operator delete' bulunamadı",
|
||||
"eş yordam durum serbest bırakması için uygun bir 'operator delete' bulunamadı",
|
||||
"constexpr işlevi eş yordam olamaz",
|
||||
"Bu %s ifadesinin işleneni, sınıf olmayan %t öğesine çözümleniyor",
|
||||
"co_await ifadesine statik başlatıcıda izin verilmez",
|
||||
@@ -3190,7 +3190,7 @@
|
||||
"%t içinde %sq constexpr statik veri üyesi bulunamadı",
|
||||
"dinamik ayırma için öğe sayısı (%d) çok büyük",
|
||||
"constexpr dinamik ayırma isteği çok büyük",
|
||||
"dinamik olarak ayrılmamış depolama alanı ayırmayı kaldırma",
|
||||
"dinamik olarak ayrılmamış depolama alanının serbest bırakılması",
|
||||
"serbest bırakma boyutu (%d1), ayrılan boyuta (%d2) karşılık gelmiyor",
|
||||
"ayırma burada oluştu",
|
||||
"serbest bırakma türü (%t1), ayırma türüne (%t2) karşılık gelmiyor",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"sınıfa özgü ayırma işlevini çağıran yeni bir ifade sabit değer olarak değerlendirilemez",
|
||||
"yerleşim new ifadesi sabit değer olarak değerlendirilemez",
|
||||
"alt nesne işaretçisi aracılığıyla silme işlemi, sanal yıkıcı gerektirir",
|
||||
"%npT (tersine çevrilmiş bağımsız değişkenlerle)",
|
||||
"%npTd, tersine çevrilmiş bağımsız değişkenlere sahip",
|
||||
"__INTADDR__ işleneni null işaretçisinden mahsup edilmelidir",
|
||||
"_Generic yapısı birden çok türle eşleşiyor",
|
||||
"diğer eşleşme %t",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"şablon kısıtlaması karşılanmadı",
|
||||
"bu kapsamda kavram tanımı görünemez",
|
||||
"%nd için yeniden bildirim geçersiz",
|
||||
"kavram kimliği bağımsız değişkenleri değiştirilemedi",
|
||||
"kavram false",
|
||||
"kavram kimliği için %T bağımsız değişkenleri değiştirilemedi",
|
||||
"%T bağımsız değişkenleri için kavram false",
|
||||
"burada bir requires yan tümcesine izin verilmiyor (şablonlu bir işlev değil)",
|
||||
"kavram şablonu",
|
||||
"requires yan tümcesi %nfd ile uyumsuz",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"başvuru türündeki statik olmayan veri üyesi __builtin_bit_cast %t constexpr değerlendirmesi yapılmasını engelliyor",
|
||||
"geçici tür %t __builtin_bit_cast constexpr değerlendirmesi yapılmasını engelliyor",
|
||||
"bir %t türü birleşim, işaretçi veya üye işaretçisi __builtin_bit_cast constexpr değerlendirmesine engel oluyor",
|
||||
"%npT (decl %p kullanılarak devralındı)",
|
||||
"%npTd, %p bildirimi kullanılarak devralındı",
|
||||
"devralma oluşturucuları için %t alt nesne oluşturma gerçekleştirilemiyor; örtük varsayılan Oluşturucu silindi",
|
||||
"%n void döndürmesi gerekir",
|
||||
"üye bildiriminin başlangıcı geçersiz",
|
||||
@@ -3321,5 +3321,35 @@
|
||||
"eksik tür %t için işaretçiden üyeye öğesine izin verilmez",
|
||||
"init-capture içinde paket genişletme bu modda etkin değil",
|
||||
"init-capture özelliğindeki paket genişletme bir C++ 20 özelliğidir",
|
||||
"sınıf tanımında varsayılan olarak kullanılan bir karşılaştırma işleci, ilgili karşılaştırma işlecinin ilk bildirimi olmalıdır (%nd)"
|
||||
"sınıf tanımında varsayılan olarak kullanılan bir karşılaştırma işleci, ilgili karşılaştırma işlecinin ilk bildirimi olmalıdır (%nd)",
|
||||
"init-capture içindeki bir paket genişletmesi yalnızca değişen sayıda bağımsız değişken içeren bir şablonda kullanılabilir",
|
||||
"tür kısıtlaması, bir tür kavramı (yani, ilk parametresi tür parametresi olan bir kavram şablonu) olmayan %nd kullanıyor",
|
||||
"%t çıkarsanan yer tutucu türüne yönelik tür kısıtlaması başarısız oldu",
|
||||
"%t için varsayılan oluşturucu uygun değil",
|
||||
"sıralanmamış kısıtlamalar nedeniyle %t için yıkıcı belirsiz",
|
||||
"başarısız kısıtlamalar nedeniyle %t için yıkıcı uygun değil",
|
||||
"belirsiz yıkıcı adayı",
|
||||
"bir sanal işlevin sonunda requires yan tümcesi olamaz",
|
||||
"%nd kısıtlamalarını karşılamıyor",
|
||||
"%t decltype niteleyicisinin sonucu bir sınıf veya sabit listesi değil",
|
||||
"ters çevrilmiş parametrelere sahip örtük karşılaştırma işleci eşit olarak iyi bir eşleşme olduğundan karşılaştırma, standart C++20'de belirsizdir; bu genellikle karşılaştırma işlecinde eksik 'const' niteleyicisinden kaynaklanır; bkz. %nod",
|
||||
"kavram kimliği geçersiz",
|
||||
"requires yan tümcesi için %T bağımsız değişkenleri değiştirilemedi",
|
||||
"%nd için kısıtlamalar karşılanmadı",
|
||||
"constexpr işlevindeki %t değişken türü, sanal temel sınıflara sahip",
|
||||
"sabit ifade bir sanal temel alt nesneyi ayıramaz (%t türü için)",
|
||||
"sınıf türündeki bir şablon parametresi yapısal sınıf türünde olmalıdır",
|
||||
"UTF-8 sabit değerleri desteği için u-literal desteği gerekir.",
|
||||
"'%s' için modül dosyası eşlemesi birden çok kez belirtildi",
|
||||
"'%s' için üst bilgi birimi eşlemesi birden çok kez belirtildi",
|
||||
"'%s' için eşleme belirtilmedi",
|
||||
"'%s' için modül dosyası eşlemesi geçersiz",
|
||||
"içeri aktarılacak '%s' üst bilgisi bulunamıyor",
|
||||
"modül dosyası listesinde birden fazla dosya '%s' ile eşleşiyor",
|
||||
"'%s' için bulunan modül dosyası farklı bir modüle yönelik",
|
||||
"herhangi bir türde modül dosyası",
|
||||
"modül dosyası okunamıyor",
|
||||
"char8_t türü geçerli seçeneklerle desteklenmediği için yerleşik işlev kullanılamıyor",
|
||||
"C++20 eş yordamları etkinleştirilirse --ms_await komut satırı seçeneği belirtilemez",
|
||||
"varsayılan toplama öğesi başlatma için açık oluşturucu %nod için standart olmayan kullanım"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"应输入声明",
|
||||
"指针指向基础对象之外",
|
||||
"类型转换无效",
|
||||
"外部/内部链接与前面的声明冲突",
|
||||
"外部/内部链接与之前的声明 %p 冲突",
|
||||
"浮点值不适合于所需的整型",
|
||||
"表达式不起任何作用",
|
||||
"下标超出范围",
|
||||
@@ -352,8 +352,8 @@
|
||||
"有多个运算符 %sq 与这些操作数匹配:",
|
||||
"分配函数的第一个参数必须是“size_t”类型",
|
||||
"分配函数需要“void *”返回类型",
|
||||
"释放函数需要“void”返回类型",
|
||||
"释放函数的第一个参数必须是“void *”类型",
|
||||
"解除分配函数需要“void”返回类型",
|
||||
"解除分配函数的第一个参数必须是“void *”类型",
|
||||
null,
|
||||
"类型必须是对象类型",
|
||||
"基类 %t 已初始化",
|
||||
@@ -420,9 +420,9 @@
|
||||
"应用了多个从 %t 到内置类型的转换函数:",
|
||||
"常量 %n",
|
||||
"引用 %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"内置运算符 %sq",
|
||||
"%no (继承不明确)",
|
||||
"%nod,通过继承但含义不明确",
|
||||
"构造函数或析构函数不能提取其自身的地址",
|
||||
null,
|
||||
"临时用于非常量引用的初始值(计时错误)",
|
||||
@@ -732,7 +732,7 @@
|
||||
"%n 不是类模板",
|
||||
"具有不完整元素类型的数组是非标准的",
|
||||
"不能在命名空间中声明分配运算符",
|
||||
"不能在命名空间中声明释放运算符",
|
||||
"不能在命名空间中声明解除分配运算符",
|
||||
"%np1 与 %np2 的 using 声明冲突",
|
||||
"%np1 的 using 声明与 %npd2 冲突",
|
||||
"namespaces 选项只能在编译 C++ 时使用",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"已忽略出现在带圆括号的初始值设定项之后的变量特性",
|
||||
"此强制转换的结构不能用作左值",
|
||||
"求反无符号定点值",
|
||||
"该点不允许此操作;请使用括号",
|
||||
null,
|
||||
null,
|
||||
"寄存器名只能用于寄存器变量",
|
||||
"已命名的寄存器变量不能包含 void 类型",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"需要先加入 #include <initializer_list>,然后才能使用 std::initializer_list,其中包括隐式使用",
|
||||
"不能在命名空间别名声明中使用“inline”关键字",
|
||||
"以前的 %n 声明不是以内联方式声明的",
|
||||
"必须以内联方式声明内联 %n 的重新声明",
|
||||
"%n 之前声明为内联",
|
||||
"第一个参数必须为整数常量",
|
||||
"指示符不能与非聚合类型 %t 配合使用",
|
||||
"匿名联合成员的指示符只能出现在与该匿名联合对应的大括号中",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"constexpr 构造函数必须初始化直接基类 %t",
|
||||
"字段初始值设定项中的 std::initializer_list 对象的创建可能无法发挥预期的作用,因为在整个表达式的结尾将销毁基础数组",
|
||||
"“this”不能在常量表达式中使用",
|
||||
"空初始值设定项对此联合类型无效(应初始化的成员不明确)",
|
||||
null,
|
||||
"不允许对显式实例化指令使用“constexpr”",
|
||||
"无法确定默认构造函数的异常规范,因为存在循环依赖",
|
||||
"匿名联合定义的 %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"%t 的无效限定符(此处不允许使用派生类)",
|
||||
"\"always_inline\" 属性在非内联函数中被忽略",
|
||||
"继承构造函数时,必须从直接基类进行继承",
|
||||
"%np 已从 %t 继承",
|
||||
null,
|
||||
"应有一个标签",
|
||||
"\"%%l\" 应后接一个操作数",
|
||||
"“%%l”的操作数编号未引用有效的 label 参数",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"删除函数是一项 C++11 特性",
|
||||
"默认函数是一项 C++11 特性",
|
||||
"不允许在显式专用化中使用存储类",
|
||||
"%t 不是一个类或区分范围的枚举",
|
||||
null,
|
||||
"未区分范围的枚举不得透明,以进行专用化",
|
||||
"枚举模板声明必须引用以前声明的类模板成员",
|
||||
"应为矢量操作数",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"矢量元素类型必须是整型、枚举或真浮点类型",
|
||||
"内置函数无法使用,因为不支持 128 位整数",
|
||||
"内置函数无法使用,因为不支持矢量类型",
|
||||
"两个连续的左方括号只能引入特性列表",
|
||||
"两个连续的左方括号始终引入一个属性列表,但此处不能出现属性列表",
|
||||
"无法识别的 \"target\" 特性将使解析程序例程无法使用此例程",
|
||||
"%t 不是矢量类型",
|
||||
"适量类型 %t1 和 %t2 长度必须相同",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"无法对调用类专属分配函数的 new-expression 进行常量计算",
|
||||
"无法对 placement new 表达式进行常量计算",
|
||||
"需使用虚拟析构函数才能通过子对象指针删除",
|
||||
"%npT (带逆转参数)",
|
||||
"%npTd,带逆序参数",
|
||||
"__INTADDR__ 的操作数必须是从空指针算起的偏移量",
|
||||
"泛型构造与多个类型相匹配(_G)",
|
||||
"另一匹配是 %t",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"不满足模板约束",
|
||||
"概念定义不能出现在此范围内",
|
||||
"%nd 的重新声明无效",
|
||||
"concept-id 的参数替换失败",
|
||||
"概念为 false",
|
||||
"concept-id 的参数 %T 替换失败",
|
||||
"参数 %T 的概念为 false",
|
||||
"此处不允许使用 requires 子句(不是模板化函数)",
|
||||
"概念模板",
|
||||
"requires 子句与 %nfd 不兼容",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"引用类型 %t 的非静态数据成员阻止对 __builtin_bit_cast 进行 constexpr 计算",
|
||||
"易失类型 %t 阻止对 __builtin_bit_cast 进行 constexpr 计算",
|
||||
"联合类型、指针类型或指向成员的指针类型 %t 阻止对 __builtin_bit_cast 进行 constexpr 计算",
|
||||
"%npT (通过使用 decl %p 继承)",
|
||||
"%npTd,已通过使用 decl %p 继承",
|
||||
"无法为继承构造函数执行 %t 的子对象构造 -- 已删除隐式默认构造函数",
|
||||
"%n 必须返回 void",
|
||||
"成员声明的开头无效",
|
||||
@@ -3321,5 +3321,35 @@
|
||||
"不允许使用不完整类型 %t 的指向成员的指针",
|
||||
"此模式下未启用 init-capture 中的包扩展",
|
||||
"init-capture 中的包扩展是 C++ 20 功能",
|
||||
"类定义中默认的比较运算符必须是该比较运算符的第一个声明(%nd)"
|
||||
"类定义中默认的比较运算符必须是该比较运算符的第一个声明(%nd)",
|
||||
"init-capture 中的包扩展只能在可变参数模板中使用",
|
||||
"类型约束使用不是类型概念的 %nd (即,第一个参数为类型参数的概念模板)",
|
||||
"推导出的占位符类型 %t 未能通过类型约束",
|
||||
"%t 的默认构造函数不合格",
|
||||
"%t 的析构函数不明确,因为存在未排序的约束",
|
||||
"由于约束失败,%t 的析构函数不合格",
|
||||
"析构函数候选项不明确",
|
||||
"虚函数不能有尾随 requires 子句",
|
||||
"%nd 不满足其约束",
|
||||
"decltype 限定符的结果 %t 不是类或枚举",
|
||||
"标准 C++20 中的比较不明确,因为连接反向参数的隐式比较运算符的比较结果表示了同等好的匹配--这通常是由于比较运算符中缺少 \"const\" 限定符造成的; 请参阅 %nod",
|
||||
"concept-id 无效",
|
||||
"requires-clause 的参数 %T 替换失败",
|
||||
"不满足 %nd 的约束",
|
||||
"constexpr 函数中变量类型 %t 具有虚拟基类",
|
||||
"常数表达式无法为类型 %t 分配虚拟基子对象",
|
||||
"类类型的模板参数必须是结构类类型",
|
||||
"对 UTF-8 文本的支持需要 u 文本支持。",
|
||||
"多次为“%s”指定了模块文件映射",
|
||||
"多次为“%s”指定了标头单元映射",
|
||||
"未为“%s”指定映射",
|
||||
"“%s”的模块文件映射无效",
|
||||
"找不到要导入的标头“%s”",
|
||||
"模块文件列表中有多个文件与“%s”匹配",
|
||||
"为“%s”找到的模块文件用于其他模块",
|
||||
"任何类型的模块文件",
|
||||
"无法读取模块文件",
|
||||
"内置函数不可用,因为当前选项不支持 char8_t 类型",
|
||||
"如果启用了 C++20 协同程序,则无法指定 --ms_await 命令行选项",
|
||||
"对默认聚合元素初始化使用显式构造函数 %nod 不是标准做法"
|
||||
]
|
||||
@@ -171,7 +171,7 @@
|
||||
"必須是宣告",
|
||||
"指標指向基礎物件之外",
|
||||
"無效的類型轉換",
|
||||
"外部/內部連結與上一個宣告衝突",
|
||||
"外部/內部連結與上一個宣告衝突 %p",
|
||||
"浮點值不適合必要的整數類資料類型",
|
||||
"運算式無效",
|
||||
"訂閱超出範圍",
|
||||
@@ -420,9 +420,9 @@
|
||||
"%t 與內建類型之間有一個以上合適的轉換函式: ",
|
||||
"常數 %n",
|
||||
"參考 %n",
|
||||
"%npT",
|
||||
"%npTd",
|
||||
"內建運算子 %sq",
|
||||
"%no (因繼承而模稜兩可)",
|
||||
"%nod,因繼承而模稜兩可",
|
||||
"建構函式或解構函式不能使用自己的位址",
|
||||
null,
|
||||
"暫存區用於非常數參考的初始值 (過時用法)",
|
||||
@@ -1361,7 +1361,7 @@
|
||||
"已忽略出現在小括號內的初始設定式之後的變數屬性",
|
||||
"此轉換的結果不能做為左值",
|
||||
"否定不帶正負號的定點值",
|
||||
"目前不能有這個運算子; 請使用括號",
|
||||
null,
|
||||
null,
|
||||
"暫存器名稱只能用於暫存器變數",
|
||||
"具名暫存器變數不能有 void 類型",
|
||||
@@ -2354,7 +2354,7 @@
|
||||
"必須有 #include <initializer_list> 才能使用 std::initializer_list,表示要隱含使用",
|
||||
"無法針對命名空間別名宣告使用 'inline' 關鍵字",
|
||||
"%n 的上一個宣告並未宣告為 inline",
|
||||
"重新宣告 inline %n 時,必須宣告為 inline",
|
||||
"%n 先前宣告為內嵌",
|
||||
"第一個引數必須是整數常數",
|
||||
"指示項不能與非彙總類型 %t 一起使用",
|
||||
"匿名等位成員的指示項只能出現在與該匿名等位對應的大括號中",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"constexpr 建構函式必須初始化直接基底類別 %t",
|
||||
"在欄位初始設定式中建立 std::initializer_list 物件不太可能如預期般運作,因為基礎陣列將於完整運算式的結尾被終結",
|
||||
"常數運算式中不能使用 'this'",
|
||||
"空的初始設定式對這個等位類型而言無效 (應該初始化哪個成員模稜兩可) ",
|
||||
null,
|
||||
"明確具現化指示詞中不允許 'constexpr'",
|
||||
"因為循環相依性,導致無法判定預設建構函式的例外狀況規格",
|
||||
"匿名等位定義的 %p",
|
||||
@@ -2474,7 +2474,7 @@
|
||||
"%t 的限定詞無效 (這裡不允許使用衍生類別)",
|
||||
"非內嵌函式會忽略 'always_inline' 屬性",
|
||||
"inheriting 建構函式必須從直接基底類別繼承",
|
||||
"%np 已從 %t 繼承",
|
||||
null,
|
||||
"必須有標籤",
|
||||
"'%%l' 之後必須有運算元數字",
|
||||
"'%%l' 的運算元數字未參考有效的標籤引數",
|
||||
@@ -2515,7 +2515,7 @@
|
||||
"deleted 函式是 C++11 功能",
|
||||
"defaulted 函式是 C++11 功能",
|
||||
"明確特製化中不允許儲存類別",
|
||||
"%t 不是類別或有限範圍列舉",
|
||||
null,
|
||||
"不限範圍列舉必須是 opaque,才能特製化",
|
||||
"列舉樣板宣告必須參考類別樣板先前宣告的成員",
|
||||
"必須是向量運算元",
|
||||
@@ -2790,7 +2790,7 @@
|
||||
"向量元素類型必須是整數、列舉或實數浮點類型",
|
||||
"因為不支援 128 位元整數,所以無法使用內建函式",
|
||||
"因為不支援向量類型,所以無法使用內建函式",
|
||||
"兩個連續的左括弧只能產生屬性清單",
|
||||
"兩個連續的左方括弧會一律引進屬性清單,但此處不能出現屬性清單",
|
||||
"無法辨識的 'target' 屬性會導致解析程式常式無法使用此常式",
|
||||
"%t 不是向量類型",
|
||||
"向量類型 %t1 與 %t2 的長度必須相同",
|
||||
@@ -3224,7 +3224,7 @@
|
||||
"呼叫類別專屬配置函式的 new-expression 不能進行常數評估",
|
||||
"placement new 運算式不能進行常數評估",
|
||||
"需要有虛擬解構函式才能透過子物件指標刪除",
|
||||
"%npT (具有反轉引數)",
|
||||
"%npTd,具有反轉的引數",
|
||||
"__INTADDR__ 的運算元必須從 null 指標位移",
|
||||
"_Generic 建構符合多種類型",
|
||||
"另一個相符項目為 %t",
|
||||
@@ -3246,8 +3246,8 @@
|
||||
"未滿足範本限制式",
|
||||
"概念定義不能出現在此範圍中",
|
||||
"%nd 的重新宣告無效",
|
||||
"概念識別碼的引數替代失敗",
|
||||
"概念為 False",
|
||||
"概念識別碼的引數 %T 替代失敗",
|
||||
"引數 %T 的概念為 False",
|
||||
"此處不允許使用 requires 子句 (非樣板化函式)",
|
||||
"概念範本",
|
||||
"requires 子句與 %nfd 不相容",
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"參考類型 %t 的非靜態資料成員會防止 __builtin_bit_cast 的 constexpr 評估",
|
||||
"揮發性類型 %t 會防止 __builtin_bit_cast 的 constexpr 評估",
|
||||
"等位、指標或成員指標類型 %t 會防止 __builtin_bit_cast 的 constexpr 評估",
|
||||
"%npT (透過使用 decl %p 繼承)",
|
||||
"%npTd,透過使用宣告 %p 來繼承",
|
||||
"無法執行用於繼承建構函式的 %t 子物件建構 -- 已刪除隱含的預設建構函式",
|
||||
"%n 必須傳回 void",
|
||||
"成員宣告開頭無效",
|
||||
@@ -3321,5 +3321,35 @@
|
||||
"不允許使用不完整類型 %t 的成員指標",
|
||||
"此模式未啟用 init-capture 中的參數序列展開式",
|
||||
"init-capture 中的參數序列展開式是 C++20 功能",
|
||||
"類別定義中預設的比較運算子,必須為該比較運算子的第一個宣告 (%nd)"
|
||||
"類別定義中預設的比較運算子,必須為該比較運算子的第一個宣告 (%nd)",
|
||||
"Init-capture 中的套件展開只能用於可變參數範本",
|
||||
"類型條件約束使用非類型概念的 %nd (例如: 第一個參數是型別參數的概念範本)",
|
||||
"推算的預留位置類型 %t 未通過類型條件約束",
|
||||
"%t 的預設建構函式不符合資格",
|
||||
"%t 的解構函式因未排序的條件約束而模稜兩可",
|
||||
"%t 的解構函式因條件約束失敗而不符合資格",
|
||||
"模稜兩可的解構函式候選項",
|
||||
"虛擬函式不能有尾端 Requires 子句",
|
||||
"%nd 不符合其條件約束",
|
||||
"decltype 限定詞 %t 的結果不是類別或列舉",
|
||||
"因為具有反轉參數的隱含比較運算子為均等相符,所以標準 C++20 中的比較會模稜兩可。這通常是比較運算子中遺漏 'const' 限定詞所致; 請參閱 %nod",
|
||||
"概念識別碼無效",
|
||||
"Requires 子句的引數 %T 替代失敗",
|
||||
"未滿足 %nd 的條件約束",
|
||||
"constexpr 函式中的變數型別 %t 具有虛擬基底類別",
|
||||
"常數運算式無法配置虛擬基底子物件 (針對型別 %t )",
|
||||
"類別型別的範本參數必須為結構類別型別",
|
||||
"UTF-8 常值的支援需要 u-literal 支援。",
|
||||
"指定了多次 '%s' 的模組檔案對應",
|
||||
"指定了多次 '%s' 的標頭單位對應",
|
||||
"未指定 '%s' 的對應",
|
||||
"'%s' 的模組檔案對應無效",
|
||||
"找不到要匯入的標頭 '%s'",
|
||||
"模組檔案清單中有多個檔案與 '%s' 相符",
|
||||
"為 '%s' 找到的模組檔案會用於其他模組",
|
||||
"任何類型的模組檔案",
|
||||
"無法讀取模組檔案",
|
||||
"因為目前的選項不支援 char8_t 類型,所以無法使用內建函式",
|
||||
"如果啟用 C++ 20 協同程式,就不能指定 --ms_await 命令列選項",
|
||||
"非標準地使用明確的建構函式 %nod 進行預設彙總元素初始化"
|
||||
]
|
||||
@@ -4,11 +4,11 @@
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1926",
|
||||
"1928",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1926",
|
||||
"-D_MSC_FULL_VER=192628619",
|
||||
"-D_MSC_VER=1928",
|
||||
"-D_MSC_FULL_VER=192829507",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_ARM=7"
|
||||
],
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1926",
|
||||
"1928",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1926",
|
||||
"-D_MSC_FULL_VER=192628619",
|
||||
"-D_MSC_VER=1928",
|
||||
"-D_MSC_FULL_VER=192829507",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_ARM64=1"
|
||||
],
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1926",
|
||||
"1928",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1926",
|
||||
"-D_MSC_FULL_VER=192628619",
|
||||
"-D_MSC_VER=1928",
|
||||
"-D_MSC_FULL_VER=192829507",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_X64=100",
|
||||
"-D_M_AMD64=100"
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1926",
|
||||
"1928",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1926",
|
||||
"-D_MSC_FULL_VER=192628619",
|
||||
"-D_MSC_VER=1928",
|
||||
"-D_MSC_FULL_VER=192829507",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_IX86=600",
|
||||
"-D_M_IX86_FP=2"
|
||||
|
||||
@@ -32,11 +32,11 @@
|
||||
"c89",
|
||||
"c99",
|
||||
"c11",
|
||||
"c18",
|
||||
"c17",
|
||||
"gnu89",
|
||||
"gnu99",
|
||||
"gnu11",
|
||||
"gnu18",
|
||||
"gnu17",
|
||||
"${default}"
|
||||
]
|
||||
},
|
||||
@@ -64,7 +64,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"includePath": {
|
||||
"description": "A list of paths for the IntelliSense engine to use while searching for included headers. Searching on these paths is not recursive.",
|
||||
"description": "A list of paths for the IntelliSense engine to use while searching for included headers. Searching on these paths is not recursive. Specify '**' to indicate recursive search. For example, '${workspaceFolder}/**' will search through all subdirectories while '${workspaceFolder}' will not.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
@@ -134,7 +134,7 @@
|
||||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"description": "A list of paths for the tag parser to use while searching for included headers. Searching on these paths is recursive by default. Specify '*' to indicate non-recursive search. For example: '/usr/include' will search through all subdirectories while '/usr/include/*' will not.",
|
||||
"description": "A list of paths to use for indexing and parsing of workspace symbols (for use by Go to Definition, Find All References, etc.). Searching on these paths is recursive by default. Specify '*' to indicate non-recursive search. For example, '${workspaceFolder}' will search through all subdirectories while '${workspaceFolder}/*' will not.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
"defaultIntelliSenseEngine": 100,
|
||||
"recursiveIncludes": 100,
|
||||
"gotoDefIntelliSense": 100,
|
||||
"enhancedColorization": 100
|
||||
"enhancedColorization": 100,
|
||||
"minimumVSCodeVersion": "1.44.0"
|
||||
}
|
||||
+105
-2
@@ -20,8 +20,9 @@ const filter = require('gulp-filter');
|
||||
const vinyl = require('vinyl');
|
||||
const parse5 = require('parse5');
|
||||
const traverse = require('parse5-traverse');
|
||||
const jsonc = require('jsonc-parser'); // Used to allow comments in nativeStrings.json
|
||||
|
||||
const jsonc = require('comment-json'); // Used to allow comments in nativeStrings.json
|
||||
const crypto = require('crypto');
|
||||
const https = require('https');
|
||||
|
||||
// Patterns to find HTML files
|
||||
const htmlFilesPatterns = [
|
||||
@@ -290,6 +291,108 @@ gulp.task("translations-import", (done) => {
|
||||
}));
|
||||
});
|
||||
|
||||
// ****************************
|
||||
// Command: generate-package-hashes
|
||||
// Generates a hash for each dependency package
|
||||
// ****************************
|
||||
|
||||
async function DownloadFile(urlString) {
|
||||
const buffers = [];
|
||||
return new Promise((resolve, reject) => {
|
||||
const req = https.request(urlString, (response) => {
|
||||
if (response.statusCode === 301 || response.statusCode === 302) {
|
||||
// Redirect - download from new location
|
||||
let redirectUrl;
|
||||
if (typeof response.headers.location === "string") {
|
||||
redirectUrl = response.headers.location;
|
||||
} else {
|
||||
if (!response.headers.location) {
|
||||
console.log(`Invalid download location received`);
|
||||
return reject();
|
||||
}
|
||||
redirectUrl = response.headers.location[0];
|
||||
}
|
||||
console.log(`Using redirectUrl: '${redirectUrl}'`);
|
||||
return resolve(DownloadFile(redirectUrl));
|
||||
} else if (response.statusCode !== 200) {
|
||||
if (response.statusCode === undefined || response.statusCode === null) {
|
||||
console.log("unknown error code.");
|
||||
return reject();
|
||||
}
|
||||
console.log(`failed with error code: '${response.statusCode}'`);
|
||||
return reject();
|
||||
}
|
||||
|
||||
response.on('data', (data) => {
|
||||
buffers.push(data);
|
||||
});
|
||||
|
||||
response.on('end', () => {
|
||||
if (buffers.length > 0) {
|
||||
return resolve(Buffer.concat(buffers));
|
||||
} else {
|
||||
return reject();
|
||||
}
|
||||
});
|
||||
|
||||
response.on('error', err => {
|
||||
console.log(`problem with request: '${err.message}'`);
|
||||
return reject();
|
||||
});
|
||||
});
|
||||
|
||||
req.on('error', err => {
|
||||
console.log(`problem with request: '${err.message}'`);
|
||||
return reject();
|
||||
});
|
||||
|
||||
// Execute the request
|
||||
req.end();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
async function generatePackageHashes(packageJson) {
|
||||
const downloadAndGetHash = async (url) => {
|
||||
console.log(url);
|
||||
try {
|
||||
const buf = await DownloadFile(url);
|
||||
if (buf) {
|
||||
const hash = crypto.createHash('sha256');
|
||||
hash.update(buf);
|
||||
const value = hash.digest('hex').toUpperCase();
|
||||
return value;
|
||||
}
|
||||
return undefined;
|
||||
} catch (err) {
|
||||
return undefined;
|
||||
}
|
||||
};
|
||||
|
||||
for (let dependency of packageJson.runtimeDependencies) {
|
||||
console.log(`-------- Downloading package: '${dependency.description}' --------`);
|
||||
const hash = await downloadAndGetHash(dependency.url);
|
||||
if (hash) {
|
||||
dependency.integrity = hash;
|
||||
console.log(`integrity: '${hash}'`);
|
||||
} else {
|
||||
console.log(`No hash generated for package '${dependency.description}`);
|
||||
}
|
||||
console.log(`\n`);
|
||||
}
|
||||
|
||||
let content = JSON.stringify(packageJson, null, 2);
|
||||
return content;
|
||||
}
|
||||
|
||||
gulp.task('generate-package-hashes', async (done) => {
|
||||
const packageJsonPath = './package.json';
|
||||
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath).toString());
|
||||
const content = await generatePackageHashes(packageJson);
|
||||
fs.writeFileSync(packageJsonPath, content);
|
||||
done();
|
||||
});
|
||||
|
||||
|
||||
// ****************************
|
||||
// Command: translations-generate
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.name": "配置标识符。Mac、Linux 和 Win32 是将在这些平台上自动选定的特殊配置标识符,但标识符可为任何内容。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerPath": "正在使用以便启用更准确的 IntelliSense 的编译器的完整路径,例如 /usr/bin/gcc。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用于修改所使用的包含或定义的编译器参数,例如 -nostdinc++、-m32 等。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "用于 IntelliSense 的 C 语言标准的版本。注意: GNU 标准仅用于查询设置用来获取 GNU 定义的编译器,并且 IntelliSense 将模拟等效的 C 标准版本。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "用于 IntelliSense 的 C 语言标准的版本。注意: GNU 标准仅用于查询设置编译器以获取 GNU 定义,并且 IntelliSense 将模拟等效的 C 标准版本。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "用于 IntelliSense 的 C++ 语言标准的版本。注意: GNU 标准仅用于查询设置用来获取 GNU 定义的编译器,并且 IntelliSense 将模拟等效的 C++ 标准版本。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "工作区的 compile_commands.json 文件的完整路径。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "IntelliSense 在搜索包含的标头时要使用的路径列表。不按递归方式搜索这些路径。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "在搜索包含的标头时 IntelliSense 引擎要使用的路径列表。对这些路径的搜索不是递归搜索。指定 \"**\" 可指示递归搜索。例如: \"${workspaceFolder}/**\" 将搜索所有子目录,而 \"${workspaceFolder}\" 将不搜索所有子目录。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Intellisense 引擎在 Mac 框架中搜索包含的标头时要使用的路径的列表。仅在 Mac 配置中受支持。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "要在 Windows 上使用的 Windows SDK 包含路径的版本,例如 \"10.0.17134.0\"。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "分析文件时 IntelliSense 引擎要使用的预处理器定义的列表。(可选)使用 = 设置值,例如 VERSION=1。",
|
||||
@@ -19,7 +19,7 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "可为源文件提供 IntelliSense 配置信息的 VS Code 扩展的 ID。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "如果为 true,则仅处理以标头形式直接或间接包含的文件;如果为 false,则处理指定的包含路径下的所有文件。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "所生成的符号数据库的路径。如果指定了相对路径,则它将相对于工作区的默认存储位置。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "标记分析器在搜索包含的标头时要使用的路径列表。默认情况下,按递归方式搜索这些路径。指定 \"*\" 可指示非递归搜索。例如: \"/usr/include\" 将搜索所有子目录,而 \"/usr/include/*\" 将不搜索所有子目录。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "一个路径列表,这些路径用于为工作区符号编制索引和进行分析(这些符号用于“转到定义”和“查找所有引用”等)。默认在这些路径中以递归方式进行搜索。指定 \"*\" 可指示非递归搜索。例如,\"${workspaceFolder}\" 将搜索所有子目录,而 \"${workspaceFolder}/*\" 将不会。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可通过命令 ${cpptools:activeConfigCustomVariable} 查询要用于 launch.json 或 tasks.json 的输入变量的自定义变量。",
|
||||
"c_cpp_properties.schema.json.definitions.env": "可通过 ${变量} 或 ${env:变量} 语法在此文件中的任意位置重用的自定义变量。",
|
||||
"c_cpp_properties.schema.json.definitions.version": "配置文件的版本。此属性由扩展托管。请勿更改它。",
|
||||
|
||||
@@ -23,88 +23,91 @@
|
||||
"c_cpp.command.vcpkgClipboardInstallSuggested.title": "将 vcpkg 安装命令复制到剪贴板",
|
||||
"c_cpp.command.vcpkgOnlineHelpSuggested.title": "访问 vcpkg 帮助页",
|
||||
"c_cpp.configuration.formatting.description": "配置格式化引擎",
|
||||
"c_cpp.configuration.formatting.clangFormat.description": "将使用 clang-format 设置代码的格式",
|
||||
"c_cpp.configuration.formatting.vcFormat.description": "将使用 Visual C++ 格式化引擎来设置代码的格式",
|
||||
"c_cpp.configuration.formatting.Default.description": "将使用 clang-format 设置代码的格式",
|
||||
"c_cpp.configuration.formatting.Disabled.description": "将禁用代码格式设置",
|
||||
"c_cpp.configuration.vcFormat.indent.braces.description": "按照在“编辑器: 制表符大小”设置中指定的量缩进大括号",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "键入新行时,相对于以下内容缩进新行:",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "最外面的左圆括号",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "最里面的左圆括号",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "当前语句的开头",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveIndentationWithinParentheses.description": "新行在键入时,会在左圆括号下对齐或者按照在“编辑器: 制表符大小”设置中指定的量进行缩进",
|
||||
"c_cpp.configuration.vcFormat.indent.caseLabels.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于 switch 语句缩进标签",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContents.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于标签缩进 case 中的代码",
|
||||
"c_cpp.configuration.formatting.clangFormat.description": "将使用 clang-format 设置代码的格式。",
|
||||
"c_cpp.configuration.formatting.vcFormat.description": "将使用 Visual C++ 格式设置引擎来设置代码的格式。",
|
||||
"c_cpp.configuration.formatting.Default.description": "将使用 clang-format 设置代码的格式。",
|
||||
"c_cpp.configuration.formatting.Disabled.description": "将禁用代码格式设置。",
|
||||
"c_cpp.configuration.vcFormat.indent.braces.description": "按照在“编辑器: 制表符大小”设置中指定的量缩进大括号。",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "确定新行缩进的相关对象",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "相对于最外侧的左括号缩进新行。",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "相对于最内侧的左括号缩进新行。",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "相对于当前语句的开头缩进新行。",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.description": "键入新行时,新行对齐到左括号下或基于 \"C_Cpp.vcFormat.indent.multiLineRelativeTo\" 对齐。",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.alignToParenthesis.description": "新行对齐到左括号下。",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.indent.description": "新行基于 \"C_Cpp.vcFormat.indent.multiLineRelativeTo\" 缩进。",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveWithinParentheses.description": "在现有代码中,保留括号内新行现有的缩进对齐方式。",
|
||||
"c_cpp.configuration.vcFormat.indent.caseLabels.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于 switch 语句缩进标签。",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContents.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于标签缩进 case 块中的代码",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContentsWhenBlock.description": "按照在“编辑器: 制表符大小”设置中指定的量,缩进 case 语句后面的大括号",
|
||||
"c_cpp.configuration.vcFormat.indent.lambdaBracesWhenParameter.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于语句的开头缩进用作函数参数的 lambda 的大括号",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.description": "跳转标签的位置",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "按照在“编辑器: 制表符大小”设置中指定的量移到当前代码缩进的左侧",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "在代码的最左侧边缘",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "跳转标签将不会格式化",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "按照在“编辑器: 制表符大小”设置中指定的量,将 goto 标签移到当前代码缩进的左侧",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "将 goto 标签置于代码的最左侧边缘。",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "不会格式化 goto 标签。",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.description": "预处理器指令的位置",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "按照在“编辑器: 制表符大小”设置中指定的量移到当前代码缩进的左侧",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "在代码的最左侧边缘",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "预处理器指令将不会格式化",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "按照在“编辑器: 制表符大小”设置中指定的量,预处理器指令位于当前代码缩进的左侧",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "预处理器指令位于代码的最左侧边缘。",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "不会格式化预处理器指令。",
|
||||
"c_cpp.configuration.vcFormat.indent.accessSpecifiers.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于类或结构定义缩进访问说明符",
|
||||
"c_cpp.configuration.vcFormat.indent.namespaceContents.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于封闭命名空间缩进代码",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "在格式设置操作过程中未更改注释的缩进",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "在格式设置操作过程中未更改注释的缩进。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.namespace.description": "用于命名空间的左大括号的位置",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.type.description": "用于类型定义的左大括号的位置",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.lambda.description": "用于 lambda 函数的左大括号的位置",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.function.description": "用于函数的左大括号的位置",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.block.description": "用于控制块的左大括号的位置",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "将左大括号移动到新行",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "左大括号保留在同一行上,并在每个左大括号的前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "左大括号未格式化",
|
||||
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "在单独的行上放置用于范围的左大括号和右大括号",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "对于空类型,将右大括号移动到左大括号所在的同一行",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "对于空的函数体,将右大括号移动到左大括号所在的同一行",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "将“catch”和相似的关键字放在新行上",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "将“else”放在新行上",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "将 do-while 循环中的“while”放在新行上",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "将左大括号移动到新行。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "左大括号保留在同一行上,并在每个左大括号的前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "左大括号没有格式化。",
|
||||
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "在单独的行上放置用于范围的左大括号和右大括号。",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "对于空类型,将右大括号移动到左大括号所在的同一行。",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "对于空的函数体,将右大括号移动到左大括号所在的同一行。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "将 \"catch\" 和相似的关键字放在新行上。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "将 \"else\" 放在新行上。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "将 do-while 循环中的 \"while\" 放在新行上。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.description": "在函数名称与参数列表的左括号之间插入空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "在函数的左圆括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "删除函数的左圆括号前面的空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "空格保留在输入的位置",
|
||||
"c_cpp.configuration.vcFormat.space.withinParameterListParentheses.description": "在函数参数中的左圆括号后面和右圆括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyParameterListParentheses.description": "当函数参数列表为空时,在其圆括号之间插入一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.afterKeywordsInControlFlowStatements.description": "在关键字与控制流语句中的左圆括号之间添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinControlFlowStatementParentheses.description": "在控制流语句的左圆括号后面和右圆括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeLambdaOpenParenthesis.description": "在 lambda 参数列表的左圆括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinCastParentheses.description": "在 C 样式的强制转换的左圆括号后面和右圆括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.afterCastCloseParenthesis.description": "在 C 样式的强制转换的右圆括号后面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinExpressionParentheses.description": "在带圆括号的左圆括号后面和右圆括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeBlockOpenBrace.description": "在范围块的左大括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyBraces.description": "当大括号为空且位于同一行时,在它们之间插入一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInitializerListOpenBrace.description": "在统一初始化和初始值设定项列表的左大括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinInitializerListBraces.description": "在统一初始化和初始值设定项列表的左大括号后面和右大括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.preserveInInitializerList.description": "在统一初始化和初始值设定项列表中,逗号两侧的空格会保留",
|
||||
"c_cpp.configuration.vcFormat.space.beforeOpenSquareBracket.description": "在左方括号的前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinSquareBrackets.description": "在左方括号后面和右方括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeEmptySquareBrackets.description": "当方括号为空时,在左方括号的前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptySquareBrackets.description": "当方括号为空时,在方括号之间插入一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.groupSquareBrackets.description": "对于多维数组,删除方括号之间的所有空格。控制空格的其他设置将被重写",
|
||||
"c_cpp.configuration.vcFormat.space.withinLambdaBrackets.description": "在左方括号后面和右方括号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyLambdaBrackets.description": "当方括号为空时,在方括号之间插入一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeComma.description": "在每个逗号的前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.afterComma.description": "在每个逗号后面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundMemberOperators.description": "成员访问运算符、指向成员的指针运算符和范围解析运算符前后的空格会被删除",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInheritanceColon.description": "在类定义中继承的类型的冒号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeConstructorColon.description": "在构造函数定义中的冒号前面添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "删除每个分号前面的空格",
|
||||
"c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "在每个分号后面插入一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "删除一元运算符和操作数之间的空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "在函数的左括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "删除函数左括号前的空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "保留输入的空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinParameterListParentheses.description": "在函数参数列表中的左括号后面和右括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyParameterListParentheses.description": "当函数参数列表为空时,在其括号之间插入一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.afterKeywordsInControlFlowStatements.description": "在关键字与控制流语句中的左括号之间添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinControlFlowStatementParentheses.description": "在控制流语句的左括号后面和右括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeLambdaOpenParenthesis.description": "在 lambda 参数列表的左括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinCastParentheses.description": "在 C 样式的强制转换的左括号后面和右括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.afterCastCloseParenthesis.description": "在 C 样式的强制转换的右括号后面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinExpressionParentheses.description": "在带圆括号的表达式的左括号后面和右括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeBlockOpenBrace.description": "在范围块的左大括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyBraces.description": "当大括号为空且位于同一行时,在它们之间插入一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInitializerListOpenBrace.description": "在统一初始化和初始值设定项列表的左大括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinInitializerListBraces.description": "在统一初始化和初始值设定项列表的左大括号后面和右大括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.preserveInInitializerList.description": "在统一初始化和初始值设定项列表中,逗号两侧的空格会保留。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeOpenSquareBracket.description": "在左方括号之前添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinSquareBrackets.description": "在左方括号后面和右方括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeEmptySquareBrackets.description": "当方括号为空时,在左方括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptySquareBrackets.description": "当方括号为空时,在方括号之间插入一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.groupSquareBrackets.description": "对于多维数组,删除方括号之间的所有空格。控制空格的其他设置将被重写。",
|
||||
"c_cpp.configuration.vcFormat.space.withinLambdaBrackets.description": "在左方括号后面和右方括号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyLambdaBrackets.description": "当方括号为空时,在方括号之间插入一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeComma.description": "在每个逗号前添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.afterComma.description": "在每个逗号后面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundMemberOperators.description": "成员访问运算符、指向成员的指针运算符和范围解析运算符前后的空格会被删除。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInheritanceColon.description": "在类定义中继承的类型的冒号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeConstructorColon.description": "在构造函数定义中的冒号前面添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "将移除每个分号前的空格。",
|
||||
"c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "在每个分号后面插入一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "移除一元运算符和操作数之间的空格。",
|
||||
"c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": "二元运算符两侧的空格",
|
||||
"c_cpp.configuration.vcFormat.space.aroundAssignmentOperator.description": "赋值运算符两侧的空格",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.description": "指针和引用运算符两侧的空格",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "指针和引用运算符左对齐",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "指针和引用运算符居中对齐",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "指针和引用运算符右对齐",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "指针和引用运算符没有格式化",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "指针和引用运算符左对齐。",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "指针和引用运算符居中对齐。",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "指针和引用运算符右对齐。",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "指针和引用运算符没有格式化。",
|
||||
"c_cpp.configuration.vcFormat.space.aroundTernaryOperator.description": "条件运算符两侧的空格",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "在运算符前后添加一个空格",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "删除运算符前后的空格",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "空格保留在输入的位置",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "在运算符的前后添加一个空格。",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "移除运算符前后的空格。",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "保留输入的空格。",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.description": "块的换行选项",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "无论任何“VC 格式: 新行”设置的值如何,在一行输入的完整代码块都保留在一行上",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "无论任何“VC 格式: 新行”设置的值如何,在一行输入左大括号和右大括号的任何代码都保留在一行上",
|
||||
@@ -124,7 +127,7 @@
|
||||
"c_cpp.configuration.loggingLevel.description": "输出面板中日志记录的详细程度。从最低详细程度到最高详细程度的顺序为: None < Error < Warning < Information < Debug.",
|
||||
"c_cpp.configuration.autoAddFileAssociations.description": "控制当文件是来自 C/C++ 文件的导航操作的目标时,是否将文件自动添加到 files.associations。",
|
||||
"c_cpp.configuration.workspaceParsingPriority.description": "控制在分析非活动工作区文件时是否使用休眠以避免 CPU 使用率达到 100%。最高/高/中等/低的值约对应于 100/75/50/25% 的 CPU 使用率。",
|
||||
"c_cpp.configuration.workspaceSymbols.description": "调用“转到工作区中的符号”时要包含在查询结果中的符号",
|
||||
"c_cpp.configuration.workspaceSymbols.description": "调用“转到工作区中的符号”时要包含在查询结果中的符号。",
|
||||
"c_cpp.configuration.exclusionPolicy.description": "在遍历 \"browse.path\" 数组中的路径并确定应将哪些文件添加到代码导航数据库中时,指示扩展何时使用 \"files.exclude\" 设置。\"checkFolders\" 表示仅为每个文件夹评估一次排除筛选器(不检查单个文件)。\"checkFilesAndFolders\" 表示将对遇到的每个文件和文件夹评估排除筛选器。如果 \"files.exclude\" 设置仅包含文件夹,则 \"checkFolders\" 是最佳选择,可提高扩展对代码导航数据库执行初始化的速度。",
|
||||
"c_cpp.configuration.preferredPathSeparator.description": "要作为 #include 自动完成结果的路径分隔符使用的字符。",
|
||||
"c_cpp.configuration.simplifyStructuredComments.description": "如果为 true,则悬停和自动完成的工具提示将仅显示结构化注释的特定标签。否则,显示所有注释。",
|
||||
@@ -135,6 +138,7 @@
|
||||
"c_cpp.configuration.configurationWarnings.description": "确定在配置提供程序扩展无法提供源文件配置时是否显示弹出通知。",
|
||||
"c_cpp.configuration.intelliSenseCachePath.description": "为 IntelliSense 使用的缓存预编译标头定义文件夹路径。Windows 上的默认缓存路径为 \"%LocalAppData%/Microsoft/vscode-cpptools\",Linux 上为 \"$XDG_CACHE_HOME/vscode-cpptools/\" (若未定义 XDG_CACHE_HOME,则为 \"$HOME/.cache/vscode-cpptools/\"),Mac 上为 \"$HOME/Library/Caches/vscode-cpptools/\"。如果未指定路径或指定的路径无效,则使用默认路径。",
|
||||
"c_cpp.configuration.intelliSenseCacheSize.description": "缓存的预编译标头的每个工作区硬盘驱动器空间的最大大小(MB);实际使用量可能在此值上下波动。默认大小为 5120 MB。当大小为 0 时,预编译的标头缓存将被禁用。",
|
||||
"c_cpp.configuration.intelliSenseMemoryLimit.description": "IntelliSense 进程的内存使用限制(MB)。默认限制为 4096 MB,最大限制为 16 GB。当 IntelliSense 进程超出限制时,扩展将关闭并重新启动改进程。",
|
||||
"c_cpp.configuration.default.includePath.description": "在 cpp_properties.json 中未指定 \"includePath\" 时要在配置中使用的值。如果指定了 \"includePath\",则向数组添加 \"${default}\" 以从此设置插入值。",
|
||||
"c_cpp.configuration.default.defines.description": "未指定 \"defines\" 时要在配置中使用的值,或 \"defines\" 中存在 \"${default}\" 时要插入的值。",
|
||||
"c_cpp.configuration.default.macFrameworkPath.description": "未指定 \"macFrameworkPath\" 时要在配置中使用的值,或 \"macFrameworkPath\" 中存在 \"${default}\" 时要插入的值。",
|
||||
@@ -160,7 +164,7 @@
|
||||
"c_cpp.configuration.codeFolding.description": "如果启用,则由语言服务器提供代码折叠范围。",
|
||||
"c_cpp.configuration.vcpkg.enabled.markdownDescription": "为 [vcpkg 依赖关系管理器] 启用集成服务(https://aka.ms/vcpkg/)。",
|
||||
"c_cpp.configuration.renameRequiresIdentifier.description": "如果为 true,则“重命名符号”将需要有效的 C/C++ 标识符。",
|
||||
"c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "如果为 true,调试程序 shell 命令替换将使用过时的反引号(`)",
|
||||
"c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "如果为 true,调试程序 shell 命令替换将使用过时的反引号(`)。",
|
||||
"c_cpp.contributes.views.cppReferencesView.title": "C/C++: 其他引用结果",
|
||||
"c_cpp.debuggers.pipeTransport.description": "如果存在,这会指示调试程序使用其他可执行文件作为管道来连接到远程计算机,此管道将在 VS Code 和已启用 MI 的调试程序后端可执行文件(如 gdb)之间中继标准输入/输入。",
|
||||
"c_cpp.debuggers.pipeTransport.default.pipeProgram": "输入管道程序名称的完全限定路径,例如 \"/usr/bin/ssh\"",
|
||||
@@ -221,5 +225,11 @@
|
||||
"c_cpp.debuggers.symbolLoadInfo.description": "对符号加载的显式控制。",
|
||||
"c_cpp.debuggers.symbolLoadInfo.loadAll.description": "如果为 true,则将加载所有 lib 的符号;否则不加载任何 solib 符号。默认值为 true。",
|
||||
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "以分号 \";\" 分隔的文件名列表(允许使用通配符)。修改 LoadAll 的行为。如果 LoadAll 为 true,则不加载与列表中任何名称匹配的 lib 的符号。否则,仅为匹配的 lib 加载符号。示例: \"foo.so;bar.so\"",
|
||||
"c_cpp.debuggers.requireExactSource.description": "可选标志,用于要求当前源代码与 pdb 匹配。"
|
||||
"c_cpp.debuggers.requireExactSource.description": "可选标志,用于要求当前源代码与 pdb 匹配。",
|
||||
"c_cpp.taskDefinitions.name.description": "任务的名称",
|
||||
"c_cpp.taskDefinitions.command.description": "执行编译的编译器或脚本的路径",
|
||||
"c_cpp.taskDefinitions.args.description": "要传递给编译器或编译脚本的其他参数",
|
||||
"c_cpp.taskDefinitions.options.description": "其他命令选项",
|
||||
"c_cpp.taskDefinitions.options.cwd.description": "已执行程序或脚本的当前工作目录。如果省略,则使用代码的当前工作区根。",
|
||||
"c_cpp.taskDefinitions.detail.description": "任务类型的其他详细信息"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"invalid.identifier.for.rename": "为“重命名符号”操作提供的标识符无效。",
|
||||
"unable.to.locate.selected.symbol": "找不到所选符号的定义。"
|
||||
}
|
||||
@@ -5,8 +5,7 @@
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"c.cpp.debug.protocol": "C/C++ 调试协议",
|
||||
"invalid.identifier.for.rename": "为“重命名符号”操作提供的标识符无效。",
|
||||
"unable.to.locate.selected.symbol": "找不到所选符号的定义。",
|
||||
"c.cpp.warnings": "C/C++ 配置警告",
|
||||
"unable.to.start": "无法启动 C/C++ 语言服务器。IntelliSense 功能将被禁用。错误: {0}",
|
||||
"check.permissions": "EPERM: 检查“{0}”的权限",
|
||||
"server.crashed2": "在过去 3 分钟内,语言服务器崩溃了 5 次。它不会重新启动。",
|
||||
@@ -34,6 +33,5 @@
|
||||
"yes.button": "是",
|
||||
"no.button": "否",
|
||||
"configurations.received": "已收到自定义配置:",
|
||||
"browse.configuration.received": "已收到自定义浏览配置: {0}",
|
||||
"browse.configuration": "自定义浏览配置: {0}"
|
||||
"browse.configuration.received": "已收到自定义浏览配置: {0}"
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"failed.to.parse.tasks": "未能分析 tasks.json,可能是因注释或尾部逗号所致。",
|
||||
"failed.to.parse.json": "未能分析 json 文件,可能是因注释或尾部逗号所致。",
|
||||
"extension.not.ready": "C/C++ 扩展仍在安装。请查看输出窗口获取详细信息。",
|
||||
"refer.read.me": "请参阅 {0} 了解疑难解答信息。可在 {1} 处创建问题",
|
||||
"process.exited.with.code": "{0} 已退出,收到错误代码 {1}",
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"include_errors_update_include_path_squiggles_disables": "检测到 #include 错误。请更新 includePath。已为此翻译单元({0})禁用波形曲线。",
|
||||
"include_errors_update_include_path_intellisense_disabled": "检测到 #include 错误。请更新 includePath。此翻译单元({0})的 IntelliSense 功能将由标记分析器提供。",
|
||||
"include_errors_update_compile_commands_or_include_path_intellisense_disabled": "检测到 #include 错误。请考虑更新 compile_commands.json 或 includePath。此翻译单元({0})的 IntelliSense 功能将由标记分析器提供。",
|
||||
"could_not_parse_compile_commands": "无法分析“{0}”。将改用文件夹“{1}”中来自 c_cpp_properties.json 的 \"includePath\"。",
|
||||
"could_not_parse_compile_commands": "无法分析“{0}”。将改用来自文件夹“{1}”中的 c_cpp_properties.json 的 \"includePath\"。",
|
||||
"could_not_find_compile_commands": "找不到“{0}”。将改用文件夹“{1}”中来自 c_cpp_properties.json 的 \"includePath\"。",
|
||||
"file_not_found_in_path": "在“{1}”中未找到“{0}”。此文件将改用文件夹“{2}”中来自 c_cpp_properties.json 的 \"includePath\"。",
|
||||
"database_reset": "已成功重置 IntelliSense 数据库。",
|
||||
@@ -92,8 +92,6 @@
|
||||
"not_exited_yet": "尚未退出。将休眠 {0} 毫秒,然后重试。",
|
||||
"failed_to_spawn_process": "未能生成进程。错误: {0}({1})",
|
||||
"offering_completion": "提供完成",
|
||||
"compiler_from_compiler_path": "正在尝试从 \"compilerPath\" 属性中的编译器获取默认值:“{0}”",
|
||||
"compiler_from_compile_commands": "正在尝试从 compile_commands.json file 文件中的编译器获取默认值:“{0}”",
|
||||
"compiler_on_machine": "正在尝试从计算机上找到的编译器获取默认值:“{0}”",
|
||||
"unable_to_resolve_include_path": "无法解析包含路径: {0}",
|
||||
"error_searching_for_intellisense_client": "搜索 IntelliSense 客户端时出错: {0}",
|
||||
@@ -147,7 +145,7 @@
|
||||
"timed_out_attempting_to_communicate_with_process": "尝试与进程通信时超时!",
|
||||
"process_failed_to_run": "进程未能运行",
|
||||
"wsl_not_detected": "未检测到 WSL",
|
||||
"compiler_in_compilerpath_not_found": "找不到 \"compilerPath\" 属性中的编译器: {0}",
|
||||
"compiler_in_compilerpath_not_found": "未找到指定的编译器: {0}",
|
||||
"config_data_invalid": "配置数据无效,{0}",
|
||||
"cmake_executable_not_found": "在 {0} 找不到 CMake 可执行文件",
|
||||
"no_args_provider": "无参数提供程序",
|
||||
@@ -177,5 +175,34 @@
|
||||
"deprecated_label": "已弃用:",
|
||||
"exceptions_label": "异常:",
|
||||
"template_parameters_label": "模板参数:",
|
||||
"compiler_probe_command_line": "编译器探测命令行: {0}"
|
||||
"compiler_probe_command_line": "编译器探测命令行: {0}",
|
||||
"c_compiler_from_compiler_path": "正在尝试从 \"compilerPath\" 属性中的 C 编译器获取默认值:“{0}”",
|
||||
"cpp_compiler_from_compiler_path": "正在尝试从 \"compilerPath\" 属性中的 C++ 编译器获取默认值:“{0}”",
|
||||
"c_compiler_from_compile_commands": "正在尝试从 compile_commands.json 文件中的 C 编译器获取默认值:“{0}”",
|
||||
"cpp_compiler_from_compile_commands": "正在尝试从 compile_commands.json 文件中的 C++ 编译器获取默认值:“{0}”",
|
||||
"c_intellisense_mode_changed": "对于 C 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”。",
|
||||
"cpp_intellisense_mode_changed": "对于 C++ 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”。",
|
||||
"c_std_version_changed": "对于 C 源文件,cStandard 已从“{0}”更改为“{1}”。",
|
||||
"cpp_std_version_changed": "对于 C++ 源文件,cppStandard 已从“{0}”更改为“{1}”。",
|
||||
"c_intellisense_mode_and_std_version_changed": "对于 C 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cStandard 已从“{2}”更改为“{3}”。",
|
||||
"cpp_intellisense_mode_and_std_version_changed": "对于 C++ 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cppStandard 已从“{2}”更改为“{3}”。",
|
||||
"c_intellisense_mode_changed_with_path": "对于 C 源文件,IntelliSenseMode 已根据编译器参数和探测 compilerPath 从“{0}”更改为“{1}”:“{2}”",
|
||||
"cpp_intellisense_mode_changed_with_path": "对于 C++ 源文件,IntelliSenseMode 已根据编译器参数和探测 compilerPath 从“{0}”更改为“{1}”:“{2}”",
|
||||
"c_std_version_changed_with_path": "对于 C 源文件,cStandard 已根据编译器参数和探测 compilerPath 从“{0}”更改为“{1}”:“{2}”",
|
||||
"cpp_std_version_changed_with_path": "对于 C++ 源文件,cppStandard 已根据编译器参数和探测 compilerPath 从“{0}”更改为“{1}”:“{2}”",
|
||||
"c_intellisense_mode_and_std_version_changed_with_path": "对于 C 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cStandard 已根据编译器参数和探测 compilerPath 从“{2}”更改为“{3}”:“{4}”",
|
||||
"cpp_intellisense_mode_and_std_version_changed_with_path": "对于 C++ 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cppStandard 已根据编译器参数和探测 compilerPath 从“{2}”更改为“{3}”:“{4}”",
|
||||
"compiler_path_changed": "无法使用 compilerPath“{0}”解析配置。 请改用“{1}”。",
|
||||
"compiler_path_invalid": "无法使用 compilerPath 解析配置:“{0}”",
|
||||
"compiler_path_empty": "由于 compilerPath 明确为空,因此正在跳过对编译器的探测",
|
||||
"msvc_intellisense_specified": "已指定 MSVC intelliSenseMode。正在针对编译器 cl.exe 进行配置。",
|
||||
"unable_to_configure_cl_exe": "无法针对编译器 cl.exe 进行配置。",
|
||||
"probing_compiler_default_target": "正在使用命令行探测编译器的目标:“{0}”{1}",
|
||||
"compiler_default_target": "编译器返回的默认目标值: {0}",
|
||||
"c_probing_compiler_default_standard": "正在使用命令行探测默认 C 语言标准的编译器: {0}",
|
||||
"cpp_probing_compiler_default_standard": "正在使用命令行探测默认 C++ 语言标准的编译器: {0}",
|
||||
"detected_language_standard_version": "检测到的语言标准版本: {0}",
|
||||
"unhandled_default_target_detected": "检测到未处理的默认编译器目标值: {0}",
|
||||
"unhandled_target_arg_detected": "检测到未处理的目标参数值: {0}",
|
||||
"memory_limit_shutting_down_intellisense": "正在关闭 IntelliSense 服务器: {0}。内存使用量为 {1} MB,已超过 {2} MB 的限制。"
|
||||
}
|
||||
@@ -4,9 +4,10 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"downloading.progress.description": "正在下载 {0}",
|
||||
"installing.progress.description": "正在安装 {0}",
|
||||
"package.manager.missing": "程序包清单不存在",
|
||||
"downloading.package": "正在下载程序包“{0}”",
|
||||
"downloading.progress.description": "正在下载 {0}: {1}",
|
||||
"error.from": "来自 {0} 的错误",
|
||||
"failed.download.url": "未能下载 {0}",
|
||||
"failed.retrying": "失败。正在重试...",
|
||||
@@ -18,6 +19,7 @@
|
||||
"failed.web.error": "失败(错误代码“{0}”)",
|
||||
"web.response.error": "HTTP/HTTPS 响应错误",
|
||||
"invalid.content.length.received": "接收的内容长度位置无效",
|
||||
"invalid.content.received": "收到的内容无效。哈希不正确。",
|
||||
"web.request.error": "HTTP/HTTPS 请求错误",
|
||||
"installing.package": "正在安装包“{0}”",
|
||||
"downloaded.unavailable": "下载的文件不可用",
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
"switch.to.json": "通过单击文件链接或使用以下命令切换到 {0} 文件:",
|
||||
"edit.configurations.in.json": "编辑 JSON 文件中的配置",
|
||||
"edit.configurations.json": "C/C++: 编辑配置(JSON)",
|
||||
"check.the.schema": "转到 {0},详细了解 C/C++ 属性。",
|
||||
"view.schema.reference": "属性架构引用",
|
||||
"intellisense.configurations": "IntelliSense 配置",
|
||||
"intellisense.configurations.description": "使用此编辑器编辑在基础 {0} 文件中定义的 IntelliSense 设置。在此编辑器中所做的更改仅适用于所选的配置。要一次编辑多个配置,请转到 {1}。",
|
||||
"configuration.name": "配置名称",
|
||||
@@ -30,13 +32,13 @@
|
||||
"intellisense.mode": "IntelliSense 模式",
|
||||
"intellisense.mode.description": "要使用的 IntelliSense 模式,该模式映射到 MSVC、gcc 或 Clang 的体系结构专属变体。如果未设置或设置为 {0},则扩展将选择该平台的默认值。Windows 默认为 {1},Linux 默认为 {2},macOS 默认为 {3}。选择特定 IntelliSense 模式以替代 {4} 模式。",
|
||||
"include.path": "包含路径",
|
||||
"include.path.description": "包含路径是包括源文件中随附的头文件(如 {0})的文件夹。指定 IntelliSense 引擎在搜索包含的头文件时要使用的列表路径。如果路径以 {1} 结尾,则 IntelliSense 引擎将从该目录开始递归搜索头文件。如果在安装了 Visual Studio 的 Windows 上,或者在 {2} 设置中指定了编译器,则无需在此列表中列出系统包含路径。",
|
||||
"include.path.description": "include 路径是包括源文件中随附的头文件(如 {0})的文件夹。指定 IntelliSense 引擎在搜索包含的头文件时要使用的列表路径。对这些路径进行的搜索不是递归搜索。指定 {1} 可指示递归搜索。例如,{2} 将搜索所有子目录,而 {3} 则不会。如果在安装了 Visual Studio 的 Windows 上,或者在 {4} 设置中指定了编译器,则无需在此列表中列出系统 include 路径。",
|
||||
"one.include.path.per.line": "每行一个包含路径。",
|
||||
"defines": "定义",
|
||||
"defines.description": "分析文件时 IntelliSense 引擎要使用的预处理器定义的列表。(可选)使用 {0} 设置值,例如 {1}。",
|
||||
"one.definition.per.line": "每行一个定义。",
|
||||
"c.standard": "C 标准",
|
||||
"c.standard.description": "用于 IntelliSense 的 C 语言标准的版本。注意: GNU 标准仅用于查询设置用来获取 GNU 定义的编译器,并且 IntelliSense 将模拟等效的 C 标准版本。",
|
||||
"c.standard.description": "用于 IntelliSense 的 C 语言标准的版本。注意: GNU 标准仅用于查询设置编译器以获取 GNU 定义,并且 IntelliSense 将模拟等效的 C 标准版本。",
|
||||
"cpp.standard": "C++ 标准",
|
||||
"cpp.standard.description": "用于 IntelliSense 的 C++ 语言标准的版本。注意: GNU 标准仅用于查询设置用来获取 GNU 定义的编译器,并且 IntelliSense 将模拟等效的 C++ 标准版本。",
|
||||
"advanced.settings": "高级设置",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "用於 IntelliSense 的 C 語言標準版本。注意: GNU 標準僅會用於查詢設定編譯器以取得 GNU 定義,而 IntelliSense 將會模擬相同的 C 標準版本。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "用於 IntelliSense 的 C++ 語言標準版本。注意: GNU 標準僅會用於查詢設定編譯器以取得 GNU 定義,而 IntelliSense 將會模擬相同的 C++ 標準版本。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "工作區 compile_commands.json 檔案的完整路徑。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "供 IntelliSense 引擎在搜尋包含的標頭時使用的路徑清單。會在這些路徑進行非遞迴搜尋。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Intellisense 引擎搜尋所含標頭檔時所要使用的清單路徑。若要重複搜尋,請指定 '**'。例如 '${workspaceFolder}/**' 會搜尋所有子目錄,而 '${workspaceFolder}' 不會。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "供 Intellisense 引擎在 Mac 架構中搜尋包含的標頭時使用的路徑清單。僅支援用於 Mac 組態。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "要在 Windows 上使用的 Windows SDK 包含路徑版本,例如 '10.0.17134.0'。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "剖析檔案時,IntelliSense 引擎要使用的前置處理器定義清單。您可使用 = 來設定值,例如 VERSION=1。",
|
||||
@@ -19,7 +19,7 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "提供原始程式檔 IntelliSense 組態資訊的 VS Code 延伸模組識別碼。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "設為 true,就會只處理直接或間接以標頭形式包含的檔案; 設為 false,則會處理位於指定 include 路徑下的所有檔案。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "產生的符號資料庫路徑。如果指定了相對路徑,就會是相對於工作區預設儲存位置的路徑。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "供標籤剖析器在搜尋包含的標頭時使用的路徑清單。根據預設,會在這些路徑進行遞迴搜尋。指定 '*' 來指示非遞迴搜尋。例如: '/usr/include' 會在所有子目錄中搜尋,但 '/usr/include/*' 不會。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "用來為工作區符號進行索引編製與剖析的路徑清單 (供 [移至定義]、[尋找所有參考] 等使用)。根據預設,會以遞迴方式搜尋這些路徑。指定 '*' 表示非遞迴搜尋。例如,'${workspaceFolder}' 將在所有子目錄中搜尋,'${workspaceFolder}/*' 則不會。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可透過命令 ${cpptools:activeConfigCustomVariable} 查詢的自訂變數,用於 launch.json 或 tasks.js 的輸入變數。",
|
||||
"c_cpp_properties.schema.json.definitions.env": "可以透過使用 ${變數} 或 ${環境:變數} 語法,在此檔案中任何地方重複使用的自訂變數。",
|
||||
"c_cpp_properties.schema.json.definitions.version": "組態檔版本。此屬性受延伸模組管理,請勿變更。",
|
||||
|
||||
@@ -23,92 +23,95 @@
|
||||
"c_cpp.command.vcpkgClipboardInstallSuggested.title": "將 vcpkg 安裝命令複製到剪貼簿",
|
||||
"c_cpp.command.vcpkgOnlineHelpSuggested.title": "瀏覽 vcpkg 說明頁面",
|
||||
"c_cpp.configuration.formatting.description": "選擇格式設定引擎",
|
||||
"c_cpp.configuration.formatting.clangFormat.description": "將使用 clang-format 來格式化程式碼",
|
||||
"c_cpp.configuration.formatting.vcFormat.description": "將使用 Visual C++ 格式化引擎來格式化程式碼",
|
||||
"c_cpp.configuration.formatting.Default.description": "將使用 clang-format 來格式化程式碼",
|
||||
"c_cpp.configuration.formatting.Disabled.description": "將停用程式碼格式化",
|
||||
"c_cpp.configuration.vcFormat.indent.braces.description": "大括弧會依據 [Editor: Tab Size] 設定中指定的數量縮排",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "當鍵入新行時,按照下列項目的相對位置縮排新行:",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "最外層的左括弧",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "最內層的左括弧",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "目前陳述式的開頭",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveIndentationWithinParentheses.description": "當鍵入新行時,會在左括弧的下方對齊,或依據 [Editor: Tab Size] 設定中指定的數量縮排",
|
||||
"c_cpp.configuration.vcFormat.indent.caseLabels.description": "標籤會依據 [Editor: Tab Size] 設定中指定的數量,按照 switch 陳述式的相對位置縮排",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContents.description": "case 中的程式碼會依據 [Editor: Tab Size] 設定中指定的數量,按照其標籤的相對位置縮排",
|
||||
"c_cpp.configuration.formatting.clangFormat.description": "將使用 clang-format 來格式化程式碼。",
|
||||
"c_cpp.configuration.formatting.vcFormat.description": "將使用 Visual C++ 格式化引擎來格式化程式碼。",
|
||||
"c_cpp.configuration.formatting.Default.description": "將使用 clang-format 來格式化程式碼。",
|
||||
"c_cpp.configuration.formatting.Disabled.description": "將停用程式碼格式化。",
|
||||
"c_cpp.configuration.vcFormat.indent.braces.description": "大括弧會依據 [Editor: Tab Size] 設定中指定的數量縮排。",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "決定換行縮排相對於",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "相對於最外層的左括弧,縮排新行。",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "相對於最內層的左括弧,縮排新行。",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "相對於目前陳述式的開頭,縮排新行。",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.description": "鍵入新行時,新行會對齊左括弧或依 `C_Cpp.vcFormat.indent.multiLineRelativeTo` 對齊。",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.alignToParenthesis.description": "將新行對齊在左括弧下。",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.indent.description": "新行會依據 `C_Cpp.vcFormat.indent.multiLineRelativeTo` 縮排。",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveWithinParentheses.description": "在現有程式碼中,將新行的現有縮排對齊保留在括弧內。",
|
||||
"c_cpp.configuration.vcFormat.indent.caseLabels.description": "標籤會依據 [Editor: Tab Size] 設定中指定的數量,按照 switch 陳述式的相對位置縮排。",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContents.description": "案例區塊中的程式碼,會依據 [Editor: Tab Size] 設定中指定的數量,按照其標籤的相對位置縮排",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContentsWhenBlock.description": "依據 [Editor: Tab Size] 設定中指定的數量,縮排 case 陳述式之後的大括弧",
|
||||
"c_cpp.configuration.vcFormat.indent.lambdaBracesWhenParameter.description": "依據 [Editor: Tab Size] 設定中指定的數量,按照陳述式開頭的相對位置,縮排用為函式參數的 Lambda 大括弧",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.description": "goto 標籤的位置",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "依編輯器中指定的數量,將目前的程式碼向左縮排: [定位點大小] 設定",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "位於程式碼的最左側",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "將不會格式化 goto 標籤",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "依據 [Editor: Tab Size] 設定中指定的數量,將 goto 標籤定位在目前程式碼縮排的左側",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "將 goto 標籤固定在程式碼的最左側。",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "將不會格式化 goto 標籤。",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.description": "前置處理器指示詞的位置",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "依編輯器中指定的數量,將目前的程式碼向左縮排: [定位點大小] 設定",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "位於程式碼的最左側",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "將不會格式化前置處理器指示詞",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "依編輯器中指定的數量,將前置處理器指示詞縮排到目前程式碼的左側: [定位點大小] 設定",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "前置處理器指示詞位於程式碼的最左側。",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "將不會格式化前置處理器指示詞。",
|
||||
"c_cpp.configuration.vcFormat.indent.accessSpecifiers.description": "存取指定名稱會依據 [Editor: Tab Size] 設定中指定的數量,按照類別或結構定義的相對位置縮排",
|
||||
"c_cpp.configuration.vcFormat.indent.namespaceContents.description": "程式碼會依據 [Editor: Tab Size] 設定中指定的數量,按照其封入之命名空間的相對位置縮排",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "格式化作業期間未變更註解的縮排",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "格式化作業期間,註解的縮排未變更。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.namespace.description": "命名空間之左大括弧的位置",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.type.description": "型別定義之左大括弧的位置",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.lambda.description": "Lambda 函式之左大括弧的位置",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.function.description": "函式之左大括弧的位置",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.block.description": "控制區塊之左大括弧的位置",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "將左大括弧移至新行",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "將左大括弧保持在同一行,並在每個左大括弧前加入一個空格",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "左大括弧未格式化",
|
||||
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "將範圍的左大括弧與右大括弧個別置於一行",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "針對空的類型,將右大括號移至與左大括號同一行",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "針對空的函式主體,將右大括號移至與左大括號同一行",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "將 'catch' 和類似的關鍵字放在新行",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "將 'else' 放在新行",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "將 do-while 迴圈中的 'while' 放在新行",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "將左大括號移至新行。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "將左大括號保持在同一行,並在每個左大括號前加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "左大括號未格式化。",
|
||||
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "將範圍的左大括號與右大括號置於不同行。",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "若是空的類型,會將右大括號移至與左大括號同一行。",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "若是空的函式主體,會將右大括號移至與左大括號同一行。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "將 'catch' 與類似的關鍵字置於新行。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "將 'else' 置於新行。",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "將 do-while 迴圈中的 'while' 置於新行。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.description": "在引數清單中的函式名稱與左括弧之間新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "在函式的左括號前加上空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "已移除函式左括弧前的空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "輸入時保留空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinParameterListParentheses.description": "在函式參數清單的左括弧後與右括弧前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyParameterListParentheses.description": "若函式參數清單是空的,在其括弧之間插入空格",
|
||||
"c_cpp.configuration.vcFormat.space.afterKeywordsInControlFlowStatements.description": "在控制流程陳述式中的關鍵字與左括弧之間新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinControlFlowStatementParentheses.description": "在控制流程陳述式中的左括弧後與右括弧前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeLambdaOpenParenthesis.description": "在 Lambda 引數清單的左括弧之前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinCastParentheses.description": "在 C 樣式轉換的左括弧後與右括弧前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.afterCastCloseParenthesis.description": "在 C 樣式轉換的右括弧之後新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinExpressionParentheses.description": "在括有括弧之運算式的左括弧後與右括弧前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeBlockOpenBrace.description": "在範圍區塊的左大括弧之前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyBraces.description": "若同一行的大括弧是空的,在其間插入空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInitializerListOpenBrace.description": "在統一的初始設定與初始設定式清單之左大括弧前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinInitializerListBraces.description": "在統一的初始設定與初始設定式清單之左大括弧後與右大括弧前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.preserveInInitializerList.description": "統一初始化設定與初始設定式清單內會保留逗號前後的空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeOpenSquareBracket.description": "在左方括號之前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.withinSquareBrackets.description": "在左方括號後與右方括號前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeEmptySquareBrackets.description": "若方括號是空的,在左方括號之前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptySquareBrackets.description": "若方括號是空的,在其間插入空格",
|
||||
"c_cpp.configuration.vcFormat.space.groupSquareBrackets.description": "移除多維陣列中之方括號間的所有空格。其他用以控制空格的設定將予忽略",
|
||||
"c_cpp.configuration.vcFormat.space.withinLambdaBrackets.description": "在左方括號後與右方括號前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyLambdaBrackets.description": "若方括號是空的,在其間插入空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeComma.description": "在每個逗號之前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.afterComma.description": "在每個逗號之後新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundMemberOperators.description": "移除成員存取運算子、成員指標運算子與範圍解析運算子前後的空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInheritanceColon.description": "在類別定義中繼承而來之類型的冒號前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeConstructorColon.description": "在建構函式定義的冒號之前新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "移除每個分號前的空格",
|
||||
"c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "在每個分號之後插入空格",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "移除一元運算子與運算元之間的空格",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "在函式的左括弧前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "已移除函式左括號之前的空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "將空格保持輸入的狀態。",
|
||||
"c_cpp.configuration.vcFormat.space.withinParameterListParentheses.description": "在函式參數清單的左括弧後與右括弧前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyParameterListParentheses.description": "若函式參數清單是空的,則在其括弧之間插入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.afterKeywordsInControlFlowStatements.description": "在控制流程陳述式的關鍵字與左括弧之間,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinControlFlowStatementParentheses.description": "在控制流程陳述式的左括弧後與右括弧前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeLambdaOpenParenthesis.description": "在 Lambda 引數清單的左括弧前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinCastParentheses.description": "在 C-style 轉換的左括弧後與右括弧前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.afterCastCloseParenthesis.description": "在 C-Style 轉換的右括弧後,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinExpressionParentheses.description": "在括有括弧之運算式的左括弧後與右括弧前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeBlockOpenBrace.description": "在範圍區塊的左大括號前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyBraces.description": "若同一行的大括號是空的,在其間插入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInitializerListOpenBrace.description": "在統一初始設定與初始設定清單的左大括號前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinInitializerListBraces.description": "在統一初始設定與初始設定清單的左大括號後以及右大括號前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.preserveInInitializerList.description": "統一初始設定與初始設定清單內,逗號前後會保留空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeOpenSquareBracket.description": "在左方括號前面加入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.withinSquareBrackets.description": "在左方括號後面和右方括號前面加入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeEmptySquareBrackets.description": "如果方括號空白,在左方括號前面加入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptySquareBrackets.description": "如果方括號空白,在方括號之間插入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.groupSquareBrackets.description": "針對多維陣列,移除方括號間的所有空格。覆寫其他控制空格的設定。",
|
||||
"c_cpp.configuration.vcFormat.space.withinLambdaBrackets.description": "在左方括號後面和右方括號前面加入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyLambdaBrackets.description": "如果方括號空白,在方括號之間插入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeComma.description": "在每一個逗號前面加入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.afterComma.description": "在每一個逗號後面加入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundMemberOperators.description": "移除成員存取運算子、成員指標運算子與範圍解析運算子前後的空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInheritanceColon.description": "在類別定義中,繼承而來類型的冒號前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.beforeConstructorColon.description": "在建構函式定義的冒號前,加入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "移除每一個分號前的空格。",
|
||||
"c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "在每個分號之後,插入一個空格。",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "移除一元運算子與運算元之間的空格。",
|
||||
"c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": "二元運算子前後的空格",
|
||||
"c_cpp.configuration.vcFormat.space.aroundAssignmentOperator.description": "指派運算子前後的空格",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.description": "在指標與參考運算子前後新增空格",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "指標與參考運算子靠左對齊",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "指標與參考運算子置中",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "指標與參考運算子靠右對齊",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "指標與參考運算子未格式化",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "指標與參考運算子靠左對齊。",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "指標與參考運算子置中。",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "指標與參考運算子靠右對齊。",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "指標與參考運算子未格式化。",
|
||||
"c_cpp.configuration.vcFormat.space.aroundTernaryOperator.description": "條件運算子前後的空格",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "在運算子的前後加上空格",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "已移除運算子前後的空格",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "輸入時保留空格",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "在運算子的前後都加入空格。",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "移除運算子前後的空格。",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "將空格保持輸入的狀態。",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.description": "區塊的換行選項",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "在一行中輸入的完整程式碼區塊會保留在同一行,而不考慮任何 VC 格式的值: [換行] 設定",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "在一行中輸入由左大括弧和右大括弧括住的任何程式碼都保留在同一行,而不考慮任何 VC 格式的值: [換行] 設定",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "程式碼區塊的格式一律取決於 VC 格式的值: [換行] 設定",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "在一行中所輸入的完整程式碼區塊都保留在同一行,而不考慮任何 VC 格式的值: [新行] 設定",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "在一行中所輸入由左大括號和右大括號括住的任何程式碼,都保留在同一行,而不考慮任何 VC 格式的值: [新行] 設定",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "程式碼區塊的格式一律以 VC 格式的值為準: [新行] 設定",
|
||||
"c_cpp.configuration.clang_format_path.description": "此為 clang-format 可執行檔的完整路徑。如果未指定,且在環境路徑中可用 clang-format,即會使用該格式。如果在環境路徑中找不到,則會使用延伸模組所配備的 clang-format 複本。",
|
||||
"c_cpp.configuration.clang_format_style.description": "編碼樣式,目前支援: Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit。使用「檔案」可從目前目錄或父目錄的 .clang-format 檔案載入樣式。使用 {鍵: 值, ...} 可設定特定參數。例如,\"Visual Studio\" 樣式類似於: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All }",
|
||||
"c_cpp.configuration.clang_format_fallbackStyle.description": "當已使用樣式 \"file\" 叫用 clang 格式,但找不到 .clang-format 檔案時,用作後援的預先定義樣式名稱。可能的值包括 Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit、none 或使用 {key: value, ...} 來設定特定參數。例如,\"Visual Studio\" 樣式類似於: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }",
|
||||
@@ -124,7 +127,7 @@
|
||||
"c_cpp.configuration.loggingLevel.description": "輸出面板中記錄的詳細程度。從最不詳細到最詳細的層級順序為: None < Error < Warning < Information < Debug.",
|
||||
"c_cpp.configuration.autoAddFileAssociations.description": "控制是否會在檔案為 C/C++ 檔案的瀏覽作業目標時,自動將檔案新增至 files.associations。",
|
||||
"c_cpp.configuration.workspaceParsingPriority.description": "控制非作用中工作區檔案的剖析是否會使用睡眠來避免使用 100% 的 CPU。值 highest/high/medium/low 會約略對應至 100/75/50/25% CPU 使用率。",
|
||||
"c_cpp.configuration.workspaceSymbols.description": "叫用 'Go to Symbol in Workspace' 時,要包含在查詢結果中的符號",
|
||||
"c_cpp.configuration.workspaceSymbols.description": "叫用「前往工作區中的符號」時,要包含在查詢結果中的符號。",
|
||||
"c_cpp.configuration.exclusionPolicy.description": "指示延伸模組在周遊穿過 \"browse.path\" 陣列,為決定應新增至程式碼瀏覽資料庫的檔案而使用 \"files.exclude\" 設定的時機。\"checkFolders\" 代表每個資料夾 (不會檢查個別檔案) 只會評估一次排除篩選。\"checkFilesAndFolders\" 表示將對遇到的所有檔案和資料夾評估排除篩選。如果您的 \"files.exclude\" 設定只包含資料夾,則 \"checkFolders\" 為最佳選擇,且會增加延伸模組可將程式碼瀏覽資料庫初始化的速度。",
|
||||
"c_cpp.configuration.preferredPathSeparator.description": "用作 #include 自動完成結果路徑分隔符號的字元。",
|
||||
"c_cpp.configuration.simplifyStructuredComments.description": "若為 true,暫留與自動完成的工具提示只會顯示特定結構化註解標籤,否則將會顯示所有註解。",
|
||||
@@ -134,7 +137,8 @@
|
||||
"c_cpp.configuration.commentContinuationPatterns.description": "定義在多行或單行註解區塊按下 ENTER 的編輯器行為。",
|
||||
"c_cpp.configuration.configurationWarnings.description": "決定當組態提供者延伸模組無法提供來源檔案的組態時,是否會顯示快顯通知。",
|
||||
"c_cpp.configuration.intelliSenseCachePath.description": "定義 IntelliSense 使用之快取先行編譯標頭檔的資料夾路徑。預設快取路徑在 Windows 上為 \"%LocalAppData%/Microsoft/vscode-cpptools\",在 Linux 上為 \"$XDG_CACHE_HOME/vscode-cpptools/\" (若未定義 XDG_CACHE_HOME,則為 \"$HOME/.cache/vscode-cpptools/\"),在 Mac 上則為 \"$HOME/Library/Caches/vscode-cpptools/\"。如果未指定路徑或指定的路徑無效,就會使用預設路徑。",
|
||||
"c_cpp.configuration.intelliSenseCacheSize.description": "快取先行編譯標頭檔的每個工作區硬碟空間大小上限 (mb); 實際使用量可能會在此值周圍波動。預設大小為 5120 MB。當大小為 0 時,會停用先行編譯的標頭快取。",
|
||||
"c_cpp.configuration.intelliSenseCacheSize.description": "快取之先行編譯標頭檔可使用的每個工作區硬碟空間大小上限 (MB); 實際使用量會在此值附近波動。預設大小為 5120 MB。若大小為 0,將會停用先行編譯標頭檔快取。",
|
||||
"c_cpp.configuration.intelliSenseMemoryLimit.description": "IntelliSense 處理序所能使用的記憶體上限 (MB)。預設限制為 4096 MB,上限為 16 GB。當超過此限制時,此延伸模組將會關閉再重新啟動 IntelliSense 處理序。",
|
||||
"c_cpp.configuration.default.includePath.description": "若 c_cpp_properties.json 中未指定 \"includePath\" 時,要在設定中使用的值。如有指定 \"includePath\",請將 \"${default}\" 新增到陣列中,以插入此設定的值。",
|
||||
"c_cpp.configuration.default.defines.description": "當 \"defines\" 未指定時,要在設定中使用的值,或 \"defines\" 中有 \"${default}\" 時要插入的值。",
|
||||
"c_cpp.configuration.default.macFrameworkPath.description": "當 \"macFrameworkPath\" 未指定時,要在設定中使用的值,或 \"macFrameworkPath\" 中有 \"${default}\" 時要插入的值。",
|
||||
@@ -160,7 +164,7 @@
|
||||
"c_cpp.configuration.codeFolding.description": "若啟用,則由語言伺服器提供程式碼摺疊功能範圍。",
|
||||
"c_cpp.configuration.vcpkg.enabled.markdownDescription": "啟用 [vcpkg 相依性管理員](https://aka.ms/vcpkg/)的整合服務。",
|
||||
"c_cpp.configuration.renameRequiresIdentifier.description": "若為 true,則「重新命名符號」需要有效的 C/C++ 識別碼。",
|
||||
"c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "若為 true,偵錯工具殼層命令替代將會使用已淘汰的反引號 (`)",
|
||||
"c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "若為 true,偵錯工具殼層命令替代將會使用已淘汰的反引號 (`)。",
|
||||
"c_cpp.contributes.views.cppReferencesView.title": "C/C++: 其他參考結果",
|
||||
"c_cpp.debuggers.pipeTransport.description": "出現時,會指示偵錯工具使用另一個可執行檔來連線至遠端電腦,該管道會在 VS Code 與 MI 啟用偵錯工具後端可執行檔之間傳送標準輸入/輸出 (例如 gdb)。",
|
||||
"c_cpp.debuggers.pipeTransport.default.pipeProgram": "輸入管道程式名稱的完整路徑,例如 '/usr/bin/ssh'",
|
||||
@@ -221,5 +225,11 @@
|
||||
"c_cpp.debuggers.symbolLoadInfo.description": "符號載入的明確控制。",
|
||||
"c_cpp.debuggers.symbolLoadInfo.loadAll.description": "若為 true,將會載入所有程式庫的符號,否則不會載入任何 solib 符號。預設值為 true。",
|
||||
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "以分號 ';' 分隔的檔名清單 (允許使用萬用字元)。修改 LoadAll 的行為。如果 LoadAll 為 true,則不會載入與清單中任何名稱相符的程式庫符號。否則只會載入相符的程式庫符號。範例: \"foo.so;bar.so\"",
|
||||
"c_cpp.debuggers.requireExactSource.description": "要求目前原始程式碼與 pdb 相符的選用旗標。"
|
||||
"c_cpp.debuggers.requireExactSource.description": "要求目前原始程式碼與 pdb 相符的選用旗標。",
|
||||
"c_cpp.taskDefinitions.name.description": "工作的名稱",
|
||||
"c_cpp.taskDefinitions.command.description": "執行編譯的編譯器或指令碼路徑",
|
||||
"c_cpp.taskDefinitions.args.description": "要傳遞給編譯器或編譯指令碼的其他引數",
|
||||
"c_cpp.taskDefinitions.options.description": "其他命令選項",
|
||||
"c_cpp.taskDefinitions.options.cwd.description": "所執行程式或指令碼的目前工作目錄。如果省略,則會使用 Code 的目前工作區根目錄。",
|
||||
"c_cpp.taskDefinitions.detail.description": "工作的其他詳細資料"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"invalid.identifier.for.rename": "為重新命名符號作業提供的識別碼無效。",
|
||||
"unable.to.locate.selected.symbol": "找不到所選符號的定義。"
|
||||
}
|
||||
@@ -5,8 +5,7 @@
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"c.cpp.debug.protocol": "C/C++ 偵錯通訊協定",
|
||||
"invalid.identifier.for.rename": "為重新命名符號作業提供的識別碼無效。",
|
||||
"unable.to.locate.selected.symbol": "找不到所選符號的定義。",
|
||||
"c.cpp.warnings": "C/C++ 設定警告",
|
||||
"unable.to.start": "無法啟動 C/C + + 語言伺服器。將停用 IntelliSense 功能。錯誤: {0}",
|
||||
"check.permissions": "EPERM: 檢查 '{0}' 的權限",
|
||||
"server.crashed2": "語言伺服器在過去 3 分鐘內發生 5 次故障。將不會重新啟動。",
|
||||
@@ -34,6 +33,5 @@
|
||||
"yes.button": "是",
|
||||
"no.button": "否",
|
||||
"configurations.received": "收到的自訂組態:",
|
||||
"browse.configuration.received": "收到的自訂瀏覽組態: {0}",
|
||||
"browse.configuration": "自訂瀏覽設定: {0}"
|
||||
"browse.configuration.received": "收到的自訂瀏覽組態: {0}"
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"failed.to.parse.tasks": "無法剖析工作 tasks.json,這可能是因為註解或結尾逗號所致。",
|
||||
"failed.to.parse.json": "無法剖析 json 檔案,這可能是因為註解或結尾逗號所致。",
|
||||
"extension.not.ready": "C/C ++ 延伸模組仍在安裝。如需詳細資訊,請查看輸出視窗。",
|
||||
"refer.read.me": "如需疑難排解資訊,請參閱 {0}。問題可在 {1} 建立",
|
||||
"process.exited.with.code": "{0} 已結束,錯誤碼為 {1}",
|
||||
|
||||
@@ -92,8 +92,6 @@
|
||||
"not_exited_yet": "尚未結束。將睡眠 {0} 毫秒並再試一次。",
|
||||
"failed_to_spawn_process": "無法產生處理序。錯誤: {0} ({1})",
|
||||
"offering_completion": "正在提供完成",
|
||||
"compiler_from_compiler_path": "正在嘗試從 \"compilerPath\" 屬性中的編譯器取得預設: '{0}'",
|
||||
"compiler_from_compile_commands": "正在嘗試從 compile_commands.json 檔案中的編譯器取得預設: '{0}'",
|
||||
"compiler_on_machine": "正在嘗試從電腦上找到的編譯器取得預設: '{0}'",
|
||||
"unable_to_resolve_include_path": "無法解析包含路徑: {0}。",
|
||||
"error_searching_for_intellisense_client": "搜尋 IntelliSense 用戶端時發生錯誤: {0}",
|
||||
@@ -147,7 +145,7 @@
|
||||
"timed_out_attempting_to_communicate_with_process": "嘗試與處理序通訊時發生逾時!",
|
||||
"process_failed_to_run": "處理序無法執行",
|
||||
"wsl_not_detected": "未偵測到 WSL",
|
||||
"compiler_in_compilerpath_not_found": "找不到 \"compilerPath\" 屬性中的編譯器: {0}",
|
||||
"compiler_in_compilerpath_not_found": "找不到指定的編譯器: {0}",
|
||||
"config_data_invalid": "組態資料無效,{0}",
|
||||
"cmake_executable_not_found": "在 {0} 找不到 CMake 可執行檔",
|
||||
"no_args_provider": "沒有任何引數提供者",
|
||||
@@ -177,5 +175,34 @@
|
||||
"deprecated_label": "已淘汰:",
|
||||
"exceptions_label": "例外狀況:",
|
||||
"template_parameters_label": "範本參數:",
|
||||
"compiler_probe_command_line": "編譯器探查命令列: {0}"
|
||||
"compiler_probe_command_line": "編譯器探查命令列: {0}",
|
||||
"c_compiler_from_compiler_path": "正在嘗試從 C 編譯器的 \"compilerPath\" 屬性中取得預設值: '{0}'",
|
||||
"cpp_compiler_from_compiler_path": "正在嘗試從 C++ 編譯器的 \"compilerPath\" 屬性中取得預設值: '{0}'",
|
||||
"c_compiler_from_compile_commands": "正在嘗試從 C 編譯器的 compile_commands.json 檔案中取得預設值: '{0}'",
|
||||
"cpp_compiler_from_compile_commands": "正在嘗試從 C++ 編譯器的 compile_commands.json 檔案中取得預設值: '{0}'",
|
||||
"c_intellisense_mode_changed": "若為 C 原始程式檔,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\"。",
|
||||
"cpp_intellisense_mode_changed": "若為 C++ 原始程式檔,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\"。",
|
||||
"c_std_version_changed": "若為 C 原始程式檔,cStandard 已從 \"{0}\" 變更為 \"{1}\"。",
|
||||
"cpp_std_version_changed": "若為 C 原始程式檔,cppStandard 已從 \"{0}\" 變更為 \"{1}\"。",
|
||||
"c_intellisense_mode_and_std_version_changed": "若為 C 原始程式檔,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\",且 cStandard 已從 \"{2}\" 變更為 \"{3}\"。",
|
||||
"cpp_intellisense_mode_and_std_version_changed": "若為 C++ 原始程式檔,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\",且 cppStandard 已從 \"{2}\" 變更為 \"{3}\"。",
|
||||
"c_intellisense_mode_changed_with_path": "若為 C 原始程式檔,依據編譯器引數與探查 compilerPath,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\": \"{2}\"",
|
||||
"cpp_intellisense_mode_changed_with_path": "若為 C++ 原始程式檔,依據編譯器引數與探查 compilerPath,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\": \"{2}\"",
|
||||
"c_std_version_changed_with_path": "若為 C 原始程式檔,依據編譯器引數與探查 compilerPath,cStandard 已從 \"{0}\" 變更為 \"{1}\": \"{2}\"",
|
||||
"cpp_std_version_changed_with_path": "若為 C++ 原始程式檔,依據編譯器引數與探查 compilerPath,cppStandard 已從 \"{0}\" 變更為 \"{1}\": \"{2}\"",
|
||||
"c_intellisense_mode_and_std_version_changed_with_path": "若為 C 原始程式檔,依據編譯器引數與探查 compilerPath,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\",且 cStandard 已從 \"{2}\" 變更為 \"{3}\": \"{4}\"",
|
||||
"cpp_intellisense_mode_and_std_version_changed_with_path": "若為 C++ 原始程式檔,依據編譯器引數與探查 compilerPath,IntelliSenseMode 已從 \"{0}\" 變更為 \"{1}\",且 cppStandard 已從 \"{2}\" 變更為 \"{3}\": \"{4}\"",
|
||||
"compiler_path_changed": "無法解析 compilerPath \"{0}\" 的設定。請改為使用 \"{1}\"。",
|
||||
"compiler_path_invalid": "無法解析 compilerPath 的設定: \"{0}\"",
|
||||
"compiler_path_empty": "因已明確清空 compilerPath,所以略過探查編譯器",
|
||||
"msvc_intellisense_specified": "已指定 MSVC intelliSenseMode。正在進行編譯器 cl.exe 的設定。",
|
||||
"unable_to_configure_cl_exe": "無法進行編譯器 cl.exe 的設定。",
|
||||
"probing_compiler_default_target": "使用命令列探查編譯器的預設目標: \"{0}\" {1}",
|
||||
"compiler_default_target": "編譯器傳回了預設目標值: {0}",
|
||||
"c_probing_compiler_default_standard": "使用命令列探查預設 C 語言標準的編譯器: {0}",
|
||||
"cpp_probing_compiler_default_standard": "使用命令列探查預設 C++ 語言標準的編譯器: {0}",
|
||||
"detected_language_standard_version": "已偵測到語言標準版本: {0}",
|
||||
"unhandled_default_target_detected": "偵測到未處理的預設編譯器目標值: {0}",
|
||||
"unhandled_target_arg_detected": "偵測到未處理的目標引數值: {0}",
|
||||
"memory_limit_shutting_down_intellisense": "IntelliSense 伺服器即將關機: {0}。記憶體使用量為 {1} MB,超過了 {2} MB 的限制。"
|
||||
}
|
||||
@@ -4,9 +4,10 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"downloading.progress.description": "正在下載 {0}",
|
||||
"installing.progress.description": "正在安裝 {0}",
|
||||
"package.manager.missing": "套件資訊清單不存在",
|
||||
"downloading.package": "下載套件 '{0}'",
|
||||
"downloading.progress.description": "正在下載 {0}: {1}",
|
||||
"error.from": "來自 {0} 的錯誤",
|
||||
"failed.download.url": "無法下載 {0}",
|
||||
"failed.retrying": "失敗。正在重試...",
|
||||
@@ -18,6 +19,7 @@
|
||||
"failed.web.error": "失敗 (錯誤碼 '{0}')",
|
||||
"web.response.error": "HTTP/HTTPS 回應錯誤",
|
||||
"invalid.content.length.received": "收到的內容長度位置無效",
|
||||
"invalid.content.received": "收到的內容無效。雜湊不正確。",
|
||||
"web.request.error": "HTTP/HTTPS 要求錯誤",
|
||||
"installing.package": "正在安裝套件 '{0}'",
|
||||
"downloaded.unavailable": "下載的檔案無法使用",
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
"switch.to.json": "按一下檔案連結或使用以下命令切換至 {0} 檔案:",
|
||||
"edit.configurations.in.json": "編輯 JSON 檔案中的組態",
|
||||
"edit.configurations.json": "C/C++: 編輯組態 (JSON)",
|
||||
"check.the.schema": "若要深入了解 C/C++ 屬性,請前往 {0}。",
|
||||
"view.schema.reference": "屬性結構描述參考",
|
||||
"intellisense.configurations": "IntelliSense 組態",
|
||||
"intellisense.configurations.description": "使用此編輯器來編輯基礎 {0} 檔案中定義的 IntelliSense 設定。在此編輯器中進行的變更只會套用到選取的組態。若要一次編輯多個組態,請前往 {1}。",
|
||||
"configuration.name": "設定名稱",
|
||||
@@ -30,7 +32,7 @@
|
||||
"intellisense.mode": "IntelliSense 模式",
|
||||
"intellisense.mode.description": "要使用的 IntelliSense 模式 (對應到 MSVC、gcc 或 Clang 的架構專屬變體)。如果未設定或設為 {0},延伸模組會選擇該平台的預設。Windows 預設為 {1}、Linux 預設為 {2}、macOS 預設為 {3}。選取特定的 IntelliSense 模式即可覆寫 {4} 模式。",
|
||||
"include.path": "包含路徑",
|
||||
"include.path.description": "Include 路徑是包含原始程式檔內標頭檔 (例如 {0}) 的資料夾。請指定供 Intellisense 引擎在搜尋包含的標頭時使用的路徑清單。如果路徑結尾為 {1},IntelliSense 引擎會從該目錄開始對標頭檔進行遞迴搜尋。如果在安裝了 Visual Studio 的 Windows 上,或 {2} 設定中指定了編譯器,就不需要在此清單中列出系統 include 路徑。",
|
||||
"include.path.description": "include 路徑是包含來源檔案所含之標頭檔 (例如 {0}) 的資料夾。請為 Intellisense 引擎指定搜尋所含標頭檔時所要使用的路徑清單。這些路徑不會重複搜尋。若要重複搜尋,請指定 {1}。例如 {2} 會搜尋所有子目錄,而 {3} 不會。若在安裝了 Visual Studio 的 Windows 上,或在 {4} 設定中指定了編譯器,就無須在此清單中列出系統的 include 路徑。",
|
||||
"one.include.path.per.line": "每行一個包含路徑。",
|
||||
"defines": "定義",
|
||||
"defines.description": "剖析檔案時,IntelliSense 引擎要使用的前置處理器定義清單。可使用 {0} 來設定值,例如 {1}。",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Verze standardu jazyka C, která se použije pro IntelliSense. Poznámka: Standardy GNU se používají jen k odeslání dotazu nastavenému kompilátoru, aby se získaly definice GNU. IntelliSense bude emulovat ekvivalentní verzi standardu C.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Verze standardu jazyka C++, která se použije pro IntelliSense. Poznámka: Standardy GNU se používají jen k odeslání dotazu nastavenému kompilátoru, aby se získaly definice GNU. IntelliSense bude emulovat ekvivalentní verzi standardu C++.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Úplná cesta k souboru compile_commands.json pro pracovní prostor",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Seznam cest, které modul IntelliSense použije při hledání zahrnutých hlaviček. Hledání na těchto cestách není rekurzivní.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Seznam cest, které modul IntelliSense použije při hledání zahrnutých hlaviček. Hledání v těchto cestách není rekurzivní. Pokud chcete zapnout rekurzivní hledání, zadejte **. Například při zadání ${workspaceFolder}/** se bude hledat ve všech podadresářích, zatímco při zadání ${workspaceFolder} nebude.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Seznam cest pro modul IntelliSense, který se použije při hledání zahrnutých hlaviček z architektur Mac. Podporuje se jen pro konfiguraci pro Mac.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Verze cesty pro vložené soubory sady Windows SDK, která se má použít ve Windows, např. 10.0.17134.0",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "Seznam definic preprocesoru, které modul IntelliSense použije při parsování souborů. Volitelně můžete pomocí = nastavit hodnotu, třeba VERSION=1.",
|
||||
@@ -19,7 +19,7 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "ID rozšíření VS Code, které může funkci IntelliSense poskytnout informace o konfiguraci pro zdrojové soubory.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "True, pokud chcete zpracovat jen soubory přímo nebo nepřímo zahrnuté jako hlavičky, false, pokud chcete zpracovat všechny soubory na zadaných cestách pro vložené soubory",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Cesta k vygenerované databázi symbolů. Pokud se zadá relativní cesta, nastaví se jako relativní k výchozímu umístění úložiště pracovního prostoru.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Seznam cest, které analyzátor značek použije při hledání zahrnutých hlaviček. Hledání na těchto cestách je standardně rekurzivní. Pokud chcete zadat nerekurzivní hledání, zadejte *. Příklad: /usr/include bude hledat ve všech podadresářích, zatímco /usr/include/* ne.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Seznam cest, které se použijí pro indexování a parsování symbolů pracovního prostoru (použijí se pro funkce Přejít na definici, Najít všechny odkazy apod.). Hledání na těchto cestách je standardně rekurzivní. Pokud chcete zadat nerekurzivní vyhledávání, zadejte *. Například ${workspaceFolder} prohledá všechny podadresáře, ale ${workspaceFolder}/* ne.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Vlastní proměnné, na které se dá poslat dotaz prostřednictvím příkazu ${cpptools:activeConfigCustomVariable}, aby se použily jako vstupní proměnné v souborech launch.json nebo tasks.json.",
|
||||
"c_cpp_properties.schema.json.definitions.env": "Vlastní proměnné, které se dají opakovaně použít kdekoli v tomto souboru pomocí syntaxe ${proměnná} nebo ${env:proměnná}.",
|
||||
"c_cpp_properties.schema.json.definitions.version": "Verze konfiguračního souboru. Tuto vlastnost spravuje rozšíření. Neměňte ji prosím.",
|
||||
|
||||
@@ -28,23 +28,26 @@
|
||||
"c_cpp.configuration.formatting.Default.description": "K formátování kódu se použije clang-format.",
|
||||
"c_cpp.configuration.formatting.Disabled.description": "Formátování kódu bude zakázané.",
|
||||
"c_cpp.configuration.vcFormat.indent.braces.description": "Složené závorky se odsazují mezerou zadanou v nastavení Editor: Velikost tabulátoru.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Když se zadá nový řádek, odsadit tento nový řádek relativně k:",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "vnější levé závorce",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "vnitřní levé závorce",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "začátku aktuálního příkazu",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveIndentationWithinParentheses.description": "Když se zadá nový řádek, zarovná se pod levou závorku, nebo se odsadí mezerou zadanou v nastavení Editor: Velikost tabulátoru.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Určuje, k čemu bude relativní odsazení nových řádků.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "Odsadí nový řádek relativně k nejzevnější levé závorce.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "Odsadí nový řádek relativně k nejvnitřnější levé závorce.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "Odsadí nový řádek relativně k začátku aktuálního příkazu.",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.description": "Když se napíše nový řádek, zarovná se pod levou závorkou nebo podle hodnoty parametru C_Cpp.vcFormat.indent.multiLineRelativeTo.",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.alignToParenthesis.description": "Nový řádek se zarovná pod levou závorkou.",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.indent.description": "Nový řádek se odsadí podle hodnoty parametru C_Cpp.vcFormat.indent.multiLineRelativeTo.",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveWithinParentheses.description": "V existujícím kódu se zachová stávající zarovnání odsazení nových řádků v závorkách.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseLabels.description": "Popisky se odsazují relativně k příkazům switch mezerou zadanou v nastavení Editor: Velikost tabulátoru.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContents.description": "Kód v příkazu case se odsazuje relativně ke svému popisku mezerou zadanou v nastavení Editor: Velikost tabulátoru.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContents.description": "Kód v bloku case se odsazuje relativně ke svému popisku mezerou zadanou v nastavení Editor: Velikost tabulátoru.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContentsWhenBlock.description": "Odsadit složené závorky za příkazem case mezerou zadanou v nastavení Editor: Velikost tabulátoru",
|
||||
"c_cpp.configuration.vcFormat.indent.lambdaBracesWhenParameter.description": "Odsadit složené závorky výrazů lambda, které se používají jako parametry funkcí, relativně k začátku příkazu mezerou zadanou v nastavení Editor: Velikost tabulátoru",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.description": "Pozice popisků goto",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "nalevo od aktuálního odsazení kódu mezerou zadanou v nastavení Editor: Velikost tabulátoru",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "ke zcela levému okraji kódu",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "Popisky goto se nebudou formátovat",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "Popisky goto se umístí nalevo od aktuálního odsazení kódu mezerou zadanou v nastavení Editor: Velikost tabulátoru.",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "Popisky goto se umístí ke zcela levému okraji kódu.",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "Popisky goto se nebudou formátovat.",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.description": "Pozice direktiv preprocesoru",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "nalevo od aktuálního odsazení kódu mezerou zadanou v nastavení Editor: Velikost tabulátoru",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "ke zcela levému okraji kódu",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "direktivy preprocesoru se nebudou formátovat",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "Direktivy preprocesoru se umístí nalevo od aktuálního odsazení kódu mezerou zadanou v nastavení Editor: Velikost tabulátoru.",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "Direktivy preprocesoru se umístí ke zcela levému okraji kódu.",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "Direktivy preprocesoru se nebudou formátovat.",
|
||||
"c_cpp.configuration.vcFormat.indent.accessSpecifiers.description": "Specifikátory přístupu jsou odsazené relativně k definicím tříd nebo struktur mezerou zadanou v nastavení Editor: Velikost tabulátoru.",
|
||||
"c_cpp.configuration.vcFormat.indent.namespaceContents.description": "Kód se odsazuje relativně ke svému uzavírajícímu oboru názvů mezerou zadanou v nastavení Editor: Velikost tabulátoru.",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "Při formátovacích operacích se nezmění odsazení komentářů.",
|
||||
@@ -53,19 +56,19 @@
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.lambda.description": "Pozice levých složených závorek pro funkce lambda",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.function.description": "Pozice levých složených závorek pro funkce",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.block.description": "Pozice levých složených závorek pro řídicí bloky",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "levá složená závorka se přesune na nový řádek",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "levé složené závorky se zachovají na stejném řádku a před každou se přidá mezera",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "levé složené závorky se neformátují",
|
||||
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "Umístit levé a pravé složené závorky pro obory na samostatné řádky",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "V případě prázdných typů přesunout pravou složenou závorku na řádek, na kterém je levá složená závorka",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "V případě prázdných těl funkcí nout pravou závorku na řádek, na kterém je levá závorka",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "Umísťovat catch a podobná klíčová slova na nový řádek",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "Umístit else na nový řádek",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "Umístit while ve smyčce do-while na nový řádek",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "Levá složená závorka se přesune na nový řádek.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "Levé složené závorky se zachovají na stejném řádku a před každou se přidá mezera.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "Levé složené závorky se nebudou formátovat.",
|
||||
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "Levé a pravé složené závorky pro obory se umístí na samostatné řádky.",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "V případě prázdných typů se pravá závorka přesune na stejný řádek, na kterém je levá závorka.",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "V případě prázdných těl funkcí se pravá závorka přesune na stejný řádek, na kterém je levá závorka.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "Catch a podobná klíčová slova se budou umísťovat na nový řádek.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "Else se umístí na nový řádek.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "While ve smyčce do-while se umístí na nový řádek.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.description": "Mezery mezi názvy funkcí a levými závorkami seznamů argumentů",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "Před levou závorku funkce přidat mezeru",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "mezery před levými závorkami funkce se odeberou",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "mezery zůstanou tak, jak se zadají",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "Před levou závorku funkce se přidá mezera.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "Odstraní se mezery před levými závorkami funkce.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "Mezery zůstanou tak, jak se zadají.",
|
||||
"c_cpp.configuration.vcFormat.space.withinParameterListParentheses.description": "Přidá se mezera za levou závorku i před pravou závorku v seznamech parametrů funkcí.",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyParameterListParentheses.description": "Pokud je seznam parametrů funkce prázdný, vloží se mezera mezi jeho závorky.",
|
||||
"c_cpp.configuration.vcFormat.space.afterKeywordsInControlFlowStatements.description": "Mezi klíčové slovo a levou závorku v příkazech řízení toků se přidá mezera.",
|
||||
@@ -92,23 +95,23 @@
|
||||
"c_cpp.configuration.vcFormat.space.beforeInheritanceColon.description": "Před dvojtečku pro zděděné typy v definicích tříd se přidá mezera.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeConstructorColon.description": "Před dvojtečku v definicích konstruktorů se přidá mezera.",
|
||||
"c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "Odeberou se mezery před všemi středníky.",
|
||||
"c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "Vloží mezeru za každý středník.",
|
||||
"c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "Za každý středník se vloží mezera.",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "Mezery mezi unárními operátory a jejich operandy se odeberou.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": "Mezery okolo binárních operátorů",
|
||||
"c_cpp.configuration.vcFormat.space.aroundAssignmentOperator.description": "Mezery okolo operátorů přiřazení",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.description": "Mezery okolo operátorů ukazatelů a referencí",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "operátory ukazatelů a referencí jsou zarovnané doleva",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "operátory ukazatelů a referencí jsou zarovnané na střed",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "operátory ukazatelů a referencí jsou zarovnané doprava",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "operátory ukazatelů a referencí se neformátují",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "Operátory ukazatelů a referencí se zarovnají doleva.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "Operátory ukazatelů a referencí se zarovnají na střed.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "Operátory ukazatelů a referencí se zarovnají doprava.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "Operátory ukazatelů a referencí se nebudou formátovat.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundTernaryOperator.description": "Mezery okolo podmíněných operátorů",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "Před operátor i za něj se přidá mezera.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "Mezery před a za operátorem se odeberou.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "mezery zůstanou tak, jak se zadají",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "Před operátor a taky za něj se přidá mezera.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "Odeberou se mezery před a za operátorem.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "Mezery zůstanou tak, jak se zadají.",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.description": "Možnosti zalamování pro bloky",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "Celý blok kódu, který se zadá na jednom řádku, zůstane na jednom řádku bez ohledu na hodnoty kteréhokoli nastavení Formát VC: Nový řádek.",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "Jakýkoli kód, ve kterém se na jednom řádku zadají levá a pravá složená závorka, zůstane na jednom řádku bez ohledu na hodnoty kteréhokoli nastavení Formát VC: Nový řádek.",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "Bloky kódu se vždy formátují podle hodnot v nastaveních Formát VC: Nový řádek.",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "Celý blok kódu, který se zadá na jednom řádku, zůstane na jednom řádku bez ohledu na hodnoty nastavení Formát VC: Nový řádek.",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "Jakýkoliv kód, ve kterém se na jednom řádku zadají levá a pravá složená závorka, zůstane na jednom řádku bez ohledu na hodnoty nastavení Formát VC: Nový řádek.",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "Bloky kódu se budou vždy formátovat podle hodnot nastavení Formát VC: Nový řádek.",
|
||||
"c_cpp.configuration.clang_format_path.description": "Úplná cesta ke spustitelnému souboru clang-format. Pokud se nezadá, clang-format je k dispozici na cestě prostředí a ta se použije. Pokud se na cestě prostředí nenajde, použije se kopie clang-format, která se dodává spolu s rozšířením.",
|
||||
"c_cpp.configuration.clang_format_style.description": "Styl kódování, v současné době se podporuje: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Pokud chcete načíst styl ze souboru .clang-format v aktuálním nebo nadřazeném adresáři, použijte možnost file. Pokud chcete zadat konkrétní parametry, použijte {klíč: hodnota, ...}. Například styl Visual Studio je podobný tomuto: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All }",
|
||||
"c_cpp.configuration.clang_format_fallbackStyle.description": "Název předdefinovaného stylu, který se použije jako záloha v případě, že se vyvolá formát Clang se stylem file, ale nenajde se soubor .clang-format. Možné hodnoty jsou Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, none, případně můžete použít {klíč: hodnota, ...} a nastavit konkrétní parametry. Například styl Visual Studio je podobný tomuto: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }",
|
||||
@@ -134,7 +137,8 @@
|
||||
"c_cpp.configuration.commentContinuationPatterns.description": "Definuje chování editoru, když se ve víceřádkovém nebo jednořádkovém bloku komentáře stiskne klávesa Enter.",
|
||||
"c_cpp.configuration.configurationWarnings.description": "Určuje, jestli se budou zobrazovat automaticky otevíraná oznámení, když rozšíření poskytovatele konfigurací nebude moct poskytnout konfiguraci pro určitý zdrojový soubor.",
|
||||
"c_cpp.configuration.intelliSenseCachePath.description": "Definuje cestu ke složce pro předkompilované hlavičky uložené do mezipaměti, které používá IntelliSense. Výchozí cesta k mezipaměti je %LocalAppData%/Microsoft/vscode-cpptools ve Windows, $XDG_CACHE_HOME/vscode-cpptools/ v Linuxu (případně $HOME/.cache/vscode-cpptools/, pokud se nedefinovalo XDG_CACHE_HOME) a $HOME/Library/Caches/vscode-cpptools/ na Macu. Výchozí cesta se použije, když se nezadá žádná cesta nebo když zadaná cesta nebude platná.",
|
||||
"c_cpp.configuration.intelliSenseCacheSize.description": "Maximální velikost místa na pevném disku pro předkompilované hlavičky uložené do mezipaměti na jeden pracovní prostor v megabajtech. Skutečné využití se může pohybovat kolem této hodnoty. Výchozí velikost je 5120 MB. Když se velikost nastaví na 0, ukládání předkompilovaných hlaviček do mezipaměti se zakáže.",
|
||||
"c_cpp.configuration.intelliSenseCacheSize.description": "Maximální velikost místa na pevném disku pro předkompilované hlavičky uložené do mezipaměti na jeden pracovní prostor v megabajtech (MB). Skutečné využití se může pohybovat kolem této hodnoty. Výchozí velikost je 5120 MB. Když se velikost nastaví na 0, ukládání předkompilovaných hlaviček do mezipaměti se zakáže.",
|
||||
"c_cpp.configuration.intelliSenseMemoryLimit.description": "Omezení využití paměti v megabajtech (MB) procesu IntelliSense. Výchozí limit je 4096 MB a maximální velikost je 16 GB. Rozšíření se vypne a restartuje proces IntelliSense, pokud limit překročí.",
|
||||
"c_cpp.configuration.default.includePath.description": "Hodnota, která se použije v konfiguraci, když se v souboru c_cpp_properties.json nezadá includePath. Pokud se includePath zadá, přidejte do pole ${default}, aby se vložily hodnoty z tohoto nastavení.",
|
||||
"c_cpp.configuration.default.defines.description": "Hodnota, která se použije v konfiguraci, pokud se nezadá defines, nebo hodnoty, které se mají vložit, pokud se v defines nachází ${default}",
|
||||
"c_cpp.configuration.default.macFrameworkPath.description": "Hodnota, která se použije v konfiguraci, pokud se nezadá macFrameworkPath, nebo hodnoty, které se mají vložit, pokud se ve macFrameworkPath nachází ${default}",
|
||||
@@ -221,5 +225,11 @@
|
||||
"c_cpp.debuggers.symbolLoadInfo.description": "Explicitní řízení načítání symbolů",
|
||||
"c_cpp.debuggers.symbolLoadInfo.loadAll.description": "V případě hodnoty true se načtou symboly pro všechny knihovny (lib), jinak se nenačtou žádné symboly solib. Výchozí hodnota je true.",
|
||||
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "Seznam názvů souborů (s povolenými zástupnými znaky) oddělených středníky (;). Upraví chování pro LoadAll. Hodnota true pro LoadAll znamená, že se nemají načítat symboly pro knihovny (lib), které odpovídají libovolnému názvu v seznamu. V opačném případě se mají načíst symboly pro všechny odpovídající knihovny. Příklad: foo.so;bar.so",
|
||||
"c_cpp.debuggers.requireExactSource.description": "Volitelný příznak, který vyžaduje, aby aktuální zdrojový kód odpovídal souboru pdb"
|
||||
"c_cpp.debuggers.requireExactSource.description": "Volitelný příznak, který vyžaduje, aby aktuální zdrojový kód odpovídal souboru pdb",
|
||||
"c_cpp.taskDefinitions.name.description": "Název úlohy",
|
||||
"c_cpp.taskDefinitions.command.description": "Cesta ke kompilátoru nebo skriptu, který provádí kompilaci",
|
||||
"c_cpp.taskDefinitions.args.description": "Další argumenty, které se mají předat kompilátoru nebo kompilačnímu skriptu",
|
||||
"c_cpp.taskDefinitions.options.description": "Další možnosti příkazu",
|
||||
"c_cpp.taskDefinitions.options.cwd.description": "The current working directory of the executed program or script. If omitted Code's current workspace root is used.",
|
||||
"c_cpp.taskDefinitions.detail.description": "Další podrobnosti o typu úlohy"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"invalid.identifier.for.rename": "Pro operaci Přejmenovat symbol se zadal neplatný identifikátor.",
|
||||
"unable.to.locate.selected.symbol": "Definice pro vybraný symbol se nenašla."
|
||||
}
|
||||
@@ -5,8 +5,7 @@
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"c.cpp.debug.protocol": "Protokol ladění C/C++",
|
||||
"invalid.identifier.for.rename": "Pro operaci Přejmenovat symbol se zadal neplatný identifikátor.",
|
||||
"unable.to.locate.selected.symbol": "Definice pro vybraný symbol se nenašla.",
|
||||
"c.cpp.warnings": "Upozornění konfigurace C/C++",
|
||||
"unable.to.start": "Nepovedlo se spustit jazykový server C/C++. Funkce IntelliSense se zakážou. Chyba: {0}",
|
||||
"check.permissions": "EPERM: Zkontrolujte oprávnění pro {0}.",
|
||||
"server.crashed2": "Jazykový server se 5krát za poslední 3 minuty chybově ukončil. Nebude se restartovat.",
|
||||
@@ -34,6 +33,5 @@
|
||||
"yes.button": "Ano",
|
||||
"no.button": "Ne",
|
||||
"configurations.received": "Přijaly se vlastní konfigurace:",
|
||||
"browse.configuration.received": "Přijala se vlastní konfigurace procházení: {0}",
|
||||
"browse.configuration": "Vlastní konfigurace procházení: {0}"
|
||||
"browse.configuration.received": "Přijala se vlastní konfigurace procházení: {0}"
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"failed.to.parse.tasks": "Nepovedlo se parsovat soubor tasks.json, pravděpodobně kvůli komentářům nebo čárkám na konci.",
|
||||
"failed.to.parse.json": "Nepovedlo se parsovat soubor json, pravděpodobně kvůli komentářům nebo čárkám na konci.",
|
||||
"extension.not.ready": "Rozšíření C/C++ se stále instaluje. Další informace najdete v okně výstupu.",
|
||||
"refer.read.me": "Informace o řešení problémů najdete v {0}. Problémy se dají vytvořit v {1}.",
|
||||
"process.exited.with.code": "{0} se ukončilo s kódem chyby {1}.",
|
||||
|
||||
@@ -92,8 +92,6 @@
|
||||
"not_exited_yet": "Proces se ještě neukončil. Počká se {0} ms a proběhne nový pokus.",
|
||||
"failed_to_spawn_process": "Nepovedlo se vygenerovat proces. Chyba: {0} ({1})",
|
||||
"offering_completion": "Nabízí se dokončení.",
|
||||
"compiler_from_compiler_path": "Probíhá pokus získat výchozí hodnoty od kompilátoru ve vlastnosti compilerPath: {0}",
|
||||
"compiler_from_compile_commands": "Probíhá pokus získat výchozí hodnoty od kompilátoru v souboru compile_commands.json: {0}",
|
||||
"compiler_on_machine": "Probíhá pokus získat výchozí hodnoty od kompilátoru nalezeného na počítači: {0}",
|
||||
"unable_to_resolve_include_path": "Nepovedlo se přeložit cestu pro vložené soubory: {0}",
|
||||
"error_searching_for_intellisense_client": "Při hledání klienta IntelliSense došlo k chybě: {0}",
|
||||
@@ -147,7 +145,7 @@
|
||||
"timed_out_attempting_to_communicate_with_process": "Při pokusu komunikovat s procesem vypršel časový limit!",
|
||||
"process_failed_to_run": "Proces se nepovedlo spustit.",
|
||||
"wsl_not_detected": "WSL se nezjistilo",
|
||||
"compiler_in_compilerpath_not_found": "Kompilátor ve vlastnosti compilerPath nebyl nalezen: {0}",
|
||||
"compiler_in_compilerpath_not_found": "Zadaný kompilátor se nenašel: {0}",
|
||||
"config_data_invalid": "Neplatná data konfigurace, {0}",
|
||||
"cmake_executable_not_found": "Spustitelný soubor CMake se v místě {0} nenašel.",
|
||||
"no_args_provider": "Žádný zprostředkovatel argumentů",
|
||||
@@ -177,5 +175,34 @@
|
||||
"deprecated_label": "Zastaralé:",
|
||||
"exceptions_label": "Výjimky:",
|
||||
"template_parameters_label": "Parametry šablony:",
|
||||
"compiler_probe_command_line": "Příkazový řádek sondy kompilátoru: {0}"
|
||||
"compiler_probe_command_line": "Příkazový řádek sondy kompilátoru: {0}",
|
||||
"c_compiler_from_compiler_path": "Probíhá pokus o získání výchozích hodnot z kompilátoru jazyka C ve vlastnosti compilerPath: {0}",
|
||||
"cpp_compiler_from_compiler_path": "Probíhá pokus o získání výchozích hodnot z kompilátoru jazyka C++ ve vlastnosti compilerPath: {0}",
|
||||
"c_compiler_from_compile_commands": "Probíhá pokus o získání výchozích hodnot z kompilátoru jazyka C v souboru compile_commands.json: {0}",
|
||||
"cpp_compiler_from_compile_commands": "Probíhá pokus o získání výchozích hodnot z kompilátoru jazyka C++ v souboru compile_commands.json: {0}",
|
||||
"c_intellisense_mode_changed": "Pro zdrojové soubory jazyka C se režim IntelliSenseMode změnil z {0} na {1}.",
|
||||
"cpp_intellisense_mode_changed": "Pro zdrojové soubory jazyka C++ se režim IntelliSenseMode změnil z {0} na {1}.",
|
||||
"c_std_version_changed": "Pro zdrojové soubory jazyka C se cStandard změnil z {0} na {1}.",
|
||||
"cpp_std_version_changed": "Pro zdrojové soubory jazyka C++ se cppStandard změnil z {0} na {1}.",
|
||||
"c_intellisense_mode_and_std_version_changed": "Pro zdrojové soubory jazyka C se režim IntelliSenseMode změnil z {0} na {1} a cStandard se změnil z {2} na {3}.",
|
||||
"cpp_intellisense_mode_and_std_version_changed": "Pro zdrojové soubory jazyka C++ se režim IntelliSenseMode změnil z {0} na {1} a cppStandard se změnil z {2} na {3}.",
|
||||
"c_intellisense_mode_changed_with_path": "Pro zdrojové soubory jazyka C se režim IntelliSenseMode změnil z {0} na {1}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {2}",
|
||||
"cpp_intellisense_mode_changed_with_path": "Pro zdrojové soubory jazyka C++ se režim IntelliSenseMode změnil z {0} na {1}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {2}",
|
||||
"c_std_version_changed_with_path": "Pro zdrojové soubory jazyka C se cStandard změnil z {0} na {1}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {2}",
|
||||
"cpp_std_version_changed_with_path": "Pro zdrojové soubory jazyka C++ se cppStandard změnil z {0} na {1}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {2}",
|
||||
"c_intellisense_mode_and_std_version_changed_with_path": "Pro zdrojové soubory jazyka C se režim IntelliSenseMode změnil z {0} na {1} a cStandard se změnil z {2} na {3}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {4}",
|
||||
"cpp_intellisense_mode_and_std_version_changed_with_path": "Pro zdrojové soubory jazyka C++ se režim IntelliSenseMode změnil z {0} na {1} a cppStandard se změnil z {2} na {3}, a to na základě argumentů kompilátoru a dotazu na vlastnost compilerPath: {4}",
|
||||
"compiler_path_changed": "Nepovedlo se přeložit konfiguraci s vlastností compilerPath {0}. Místo toho se použije {1}.",
|
||||
"compiler_path_invalid": "Nepovedlo se přeložit konfiguraci s vlastností compilerPath: {0}",
|
||||
"compiler_path_empty": "Vynechává se dotaz na kompilátor kvůli explicitně prázdné vlastnosti compilerPath.",
|
||||
"msvc_intellisense_specified": "Je zadaný režim intelliSenseMode MSVC. Probíhá konfigurace pro kompilátor cl.exe.",
|
||||
"unable_to_configure_cl_exe": "Konfigurace pro kompilátor cl.exe nebyla úspěšná.",
|
||||
"probing_compiler_default_target": "Probíhá dotazování na výchozí cíl kompilátoru pomocí příkazového řádku: {0} {1}",
|
||||
"compiler_default_target": "Kompilátor vrátil výchozí hodnotu cíle: {0}",
|
||||
"c_probing_compiler_default_standard": "Probíhá dotazování kompilátoru na výchozí standard jazyka C pomocí příkazového řádku: {0}",
|
||||
"cpp_probing_compiler_default_standard": "Probíhá dotazování kompilátoru na výchozí standard jazyka C++ pomocí příkazového řádku: {0}",
|
||||
"detected_language_standard_version": "Zjištěná verze standardu jazyka: {0}",
|
||||
"unhandled_default_target_detected": "Zjistila se neošetřená výchozí hodnota cíle kompilátoru: {0}",
|
||||
"unhandled_target_arg_detected": "Zjistila se neošetřená hodnota argumentu target: {0}",
|
||||
"memory_limit_shutting_down_intellisense": "Vypíná se server technologie IntelliSense: {0}. Využití paměti je {1} MB a překročilo limit {2} MB."
|
||||
}
|
||||
@@ -4,9 +4,10 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"downloading.progress.description": "Stahuje se {0}.",
|
||||
"installing.progress.description": "Instaluje se {0}.",
|
||||
"package.manager.missing": "Manifest balíčku neexistuje.",
|
||||
"downloading.package": "Stahuje se balíček {0}. ",
|
||||
"downloading.progress.description": "Staženo {0}: {1}",
|
||||
"error.from": "Chyba ze souboru {0}",
|
||||
"failed.download.url": "Nepovedlo se stáhnout {0}.",
|
||||
"failed.retrying": "Nepovedlo se. Pokus se opakuje...",
|
||||
@@ -18,6 +19,7 @@
|
||||
"failed.web.error": "neúspěšné (kód chyby {0})",
|
||||
"web.response.error": "Chyba odpovědi HTTP/HTTPS",
|
||||
"invalid.content.length.received": "Přijato neplatné umístění délky obsahu",
|
||||
"invalid.content.received": "Přijal se neplatný obsah. Hodnota hash je nesprávná.",
|
||||
"web.request.error": "Chyba požadavku HTTP/HTTPS",
|
||||
"installing.package": "Instaluje se balíček {0}",
|
||||
"downloaded.unavailable": "Stažený soubor není k dispozici.",
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
"switch.to.json": "Pokud se chcete přepnout na soubor {0}, klikněte na odkaz na soubor nebo použijte příkaz:",
|
||||
"edit.configurations.in.json": "Upravit konfigurace v souboru JSON",
|
||||
"edit.configurations.json": "C/C++: Upravit konfigurace (JSON)",
|
||||
"check.the.schema": "Další informace o vlastnostech jazyků C/C++ najdete tady: {0}",
|
||||
"view.schema.reference": "Referenční informace ke schématu vlastností",
|
||||
"intellisense.configurations": "Konfigurace IntelliSense",
|
||||
"intellisense.configurations.description": "Pomocí tohoto editoru můžete upravovat nastavení IntelliSense definovaná v základním souboru {0}. Změny provedené v tomto editoru se budou vztahovat jen na vybranou konfiguraci. Pokud chcete upravit více konfigurací najednou, přejděte na {1}.",
|
||||
"configuration.name": "Název konfigurace",
|
||||
@@ -30,7 +32,7 @@
|
||||
"intellisense.mode": "Režim IntelliSense",
|
||||
"intellisense.mode.description": "Režim IntelliSense, který se použije a který se mapuje na variantu MSVC, gcc nebo Clangu specifickou pro architekturu. Pokud se nenastaví nebo nastaví na {0}, rozšíření zvolí výchozí režim pro danou platformu. Výchozí možnost pro Windows je {1}, pro Linux {2} a pro macOS {3}. Pokud chcete přepsat režim {4}, vyberte konkrétní režim IntelliSense.",
|
||||
"include.path": "Zahrnout cestu",
|
||||
"include.path.description": "Cesta pro vložené soubory je složka, která obsahuje hlavičkové soubory (třeba {0}) zahrnuté do zdrojového souboru. Zadejte seznam cest, které modul IntelliSense použije při hledání zahrnutých hlavičkových souborů. Pokud cesta bude končit na {1}, modul IntelliSense bude hlavičkové soubory hledat rekurzivně od daného adresáře. Pokud používáte Windows s nainstalovanou sadou Visual Studio nebo pokud se v nastavení {2} zadá kompilátor, není nutné v tomto seznamu uvádět cesty pro systémové vložené soubory.",
|
||||
"include.path.description": "Cesta pro vložené soubory je složka, která obsahuje hlavičkové soubory (třeba {0}) zahrnuté do zdrojového souboru. Zadejte seznam cest, které modul IntelliSense použije při hledání zahrnutých hlavičkových souborů. Vyhledávání v těchto cestách není rekurzivní. Rekurzivní vyhledávání můžete zapnout zadáním přepínače {1}. Například při zadání {2} se budou prohledávat všechny podadresáře, zatímco při zadání {3} nebudou. Pokud používáte Windows s nainstalovanou sadou Visual Studio nebo pokud je v nastavení {4} zadaný kompilátor, není nutné v tomto seznamu uvádět cesty pro systémové vložené soubory.",
|
||||
"one.include.path.per.line": "Na každý řádek jedna cesta pro vložené soubory",
|
||||
"defines": "Direktivy define",
|
||||
"defines.description": "Seznam definic preprocesoru, které modul IntelliSense použije při parsování souborů. Volitelně můžete pomocí {0} nastavit hodnotu, třeba {1}.",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Version des C-Sprachstandards, die für IntelliSense verwendet werden soll. Hinweis: GNU-Standards werden nur zum Abfragen des festgelegten Compilers zum Abrufen von GNU-Definitionen verwendet, und IntelliSense emuliert die äquivalente Version des C-Standards.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Version des C++-Sprachstandards, die für IntelliSense verwendet werden soll. Hinweis: GNU-Standards werden nur zum Abfragen des festgelegten Compilers zum Abrufen von GNU-Definitionen verwendet, und IntelliSense emuliert die äquivalente Version des C++-Standards.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Vollständiger Pfad zur Datei \"compile_commands.json\" für den Arbeitsbereich.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Eine Liste der Pfade für die IntelliSense-Engine, die beim Suchen nach eingeschlossenen Headern verwendet werden soll. Die Suche in diesen Pfaden ist nicht rekursiv.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Eine Liste mit Pfaden, die von der IntelliSense-Engine bei der Suche nach eingeschlossenen Headern verwendet werden sollen. In diesen Pfaden wird keine rekursive Suche durchgeführt. Geben Sie \"*\" an, um eine rekursive Suche durchzuführen. Beispiel: Bei einer Festlegung auf \"${workspaceFolder}/**\" werden alle Unterverzeichnisse durchsucht, bei Verwendung von \"${workspaceFolder}\" werden keine Unterverzeichnisse durchsucht.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Eine Liste der Pfade für die IntelliSense-Engine, die beim Suchen nach eingeschlossenen Headern aus Mac-Frameworks verwendet werden sollen. Wird nur in der Mac-Konfiguration unterstützt.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Die Version des Windows SDK-Includepfads zur Verwendung unter Windows, z. B. \"10.0.17134.0\".",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "Eine Liste der Präprozessordefinitionen für die IntelliSense-Engine, die beim Analysieren von Dateien verwendet werden sollen. Verwenden Sie optional \"=\", um einen Wert festzulegen. Beispiel: VERSION=1.",
|
||||
@@ -19,7 +19,7 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "Die ID einer VS Code-Erweiterung, die IntelliSense-Konfigurationsinformationen für Quelldateien bereitstellen kann.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "TRUE, um nur die direkt oder indirekt als Header enthaltenen Dateien zu verarbeiten; FALSE, um alle Dateien unter den angegebenen Includepfaden zu verarbeiten.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Pfad zur generierten Symboldatenbank. Wenn ein relativer Pfad angegeben wird, wird er relativ zum Standardspeicherort des Arbeitsbereichs erstellt.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Eine Liste von Pfaden, die der Tagparser beim Suchen nach eingeschlossenen Headern verwenden soll. Die Suche in diesen Pfaden ist standardmäßig rekursiv. Geben Sie \"*\" an, um eine nicht rekursive Suche festzulegen. Beispiel: Bei \"/usr/include\" werden alle Unterverzeichnisse durchsucht, bei \"/usr/include/*\" nicht.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Eine Liste der Pfade, die für die Indizierung und Analyse von Arbeitsbereichssymbolen verwendet werden sollen (z. B. bei \"Zur Definition wechseln\" oder \"Alle Verweise suchen\"). Die Suche in diesen Pfaden ist standardmäßig rekursiv. Geben Sie \"*\" an, um eine nicht rekursive Suche durchzuführen. Beispiel: Bei \"${workspaceFolder}\" werden alle Unterverzeichnisse durchsucht, bei \"${workspaceFolder}/*\" hingegen nicht.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Benutzerdefinierte Variablen, die über den Befehl ${cpptools:activeConfigCustomVariable} abgefragt und für die Eingabevariablen in launch.json oder tasks.json verwendet werden können.",
|
||||
"c_cpp_properties.schema.json.definitions.env": "Benutzerdefinierte Variablen, die mithilfe der ${variable}- oder ${env:variable}-Syntax an beliebiger Stelle in dieser Datei wiederverwendet werden können.",
|
||||
"c_cpp_properties.schema.json.definitions.version": "Version der Konfigurationsdatei. Diese Eigenschaft wird von der Erweiterung verwaltet und darf nicht geändert werden.",
|
||||
|
||||
@@ -23,31 +23,34 @@
|
||||
"c_cpp.command.vcpkgClipboardInstallSuggested.title": "vcpkg-Installationsbefehl in Zwischenablage kopieren",
|
||||
"c_cpp.command.vcpkgOnlineHelpSuggested.title": "vcpkg-Hilfeseite aufrufen",
|
||||
"c_cpp.configuration.formatting.description": "Konfiguriert das Formatierungsmodul.",
|
||||
"c_cpp.configuration.formatting.clangFormat.description": "Zum Formatieren von Code wird clang-format verwendet.",
|
||||
"c_cpp.configuration.formatting.clangFormat.description": "Zum Formatieren von Code wird \"clang-format\" verwendet.",
|
||||
"c_cpp.configuration.formatting.vcFormat.description": "Das Visual C++-Formatierungsmodul wird zum Formatieren von Code verwendet.",
|
||||
"c_cpp.configuration.formatting.Default.description": "Zum Formatieren von Code wird clang-format verwendet.",
|
||||
"c_cpp.configuration.formatting.Default.description": "Zum Formatieren von Code wird \"clang-format\" verwendet.",
|
||||
"c_cpp.configuration.formatting.Disabled.description": "Die Codeformatierung wird deaktiviert.",
|
||||
"c_cpp.configuration.vcFormat.indent.braces.description": "Geschweifte Klammern werden um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert eingerückt.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Beim Eingeben einer neuen Zeile die neue Zeile relativ zu Folgendem einrücken:",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "Äußerste geöffnete Klammer",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "Innerste geöffnete Klammer",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "Anfang der aktuellen Anweisung",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveIndentationWithinParentheses.description": "Bei Eingabe einer neuen Zeile wird diese unter der öffnenden Klammer ausgerichtet oder um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert eingerückt.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Legt fest, relativ zu welchem Objekt Wert ein neuer Zeileneinzug festgelegt wird.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "Eine neue Zeile wird relativ zur äußersten geöffneten Klammer eingezogen.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "Eine neue Zeile wird relativ zur innersten geöffneten Klammer eingezogen.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "Eine neue Zeile wird relativ zum Anfang der aktuellen Anweisung eingezogen.",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.description": "Beim Einfügen einer neuen Zeile wird diese unter der öffnenden Klammer oder basierend auf \"C_Cpp.vcFormat.indent.multiLineRelativeTo\" ausgerichtet.",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.alignToParenthesis.description": "Die neue Zeile wird unter der öffnenden Klammer ausgerichtet.",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.indent.description": "Die neue Zeile wird basierend auf \"C_Cpp.vcFormat.indent.multiLineRelativeTo\" eingerückt.",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveWithinParentheses.description": "In vorhandenem Code wird die vorhandene Einstellung zum Einzug neuer Zeilen innerhalb von Klammern beibehalten.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseLabels.description": "Bezeichnungen werden relativ zu switch-Anweisungen um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert eingerückt.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContents.description": "Der Code in einer case-Anweisung wird relativ zu seiner Bezeichnung um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert eingerückt.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContents.description": "Der Code in einem case-Block wird relativ zu seiner Bezeichnung um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert eingerückt.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContentsWhenBlock.description": "Geschweifte Klammern nach einer case-Anweisung um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert einrücken",
|
||||
"c_cpp.configuration.vcFormat.indent.lambdaBracesWhenParameter.description": "Geschweifte Klammern von Lambdas, die als Funktionsparameter relativ zum Anfang der Anweisung verwendet werden, um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert einrücken",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.description": "Die Position von goto-Bezeichnungen",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "Links vom aktuellen Codeeinzug um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "Am Rand ganz links im Code",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "Keine Formatierung von goto-Bezeichnungen",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "Goto-Bezeichnungen werden links vom aktuellen Codeeinzug um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert positioniert.",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "Positionieren Sie goto-Bezeichnungen ganz links im Code.",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "Goto-Bezeichnungen werden nicht formatiert.",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.description": "Position der Präprozessoranweisungen",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "Links vom aktuellen Codeeinzug um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "Am Rand ganz links im Code",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "Präprozessoranweisungen werden links vom aktuellen Codeeinzug um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert positioniert.",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "Präprozessoranweisungen werden am linken Rand des Codes positioniert.",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "Präprozessoranweisungen werden nicht formatiert.",
|
||||
"c_cpp.configuration.vcFormat.indent.accessSpecifiers.description": "Zugriffsspezifizierer werden relativ zu Klassen- oder Strukturdefinitionen um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert eingerückt.",
|
||||
"c_cpp.configuration.vcFormat.indent.namespaceContents.description": "Der Code wird relativ zu seinem einschließenden Namespace um den im Editor in der Einstellung für die Tabstoppgröße angegebenen Wert eingerückt.",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "Einzug von Kommentaren wird bei Formatierungsvorgängen nicht geändert",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "Der Einzug von Kommentaren wird bei Formatierungsvorgängen nicht geändert.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.namespace.description": "Die Position der öffnenden geschweiften Klammern für Namespaces",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.type.description": "Die Position der öffnenden geschweiften Klammern für Typdefinitionen",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.lambda.description": "Die Position der öffnenden geschweiften Klammern für Lambda-Funktionen",
|
||||
@@ -55,17 +58,17 @@
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.block.description": "Die Position der öffnenden geschweiften Klammern für Kontrollblöcke",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "Öffnende geschweifte Klammern werden in eine neue Zeile verschoben.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "Öffnende geschweifte Klammern verbleiben in derselben Zeile, und es wird vor jeder Klammer ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "Keine Formatierung für öffnende geschweifte Klammern",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "Öffnende geschweifte Klammern werden nicht formatiert.",
|
||||
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "Öffnende und schließende geschweifte Klammern für Bereiche werden in getrennten Zeilen platziert.",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "Schließende geschweifte Klammern für leere Typen in dieselbe Zeile wie öffnende geschweifte Klammern verschieben",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "In leeren Funktionsrümpfen schließende geschweifte Klammern in dieselbe Zeile wie öffnende geschweifte Klammern verschieben",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "\"catch\" und ähnliche Schlüsselwörter in neuer Zeile platzieren",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "else-Anweisung in neuer Zeile anordnen",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "'while' in einer do-while-Schleife in einer neuen Zeile platzieren",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "In leeren Typen werden schließende geschweifte Klammern in dieselbe Zeile wie öffnende geschweifte Klammern verschoben.",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "In leeren Funktionskörpern werden schließende geschweifte Klammern in dieselbe Zeile wie öffnende geschweifte Klammern verschoben.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "\"catch\" und ähnliche Schlüsselwörter werden in einer neuen Zeile platziert.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "\"else\" wird in einer neuen Zeile platziert.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "\"while\" wird in einer do-while-Schleife in einer neuen Zeile platziert.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.description": "Abstand zwischen Funktionsnamen und öffnende Klammern von Argumentenlisten",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "Vor der öffnenden Klammer einer Funktion wird ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "Leerzeichen vor den öffnenden Klammern einer Funktionen werden entfernt.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "Leerzeichen werden wie eingegeben beibehalten.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "Leerzeichen vor öffnenden Klammern von Funktionen werden entfernt.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "Die Leerzeichen werden wie eingegeben beibehalten.",
|
||||
"c_cpp.configuration.vcFormat.space.withinParameterListParentheses.description": "Nach der öffnenden und vor der schließenden Klammer in Funktionsparameterlisten wird ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyParameterListParentheses.description": "Wenn eine Funktionsparameterliste leer ist, wird zwischen den Klammern ein Leerzeichen eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.afterKeywordsInControlFlowStatements.description": "In Anweisungen der Ablaufsteuerung werden zwischen Schlüsselwort und öffnender Klammer Leerzeichen hinzugefügt.",
|
||||
@@ -79,13 +82,13 @@
|
||||
"c_cpp.configuration.vcFormat.space.beforeInitializerListOpenBrace.description": "Vor der öffnenden geschweiften Klammer einheitlicher Initialisierungs- und Initialisiererlisten wird ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.withinInitializerListBraces.description": "Nach der öffnenden und vor der schließenden geschweiften Klammer einheitlicher Initialisierungs- und Initialisiererlisten wird ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.preserveInInitializerList.description": "Leerzeichen um Kommas werden in einheitlichen Initialisierungs- und Initialisiererlisten beibehalten.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeOpenSquareBracket.description": "Vor öffnenden eckigen Klammern wird ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.withinSquareBrackets.description": "Nach der öffnenden eckigen Klammer und vor der schließenden eckigen Klammer wird ein Leerzeichen eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeEmptySquareBrackets.description": "Wenn eckige Klammern leer sind, wird vor der öffnenden Klammer ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptySquareBrackets.description": "Wenn eckige Klammern leer sind, wird zwischen diesen ein Leerzeichen eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.groupSquareBrackets.description": "Bei mehrdimensionalen Arrays werden alle Leerzeichen zwischen Klammern entfernt. Andere Leerzeicheneinstellungen werden überschrieben.",
|
||||
"c_cpp.configuration.vcFormat.space.withinLambdaBrackets.description": "Nach der öffnenden eckigen Klammer und vor der schließenden eckigen Klammer wird ein Leerzeichen eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyLambdaBrackets.description": "Wenn eckige Klammern leer sind, wird ein Leerzeichen zwischen ihnen eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeOpenSquareBracket.description": "Vor öffnenden eckigen Klammern wird ein Leerzeichen eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.withinSquareBrackets.description": "Es wird ein Leerzeichen nach der öffnenden eckigen Klammer und vor der schließenden eckigen Klammer eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeEmptySquareBrackets.description": "Wenn die eckigen Klammern leer sind, wird vor der öffnenden Klammer ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptySquareBrackets.description": "Wenn die eckigen Klammern leer sind, wird zwischen diesen ein Leerzeichen eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.groupSquareBrackets.description": "Für mehrdimensionale Arrays werden alle Leerzeichen zwischen den Klammern entfernt. Andere Leerzeicheneinstellungen werden überschrieben.",
|
||||
"c_cpp.configuration.vcFormat.space.withinLambdaBrackets.description": "Es wird ein Leerzeichen nach der öffnenden eckigen Klammer und vor der schließenden eckigen Klammer eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyLambdaBrackets.description": "Wenn die eckigen Klammern leer sind, wird zwischen diesen ein Leerzeichen eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeComma.description": "Vor jedem Komma wird ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.afterComma.description": "Nach jedem Komma wird ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundMemberOperators.description": "Leerzeichen um Memberzugriffsoperatoren, Pointer-to-Member-Operatoren und Bereichsauflösungsoperatoren werden entfernt.",
|
||||
@@ -93,18 +96,18 @@
|
||||
"c_cpp.configuration.vcFormat.space.beforeConstructorColon.description": "In Konstruktordefinitionen wird vor dem Doppelpunkt ein Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "Vor allen Semikolons werden die Leerzeichen entfernt.",
|
||||
"c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "Nach jedem Semikolon wird ein Leerzeichen eingefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "Die Leerzeichen zwischen unären Operatoren und Operanden werden entfernt.",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "Die Leerzeichen zwischen unären Operatoren und den Operanden werden entfernt.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": "Leerzeichen um binäre Operatoren",
|
||||
"c_cpp.configuration.vcFormat.space.aroundAssignmentOperator.description": "Leerzeichen um Zuweisungsoperatoren",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.description": "Leerzeichen um Zeiger- und Verweisoperatoren",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "Zeiger- und Verweisoperatoren sind links ausgerichtet.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "Zeiger- und Verweisoperatoren sind zentriert.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "Zeiger- und Verweisoperatoren sind rechts ausgerichtet.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "Zeiger- und Verweisoperatoren sind nicht formatiert.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "Zeiger- und Verweisoperatoren werden links ausgerichtet.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "Zeiger- und Verweisoperatoren werden zentriert.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "Zeiger- und Verweisoperatoren werden rechts ausgerichtet.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "Zeiger- und Verweisoperatoren werden nicht formatiert.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundTernaryOperator.description": "Leerzeichen um bedingte Operatoren",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "Vor und nach dem Operator werden Leerzeichen hinzugefügt.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "Leerzeichen vor und nach dem Operator werden entfernt.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "Leerzeichen werden wie eingegeben beibehalten.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "Die Leerzeichen vor und nach dem Operator werden entfernt.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "Die Leerzeichen werden wie eingegeben beibehalten.",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.description": "Umbruchoptionen für Blöcke",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "Ein vollständiger Codeblock, der in einer Zeile eingegeben wird, wird unabhängig von den Einstellungen für neue Zeilen im VC-Format in einer Zeile beibehalten.",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "Jeglicher Code, in dem die öffnende und schließende geschweifte Klammer in einer Zeile eingegeben wird, wird unabhängig von den Einstellungen für neue Zeilen im VC-Format in einer Zeile beibehalten.",
|
||||
@@ -124,7 +127,7 @@
|
||||
"c_cpp.configuration.loggingLevel.description": "Die Ausführlichkeit der Protokollierung im Ausgabebereich. Die Reihenfolge der Stufen von \"am wenigsten ausführlich\" bis \"am ausführlichsten\" lautet: None < Error < Warning < Information < Debug.",
|
||||
"c_cpp.configuration.autoAddFileAssociations.description": "Hiermit wird gesteuert, ob Dateien automatisch zu \"files.associations\" hinzugefügt werden, wenn sie das Ziel eines Navigationsvorgangs aus einer C/C++-Datei sind.",
|
||||
"c_cpp.configuration.workspaceParsingPriority.description": "Hiermit wird gesteuert, ob beim Analysieren der nicht aktiven Arbeitsbereichsdateien Standbyfunktionen verwendet werden, um eine 100-prozentige Auslastung der CPU zu vermeiden. Die Werte \"highest\", \"high\", \"medium\" und \"low\" entsprechen jeweils etwa 100, 75, 50 und 25 % CPU-Auslastung.",
|
||||
"c_cpp.configuration.workspaceSymbols.description": "Die Symbole, die in die Abfrageergebnisse einbezogen werden sollen, wenn \"Zu Symbol im Arbeitsbereich wechseln\" aufgerufen wird",
|
||||
"c_cpp.configuration.workspaceSymbols.description": "Die Symbole, die in die Abfrageergebnisse einbezogen werden sollen, wenn \"Zu Symbol im Arbeitsbereich wechseln\" aufgerufen wird.",
|
||||
"c_cpp.configuration.exclusionPolicy.description": "Weist die Erweiterung an, wann die Einstellung \"files.exclude\" verwendet werden soll, wenn ermittelt wird, welche Dateien beim Durchlaufen der Pfade im Array \"browse.path\" der Codenavigationsdatenbank hinzugefügt werden sollen. \"checkFolders\" bedeutet, dass die Ausschlussfilter nur einmal pro Ordner ausgewertet werden (einzelne Dateien sind nicht aktiviert). \"checkFilesAndFolders\" bedeutet, dass die Ausschlussfilter für jede gefundene Datei und jeden gefundenen Ordner ausgewertet werden. Wenn die Einstellung \"files.exclude\" nur Ordner enthält, ist \"checkFolders\" die beste Wahl und erhöht die Geschwindigkeit, mit der die Erweiterung die Codenavigationsdatenbank initialisieren kann.",
|
||||
"c_cpp.configuration.preferredPathSeparator.description": "Das Zeichen, das als Pfadtrennzeichen für #include-Ergebnisse der automatischen Vervollständigung verwendet wird.",
|
||||
"c_cpp.configuration.simplifyStructuredComments.description": "Wenn TRUE, zeigen die QuickInfos für \"Darauf zeigen\" und \"Automatisch abschließen\" nur bestimmte Bezeichnungen strukturierter Kommentare an. Andernfalls werden alle Kommentare angezeigt.",
|
||||
@@ -134,7 +137,8 @@
|
||||
"c_cpp.configuration.commentContinuationPatterns.description": "Definiert das Editor-Verhalten, wenn innerhalb eines mehrzeiligen oder einzeiligen Kommentarblocks die EINGABETASTE gedrückt wird.",
|
||||
"c_cpp.configuration.configurationWarnings.description": "Bestimmt, ob Popupbenachrichtigungen angezeigt werden, wenn eine Konfigurationsanbietererweiterung keine Konfiguration für eine Quelldatei bereitstellen kann.",
|
||||
"c_cpp.configuration.intelliSenseCachePath.description": "Hiermit wird der Ordnerpfad für zwischengespeicherte vorkompilierte Header definiert, die von IntelliSense verwendet werden. Der Standardcachepfad lautet unter Windows \"%LocalAppData%/Microsoft/vscode-cpptools\", unter Linux \"$XDG_CACHE_HOME/vscode-cpptools/\" (bzw. \"$HOME/.cache/vscode-cpptools/\", wenn XDG_CACHE_HOME nicht definiert ist) und auf dem Mac \"$HOME/Library/Caches/vscode-cpptools/\". Der Standardpfad wird verwendet, wenn kein Pfad angegeben wurde oder ein angegebener Pfad ungültig ist.",
|
||||
"c_cpp.configuration.intelliSenseCacheSize.description": "Maximale Größe des Festplattenspeichers pro Arbeitsbereich in MB für zwischengespeicherte vorkompilierte Header; die tatsächliche Nutzung schwankt möglicherweise um diesen Wert. Die Standardgröße beträgt 5120 MB. Das Zwischenspeichern vorkompilierter Header ist deaktiviert, wenn die Größe 0 ist.",
|
||||
"c_cpp.configuration.intelliSenseCacheSize.description": "Maximale Größe des Festplattenspeichers pro Arbeitsbereich in MB für zwischengespeicherte vorkompilierte Header. Die tatsächliche Nutzung schwankt möglicherweise um diesen Wert. Die Standardgröße beträgt 5120 MB. Das Zwischenspeichern vorkompilierter Header ist deaktiviert, wenn die Größe 0 ist.",
|
||||
"c_cpp.configuration.intelliSenseMemoryLimit.description": "Grenzwert für die Arbeitsspeicherauslastung in MB für einen IntelliSense-Prozess. Der Standardgrenzwert beträgt 4096 MB, der Höchstwert liegt bei 16 GB. Bei Überschreiten des Grenzwerts wird die Erweiterung heruntergefahren, und ein IntelliSense-Prozess wird neu gestartet.",
|
||||
"c_cpp.configuration.default.includePath.description": "Der Wert, der in einer Konfiguration verwendet werden soll, wenn \"includePath\" nicht in c_cpp_properties.json angegeben ist. Wenn \"includePath\" angegeben ist, fügen Sie dem Array \"${default}\" hinzu, um die Werte aus dieser Einstellung einzufügen.",
|
||||
"c_cpp.configuration.default.defines.description": "Der Wert, der in einer Konfiguration verwendet werden soll, wenn \"defines\" nicht angegeben ist, oder die einzufügenden Werte, wenn \"${default}\" in \"defines\" vorhanden ist.",
|
||||
"c_cpp.configuration.default.macFrameworkPath.description": "Der Wert, der in einer Konfiguration verwendet werden soll, wenn \"macFrameworkPath\" nicht angegeben ist, oder die einzufügenden Werte, wenn \"${default}\" in \"macFrameworkPath\" vorhanden ist.",
|
||||
@@ -221,5 +225,11 @@
|
||||
"c_cpp.debuggers.symbolLoadInfo.description": "Explizite Steuerung des Symbolladevorgangs.",
|
||||
"c_cpp.debuggers.symbolLoadInfo.loadAll.description": "Bei TRUE werden Symbole für alle Bibliotheken geladen, andernfalls werden keine solib-Symbole geladen. Der Standardwert ist TRUE.",
|
||||
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "Liste der Dateinamen (Platzhalter zulässig), durch Semikolons \";\" getrennt. Ändert das Verhalten von LoadAll. Wenn LoadAll auf TRUE festgelegt ist, werden keine Symbole für Bibliotheken geladen, die einem beliebigen Namen in der Liste entsprechen. Andernfalls werden nur Symbole für übereinstimmende Bibliotheken geladen. Beispiel: \"foo.so;bar.so\"",
|
||||
"c_cpp.debuggers.requireExactSource.description": "Optionales Flag, um anzufordern, dass der aktuelle Quellcode mit der PDB-Datei übereinstimmt."
|
||||
"c_cpp.debuggers.requireExactSource.description": "Optionales Flag, um anzufordern, dass der aktuelle Quellcode mit der PDB-Datei übereinstimmt.",
|
||||
"c_cpp.taskDefinitions.name.description": "Der Name der Aufgabe",
|
||||
"c_cpp.taskDefinitions.command.description": "Der Pfad zu einem Compiler oder einem Skript, über den/das die Kompilierung ausgeführt wird",
|
||||
"c_cpp.taskDefinitions.args.description": "Zusätzliche Argumente, die an den Compiler oder das Kompilierungsskript übergeben werden sollen",
|
||||
"c_cpp.taskDefinitions.options.description": "Zusätzliche Befehlsoptionen",
|
||||
"c_cpp.taskDefinitions.options.cwd.description": "Das aktuelle Arbeitsverzeichnis des ausgeführten Programms oder Skripts. Wenn keine Angabe erfolgt, wird das aktuelle Arbeitsbereich-Stammverzeichnis des Codes verwendet.",
|
||||
"c_cpp.taskDefinitions.detail.description": "Zusätzliche Details zur Aufgabe"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"invalid.identifier.for.rename": "Für den Vorgang zum Umbenennen eines Symbols wurde ein ungültiger Bezeichner angegeben.",
|
||||
"unable.to.locate.selected.symbol": "Eine Definition für das ausgewählte Symbol wurde nicht gefunden."
|
||||
}
|
||||
@@ -5,8 +5,7 @@
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"c.cpp.debug.protocol": "C/C++-Debugprotokoll",
|
||||
"invalid.identifier.for.rename": "Für den Vorgang zum Umbenennen eines Symbols wurde ein ungültiger Bezeichner angegeben.",
|
||||
"unable.to.locate.selected.symbol": "Eine Definition für das ausgewählte Symbol wurde nicht gefunden.",
|
||||
"c.cpp.warnings": "C/C++-Konfigurationswarnungen",
|
||||
"unable.to.start": "Der C/C++-Sprachserver kann nicht gestartet werden. IntelliSense-Features werden deaktiviert. Fehler: {0}",
|
||||
"check.permissions": "EPERM: Berechtigungen für \"{0}\" überprüfen",
|
||||
"server.crashed2": "Der Sprachserver ist in den letzten 3 Minuten 5-mal abgestürzt. Er wird nicht neu gestartet.",
|
||||
@@ -34,6 +33,5 @@
|
||||
"yes.button": "Ja",
|
||||
"no.button": "Nein",
|
||||
"configurations.received": "Benutzerdefinierte Konfigurationen empfangen:",
|
||||
"browse.configuration.received": "Benutzerdefinierte Suchkonfiguration empfangen: {0}",
|
||||
"browse.configuration": "Benutzerdefinierte Suchkonfiguration: {0}"
|
||||
"browse.configuration.received": "Benutzerdefinierte Suchkonfiguration empfangen: {0}"
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"failed.to.parse.tasks": "Fehler beim Analysieren von \"tasks.json\", möglicherweise aufgrund von Kommentaren oder nachfolgenden Kommas.",
|
||||
"failed.to.parse.json": "Fehler beim Analysieren der JSON-Datei, möglicherweise aufgrund von Kommentaren oder nachgestellten Kommas.",
|
||||
"extension.not.ready": "Die C/C++-Erweiterung wird noch installiert. Weitere Informationen finden Sie im Ausgabefenster.",
|
||||
"refer.read.me": "Informationen zur Problembehandlung finden Sie hier: {0}. Issues können hier erstellt werden: {1}.",
|
||||
"process.exited.with.code": "\"{0}\" wurde mit Fehlercode \"{1}\" beendet.",
|
||||
|
||||
@@ -92,8 +92,6 @@
|
||||
"not_exited_yet": "Der Prozess wurde noch nicht beendet. Ruhezustand für {0} Millisekunden, anschließend wird der Vorgang wiederholt.",
|
||||
"failed_to_spawn_process": "Fehler beim Erzeugen des Prozesses. Fehler: {0} ({1})",
|
||||
"offering_completion": "Vervollständigung wird angeboten.",
|
||||
"compiler_from_compiler_path": "Es wird versucht, Standardwerte vom Compiler in der Eigenschaft \"compilerPath\" abzurufen: {0}",
|
||||
"compiler_from_compile_commands": "Es wird versucht, Standardwerte vom Compiler in der Datei \"compile_commands.json\" abzurufen: {0}",
|
||||
"compiler_on_machine": "Es wird versucht, Standardwerte vom Compiler abzurufen, die auf dem Computer gefunden wurden: {0}",
|
||||
"unable_to_resolve_include_path": "Der Includepfad \"{0}\" kann nicht aufgelöst werden.",
|
||||
"error_searching_for_intellisense_client": "Fehler beim Suchen nach dem IntelliSense-Client: {0}",
|
||||
@@ -147,7 +145,7 @@
|
||||
"timed_out_attempting_to_communicate_with_process": "Timeout beim Versuch, mit dem Prozess zu kommunizieren.",
|
||||
"process_failed_to_run": "Fehler beim Ausführen des Prozesses.",
|
||||
"wsl_not_detected": "WSL nicht erkannt.",
|
||||
"compiler_in_compilerpath_not_found": "Der Compiler in der compilerPath-Eigenschaft wurde nicht gefunden: {0}",
|
||||
"compiler_in_compilerpath_not_found": "Der angegebene Compiler wurde nicht gefunden: {0}",
|
||||
"config_data_invalid": "Konfigurationsdaten ungültig, {0}",
|
||||
"cmake_executable_not_found": "Ausführbare CMake-Datei wurde unter \"{0}\" nicht gefunden.",
|
||||
"no_args_provider": "Kein Anbieter für Argumente",
|
||||
@@ -177,5 +175,34 @@
|
||||
"deprecated_label": "Veraltet:",
|
||||
"exceptions_label": "Ausnahmen:",
|
||||
"template_parameters_label": "Vorlagenparameter:",
|
||||
"compiler_probe_command_line": "Befehlszeile des Compilertests: {0}"
|
||||
"compiler_probe_command_line": "Befehlszeile des Compilertests: {0}",
|
||||
"c_compiler_from_compiler_path": "Es wird versucht, Standardwerte vom C-Compiler in der Eigenschaft \"compilerPath\" abzurufen: {0}",
|
||||
"cpp_compiler_from_compiler_path": "Es wird versucht, Standardwerte vom C++-Compiler in der Eigenschaft \"compilerPath\" abzurufen: {0}",
|
||||
"c_compiler_from_compile_commands": "Es wird versucht, Standardwerte vom C-Compiler in der Datei \"compile_commands.json\" abzurufen: {0}",
|
||||
"cpp_compiler_from_compile_commands": "Es wird versucht, Standardwerte vom C++-Compiler in der Datei \"compile_commands.json\" abzurufen: {0}",
|
||||
"c_intellisense_mode_changed": "Für C-Quelldateien wurde \"IntelliSenseMode\" von \"{0}\" in \"{1}\" geändert.",
|
||||
"cpp_intellisense_mode_changed": "Für C++-Quelldateien wurde \"IntelliSenseMode\" von \"{0}\" in \"{1}\" geändert.",
|
||||
"c_std_version_changed": "Für C-Quelldateien wurde \"cStandard\" von \"{0}\" in \"{1}\" geändert.",
|
||||
"cpp_std_version_changed": "Für C++-Quelldateien wurde \"cppStandard\" von \"{0}\" in \"{1}\" geändert.",
|
||||
"c_intellisense_mode_and_std_version_changed": "Für C-Quelldateien wurde \"IntelliSenseMode\" von \"{0}\" in \"{1}\" und \"cStandard\" von \"{2}\" in \"{3}\" geändert.",
|
||||
"cpp_intellisense_mode_and_std_version_changed": "Für C++-Quelldateien wurde \"IntelliSenseMode\" von \"{0}\" in \"{1}\" und \"cppStandard\" von \"{2}\" in \"{3}\" geändert.",
|
||||
"c_intellisense_mode_changed_with_path": "Für C-Quelldateien wurde \"IntelliSenseMode\" basierend auf Compilerargumenten und \"compilerPath\" von \"{0}\" in \"{1}\" geändert: \"{2}\"",
|
||||
"cpp_intellisense_mode_changed_with_path": "Für C++-Quelldateien wurde \"IntelliSenseMode\" basierend auf Compilerargumenten und \"compilerPath\" von \"{0}\" in \"{1}\" geändert: \"{2}\"",
|
||||
"c_std_version_changed_with_path": "Für C-Quelldateien wurde \"cStandard\" basierend auf Compilerargumenten und \"compilerPath\" von \"{0}\" in \"{1}\" geändert: \"{2}\"",
|
||||
"cpp_std_version_changed_with_path": "Für C++-Quelldateien wurde \"cppStandard\" basierend auf Compilerargumenten und \"compilerPath\" von \"{0}\" in \"{1}\" geändert: \"{2}\"",
|
||||
"c_intellisense_mode_and_std_version_changed_with_path": "Für C-Quelldateien wurde basierend auf Compilerargumenten und \"compilerPath\" der IntelliSenseMode-Wert von \"{0}\" in \"{1}\" und \"cStandard\" von \"{2}\" in \"{3}\" geändert: \"{4}\"",
|
||||
"cpp_intellisense_mode_and_std_version_changed_with_path": "Für C++-Quelldateien wurde basierend auf Compilerargumenten und \"compilerPath\" der IntelliSenseMode-Wert von \"{0}\" in \"{1}\" und \"cppStandard\" von \"{2}\" in \"{3}\" geändert: \"{4}\"",
|
||||
"compiler_path_changed": "Die Konfiguration mit compilerPath \"{0}\" kann nicht aufgelöst werden. Stattdessen wird \"{1}\" verwendet.",
|
||||
"compiler_path_invalid": "Die Konfiguration mit compilerPath \"{0}\" kann nicht aufgelöst werden.",
|
||||
"compiler_path_empty": "Der Compilertest wird aufgrund eines explizit leeren compilerPath-Werts übersprungen.",
|
||||
"msvc_intellisense_specified": "Es wurde der MSVC-IntelliSenseMode angegeben. Der Compiler (cl.exe) wird konfiguriert.",
|
||||
"unable_to_configure_cl_exe": "Der Compiler (cl.exe) kann nicht konfiguriert werden.",
|
||||
"probing_compiler_default_target": "Test des Standardziels für den Compiler über die Befehlszeile: \"{0}\" {1}",
|
||||
"compiler_default_target": "Der Compiler hat den Standardzielwert zurückgegeben: {0}",
|
||||
"c_probing_compiler_default_standard": "Compilertest auf den C-Sprachstandard über die Befehlszeile: {0}",
|
||||
"cpp_probing_compiler_default_standard": "Compilertest auf den C++-Sprachstandard über die Befehlszeile: {0}",
|
||||
"detected_language_standard_version": "Erkannte Sprachstandardversion: {0}",
|
||||
"unhandled_default_target_detected": "Unbehandelter Standardzielwert für Compiler erkannt: {0}",
|
||||
"unhandled_target_arg_detected": "Unbehandelter Zielargumentwert erkannt: {0}",
|
||||
"memory_limit_shutting_down_intellisense": "IntelliSense-Server wird heruntergefahren: {0}. Die Arbeitsspeicherauslastung beträgt {1} MB und hat das Limit von {2} MB überschritten."
|
||||
}
|
||||
@@ -4,9 +4,10 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"downloading.progress.description": "\"{0}\" wird heruntergeladen.",
|
||||
"installing.progress.description": "\"{0}\" wird installiert.",
|
||||
"package.manager.missing": "Das Paketmanifest ist nicht vorhanden.",
|
||||
"downloading.package": "Paket \"{0}\" wird heruntergeladen.",
|
||||
"downloading.progress.description": "{0} heruntergeladen: {1}",
|
||||
"error.from": "Fehler von \"{0}\".",
|
||||
"failed.download.url": "Fehler beim Herunterladen von \"{0}\".",
|
||||
"failed.retrying": "Fehler. Vorgang wird wiederholt...",
|
||||
@@ -18,6 +19,7 @@
|
||||
"failed.web.error": "Fehler (Fehlercode: {0})",
|
||||
"web.response.error": "HTTP/HTTPS-Antwortfehler",
|
||||
"invalid.content.length.received": "Ungültige Content-Length-Position empfangen.",
|
||||
"invalid.content.received": "Ungültige Inhalte empfangen: Der Hash ist falsch.",
|
||||
"web.request.error": "HTTP/HTTPS-Anforderungsfehler",
|
||||
"installing.package": "Paket \"{0}\" wird installiert",
|
||||
"downloaded.unavailable": "Heruntergeladene Datei nicht verfügbar",
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
"switch.to.json": "Wechseln Sie zur {0}-Datei, indem Sie auf den Link klicken oder diesen Befehl verwenden:",
|
||||
"edit.configurations.in.json": "Konfigurationen in JSON-Datei bearbeiten",
|
||||
"edit.configurations.json": "C/C++: Konfigurationen bearbeiten (JSON)",
|
||||
"check.the.schema": "Unter \"{0}\" erhalten Sie weitere Informationen zu den C-/C++-Eigenschaften.",
|
||||
"view.schema.reference": "Referenz zu Eigenschaftsschemas",
|
||||
"intellisense.configurations": "IntelliSense-Konfigurationen",
|
||||
"intellisense.configurations.description": "Verwenden Sie diesen Editor zum Bearbeiten von IntelliSense-Einstellungen, die in der zugrunde liegenden Datei \"{0}\" definiert sind. In diesem Editor vorgenommene Änderungen gelten nur für die ausgewählte Konfiguration. Um mehrere Konfigurationen gleichzeitig zu bearbeiten, wechseln Sie zu \"{1}\".",
|
||||
"configuration.name": "Konfigurationsname",
|
||||
@@ -30,7 +32,7 @@
|
||||
"intellisense.mode": "IntelliSense-Modus",
|
||||
"intellisense.mode.description": "Der zu verwendende IntelliSense-Modus, der einer architekturspezifischen Variante von MSVC, gcc oder Clang zugeordnet wird. Wenn er nicht oder auf \"{0}\" festgelegt wird, wählt die Erweiterung den Standardwert für diese Plattform aus. Bei Windows lautet dieser \"{1}\", bei Linux \"{2}\" und bei macOS \"{3}\". Wählen Sie einen bestimmten IntelliSense-Modus aus, um den Modus \"{4}\" zu überschreiben.",
|
||||
"include.path": "Pfad einbeziehen",
|
||||
"include.path.description": "Ein Includepfad ist ein Ordner, der Headerdateien (z. B. {0}) enthält, die in einer Quelldatei enthalten sind. Geben Sie eine Pfadauflistung für die IntelliSense-Engine an, die bei der Suche nach eingeschlossenen Headerdateien verwendet werden soll. Wenn ein Pfad mit \"{1}\" endet, führt die IntelliSense-Engine ausgehend von diesem Verzeichnis eine rekursive Suche nach Headerdateien durch. Unter Windows mit Visual Studio-Installation oder bei Angabe eines Compilers in der Einstellung \"{2}\" ist es nicht erforderlich, die Systemincludepfade in dieser Liste aufzuführen.",
|
||||
"include.path.description": "Ein Includepfad ist ein Ordner, der Headerdateien (z. B. \"{0}\") enthält, die in einer Quelldatei enthalten sind. Geben Sie eine Liste mit Pfaden an, die von der IntelliSense-Engine bei der Suche nach eingeschlossenen Headerdateien verwendet werden sollen. Es wird keine rekursive Suche in diesen Pfaden durchgeführt. Geben Sie \"{1}\" an, um eine rekursive Suche durchzuführen. Beispielsweise werden mit der Einstellung \"{2}\" alle Unterverzeichnisse durchsucht, mit der Einstellung \"{3}\" hingegen nicht. Unter Windows mit Visual Studio-Installation oder bei Angabe eines Compilers in der Einstellung \"{4}\" ist es nicht erforderlich, die Systemincludepfade in dieser Liste aufzuführen.",
|
||||
"one.include.path.per.line": "Ein Includepfad pro Zeile.",
|
||||
"defines": "Define-Anweisungen",
|
||||
"defines.description": "Eine Liste der Präprozessordefinitionen für die IntelliSense-Engine, die beim Analysieren von Dateien verwendet werden sollen. Verwenden Sie optional \"{0}\", um einen Wert festzulegen, z. B. \"{1}\".",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "Versión del estándar del lenguaje C que se va a usar para IntelliSense. Nota: Los estándares GNU solo se usan para consultar el compilador de conjuntos a fin de obtener definiciones GNU e IntelliSense emulará la versión del estándar C equivalente.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "Versión del estándar del lenguaje C++ que se va a usar para IntelliSense. Nota: Los estándares GNU solo se usan para consultar el compilador de conjuntos a fin de obtener definiciones GNU e IntelliSense emulará la versión del estándar C++ equivalente.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "Ruta de acceso completa al archivo compile_commands.json del área de trabajo.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Lista de rutas de acceso que el motor de IntelliSense necesita usar para buscar los encabezados incluidos. La búsqueda en estas rutas de acceso no es recursiva.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Lista de rutas de acceso que el motor de IntelliSense debe usar al buscar los encabezados incluidos. La búsqueda en estas rutas de acceso no es recursiva. Especifique \"**\" para indicar una búsqueda recursiva. Por ejemplo, \"${workspaceFolder}/**\" buscará en todos los subdirectorios, mientras que \"${workspaceFolder}\" no lo hará.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Lista de rutas de acceso que el motor de IntelliSense necesita usar para buscar los encabezados incluidos de las plataformas Mac. Solo se admite en configuraciones para Mac.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "Versión de la ruta de acceso de inclusión del SDK de Windows que debe usarse en Windows; por ejemplo, \"10.0.17134.0\".",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "Lista de definiciones del preprocesador que usará el motor de IntelliSense al analizar los archivos. También se puede usar “=” para establecer un valor (por ejemplo, VERSION=1).",
|
||||
@@ -19,7 +19,7 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "El identificador de una extensión de VS Code que puede proporcionar información de configuración de IntelliSense para los archivos de código fuente.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "true para procesar únicamente los archivos incluidos directa o indirectamente como encabezados; false para procesar todos los archivos en las rutas de acceso de inclusión especificadas.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "Ruta de acceso a la base de datos de símbolos generada. Si se especifica una ruta de acceso relativa, será relativa a la ubicación de almacenamiento predeterminada del área de trabajo.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Lista de rutas de acceso que usará el analizador de etiquetas al buscar los encabezados incluidos. De forma predeterminada, la búsqueda en estas rutas de acceso es recursiva. Especifique “*” para indicar una búsqueda no recursiva. Por ejemplo, “/usr/include” buscará en todos los subdirectorios, mientras que “/usr/include/*” no lo hará.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "Lista de rutas de acceso que se usarán para indexar y analizar símbolos del área de trabajo (que se usarán con comandos como Ir a definición, Buscar todas las referencias, etc.). La búsqueda en estas rutas de acceso es recursiva de forma predeterminada. Especifique \"*\" para indicar una búsqueda no recursiva. Por ejemplo, \"${workspaceFolder}\" buscará en todos los subdirectorios, mientras que \"${workspaceFolder}/*\" no lo hará.",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "Variables personalizadas que pueden consultarse mediante el comando ${cpptools:activeConfigCustomVariable} para utilizarlas en las variables de entrada en launch.json o tasks.json.",
|
||||
"c_cpp_properties.schema.json.definitions.env": "Las variables personalizadas se pueden reutilizar en cualquier ubicación del archivo mediante la sintaxis ${variable} o ${env:variable}.",
|
||||
"c_cpp_properties.schema.json.definitions.version": "Versión del archivo de configuración. La extensión administra esta propiedad, no la modifique.",
|
||||
|
||||
@@ -23,52 +23,55 @@
|
||||
"c_cpp.command.vcpkgClipboardInstallSuggested.title": "Copiar el comando vcpkg install en el Portapapeles",
|
||||
"c_cpp.command.vcpkgOnlineHelpSuggested.title": "Visitar la página de ayuda de vcpkg",
|
||||
"c_cpp.configuration.formatting.description": "Configura el motor de formato",
|
||||
"c_cpp.configuration.formatting.clangFormat.description": "clang-format se usará para formatear el código",
|
||||
"c_cpp.configuration.formatting.clangFormat.description": "El archivo clang-format se usará para formatear el código.",
|
||||
"c_cpp.configuration.formatting.vcFormat.description": "El motor de formato de Visual C++ se usará para formatear el código.",
|
||||
"c_cpp.configuration.formatting.Default.description": "clang-format se usará para formatear el código",
|
||||
"c_cpp.configuration.formatting.Default.description": "El archivo clang-format se usará para formatear el código.",
|
||||
"c_cpp.configuration.formatting.Disabled.description": "El formato del código se deshabilitará.",
|
||||
"c_cpp.configuration.vcFormat.indent.braces.description": "Se aplica a las llaves la sangría especificada en la configuración de Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Al escribir una nueva línea, aplicar sangría a esta en relación con:",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "el paréntesis de apertura externo",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "el paréntesis de apertura interno",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "el principio de la instrucción actual",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveIndentationWithinParentheses.description": "Al escribir una nueva línea, se alinea bajo el paréntesis de apertura o se le aplica sangría según lo especificado en la configuración de Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "Determina en relación con qué se aplica la sangría de línea nueva.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "Aplica sangría a la nueva línea en relación con el paréntesis de apertura más externo.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "Aplica sangría a la nueva línea en relación con el paréntesis de apertura más interno.",
|
||||
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "Aplica sangría a la nueva línea en relación con el principio de la instrucción actual.",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.description": "Al escribirse una línea nueva, se alinea bajo el paréntesis de apertura o en función del valor \"C_Cpp.vcFormat.indent.multiLineRelativeTo\".",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.alignToParenthesis.description": "La línea nueva se alinea bajo el paréntesis de apertura.",
|
||||
"c_cpp.configuration.vcFormat.indent.withinParentheses.indent.description": "Se aplica sangría a la línea nueva en función del valor \"C_Cpp.vcFormat.indent.multiLineRelativeTo\".",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveWithinParentheses.description": "En el código existente, conserve la alineación de sangría existente de las líneas nuevas entre paréntesis.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseLabels.description": "Se aplica sangría a las etiquetas en relación con las instrucciones switch, según lo especificado en la configuración de Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContents.description": "Se aplica sangría al código incluido en \"case\" en relación con su etiqueta, según lo especificado en la configuración de Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContents.description": "Se aplica sangría al código incluido en el bloque case en relación con su etiqueta, según lo especificado en la configuración de Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.caseContentsWhenBlock.description": "Se aplica sangría a las llaves siguiendo una instrucción Case, según lo especificado en la configuración de Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.lambdaBracesWhenParameter.description": "Se aplica sangría a las llaves de expresiones lambda usadas como parámetros de función en relación con el inicio de la instrucción, según lo especificado en la configuración de Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.description": "La posición de las etiquetas goto",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "a la izquierda de la sangría de código actual, según la cantidad especificada en la configuración del Editor: Tamaño de tabulación",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "al borde izquierdo del código",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "las etiquetas goto no se formatearán",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "Coloca las etiquetas goto a la izquierda de la sangría de código actual, según la cantidad especificada en la configuración del Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "Coloca las etiquetas goto en el borde izquierdo del código.",
|
||||
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "Las etiquetas Goto no se formatearán.",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.description": "La posición de las directivas de preprocesador",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "a la izquierda de la sangría de código actual, según la cantidad especificada en la configuración del Editor: Tamaño de tabulación",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "al borde izquierdo del código",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "las directivas de preprocesador no se formatearán",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "Las directivas de preprocesador se colocan a la izquierda de la sangría de código actual, según la cantidad especificada en la configuración del Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "Las directivas de preprocesador se colocan en el borde izquierdo del código.",
|
||||
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "Las directivas de preprocesador no se formatearán.",
|
||||
"c_cpp.configuration.vcFormat.indent.accessSpecifiers.description": "Se aplica sangría a los especificadores de acceso en relación con las definiciones de clase o struct, según lo especificado en la configuración de Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.namespaceContents.description": "Se aplica sangría al código en relación con su espacio de nombres envolvente, según lo especificado en la configuración de Editor: Tamaño de tabulación.",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "La sangría de los comentarios no se cambia durante la operación de formato",
|
||||
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "La sangría de los comentarios no se cambia durante las operaciones de formato.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.namespace.description": "La posición de las llaves de apertura para los espacios de nombres",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.type.description": "La posición de las llaves de apertura para las definiciones de tipo",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.lambda.description": "La posición de las llaves de apertura para las funciones lambda",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.function.description": "La posición de las llaves de apertura para las funciones",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.block.description": "La posición de las llaves de apertura de los bloques de control",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "las llaves de apertura se mueven a una nueva línea",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "las llaves de apertura se mantienen en la misma línea y se agrega un espacio delante de cada una",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "las llaves de apertura no tienen formato",
|
||||
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "Coloca llaves de apertura y de cierre para los ámbitos en líneas separadas.",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "Para los tipos vacíos, mover las llaves de cierre a la misma línea que las de apertura",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "Para los cuerpos de función vacíos, mover las llaves de cierre a la misma línea que las de apertura",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "Colocar 'catch' y palabras clave similares en una nueva línea",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "Colocar 'else' en una nueva línea",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "Colocar 'while' de un bucle do-while en una nueva línea",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "Las llaves de apertura se mueven a una nueva línea.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "Las llaves de apertura se mantienen en la misma línea y se agrega un espacio delante de cada una.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "Las llaves de apertura no tienen formato.",
|
||||
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "Coloca las llaves de apertura y de cierre para los ámbitos en líneas separadas.",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "Para los tipos vacíos, mueve las llaves de cierre a la misma línea que las de apertura.",
|
||||
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "Para los cuerpos de función vacíos, mueve las llaves de cierre a la misma línea que las de apertura.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "Coloca \"catch\" y palabras clave similares en una línea nueva.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "Coloca \"else\" en una línea nueva.",
|
||||
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "Coloca \"while\" de un bucle do-while en una línea nueva.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.description": "Espaciado entre nombres de funciones y paréntesis de apertura de listas de argumentos",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "agregar un espacio delante del paréntesis de apertura de una función",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "se quitan los espacios que están delante del paréntesis de apertura de una función",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "los espacios se dejan tal como se insertan",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "Agrega un espacio delante del paréntesis de apertura de una función.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "Se quitan los espacios que están delante del paréntesis de apertura de una función.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "Los espacios se dejan tal como se insertan.",
|
||||
"c_cpp.configuration.vcFormat.space.withinParameterListParentheses.description": "Se agrega un espacio después del paréntesis de apertura y también antes del paréntesis de cierre de las listas de parámetros de función.",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyParameterListParentheses.description": "Cuando una lista de parámetros de función está vacía, se inserta un espacio entre los paréntesis de esta.",
|
||||
"c_cpp.configuration.vcFormat.space.afterKeywordsInControlFlowStatements.description": "Se agrega un espacio entre palabra clave y paréntesis de apertura en instrucciones de flujo de control.",
|
||||
"c_cpp.configuration.vcFormat.space.afterKeywordsInControlFlowStatements.description": "Se agrega un espacio entre la palabra clave y el paréntesis de apertura en las instrucciones de flujo de control.",
|
||||
"c_cpp.configuration.vcFormat.space.withinControlFlowStatementParentheses.description": "Se agrega un espacio después del paréntesis de apertura y también antes del paréntesis de cierre de las instrucciones de flujo de control.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeLambdaOpenParenthesis.description": "Se agrega un espacio delante del paréntesis de apertura de las listas de argumentos lambda.",
|
||||
"c_cpp.configuration.vcFormat.space.withinCastParentheses.description": "Se agrega un espacio después del paréntesis de apertura y también antes del paréntesis de cierre de una conversión de estilo de C.",
|
||||
@@ -76,8 +79,8 @@
|
||||
"c_cpp.configuration.vcFormat.space.withinExpressionParentheses.description": "Se agrega un espacio después del paréntesis de apertura y también antes del paréntesis de cierre de una expresión entre paréntesis.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeBlockOpenBrace.description": "Se agrega un espacio delante de las llaves de apertura de los bloques de ámbito.",
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyBraces.description": "Cuando las llaves están vacías y en la misma línea, se inserta un espacio entre ellas.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInitializerListOpenBrace.description": "Se agrega un espacio delante de la llave de apertura de las listas uniformes de inicialización y del inicializador.",
|
||||
"c_cpp.configuration.vcFormat.space.withinInitializerListBraces.description": "Se agrega un espacio después de la llave de apertura y también antes de la llave de cierre de las listas uniformes de inicialización y del inicializador.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInitializerListOpenBrace.description": "Se agrega un espacio delante de la llave de apertura de inicialización uniforme y las listas de inicializadores.",
|
||||
"c_cpp.configuration.vcFormat.space.withinInitializerListBraces.description": "Se agrega un espacio después de la llave de apertura y también antes de la llave de cierre de las listas de inicializadores e inicialización uniforme.",
|
||||
"c_cpp.configuration.vcFormat.space.preserveInInitializerList.description": "Los espacios alrededor de las comas se mantienen en la inicialización uniforme y las listas de inicializadores.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeOpenSquareBracket.description": "Se agrega un espacio delante de los corchetes de apertura.",
|
||||
"c_cpp.configuration.vcFormat.space.withinSquareBrackets.description": "Se agrega un espacio después del corchete de apertura y también antes del corchete de cierre.",
|
||||
@@ -88,27 +91,27 @@
|
||||
"c_cpp.configuration.vcFormat.space.betweenEmptyLambdaBrackets.description": "Cuando los corchetes están vacíos, se inserta un espacio entre ellos.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeComma.description": "Se agrega un espacio delante de cada coma.",
|
||||
"c_cpp.configuration.vcFormat.space.afterComma.description": "Se agrega un espacio después de cada coma.",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundMemberOperators.description": "Se quitan los espacios alrededor de los operadores de acceso a miembros, operadores de puntero a miembro y operadores de resolución de ámbito.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInheritanceColon.description": "Se agrega un espacio antes de los dos puntos para los tipos heredados en las definiciones de clase",
|
||||
"c_cpp.configuration.vcFormat.space.beforeConstructorColon.description": "Se agrega un espacio antes de los dos puntos en las definiciones de constructor.",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundMemberOperators.description": "Se quitan los espacios alrededor de los operadores de acceso a miembros, los operadores de puntero a miembro y los operadores de resolución de ámbito.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeInheritanceColon.description": "Se agrega un espacio delante de los dos puntos para los tipos heredados en las definiciones de clase.",
|
||||
"c_cpp.configuration.vcFormat.space.beforeConstructorColon.description": "Se agrega un espacio delante de los dos puntos en las definiciones de constructor.",
|
||||
"c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "Se quitan los espacios delante de cada punto y coma.",
|
||||
"c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "Se inserta un espacio después de cada punto y coma.",
|
||||
"c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "Se quitan los espacios entre los operadores unarios y los operandos.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": "Espacios alrededor de los operadores binarios",
|
||||
"c_cpp.configuration.vcFormat.space.aroundAssignmentOperator.description": "Espacios alrededor de los operadores de asignación",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.description": "Espacios alrededor de los operadores de puntero y de referencia",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "los operadores de puntero y de referencia se alinean a la izquierda",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "los operadores de puntero y de referencia se centran",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "los operadores de puntero y de referencia se alinean a la derecha",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "los operadores de puntero y de referencia no tienen formato",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "Los operadores de puntero y de referencia se alinean a la izquierda.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "Los operadores de puntero y de referencia se centran.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "Los operadores de puntero y de referencia se alinean a la derecha.",
|
||||
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "Los operadores de puntero y de referencia no tienen formato.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundTernaryOperator.description": "Espacios alrededor de los operadores condicionales",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "se agrega un espacio delante del operador y también después de este",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "se quitan los espacios delante y detrás del operador",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "los espacios se dejan tal como se insertan",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "Se agrega un espacio delante de operador y también después de este.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "Se quitan los espacios delante y detrás del operador.",
|
||||
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "Los espacios se dejan tal como se insertan.",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.description": "Opciones de ajuste para bloques",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "un bloque de código completo que se escribe en una línea se mantiene en una sola línea, independientemente de cualquiera de los valores de formato de VC: Nueva línea",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "cualquier código en el que la llave de apertura y de cierre se escriba en una línea se mantiene en una sola línea, independientemente de cualquiera de los valores de formato de VC: Nueva línea",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "siempre se da formato a los bloques de código de acuerdo con los valores de formato de VC: Nueva línea",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "Un bloque de código completo que se escribe en una línea se mantiene en una sola línea, independientemente de cualquiera de los valores de formato de VC: Nueva línea.",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "Cualquier código en el que la llave de apertura y de cierre se escriba en una línea se mantiene en una sola línea, independientemente de cualquiera de los valores de formato de VC: Nueva línea",
|
||||
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "Siempre se da formato a los bloques de código de acuerdo con los valores de formato de VC: Nueva línea",
|
||||
"c_cpp.configuration.clang_format_path.description": "Ruta de acceso completa del archivo ejecutable clang-format. Si no se especifica y clang-format está disponible en la ruta de acceso del entorno, se usa este. Si no se encuentra en la ruta de acceso del entorno, se usará una copia de clang-format incluida con la extensión.",
|
||||
"c_cpp.configuration.clang_format_style.description": "Estilo de codificación. Actualmente, admite: Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit. Use \"file\" para cargar el estilo de un archivo .clang-format en el directorio actual o primario. Use {clave: valor,...} para establecer parámetros específicos. Por ejemplo, el estilo de \"Visual Studio\" es similar a: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All }",
|
||||
"c_cpp.configuration.clang_format_fallbackStyle.description": "Nombre del estilo predefinido que se usa como elemento Fallback en el caso de que se invoque a clang-format con el estilo \"file\" y no se encuentre el archivo .clang-format. Los valores posibles son Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit, ninguno o usar {clave: valor,...} para establecer parámetros específicos. Por ejemplo, el estilo \"Visual Studio\" es similar a: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }",
|
||||
@@ -124,7 +127,7 @@
|
||||
"c_cpp.configuration.loggingLevel.description": "Nivel de detalle del registro en el panel de salida. El orden de los niveles de menos detallado a más detallado es: None < Error < Warning < Information < Debug.",
|
||||
"c_cpp.configuration.autoAddFileAssociations.description": "Controla si los archivos se agregan automáticamente a files.associations cuando son el destino de una operación de navegación desde un archivo de C/C++.",
|
||||
"c_cpp.configuration.workspaceParsingPriority.description": "Controla si el análisis de los archivos de área de trabajo no activos los pone en suspensión para evitar el uso del 100 % de la CPU. Los valores highest/high/medium/low corresponden a un uso de la CPU aproximado del 100 %, 75 %, 50 % y 25 % respectivamente.",
|
||||
"c_cpp.configuration.workspaceSymbols.description": "Símbolos que se incluirán en los resultados de la consulta cuando se invoque \"Ir al símbolo en el área de trabajo\"",
|
||||
"c_cpp.configuration.workspaceSymbols.description": "Símbolos que se incluirán en los resultados de la consulta cuando se invoque \"Ir al símbolo en el área de trabajo\".",
|
||||
"c_cpp.configuration.exclusionPolicy.description": "Indica a la extensión cuándo debe usarse la configuración \"files.exclude\" para determinar qué archivos deben agregarse a la base de datos de navegación del código mientras se recorren las rutas de acceso de la matriz \"browse.path\". \"checkFolders\" indica que los filtros de exclusión solo se evaluarán una vez por carpeta (no se comprueban los archivos individuales). \"checkFilesAndFolders\" indica que los filtros de exclusión se evaluarán en todas las carpetas y los archivos encontrados. Si \"files.exclude\" solo contiene carpetas, entonces \"checkFolders\" es la mejor opción y aumentará la velocidad con la que la extensión puede inicializar la base de datos de navegación del código.",
|
||||
"c_cpp.configuration.preferredPathSeparator.description": "Carácter usado como separador de ruta de acceso para los resultados de finalización automática de instrucciones #include.",
|
||||
"c_cpp.configuration.simplifyStructuredComments.description": "Si es verdadero, la información sobre herramientas al mantener el puntero y autocompletar solo mostrará ciertas etiquetas de comentarios estructurados. De lo contrario, se muestran todos los comentarios.",
|
||||
@@ -134,7 +137,8 @@
|
||||
"c_cpp.configuration.commentContinuationPatterns.description": "Define el comportamiento del editor para cuando se presiona la tecla Entrar dentro de un bloque de comentario de una o varias líneas.",
|
||||
"c_cpp.configuration.configurationWarnings.description": "Determina si se muestran notificaciones emergentes cuando una extensión del proveedor de configuración no puede proporcionar una configuración para un archivo de código fuente.",
|
||||
"c_cpp.configuration.intelliSenseCachePath.description": "Define la ruta de acceso de la carpeta para los encabezados precompilados almacenados en caché que usa IntelliSense. La ruta de acceso de caché predeterminada es \"%LocalAppData%/Microsoft/vscode-cpptools\" en Windows, \"$XDG_CACHE_HOME/vscode-cpptools/\" en Linux (o \"$HOME/.cache/vscode-cpptools\" si XDG_CACHE_HOME no se ha definido) y \"$HOME/Library/Caches/vscode-cpptools/\" en Mac. La ruta de acceso predeterminada se utiliza si no se especifica ninguna ruta de acceso o se especifica una que no es válida.",
|
||||
"c_cpp.configuration.intelliSenseCacheSize.description": "Tamaño máximo del espacio del disco duro por área de trabajo en megabytes para los encabezados precompilados almacenados en caché. El uso real puede fluctuar en torno a este valor. El tamaño predeterminado es 5120 MB. El almacenamiento en caché de encabezados precompilados está deshabilitado cuando el tamaño es 0.",
|
||||
"c_cpp.configuration.intelliSenseCacheSize.description": "Tamaño máximo del espacio del disco duro por área de trabajo en megabytes (MB) para los encabezados precompilados almacenados en caché. El uso real puede fluctuar en torno a este valor. El tamaño predeterminado es 5120 MB. El almacenamiento en caché de encabezados precompilados está deshabilitado cuando el tamaño es 0.",
|
||||
"c_cpp.configuration.intelliSenseMemoryLimit.description": "Límite de uso de memoria en megabytes (MB) de un proceso de IntelliSense. El límite predeterminado es de 4096 MB y el límite máximo es de 16 GB. La extensión se cerrará y reiniciará un proceso de IntelliSense cuando supere el límite.",
|
||||
"c_cpp.configuration.default.includePath.description": "Valor que se va a usar en una configuración si \"includePath\" no se especifica en c_cpp_properties.json. Si se especifica \"includePath\", agregue \"${default}\" a la matriz para insertar los valores de esta configuración.",
|
||||
"c_cpp.configuration.default.defines.description": "Valor que debe usarse en una configuración si no se especifica \"defines\", o bien los valores que se deben insertar si se especifica \"${default}\" en \"defines\".",
|
||||
"c_cpp.configuration.default.macFrameworkPath.description": "Valor que debe usarse en una configuración si no se especifica \"macFrameworkPath\", o bien los valores que deben insertarse si se especifica \"${default}\" en \"macFrameworkPath\".",
|
||||
@@ -221,5 +225,11 @@
|
||||
"c_cpp.debuggers.symbolLoadInfo.description": "Control explícito de la carga de símbolos.",
|
||||
"c_cpp.debuggers.symbolLoadInfo.loadAll.description": "Si es true, se cargan los símbolos de todas las bibliotecas; de lo contrario, no se cargará ningún símbolo de la biblioteca compartida (solib). El valor predeterminado es true.",
|
||||
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "Lista de nombres de archivo (se permiten comodines) separados por punto y coma \";\". Modifica el comportamiento de LoadAll. Si LoadAll es true, no se cargan los símbolos para las bibliotecas que coincidan con cualquier nombre de la lista. De lo contrario, solo se cargan los símbolos para las bibliotecas que coincidan. Ejemplo: \"foo.so;bar.so\"",
|
||||
"c_cpp.debuggers.requireExactSource.description": "Marca opcional que requiere que el código fuente actual coincida con el archivo PDB."
|
||||
"c_cpp.debuggers.requireExactSource.description": "Marca opcional que requiere que el código fuente actual coincida con el archivo PDB.",
|
||||
"c_cpp.taskDefinitions.name.description": "Nombre de la tarea",
|
||||
"c_cpp.taskDefinitions.command.description": "Ruta de acceso a un compilador o script que realiza la compilación.",
|
||||
"c_cpp.taskDefinitions.args.description": "Argumentos adicionales que se pasan al compilador o al script de compilación",
|
||||
"c_cpp.taskDefinitions.options.description": "Opciones de comando adicionales",
|
||||
"c_cpp.taskDefinitions.options.cwd.description": "Directorio de trabajo actual del script o el programa ejecutado. Si se omite, se usa la raíz del área de trabajo actual de Code.",
|
||||
"c_cpp.taskDefinitions.detail.description": "Detalles adicionales de la tarea"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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.
|
||||
{
|
||||
"invalid.identifier.for.rename": "Se ha proporcionado un identificador no válido para la operación Cambiar el nombre del símbolo.",
|
||||
"unable.to.locate.selected.symbol": "No se encontró una definición para el símbolo seleccionado."
|
||||
}
|
||||
@@ -5,8 +5,7 @@
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"c.cpp.debug.protocol": "Protocolo de depuración de C/C++",
|
||||
"invalid.identifier.for.rename": "Se ha proporcionado un identificador no válido para la operación Cambiar el nombre del símbolo.",
|
||||
"unable.to.locate.selected.symbol": "No se encontró una definición para el símbolo seleccionado.",
|
||||
"c.cpp.warnings": "Advertencias de configuración de C/C++",
|
||||
"unable.to.start": "No se puede iniciar el servidor de lenguaje de C/C++. Las características de IntelliSense se deshabilitarán. Error: {0}",
|
||||
"check.permissions": "EPERM: Compruebe los permisos de \"{0}\"",
|
||||
"server.crashed2": "El servidor de lenguaje se ha bloqueado cinco veces en los tres últimos minutos. No se reiniciará.",
|
||||
@@ -34,6 +33,5 @@
|
||||
"yes.button": "Sí",
|
||||
"no.button": "No",
|
||||
"configurations.received": "Configuraciones personalizadas recibidas:",
|
||||
"browse.configuration.received": "Configuración de exploración personalizada recibida: {0}",
|
||||
"browse.configuration": "Configuración de exploración personalizada: {0}"
|
||||
"browse.configuration.received": "Configuración de exploración personalizada recibida: {0}"
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"failed.to.parse.tasks": "No se pudo analizar el archivo tasks.json, posiblemente debido a comentarios o a comas finales.",
|
||||
"failed.to.parse.json": "No se pudo analizar el archivo json, posiblemente debido a comentarios o a comas finales.",
|
||||
"extension.not.ready": "La extensión de C/C++ aún se está instalando. Vea la ventana de salida para obtener más información.",
|
||||
"refer.read.me": "Consulte {0} para obtener información de solución de problemas. Puede crear incidencias en {1}",
|
||||
"process.exited.with.code": "{0} se cerró con el código de error {1}",
|
||||
|
||||
@@ -92,8 +92,6 @@
|
||||
"not_exited_yet": "Aún no se ha salido del proceso. Se suspenderá durante {0} milisegundos y se volverá a intentar.",
|
||||
"failed_to_spawn_process": "No se pudo generar el proceso. Error: {0} ({1})",
|
||||
"offering_completion": "Oferta de finalización",
|
||||
"compiler_from_compiler_path": "Intentando obtener los valores predeterminados del compilador en la propiedad \"compilerPath\": \"{0}\"",
|
||||
"compiler_from_compile_commands": "Intentando obtener los valores predeterminados del compilador en el archivo compile_commands.json: \"{0}\"",
|
||||
"compiler_on_machine": "Intentando obtener los valores predeterminados del compilador encontrado en la máquina: \"{0}\"",
|
||||
"unable_to_resolve_include_path": "No se puede resolver la ruta de acceso de inclusión {0}",
|
||||
"error_searching_for_intellisense_client": "Error al buscar el cliente de IntelliSense: {0}",
|
||||
@@ -147,7 +145,7 @@
|
||||
"timed_out_attempting_to_communicate_with_process": "Se ha agotado el tiempo de espera al intentar establecer la comunicación con el proceso.",
|
||||
"process_failed_to_run": "No se puede ejecutar el proceso.",
|
||||
"wsl_not_detected": "WSL no detectado",
|
||||
"compiler_in_compilerpath_not_found": "No se encontró el compilador en la propiedad \"compilerPath\": {0}",
|
||||
"compiler_in_compilerpath_not_found": "No se encontró el compilador especificado: {0}",
|
||||
"config_data_invalid": "Datos de configuración no válidos, {0}",
|
||||
"cmake_executable_not_found": "No se encontró el ejecutable de CMake en {0}.",
|
||||
"no_args_provider": "No hay ningún proveedor de argumentos.",
|
||||
@@ -177,5 +175,34 @@
|
||||
"deprecated_label": "En desuso:",
|
||||
"exceptions_label": "Excepciones:",
|
||||
"template_parameters_label": "Parámetros de plantilla:",
|
||||
"compiler_probe_command_line": "Línea de comandos de sondeo del compilador: {0}"
|
||||
"compiler_probe_command_line": "Línea de comandos de sondeo del compilador: {0}",
|
||||
"c_compiler_from_compiler_path": "Intentando obtener los valores predeterminados del compilador de C en la propiedad \"compilerPath\": \"{0}\"",
|
||||
"cpp_compiler_from_compiler_path": "Intentando obtener los valores predeterminados del compilador de C++ en la propiedad \"compilerPath\": \"{0}\"",
|
||||
"c_compiler_from_compile_commands": "Intentando obtener los valores predeterminados del compilador de C en el archivo compile_commands.json: \"{0}\"",
|
||||
"cpp_compiler_from_compile_commands": "Intentando obtener los valores predeterminados del compilador de C++ en el archivo compile_commands.json: \"{0}\"",
|
||||
"c_intellisense_mode_changed": "Para los archivos de código fuente de C, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\".",
|
||||
"cpp_intellisense_mode_changed": "Para los archivos de código fuente de C++, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\".",
|
||||
"c_std_version_changed": "Para los archivos de código fuente de C, cStandard se ha cambiado de \"{0}\" a \"{1}\".",
|
||||
"cpp_std_version_changed": "Para los archivos de código fuente de C++, cppStandard se ha cambiado de \"{0}\" a \"{1}\".",
|
||||
"c_intellisense_mode_and_std_version_changed": "Para los archivos de código fuente de C, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" y cStandard de \"{2}\" a \"{3}\".",
|
||||
"cpp_intellisense_mode_and_std_version_changed": "Para los archivos de código fuente de C++, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" y cppStandard de \"{2}\" a \"{3}\".",
|
||||
"c_intellisense_mode_changed_with_path": "Para los archivos de código fuente de C, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" en función de los argumentos del compilador y el sondeo de compilerPath: \"{2}\"",
|
||||
"cpp_intellisense_mode_changed_with_path": "Para los archivos de código fuente de C++, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" en función de los argumentos del compilador y el sondeo de compilerPath: \"{2}\"",
|
||||
"c_std_version_changed_with_path": "Para los archivos de código fuente de C, cStandard se ha cambiado de \"{0}\" a \"{1}\" en función de los argumentos del compilador y el sondeo de compilerPath: \"{2}\"",
|
||||
"cpp_std_version_changed_with_path": "Para los archivos de código fuente de C++, cppStandard se ha cambiado de \"{0}\" a \"{1}\" en función de los argumentos del compilador y el sondeo de compilerPath: \"{2}\"",
|
||||
"c_intellisense_mode_and_std_version_changed_with_path": "Para los archivos de código fuente de C, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" y cStandard de \"{2}\" a \"{3}\", en función de los argumentos del compilador y el sondeo de compilerPath: \"{4}\"",
|
||||
"cpp_intellisense_mode_and_std_version_changed_with_path": "Para los archivos de código fuente de C++, IntelliSenseMode se ha cambiado de \"{0}\" a \"{1}\" y cppStandard de \"{2}\" a \"{3}\", en función de los argumentos del compilador y el sondeo de compilerPath: \"{4}\"",
|
||||
"compiler_path_changed": "No se puede resolver la configuración con compilerPath \"{0}\". Se usará \"{1}\".",
|
||||
"compiler_path_invalid": "No se puede resolver la configuración con compilerPath: \"{0}\"",
|
||||
"compiler_path_empty": "Omitiendo el sondeo del compilador debido a que la ruta compilerPath está explícitamente vacía.",
|
||||
"msvc_intellisense_specified": "IntelliSenseMode MSVC especificado. Configurando para el compilador cl.exe.",
|
||||
"unable_to_configure_cl_exe": "No se puede configurar para el compilador cl.exe.",
|
||||
"probing_compiler_default_target": "Sondeo del destino predeterminado del compilador mediante la línea de comandos: \"{0}\" {1}",
|
||||
"compiler_default_target": "El compilador devolvió el valor de destino predeterminado: {0}",
|
||||
"c_probing_compiler_default_standard": "Sondeo del compilador para el estándar de lenguaje C predeterminado con la línea de comandos: {0}",
|
||||
"cpp_probing_compiler_default_standard": "Sondeo del compilador para el estándar de lenguaje C++ predeterminado con la línea de comandos: {0}",
|
||||
"detected_language_standard_version": "Versión estándar del lenguaje detectada: {0}",
|
||||
"unhandled_default_target_detected": "Se detectó un valor de destino del compilador predeterminado no controlado: {0}",
|
||||
"unhandled_target_arg_detected": "Se detectó un valor del argumento de destino no controlado: {0}",
|
||||
"memory_limit_shutting_down_intellisense": "Cerrando el servidor de IntelliSense: {0}. El uso de la memoria es de {1} MB y ha superado el límite de {2} MB."
|
||||
}
|
||||
@@ -4,9 +4,10 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"downloading.progress.description": "Descargando {0}",
|
||||
"installing.progress.description": "Instalando {0}",
|
||||
"package.manager.missing": "El manifiesto del paquete no existe",
|
||||
"downloading.package": "Descargando el paquete \"{0}\" ",
|
||||
"downloading.progress.description": "Descargando el {0}: {1}",
|
||||
"error.from": "Error de {0}",
|
||||
"failed.download.url": "No se pudo descargar {0}",
|
||||
"failed.retrying": "Error. Reintentando...",
|
||||
@@ -18,6 +19,7 @@
|
||||
"failed.web.error": "Error (código de error: {0})",
|
||||
"web.response.error": "Error de respuesta HTTP/HTTPS",
|
||||
"invalid.content.length.received": "Se ha recibido una ubicación con una longitud de contenido no válida.",
|
||||
"invalid.content.received": "Se ha recibido contenido no válido. El hash es incorrecto.",
|
||||
"web.request.error": "Error de solicitud HTTP/HTTPS",
|
||||
"installing.package": "Instalando el paquete \"{0}\"",
|
||||
"downloaded.unavailable": "El archivo descargado no está disponible",
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
"switch.to.json": "Cambie al archivo {0} haciendo clic en el vínculo del archivo o usando el comando:",
|
||||
"edit.configurations.in.json": "Editar las configuraciones del archivo JSON",
|
||||
"edit.configurations.json": "C/C++: Editar configuraciones (JSON)",
|
||||
"check.the.schema": "Para obtener más información sobre las propiedades de C/C++, vaya a {0}.",
|
||||
"view.schema.reference": "Referencia al esquema de propiedades",
|
||||
"intellisense.configurations": "Configuraciones de IntelliSense",
|
||||
"intellisense.configurations.description": "Use este editor para modificar las opciones de IntelliSense definidas en el archivo {0} subyacente. Los cambios que realice en este editor solo se aplicarán en la configuración seleccionada. Para editar varias configuraciones al mismo tiempo, vaya a {1}.",
|
||||
"configuration.name": "Nombre de la configuración",
|
||||
@@ -30,7 +32,7 @@
|
||||
"intellisense.mode": "Modo de IntelliSense",
|
||||
"intellisense.mode.description": "Modo IntelliSense que se usará y que se asigna a una variante específica de la arquitectura de MSVC, gcc o Clang. Si se establece en {0} o no se configura, la extensión usará el valor predeterminado para esa plataforma. Windows usa de forma predeterminada {1}, Linux usa {2} y macOS usa {3}. Seleccione un modo IntelliSense específico para reemplazar el modo {4}.",
|
||||
"include.path": "Ruta de acceso de inclusión",
|
||||
"include.path.description": "Una ruta de acceso de inclusión es una carpeta que contiene archivos de encabezado (como {0}) que se incluyen en un archivo de código fuente. Especifique una lista de rutas de acceso que usará el motor de IntelliSense al buscar archivos de encabezado incluidos. Si una ruta de acceso termina en {1}, el motor de IntelliSense realizará una búsqueda recursiva de archivos de encabezado, empezando desde ese directorio. Si usa Windows y tiene instalado Visual Studio, o bien si se especifica un compilador en la opción {2}, no es necesario mostrar en esta lista las rutas de acceso de inclusión del sistema.",
|
||||
"include.path.description": "Una ruta de acceso de inclusión es una carpeta que contiene archivos de encabezado (como {0}) que se incluyen en un archivo de código fuente. Especifique una lista de rutas de acceso que el motor de IntelliSense debe usar al buscar los archivos de encabezado incluidos. La búsqueda en estas rutas de acceso no es recursiva. Especifique {1} para indicar una búsqueda recursiva. Por ejemplo, {2} buscará en todos los subdirectorios, mientras que {3} no lo hará. Si usa Windows y tiene instalado Visual Studio, o bien si se especifica un compilador en la opción {4}, no es necesario mostrar en esta lista las rutas de acceso de inclusión del sistema.",
|
||||
"one.include.path.per.line": "Una ruta de acceso de inclusión por línea.",
|
||||
"defines": "Defines",
|
||||
"defines.description": "Lista de definiciones del preprocesador que el motor de IntelliSense debe usar al analizar los archivos. También puede usar {0} para establecer un valor; por ejemplo, {1}.",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user