Compare commits
66
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03933b0a74 | ||
|
|
fc8eb8632f | ||
|
|
f6722bc8ff | ||
|
|
894db52405 | ||
|
|
abf384619d | ||
|
|
fd482d2169 | ||
|
|
2fafd831e5 | ||
|
|
1ceae9d4ed | ||
|
|
d4d5d4551f | ||
|
|
0ef77b5616 | ||
|
|
efdc8e90f6 | ||
|
|
9f020e9258 | ||
|
|
c058568767 | ||
|
|
8809e69e91 | ||
|
|
7af5c40dd0 | ||
|
|
1d2bd10691 | ||
|
|
dac96fe852 | ||
|
|
a1487e5e79 | ||
|
|
6f19496172 | ||
|
|
ad5d6de4ea | ||
|
|
153e232f2d | ||
|
|
bcd4a7f025 | ||
|
|
3c3d463a81 | ||
|
|
92691929ed | ||
|
|
86a41c9021 | ||
|
|
a71c90c140 | ||
|
|
1d28851ef7 | ||
|
|
1aced54699 | ||
|
|
a8cf39c8b4 | ||
|
|
e037b95926 | ||
|
|
af7f6ce52e | ||
|
|
9a18982440 | ||
|
|
35bf4c8b0f | ||
|
|
23446558cf | ||
|
|
76ccb791ff | ||
|
|
a5a5735089 | ||
|
|
5077edf585 | ||
|
|
f38926f8b1 | ||
|
|
30de9bcc27 | ||
|
|
100e2e0828 | ||
|
|
e3b41771c6 | ||
|
|
3f7f3090f6 | ||
|
|
4149493f2c | ||
|
|
43aad3f65c | ||
|
|
bedcacb0a1 | ||
|
|
a5f8f84b43 | ||
|
|
e53b190380 | ||
|
|
1846fd4001 | ||
|
|
62e09945e3 | ||
|
|
c9b0db02fd | ||
|
|
51da619eec | ||
|
|
3eb50568e9 | ||
|
|
866b145645 | ||
|
|
9762fe5397 | ||
|
|
377896c30a | ||
|
|
98f13a6f11 | ||
|
|
0d85aea687 | ||
|
|
25d2b76514 | ||
|
|
42dfef3f6b | ||
|
|
1ce1e9cd71 | ||
|
|
65163966d5 | ||
|
|
edf8e0a155 | ||
|
|
4083075476 | ||
|
|
b745ebc218 | ||
|
|
b69d17a0f5 | ||
|
|
be8b6fb693 |
@@ -1,2 +0,0 @@
|
||||
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
|
||||
always-auth=true
|
||||
@@ -1,86 +0,0 @@
|
||||
"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.AddComment = void 0;
|
||||
const ActionBase_1 = require("../common/ActionBase");
|
||||
const utils_1 = require("../common/utils");
|
||||
class AddComment extends ActionBase_1.ActionBase {
|
||||
constructor(github, createdAfter, afterDays, labels, addComment, addLabels, removeLabels, setMilestoneId, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
|
||||
this.github = github;
|
||||
this.createdAfter = createdAfter;
|
||||
this.afterDays = afterDays;
|
||||
this.addComment = addComment;
|
||||
this.addLabels = addLabels;
|
||||
this.removeLabels = removeLabels;
|
||||
this.setMilestoneId = setMilestoneId;
|
||||
}
|
||||
async run() {
|
||||
const updatedTimestamp = this.afterDays ? (0, utils_1.daysAgoToHumanReadbleDate)(this.afterDays) : undefined;
|
||||
const query = this.buildQuery((updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") +
|
||||
(this.createdAfter ? `created:>${this.createdAfter} ` : "") +
|
||||
"is:open is:unlocked");
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
for (const issue of page) {
|
||||
const hydrated = await issue.getIssue();
|
||||
if (hydrated.open && this.validateIssue(hydrated)
|
||||
// TODO: Verify updated timestamp
|
||||
) {
|
||||
// Don't add a comment if already commented on by an action.
|
||||
let foundActionComment = false;
|
||||
for await (const commentBatch of issue.getComments()) {
|
||||
for (const comment of commentBatch) {
|
||||
if (comment.author.isGitHubApp) {
|
||||
foundActionComment = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (foundActionComment)
|
||||
break;
|
||||
}
|
||||
if (foundActionComment) {
|
||||
(0, utils_1.safeLog)(`Issue ${hydrated.number} already commented on by an action. Ignoring.`);
|
||||
continue;
|
||||
}
|
||||
if (this.addComment) {
|
||||
(0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`);
|
||||
await issue.postComment(this.addComment);
|
||||
}
|
||||
if (removeLabelsSet.length > 0) {
|
||||
for (const removeLabel of removeLabelsSet) {
|
||||
if (removeLabel && removeLabel.length > 0) {
|
||||
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
|
||||
await issue.removeLabel(removeLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (addLabelsSet.length > 0) {
|
||||
for (const addLabel of addLabelsSet) {
|
||||
if (addLabel && addLabel.length > 0) {
|
||||
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
|
||||
await issue.addLabel(addLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.setMilestoneId != undefined) {
|
||||
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
await issue.setMilestone(+this.setMilestoneId);
|
||||
}
|
||||
(0, utils_1.safeLog)(`Processing issue ${hydrated.number}.`);
|
||||
}
|
||||
else {
|
||||
if (!hydrated.open) {
|
||||
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.AddComment = AddComment;
|
||||
//# sourceMappingURL=AddComment.js.map
|
||||
@@ -1,98 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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, safeLog } from '../common/utils';
|
||||
|
||||
export class AddComment extends ActionBase {
|
||||
constructor(
|
||||
private github: GitHub,
|
||||
private createdAfter: string | undefined,
|
||||
private afterDays: number,
|
||||
labels: string,
|
||||
private addComment: string,
|
||||
private addLabels?: string,
|
||||
private removeLabels?: string,
|
||||
private setMilestoneId?: string,
|
||||
milestoneName?: string,
|
||||
milestoneId?: string,
|
||||
ignoreLabels?: string,
|
||||
ignoreMilestoneNames?: string,
|
||||
ignoreMilestoneIds?: string,
|
||||
minimumVotes?: number,
|
||||
maximumVotes?: number,
|
||||
involves?: string
|
||||
) {
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
|
||||
}
|
||||
|
||||
async run() {
|
||||
const updatedTimestamp = this.afterDays ? daysAgoToHumanReadbleDate(this.afterDays) : undefined;
|
||||
const query = this.buildQuery(
|
||||
(updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") +
|
||||
(this.createdAfter ? `created:>${this.createdAfter} ` : "") +
|
||||
"is:open is:unlocked");
|
||||
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
|
||||
|
||||
for await (const page of this.github.query({ q: query })) {
|
||||
for (const issue of page) {
|
||||
const hydrated = await issue.getIssue();
|
||||
if (hydrated.open && this.validateIssue(hydrated)
|
||||
// TODO: Verify updated timestamp
|
||||
) {
|
||||
// Don't add a comment if already commented on by an action.
|
||||
let foundActionComment = false;
|
||||
for await (const commentBatch of issue.getComments()) {
|
||||
for (const comment of commentBatch) {
|
||||
if (comment.author.isGitHubApp) {
|
||||
foundActionComment = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (foundActionComment)
|
||||
break;
|
||||
}
|
||||
if (foundActionComment) {
|
||||
safeLog(`Issue ${hydrated.number} already commented on by an action. Ignoring.`);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (this.addComment) {
|
||||
safeLog(`Posting comment on issue ${hydrated.number}`);
|
||||
await issue.postComment(this.addComment);
|
||||
}
|
||||
if (removeLabelsSet.length > 0) {
|
||||
for (const removeLabel of removeLabelsSet) {
|
||||
if (removeLabel && removeLabel.length > 0) {
|
||||
safeLog(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
|
||||
await issue.removeLabel(removeLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (addLabelsSet.length > 0) {
|
||||
for (const addLabel of addLabelsSet) {
|
||||
if (addLabel && addLabel.length > 0) {
|
||||
safeLog(`Adding label on issue ${hydrated.number}: ${addLabel}`);
|
||||
await issue.addLabel(addLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.setMilestoneId != undefined) {
|
||||
safeLog(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
await issue.setMilestone(+this.setMilestoneId);
|
||||
}
|
||||
safeLog(`Processing issue ${hydrated.number}.`);
|
||||
} else {
|
||||
if (!hydrated.open) {
|
||||
safeLog(`Issue ${hydrated.number} is not open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
name: Add Comment and Label
|
||||
description: Add comment (etc) to issues that are marked with a specified label (etc)
|
||||
inputs:
|
||||
token:
|
||||
description: GitHub token with issue, comment, and label read/write permissions
|
||||
default: ${{ github.token }}
|
||||
createdAfter:
|
||||
description: Creation date after which to be considered.
|
||||
required: false
|
||||
afterDays:
|
||||
description: Days to wait before performing this action (may be 0).
|
||||
required: false
|
||||
addComment:
|
||||
description: Comment to add
|
||||
labels:
|
||||
description: items with these labels will be considered. May be "*".
|
||||
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)
|
||||
ignoreLabels:
|
||||
description: items with these labels will not be considered
|
||||
ignoreMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
ignoreMilestoneIds:
|
||||
description: items with these milestones will not be considered (IDs only, must match names)
|
||||
addLabels:
|
||||
description: Labels to add to issue.
|
||||
removeLabels:
|
||||
description: Labels to remove from issue.
|
||||
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.
|
||||
involves:
|
||||
descriptions: Qualifier to find issues that in some way involve a certain user either as an author, assignee, or mentions.
|
||||
readonly:
|
||||
description: If true, changes are not applied.
|
||||
runs:
|
||||
using: 'node20'
|
||||
main: 'index.js'
|
||||
@@ -1,20 +0,0 @@
|
||||
"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 AddComment_1 = require("./AddComment");
|
||||
const Action_1 = require("../common/Action");
|
||||
class AddCommentAction extends Action_1.Action {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.id = 'AddComment';
|
||||
}
|
||||
async onTriggered(github) {
|
||||
await new AddComment_1.AddComment(github, (0, utils_1.getInput)('createdAfter') || undefined, +((0, utils_1.getInput)('afterDays') || 0), (0, utils_1.getRequiredInput)('labels'), (0, utils_1.getInput)('addComment') || '', (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999), (0, utils_1.getInput)('involves') || undefined).run();
|
||||
}
|
||||
}
|
||||
new AddCommentAction().run(); // eslint-disable-line
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -1,36 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* 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 { AddComment } from './AddComment'
|
||||
import { Action } from '../common/Action'
|
||||
|
||||
class AddCommentAction extends Action {
|
||||
id = 'AddComment';
|
||||
|
||||
async onTriggered(github: OctoKit) {
|
||||
await new AddComment(
|
||||
github,
|
||||
getInput('createdAfter') || undefined,
|
||||
+(getInput('afterDays') || 0),
|
||||
getRequiredInput('labels'),
|
||||
getInput('addComment') || '',
|
||||
getInput('addLabels') || undefined,
|
||||
getInput('removeLabels') || undefined,
|
||||
getInput('setMilestoneId') || undefined,
|
||||
getInput('milestoneName') || undefined,
|
||||
getInput('milestoneId') || undefined,
|
||||
getInput('ignoreLabels') || undefined,
|
||||
getInput('ignoreMilestoneNames') || undefined,
|
||||
getInput('ignoreMilestoneIds') || undefined,
|
||||
+(getInput('minimumVotes') || 0),
|
||||
+(getInput('maximumVotes') || 9999999),
|
||||
getInput('involves') || undefined
|
||||
).run();
|
||||
}
|
||||
}
|
||||
|
||||
new AddCommentAction().run(); // eslint-disable-line
|
||||
@@ -15,7 +15,7 @@ inputs:
|
||||
milestoneId:
|
||||
description: items with these milestones will be considered (id only, must match name)
|
||||
labels:
|
||||
description: items with these labels will be considered. May be "*".
|
||||
description: items with these labels will not be considered. May be "*".
|
||||
ignoreMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
ignoreMilestoneIds:
|
||||
@@ -29,5 +29,5 @@ inputs:
|
||||
readonly:
|
||||
description: If true, changes are not applied.
|
||||
runs:
|
||||
using: 'node20'
|
||||
using: 'node12'
|
||||
main: 'index.js'
|
||||
|
||||
@@ -19,7 +19,7 @@ inputs:
|
||||
milestoneId:
|
||||
description: items with these milestones will be considered (id only, must match name)
|
||||
labels:
|
||||
description: items with these labels will be considered. May be "*".
|
||||
description: items with these labels will not be considered. May be "*".
|
||||
ignoreMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
ignoreMilestoneIds:
|
||||
@@ -33,5 +33,5 @@ inputs:
|
||||
readonly:
|
||||
description: If true, changes are not applied.
|
||||
runs:
|
||||
using: 'node20'
|
||||
using: 'node12'
|
||||
main: 'index.js'
|
||||
|
||||
@@ -1,106 +1,106 @@
|
||||
"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, removeLabels, setMilestoneId, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
|
||||
this.github = github;
|
||||
this.closeDays = closeDays;
|
||||
this.closeComment = closeComment;
|
||||
this.pingDays = pingDays;
|
||||
this.pingComment = pingComment;
|
||||
this.additionalTeam = additionalTeam;
|
||||
this.addLabels = addLabels;
|
||||
this.removeLabels = removeLabels;
|
||||
this.setMilestoneId = setMilestoneId;
|
||||
}
|
||||
async run() {
|
||||
const updatedTimestamp = this.closeDays ? (0, utils_1.daysAgoToHumanReadbleDate)(this.closeDays) : undefined;
|
||||
const pingTimestamp = this.pingDays ? (0, utils_1.daysAgoToTimestamp)(this.pingDays) : undefined;
|
||||
const query = this.buildQuery((updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.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 ||
|
||||
pingTimestamp == undefined ||
|
||||
// TODO: List the collaborators once per go rather than checking a single user each issue
|
||||
this.additionalTeam.includes(lastComment.author.name) ||
|
||||
await issue.hasWriteAccess(lastComment.author)) {
|
||||
if (pingTimestamp != undefined) {
|
||||
if (lastComment) {
|
||||
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
|
||||
}
|
||||
else {
|
||||
(0, utils_1.safeLog)(`No comments on issue ${hydrated.number}. Closing.`);
|
||||
}
|
||||
}
|
||||
if (this.closeComment) {
|
||||
(0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`);
|
||||
await issue.postComment(this.closeComment);
|
||||
}
|
||||
if (removeLabelsSet.length > 0) {
|
||||
for (const removeLabel of removeLabelsSet) {
|
||||
if (removeLabel && removeLabel.length > 0) {
|
||||
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
|
||||
await issue.removeLabel(removeLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (addLabelsSet.length > 0) {
|
||||
for (const addLabel of addLabelsSet) {
|
||||
if (addLabel && addLabel.length > 0) {
|
||||
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
|
||||
await issue.addLabel(addLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
await issue.closeIssue("not_planned");
|
||||
if (this.setMilestoneId != undefined) {
|
||||
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
await issue.setMilestone(+this.setMilestoneId);
|
||||
}
|
||||
(0, utils_1.safeLog)(`Closing issue ${hydrated.number}.`);
|
||||
}
|
||||
else {
|
||||
// Ping
|
||||
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
|
||||
(0, utils_1.safeLog)(`Last comment on issue ${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 {
|
||||
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!hydrated.open) {
|
||||
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.StaleCloser = StaleCloser;
|
||||
"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, removeLabels, setMilestoneId, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
|
||||
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
|
||||
this.github = github;
|
||||
this.closeDays = closeDays;
|
||||
this.closeComment = closeComment;
|
||||
this.pingDays = pingDays;
|
||||
this.pingComment = pingComment;
|
||||
this.additionalTeam = additionalTeam;
|
||||
this.addLabels = addLabels;
|
||||
this.removeLabels = removeLabels;
|
||||
this.setMilestoneId = setMilestoneId;
|
||||
}
|
||||
async run() {
|
||||
const updatedTimestamp = (0, utils_1.daysAgoToHumanReadbleDate)(this.closeDays);
|
||||
const pingTimestamp = this.pingDays ? (0, 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(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.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 ||
|
||||
pingTimestamp == undefined ||
|
||||
// TODO: List the collaborators once per go rather than checking a single user each issue
|
||||
this.additionalTeam.includes(lastComment.author.name) ||
|
||||
await issue.hasWriteAccess(lastComment.author)) {
|
||||
if (pingTimestamp != undefined) {
|
||||
if (lastComment) {
|
||||
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
|
||||
}
|
||||
else {
|
||||
(0, utils_1.safeLog)(`No comments on issue ${hydrated.number}. Closing.`);
|
||||
}
|
||||
}
|
||||
if (this.closeComment) {
|
||||
(0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`);
|
||||
await issue.postComment(this.closeComment);
|
||||
}
|
||||
if (removeLabelsSet.length > 0) {
|
||||
for (const removeLabel of removeLabelsSet) {
|
||||
if (removeLabel && removeLabel.length > 0) {
|
||||
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
|
||||
await issue.removeLabel(removeLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (addLabelsSet.length > 0) {
|
||||
for (const addLabel of addLabelsSet) {
|
||||
if (addLabel && addLabel.length > 0) {
|
||||
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
|
||||
await issue.addLabel(addLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
await issue.closeIssue("not_planned");
|
||||
if (this.setMilestoneId != undefined) {
|
||||
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
|
||||
await issue.setMilestone(+this.setMilestoneId);
|
||||
}
|
||||
(0, utils_1.safeLog)(`Closing issue ${hydrated.number}.`);
|
||||
}
|
||||
else {
|
||||
// Ping
|
||||
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
|
||||
(0, utils_1.safeLog)(`Last comment on issue ${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 {
|
||||
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!hydrated.open) {
|
||||
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.StaleCloser = StaleCloser;
|
||||
//# sourceMappingURL=StaleCloser.js.map
|
||||
@@ -33,10 +33,10 @@ export class StaleCloser extends ActionBase {
|
||||
}
|
||||
|
||||
async run() {
|
||||
const updatedTimestamp = this.closeDays ? daysAgoToHumanReadbleDate(this.closeDays) : undefined;
|
||||
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays);
|
||||
const pingTimestamp = this.pingDays ? daysAgoToTimestamp(this.pingDays) : undefined;
|
||||
|
||||
const query = this.buildQuery((updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
|
||||
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
|
||||
|
||||
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
|
||||
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
|
||||
|
||||
@@ -20,7 +20,7 @@ inputs:
|
||||
milestoneId:
|
||||
description: items with these milestones will be considered (id only, must match name)
|
||||
labels:
|
||||
description: items with these labels will be considered. May be "*".
|
||||
description: items with these labels will not be considered. May be "*".
|
||||
required: true
|
||||
ignoreMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
@@ -43,5 +43,5 @@ inputs:
|
||||
readonly:
|
||||
description: If true, changes are not applied.
|
||||
runs:
|
||||
using: 'node20'
|
||||
using: 'node12'
|
||||
main: 'index.js'
|
||||
|
||||
@@ -1,21 +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, +(0, utils_1.getRequiredInput)('closeDays'), (0, utils_1.getRequiredInput)('labels'), (0, utils_1.getInput)('closeComment') || '', +((0, utils_1.getInput)('pingDays') || 0), (0, utils_1.getInput)('pingComment') || '', ((_a = (0, utils_1.getInput)('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999), (0, utils_1.getInput)('involves') || undefined).run();
|
||||
}
|
||||
}
|
||||
new StaleCloserAction().run(); // eslint-disable-line
|
||||
"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, +(0, utils_1.getRequiredInput)('closeDays'), (0, utils_1.getRequiredInput)('labels'), (0, utils_1.getInput)('closeComment') || '', +((0, utils_1.getInput)('pingDays') || 0), (0, utils_1.getInput)('pingComment') || '', ((_a = (0, utils_1.getInput)('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999), (0, utils_1.getInput)('involves') || undefined).run();
|
||||
}
|
||||
}
|
||||
new StaleCloserAction().run(); // eslint-disable-line
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -12,10 +12,6 @@ let numRequests = 0;
|
||||
const getNumRequests = () => numRequests;
|
||||
exports.getNumRequests = getNumRequests;
|
||||
class OctoKit {
|
||||
get octokit() {
|
||||
numRequests++;
|
||||
return this._octokit;
|
||||
}
|
||||
constructor(token, params, options = { readonly: false }) {
|
||||
this.token = token;
|
||||
this.params = params;
|
||||
@@ -27,6 +23,10 @@ class OctoKit {
|
||||
this.repoName = params.repo;
|
||||
this.repoOwner = params.owner;
|
||||
}
|
||||
get octokit() {
|
||||
numRequests++;
|
||||
return this._octokit;
|
||||
}
|
||||
getIssueByNumber(number) {
|
||||
return new OctoKitIssue(this.token, this.params, { number: number });
|
||||
}
|
||||
|
||||
@@ -1,183 +1,183 @@
|
||||
"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;
|
||||
const utils_1 = require("./utils");
|
||||
class ActionBase {
|
||||
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
|
||||
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.involves = involves;
|
||||
this.labelsSet = [];
|
||||
this.ignoreLabelsSet = [];
|
||||
this.ignoreMilestoneNamesSet = [];
|
||||
this.ignoreMilestoneIdsSet = [];
|
||||
this.ignoreAllWithLabels = false;
|
||||
this.ignoreAllWithMilestones = false;
|
||||
this.involvesSet = [];
|
||||
}
|
||||
buildQuery(baseQuery) {
|
||||
var _a, _b, _c, _d, _e, _f;
|
||||
let query = baseQuery;
|
||||
(0, utils_1.safeLog)(`labels: ${this.labels}`);
|
||||
(0, utils_1.safeLog)(`milestoneName: ${this.milestoneName}`);
|
||||
(0, utils_1.safeLog)(`milestoneId: ${this.milestoneId}`);
|
||||
(0, utils_1.safeLog)(`ignoreLabels: ${this.ignoreLabels}`);
|
||||
(0, utils_1.safeLog)(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
|
||||
(0, utils_1.safeLog)(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
|
||||
(0, utils_1.safeLog)(`minimumVotes: ${this.minimumVotes}`);
|
||||
(0, utils_1.safeLog)(`maximumVotes: ${this.maximumVotes}`);
|
||||
(0, utils_1.safeLog)(`involves: ${this.involves}`);
|
||||
// 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 label 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.
|
||||
// If a milestoneName/milestoneId are set, ignoreMilenameName/ignoreMilestoneIds are ignored.
|
||||
// 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) {
|
||||
if (((_a = this.labels) === null || _a === void 0 ? void 0 : _a.length) > 2 && ((_b = this.labels) === null || _b === void 0 ? void 0 : _b.startsWith('"')) && ((_c = this.labels) === null || _c === void 0 ? void 0 : _c.endsWith('"'))) {
|
||||
this.labels = this.labels.substring(1, this.labels.length - 2);
|
||||
}
|
||||
this.labelsSet = (_d = this.labels) === null || _d === void 0 ? void 0 : _d.split(',');
|
||||
for (const str of this.labelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` label:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
// The "involves" qualifier to find issues that in some way involve a certain user.
|
||||
// It is a logical OR between the author, assignee, and mentions.
|
||||
if (this.involves) {
|
||||
this.involvesSet = (_e = this.involves) === null || _e === void 0 ? void 0 : _e.split(',');
|
||||
for (const str of this.involvesSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` involves:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.ignoreLabels) {
|
||||
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
|
||||
query = query.concat(` no:label`);
|
||||
this.ignoreAllWithLabels = true;
|
||||
}
|
||||
else {
|
||||
this.ignoreLabelsSet = (_f = this.ignoreLabels) === null || _f === void 0 ? void 0 : _f.split(',');
|
||||
for (const str of this.ignoreLabelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` -label:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.milestoneName) {
|
||||
query = query.concat(` milestone:"${this.milestoneName}"`);
|
||||
}
|
||||
else if (this.ignoreMilestoneNames) {
|
||||
if (this.ignoreMilestoneNames == "*") {
|
||||
query = query.concat(` no:milestone`);
|
||||
this.ignoreAllWithMilestones = true;
|
||||
}
|
||||
else if (this.ignoreMilestoneIds) {
|
||||
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) {
|
||||
var _a, _b;
|
||||
if (this.ignoreAllWithLabels) {
|
||||
// Validate that the issue does not have labels
|
||||
if (issue.labels && issue.labels.length !== 0) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Make sure all labels we wanted are present.
|
||||
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
|
||||
return false;
|
||||
}
|
||||
for (const str of this.labelsSet) {
|
||||
if (!issue.labels.includes(str)) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set.`);
|
||||
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)) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.ignoreAllWithMilestones) {
|
||||
// Validate that the issue does not have a milestone.
|
||||
if (issue.milestone) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Make sure milestone is present, if required.
|
||||
if (this.milestoneId != null && ((_a = issue.milestone) === null || _a === void 0 ? void 0 : _a.milestoneId) != +this.milestoneId) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${(_b = issue.milestone) === null || _b === void 0 ? void 0 : _b.milestoneId}`);
|
||||
return false;
|
||||
}
|
||||
// Make sure a milestones we wanted to ignore is not present.
|
||||
if (issue.milestone && issue.milestone.milestoneId != null) {
|
||||
for (const str of this.ignoreMilestoneIdsSet) {
|
||||
if (issue.milestone.milestoneId == +str) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone ${issue.milestone.milestoneId} found in list of ignored milestone IDs.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Verify the issue has a sufficient number of upvotes
|
||||
let upvotes = 0;
|
||||
if (issue.reactions) {
|
||||
upvotes = issue.reactions['+1'];
|
||||
}
|
||||
if (this.minimumVotes != undefined) {
|
||||
if (upvotes < this.minimumVotes) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Verify the issue does not have too many upvotes
|
||||
if (this.maximumVotes != undefined) {
|
||||
if (upvotes > this.maximumVotes) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
exports.ActionBase = ActionBase;
|
||||
"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;
|
||||
const utils_1 = require("./utils");
|
||||
class ActionBase {
|
||||
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
|
||||
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.involves = involves;
|
||||
this.labelsSet = [];
|
||||
this.ignoreLabelsSet = [];
|
||||
this.ignoreMilestoneNamesSet = [];
|
||||
this.ignoreMilestoneIdsSet = [];
|
||||
this.ignoreAllWithLabels = false;
|
||||
this.ignoreAllWithMilestones = false;
|
||||
this.involvesSet = [];
|
||||
}
|
||||
buildQuery(baseQuery) {
|
||||
var _a, _b, _c, _d, _e, _f;
|
||||
let query = baseQuery;
|
||||
(0, utils_1.safeLog)(`labels: ${this.labels}`);
|
||||
(0, utils_1.safeLog)(`milestoneName: ${this.milestoneName}`);
|
||||
(0, utils_1.safeLog)(`milestoneId: ${this.milestoneId}`);
|
||||
(0, utils_1.safeLog)(`ignoreLabels: ${this.ignoreLabels}`);
|
||||
(0, utils_1.safeLog)(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
|
||||
(0, utils_1.safeLog)(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
|
||||
(0, utils_1.safeLog)(`minimumVotes: ${this.minimumVotes}`);
|
||||
(0, utils_1.safeLog)(`maximumVotes: ${this.maximumVotes}`);
|
||||
(0, utils_1.safeLog)(`involves: ${this.involves}`);
|
||||
// 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 label 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.
|
||||
// If a milestoneName/milestoneId are set, ignoreMilenameName/ignoreMilestoneIds are ignored.
|
||||
// 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) {
|
||||
if (((_a = this.labels) === null || _a === void 0 ? void 0 : _a.length) > 2 && ((_b = this.labels) === null || _b === void 0 ? void 0 : _b.startsWith('"')) && ((_c = this.labels) === null || _c === void 0 ? void 0 : _c.endsWith('"'))) {
|
||||
this.labels = this.labels.substring(1, this.labels.length - 2);
|
||||
}
|
||||
this.labelsSet = (_d = this.labels) === null || _d === void 0 ? void 0 : _d.split(',');
|
||||
for (const str of this.labelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` label:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
// The "involves" qualifier to find issues that in some way involve a certain user.
|
||||
// It is a logical OR between the author, assignee, and mentions.
|
||||
if (this.involves) {
|
||||
this.involvesSet = (_e = this.involves) === null || _e === void 0 ? void 0 : _e.split(',');
|
||||
for (const str of this.involvesSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` involves:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.ignoreLabels) {
|
||||
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
|
||||
query = query.concat(` no:label`);
|
||||
this.ignoreAllWithLabels = true;
|
||||
}
|
||||
else {
|
||||
this.ignoreLabelsSet = (_f = this.ignoreLabels) === null || _f === void 0 ? void 0 : _f.split(',');
|
||||
for (const str of this.ignoreLabelsSet) {
|
||||
if (str != "") {
|
||||
query = query.concat(` -label:"${str}"`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.milestoneName) {
|
||||
query = query.concat(` milestone:"${this.milestoneName}"`);
|
||||
}
|
||||
else if (this.ignoreMilestoneNames) {
|
||||
if (this.ignoreMilestoneNames == "*") {
|
||||
query = query.concat(` no:milestone`);
|
||||
this.ignoreAllWithMilestones = true;
|
||||
}
|
||||
else if (this.ignoreMilestoneIds) {
|
||||
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) {
|
||||
var _a, _b;
|
||||
if (this.ignoreAllWithLabels) {
|
||||
// Validate that the issue does not have labels
|
||||
if (issue.labels && issue.labels.length !== 0) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Make sure all labels we wanted are present.
|
||||
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
|
||||
return false;
|
||||
}
|
||||
for (const str of this.labelsSet) {
|
||||
if (!issue.labels.includes(str)) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set.`);
|
||||
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)) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.ignoreAllWithMilestones) {
|
||||
// Validate that the issue does not have a milestone.
|
||||
if (issue.milestone) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Make sure milestone is present, if required.
|
||||
if (this.milestoneId != null && ((_a = issue.milestone) === null || _a === void 0 ? void 0 : _a.milestoneId) != +this.milestoneId) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${(_b = issue.milestone) === null || _b === void 0 ? void 0 : _b.milestoneId}`);
|
||||
return false;
|
||||
}
|
||||
// Make sure a milestones we wanted to ignore is not present.
|
||||
if (issue.milestone && issue.milestone.milestoneId != null) {
|
||||
for (const str of this.ignoreMilestoneIdsSet) {
|
||||
if (issue.milestone.milestoneId == +str) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone ${issue.milestone.milestoneId} found in list of ignored milestone IDs.`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Verify the issue has a sufficient number of upvotes
|
||||
let upvotes = 0;
|
||||
if (issue.reactions) {
|
||||
upvotes = issue.reactions['+1'];
|
||||
}
|
||||
if (this.minimumVotes != undefined) {
|
||||
if (upvotes < this.minimumVotes) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Verify the issue does not have too many upvotes
|
||||
if (this.maximumVotes != undefined) {
|
||||
if (upvotes > this.maximumVotes) {
|
||||
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
exports.ActionBase = ActionBase;
|
||||
//# sourceMappingURL=ActionBase.js.map
|
||||
Generated
+2875
-3049
File diff suppressed because it is too large
Load Diff
@@ -11,11 +11,11 @@
|
||||
"author": "",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.9.1",
|
||||
"@actions/github": "^6.0.0",
|
||||
"@octokit/rest": "^21.1.1",
|
||||
"@actions/github": "^5.0.3",
|
||||
"@octokit/rest": "^19.0.3",
|
||||
"@slack/web-api": "^6.9.1",
|
||||
"applicationinsights": "^2.5.1",
|
||||
"axios": "^1.8.2",
|
||||
"axios": "^1.6.1",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
name: Bug - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 50 12 * * * # Run at 12:50 PM UTC (4:50 AM PST, 5:50 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Add Comment
|
||||
uses: ./.github/actions/AddComment
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: bug,debugger
|
||||
ignoreLabels: "investigate: costing,investigate,external,by design,question,more info needed,Language Service,internal"
|
||||
createdAfter: "2024-07-22"
|
||||
addComment: "Thank you for reporting this issue. We’ll let you know if we need more information to investigate it. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated."
|
||||
addLabels: help wanted
|
||||
@@ -1,7 +1,7 @@
|
||||
name: By Design closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 0 13 * * * # Run at 1:00 PM UTC (5:00 AM PST, 6:00 AM PDT)
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
@@ -23,6 +23,6 @@ jobs:
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: by design,debugger
|
||||
ignoreLabels: Language Service,internal
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 0
|
||||
closeComment: "This issue has been closed because the described behavior was determined to be by design."
|
||||
|
||||
@@ -10,6 +10,6 @@ jobs:
|
||||
job:
|
||||
uses: ./.github/workflows/job-compile-and-test.yml
|
||||
with:
|
||||
runner-env: macos-14
|
||||
runner-env: macos-12
|
||||
platform: mac
|
||||
yarn-args: --network-timeout 100000
|
||||
@@ -1,93 +0,0 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main", "insiders", "release", "vs" ]
|
||||
pull_request:
|
||||
branches: [ "main", "insiders", "release", "vs" ]
|
||||
schedule:
|
||||
- cron: '29 4 * * 3'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze (${{ matrix.language }})
|
||||
# Runner size impacts CodeQL analysis time. To learn more, please see:
|
||||
# - https://gh.io/recommended-hardware-resources-for-running-codeql
|
||||
# - https://gh.io/supported-runners-and-hardware-resources
|
||||
# - https://gh.io/using-larger-runners (GitHub.com only)
|
||||
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
|
||||
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
||||
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
|
||||
permissions:
|
||||
# required for all workflows
|
||||
security-events: write
|
||||
|
||||
# required to fetch internal or private CodeQL packs
|
||||
packages: read
|
||||
|
||||
# only required for workflows in private repositories
|
||||
actions: read
|
||||
contents: read
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- language: javascript-typescript
|
||||
build-mode: none
|
||||
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
|
||||
# Use `c-cpp` to analyze code written in C, C++ or both
|
||||
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
|
||||
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
|
||||
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
|
||||
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
|
||||
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
|
||||
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
build-mode: ${{ matrix.build-mode }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
|
||||
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
# queries: security-extended,security-and-quality
|
||||
|
||||
# If the analyze step fails for one of the languages you are analyzing with
|
||||
# "We were unable to automatically build your code", modify the matrix above
|
||||
# to set the build mode to "manual" for that language. Then modify this step
|
||||
# to build your code.
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
- if: matrix.build-mode == 'manual'
|
||||
shell: bash
|
||||
run: |
|
||||
echo 'If you are using a "manual" build mode for one or more of the' \
|
||||
'languages you are analyzing, replace this with the commands to build' \
|
||||
'your code, for example:'
|
||||
echo ' make bootstrap'
|
||||
echo ' make release'
|
||||
exit 1
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Enhancement Closer (no milestone)
|
||||
on:
|
||||
schedule:
|
||||
- cron: 40 12 * * * # Run at 12:40 PM UTC (4:40 AM PST, 5:40 AM PDT)
|
||||
- cron: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Enhancement Closer (Triage)
|
||||
on:
|
||||
schedule:
|
||||
- cron: 30 12 * * * # Run at 12:30 PM UTC (4:30 AM PST, 5:30 AM PDT)
|
||||
- cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Enhancement Reopener
|
||||
on:
|
||||
schedule:
|
||||
- cron: 0 11 * * * # Run at 11:00 AM UTC (3:00 AM PST, 4:00 AM PDT)
|
||||
- cron: 20 12 * * * # Run at 12:20 PM UTC (4:20 AM PST, 5:20 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: External closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 13 * * * # Run at 1:10 PM UTC (5:10 AM PST, 6:10 AM PDT)
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
@@ -23,6 +23,6 @@ jobs:
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: external,debugger
|
||||
ignoreLabels: Language Service,internal
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 0
|
||||
closeComment: "This issue has been closed because it is external or not applicable to the extension."
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
name: Feature Request - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 20 13 * * * # Run at 1:20 PM UTC (5:20 AM PST, 6:20 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
|
||||
default: false
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Actions
|
||||
run: cd ./.github/actions && npm install --production && cd ../..
|
||||
- name: Add Comment
|
||||
uses: ./.github/actions/AddComment
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: Feature Request,debugger
|
||||
ignoreLabels: "investigate: costing,investigate,external,by design,question,more info needed,Language Service,internal"
|
||||
createdAfter: "2024-07-22"
|
||||
addComment: "Thank you for your feature request. While we may not be able to implement it immediately, we will monitor community reactions to see how it fits into our backlog. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated."
|
||||
addLabels: help wanted
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Investigate closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 30 13 * * * # Run at 1:30 PM UTC (5:30 AM PST, 6:30 AM PDT)
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
@@ -23,6 +23,6 @@ jobs:
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: investigate,debugger
|
||||
ignoreLabels: Language Service,internal
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 180
|
||||
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Investigate Costing closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 40 13 * * * # Run at 1:40 PM UTC (5:40 AM PST, 6:40 AM PDT)
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
@@ -23,6 +23,6 @@ jobs:
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: "investigate: costing,debugger"
|
||||
ignoreLabels: Language Service,internal
|
||||
ignoreLabels: language service,internal
|
||||
closeDays: 180
|
||||
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
|
||||
|
||||
@@ -19,12 +19,12 @@ jobs:
|
||||
runs-on: ${{ inputs.runner-env }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Node.js 22
|
||||
uses: actions/setup-node@v4
|
||||
- name: Use Node.js 16
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 16
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn install ${{ inputs.yarn-args }}
|
||||
@@ -42,14 +42,6 @@ jobs:
|
||||
run: yarn test
|
||||
working-directory: Extension
|
||||
|
||||
# These tests don't require the binary.
|
||||
# On Linux, it is failing (before the tests actually run) with: Test run terminated with signal SIGSEGV.
|
||||
# But it works on Linux during the E2E test.
|
||||
- name: Run SingleRootProject tests
|
||||
if: ${{ inputs.platform != 'linux' }}
|
||||
run: yarn test --scenario=SingleRootProject --skipCheckBinaries
|
||||
working-directory: Extension
|
||||
|
||||
# NOTE : We can't run the test that require the native binary files
|
||||
# yet -- there will be an update soon that allows the tester to
|
||||
# acquire them on-the-fly
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: More Info Needed Closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 50 13 * * * # Run at 1:50 PM UTC (5:50 AM PST, 6:50 AM PDT)
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: more info needed,debugger
|
||||
ignoreLabels: Language Service,internal
|
||||
ignoreLabels: language service,internal
|
||||
involves: wardengnaw,pieandcakes,calgagi
|
||||
closeDays: 14
|
||||
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Question Closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 0 14 * * * # Run at 2:00 PM UTC (6:00 AM PST, 7:00 AM PDT)
|
||||
- cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
with:
|
||||
readonly: ${{ github.event.inputs.readonly }}
|
||||
labels: question,debugger
|
||||
ignoreLabels: Language Service,internal
|
||||
ignoreLabels: language service,internal
|
||||
involves: wardengnaw,pieandcakes,calgagi
|
||||
closeDays: 14
|
||||
closeComment: "This issue has been closed because it is a question and has not had recent activity."
|
||||
|
||||
+17
-34
@@ -19,12 +19,6 @@ resources:
|
||||
name: 1ESPipelineTemplates/MicroBuildTemplate
|
||||
ref: refs/tags/release
|
||||
|
||||
variables:
|
||||
- name: Codeql.Enabled
|
||||
value: true
|
||||
- name: Codeql.Language
|
||||
value: javascript
|
||||
|
||||
extends:
|
||||
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
|
||||
parameters:
|
||||
@@ -38,23 +32,7 @@ extends:
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
tsa:
|
||||
enabled: true
|
||||
config:
|
||||
tsaVersion: TsaV2
|
||||
codebase: NewOrUpdate
|
||||
codebaseName: vscode-cpptools
|
||||
tsaStamp: $(TsaProjectName)
|
||||
tsaEnvironment: PROD
|
||||
notificationAliases: $(TsaNotificationAlias)
|
||||
codebaseAdmins: $(TsaCodebaseAdmins)
|
||||
instanceUrl: $(TsaInstanceUrl)
|
||||
projectName: $(TsaProjectName)
|
||||
areaPath: $(TsaAreaPath)
|
||||
iterationPath: $(TsaIterationPath)
|
||||
alltools: true
|
||||
repositoryName: vscode-cpptools
|
||||
policheck:
|
||||
enabled: true
|
||||
enabled: false
|
||||
featureFlags:
|
||||
autoBaseline: false
|
||||
|
||||
@@ -80,30 +58,35 @@ extends:
|
||||
displayName: Use Yarn 1.x
|
||||
|
||||
- task: UseNode@1
|
||||
displayName: Use Node 22.x
|
||||
displayName: Use Node 16.x
|
||||
inputs:
|
||||
version: 22.x
|
||||
version: 16.x
|
||||
|
||||
- script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
|
||||
- task: CmdLine@2
|
||||
displayName: Delete .npmrc if it exists
|
||||
inputs:
|
||||
script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
|
||||
|
||||
- task: Npm@0
|
||||
name: NpmInstall_2
|
||||
displayName: Install vsce
|
||||
inputs:
|
||||
arguments: --global @vscode/vsce
|
||||
|
||||
- script: mkdir $(Build.ArtifactStagingDirectory)\Extension
|
||||
- task: CmdLine@1
|
||||
name: ProcessRunner_11
|
||||
displayName: Create Extension Staging Directory
|
||||
inputs:
|
||||
filename: mkdir
|
||||
arguments: $(Build.ArtifactStagingDirectory)\Extension
|
||||
|
||||
- script: yarn run vsix-prepublish
|
||||
displayName: Build files
|
||||
workingDirectory: $(Build.SourcesDirectory)\Extension
|
||||
|
||||
- script: |
|
||||
cd $(Build.SourcesDirectory)\Extension
|
||||
vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix
|
||||
- task: CmdLine@1
|
||||
name: ProcessRunner_12
|
||||
displayName: Run VSCE to package vsix
|
||||
inputs:
|
||||
filename: vsce
|
||||
arguments: package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix
|
||||
workingFolder: $(Build.SourcesDirectory)\Extension
|
||||
|
||||
- task: Npm@0
|
||||
displayName: Uninstall vsce
|
||||
|
||||
@@ -2,14 +2,11 @@
|
||||
# Pipeline for VsCodeExtension-Localization build definition
|
||||
# Runs OneLocBuild task to localize xlf file
|
||||
# ==================================================================================
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: self
|
||||
clean: true
|
||||
- repository: MicroBuildTemplate
|
||||
type: git
|
||||
name: 1ESPipelineTemplates/MicroBuildTemplate
|
||||
ref: refs/tags/release
|
||||
|
||||
trigger: none
|
||||
pr: none
|
||||
@@ -21,72 +18,45 @@ schedules:
|
||||
- main
|
||||
always: true
|
||||
|
||||
variables:
|
||||
TeamName: cpptools
|
||||
Codeql.Language: javascript
|
||||
pool:
|
||||
name: 'AzurePipelines-EO'
|
||||
demands:
|
||||
- ImageOverride -equals AzurePipelinesWindows2022compliant
|
||||
|
||||
extends:
|
||||
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
|
||||
parameters:
|
||||
pool:
|
||||
name: AzurePipelines-EO
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
sdl:
|
||||
sourceAnalysisPool:
|
||||
name: AzurePipelines-EO
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
stages:
|
||||
- stage: stage
|
||||
jobs:
|
||||
- job: job
|
||||
templateContext:
|
||||
outputs:
|
||||
- output: pipelineArtifact
|
||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||
artifactName: 'drop'
|
||||
publishLocation: 'Container'
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '22.x'
|
||||
displayName: 'Install Node.js'
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '16.x'
|
||||
displayName: 'Install Node.js'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd Extension && yarn install'
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd Extension && yarn install'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd ./Extension && yarn run translations-export && cd ..'
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd ./Extension && yarn run translations-export && cd ..'
|
||||
|
||||
# Requires Azure client 2.x
|
||||
- task: AzureCLI@2
|
||||
displayName: 'Set OneLocBuildToken'
|
||||
enabled: true
|
||||
inputs:
|
||||
azureSubscription: '$(AzureSubscription)' # Azure DevOps service connection
|
||||
scriptType: 'pscore'
|
||||
scriptLocation: 'inlineScript'
|
||||
inlineScript: |
|
||||
$token = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
|
||||
Write-Host "##vso[task.setvariable variable=AzDO.OneLocBuildToken;issecret=true]${token}"
|
||||
- task: OneLocBuild@2
|
||||
env:
|
||||
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
||||
inputs:
|
||||
locProj: 'Build/loc/LocProject.json'
|
||||
outDir: '$(Build.ArtifactStagingDirectory)'
|
||||
isCreatePrSelected: false
|
||||
prSourceBranchPrefix: 'locfiles'
|
||||
packageSourceAuth: 'patAuth'
|
||||
patVariable: '$(OneLocBuildPat)'
|
||||
LclSource: lclFilesfromPackage
|
||||
LclPackageId: 'LCL-JUNO-PROD-VCPP'
|
||||
lsBuildXLocPackageVersion: '7.0.30510'
|
||||
|
||||
- task: OneLocBuild@2
|
||||
env:
|
||||
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
||||
inputs:
|
||||
locProj: 'Build/loc/LocProject.json'
|
||||
outDir: '$(Build.ArtifactStagingDirectory)'
|
||||
isCreatePrSelected: false
|
||||
prSourceBranchPrefix: 'locfiles'
|
||||
packageSourceAuth: 'patAuth'
|
||||
patVariable: '$(AzDO.OneLocBuildToken)'
|
||||
LclSource: lclFilesfromPackage
|
||||
LclPackageId: 'LCL-JUNO-PROD-VCPP'
|
||||
lsBuildXLocPackageVersion: '7.0.30510'
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd Extension && node ./translations_auto_pr.js microsoft vscode-cpptools csigs $(csigsPat) csigs [email protected] "$(Build.ArtifactStagingDirectory)/loc" vscode-extensions-localization-export/vscode-extensions && cd ..'
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd Extension && node ./translations_auto_pr.js microsoft vscode-cpptools csigs $(csigsPat) csigs [email protected] "$(Build.ArtifactStagingDirectory)/loc" vscode-extensions-localization-export/vscode-extensions && cd ..'
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
||||
ArtifactName: 'drop'
|
||||
publishLocation: 'Container'
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
name: $(date:yyyyMMdd)$(rev:.r)
|
||||
trigger: none
|
||||
pr: none
|
||||
|
||||
parameters:
|
||||
- name: verifyVersion
|
||||
displayName: Attest version in package.json is correct
|
||||
type: boolean
|
||||
default: false
|
||||
- name: verifyReadme
|
||||
displayName: Attest README.md is updated
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: MicroBuildTemplate
|
||||
type: git
|
||||
name: 1ESPipelineTemplates/MicroBuildTemplate
|
||||
ref: refs/tags/release
|
||||
|
||||
extends:
|
||||
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
|
||||
parameters:
|
||||
pool:
|
||||
name: AzurePipelines-EO
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
sdl:
|
||||
sourceAnalysisPool:
|
||||
name: AzurePipelines-EO
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
|
||||
stages:
|
||||
- stage: package
|
||||
jobs:
|
||||
# Introduce pipeline compilation errors to block scheduling if the requisite parameters are not set
|
||||
- ${{ if not(eq(parameters.verifyVersion, true)) }}:
|
||||
- 'The version in package.json should be updated before scheduling the pipeline.'
|
||||
|
||||
- ${{ if not(eq(parameters.verifyReadme, true)) }}:
|
||||
- 'README.md should be updated before scheduling the pipeline.'
|
||||
|
||||
- template: /Build/package/jobs_package_vsix.yml@self
|
||||
parameters:
|
||||
vsixName: cpptools-extension-pack.vsix
|
||||
srcDir: ExtensionPack
|
||||
@@ -1,48 +0,0 @@
|
||||
name: $(date:yyyyMMdd)$(rev:.r)
|
||||
trigger: none
|
||||
pr: none
|
||||
|
||||
parameters:
|
||||
- name: verifyVersion
|
||||
displayName: Attest version in package.json is correct
|
||||
type: boolean
|
||||
default: false
|
||||
- name: verifyReadme
|
||||
displayName: Attest README.md is updated
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: MicroBuildTemplate
|
||||
type: git
|
||||
name: 1ESPipelineTemplates/MicroBuildTemplate
|
||||
ref: refs/tags/release
|
||||
|
||||
extends:
|
||||
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
|
||||
parameters:
|
||||
pool:
|
||||
name: AzurePipelines-EO
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
sdl:
|
||||
sourceAnalysisPool:
|
||||
name: AzurePipelines-EO
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
|
||||
stages:
|
||||
- stage: package
|
||||
jobs:
|
||||
# Introduce pipeline compilation errors to block scheduling if the requisite parameters are not set
|
||||
- ${{ if not(eq(parameters.verifyVersion, true)) }}:
|
||||
- 'The version in package.json should be updated before scheduling the pipeline.'
|
||||
|
||||
- ${{ if not(eq(parameters.verifyReadme, true)) }}:
|
||||
- 'README.md should be updated before scheduling the pipeline.'
|
||||
|
||||
- template: /Build/package/jobs_package_vsix.yml@self
|
||||
parameters:
|
||||
vsixName: cpptools-themes.vsix
|
||||
srcDir: Themes
|
||||
@@ -1,49 +0,0 @@
|
||||
parameters:
|
||||
- name: vsixName
|
||||
type: string
|
||||
default: ''
|
||||
- name: srcDir
|
||||
type: string
|
||||
default: ''
|
||||
|
||||
jobs:
|
||||
- job: package
|
||||
displayName: Build ${{ parameters.vsixName }}
|
||||
timeoutInMinutes: 30
|
||||
cancelTimeoutInMinutes: 1
|
||||
templateContext:
|
||||
outputs:
|
||||
- output: pipelineArtifact
|
||||
displayName: '${{ parameters.vsixName }}'
|
||||
targetPath: $(Build.ArtifactStagingDirectory)\vsix
|
||||
artifactName: vsix
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
|
||||
- task: UseNode@1
|
||||
displayName: Use Node 22.x
|
||||
inputs:
|
||||
version: 22.x
|
||||
|
||||
- task: Npm@0
|
||||
displayName: Install vsce
|
||||
inputs:
|
||||
arguments: --global @vscode/vsce
|
||||
|
||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
|
||||
displayName: Use Yarn 1.x
|
||||
|
||||
- script: mkdir $(Build.ArtifactStagingDirectory)\vsix
|
||||
displayName: Create Staging Directory
|
||||
|
||||
- script: |
|
||||
cd $(Build.SourcesDirectory)\${{ parameters.srcDir }}
|
||||
vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}
|
||||
displayName: Run VSCE to package vsix
|
||||
|
||||
- task: Npm@0
|
||||
displayName: Uninstall vsce
|
||||
inputs:
|
||||
command: uninstall
|
||||
arguments: --global @vscode/vsce
|
||||
@@ -1,43 +0,0 @@
|
||||
name: $(Date:yyyyMMdd)$(rev:.r)
|
||||
trigger: none
|
||||
pr: none
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: MicroBuildTemplate
|
||||
type: git
|
||||
name: 1ESPipelineTemplates/MicroBuildTemplate
|
||||
ref: refs/tags/release
|
||||
pipelines:
|
||||
- pipeline: vsixBuild
|
||||
source: '\VC\VSCode\CpptoolsVSIX\Package cpptools-extension-pack'
|
||||
trigger: true
|
||||
|
||||
extends:
|
||||
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
|
||||
parameters:
|
||||
pool:
|
||||
name: AzurePipelines-EO
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
sdl:
|
||||
sourceAnalysisPool:
|
||||
name: AzurePipelines-EO
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
|
||||
stages:
|
||||
- stage: Validate
|
||||
jobs:
|
||||
- template: /Build/publish/jobs_manual_validation.yml@self
|
||||
parameters:
|
||||
notifyUsers: $(NotifyUsers)
|
||||
releaseBuildUrl: $(ReleaseBuildUrl)
|
||||
|
||||
- stage: Release
|
||||
dependsOn: Validate
|
||||
jobs:
|
||||
- template: /Build/publish/jobs_publish_vsix.yml@self
|
||||
parameters:
|
||||
vsixName: cpptools-extension-pack.vsix
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
name: $(Date:yyyyMMdd)$(rev:.r)
|
||||
trigger: none
|
||||
pr: none
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: MicroBuildTemplate
|
||||
type: git
|
||||
name: 1ESPipelineTemplates/MicroBuildTemplate
|
||||
ref: refs/tags/release
|
||||
pipelines:
|
||||
- pipeline: vsixBuild
|
||||
source: '\VC\VSCode\CpptoolsVSIX\Package cpptools-themes'
|
||||
trigger: true
|
||||
|
||||
extends:
|
||||
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
|
||||
parameters:
|
||||
pool:
|
||||
name: AzurePipelines-EO
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
sdl:
|
||||
sourceAnalysisPool:
|
||||
name: AzurePipelines-EO
|
||||
image: AzurePipelinesWindows2022compliantGPT
|
||||
os: windows
|
||||
|
||||
stages:
|
||||
- stage: Validate
|
||||
jobs:
|
||||
- template: /Build/publish/jobs_manual_validation.yml@self
|
||||
parameters:
|
||||
notifyUsers: $(NotifyUsers)
|
||||
releaseBuildUrl: $(ReleaseBuildUrl)
|
||||
|
||||
- stage: Release
|
||||
dependsOn: Validate
|
||||
jobs:
|
||||
- template: /Build/publish/jobs_publish_vsix.yml@self
|
||||
parameters:
|
||||
vsixName: cpptools-themes.vsix
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
parameters:
|
||||
- name: notifyUsers
|
||||
type: string
|
||||
default: ''
|
||||
- name: releaseBuildUrl
|
||||
type: string
|
||||
default: ''
|
||||
|
||||
jobs:
|
||||
- job: WaitForValidation
|
||||
displayName: Wait for VSIX validation
|
||||
pool: server
|
||||
steps:
|
||||
- task: ManualValidation@0
|
||||
displayName: "Manual Validation"
|
||||
inputs:
|
||||
notifyUsers: $(notifyUsers)
|
||||
instructions: |
|
||||
Download and test the vsix from the latest release build: $(releaseBuildUrl)
|
||||
@@ -1,44 +0,0 @@
|
||||
parameters:
|
||||
- name: vsixName
|
||||
type: string
|
||||
default: ''
|
||||
|
||||
jobs:
|
||||
- job: Publish
|
||||
displayName: Publish to Marketplace
|
||||
templateContext:
|
||||
type: releaseJob
|
||||
isProduction: true
|
||||
inputs:
|
||||
- input: pipelineArtifact
|
||||
pipeline: vsixBuild
|
||||
artifactName: vsix
|
||||
targetPath: $(Build.StagingDirectory)\vsix
|
||||
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
displayName: Use Node 22.x
|
||||
inputs:
|
||||
versionSpec: 22.x
|
||||
|
||||
- task: Npm@0
|
||||
displayName: Install vsce
|
||||
inputs:
|
||||
arguments: --global @vscode/vsce
|
||||
|
||||
- task: AzureCLI@2
|
||||
displayName: Generate AAD_TOKEN
|
||||
inputs:
|
||||
azureSubscription: $(AzureSubscription)
|
||||
scriptType: ps
|
||||
scriptLocation: inlineScript
|
||||
inlineScript: |
|
||||
$aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
|
||||
Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
|
||||
|
||||
- script: |
|
||||
vsce publish --packagePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}
|
||||
displayName: Publish to Marketplace
|
||||
env:
|
||||
VSCE_PAT: $(AAD_TOKEN)
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="SignFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BaseOutputDirectory>$(BUILD_STAGINGDIRECTORY)/Extension</BaseOutputDirectory>
|
||||
<!-- These properties are required by MicroBuild, which only signs files that are under these paths -->
|
||||
<IntermediateOutputPath>$(BaseOutputDirectory)</IntermediateOutputPath>
|
||||
<OutDir>$(BaseOutputDirectory)</OutDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Because of Webpack bundling, these are the only shipping Javascript files.
|
||||
There are no third-party files to sign because they've all been bundled. -->
|
||||
<FilesToSign Include="$(OutDir)\dist\src\main.js;$(OutDir)\dist\ui\settings.js">
|
||||
<Authenticode>Microsoft400</Authenticode>
|
||||
</FilesToSign>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.targets" />
|
||||
</Project>
|
||||
@@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="SignFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BaseOutputDirectory>$(BUILD_STAGINGDIRECTORY)</BaseOutputDirectory>
|
||||
<!-- These properties are required by MicroBuild, which only signs files that are under these paths -->
|
||||
<IntermediateOutputPath>$(BaseOutputDirectory)</IntermediateOutputPath>
|
||||
<OutDir>$(BaseOutputDirectory)</OutDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<FilesToSign Include="$(OutDir)\vsix\cpptools-*.signature.p7s">
|
||||
<Authenticode>VSCodePublisher</Authenticode>
|
||||
</FilesToSign>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.targets" />
|
||||
</Project>
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.VisualStudioEng.MicroBuild.Core" version="0.4.1" developmentDependency="true" />
|
||||
</packages>
|
||||
@@ -1,8 +0,0 @@
|
||||
# Each line is a file pattern followed by one or more owners.
|
||||
|
||||
# These owners will be the default owners for everything in
|
||||
# the repo. Unless a later match takes precedence,
|
||||
# @microsoft/cpptools-maintainers will be requested for
|
||||
# review when someone opens a pull request.
|
||||
|
||||
* @microsoft/cpptools-maintainers
|
||||
+1
-2
@@ -6,5 +6,4 @@ Resources:
|
||||
|
||||
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
|
||||
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
|
||||
- Contact [[email protected]](mailto:[email protected]) with questions or concerns
|
||||
- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support)
|
||||
- Contact [[email protected]](mailto:[email protected]) with questions or concerns
|
||||
+1
-22
@@ -5,7 +5,7 @@
|
||||
* [Build and debug the extension](Documentation/Building%20the%20Extension.md).
|
||||
* File an [issue](https://github.com/Microsoft/vscode-cpptools/issues) and a [pull request](https://github.com/Microsoft/vscode-cpptools/pulls) with the change and we will review it.
|
||||
* If the change affects functionality, add a line describing the change to [**CHANGELOG.md**](Extension/CHANGELOG.md).
|
||||
* Try and add a test in [**test/extension.test.ts**](Extension/test/scenarios/SingleRootProject/tests/extension.test.ts).
|
||||
* Try and add a test in [**test/extension.test.ts**](Extension/test/unitTests/extension.test.ts).
|
||||
* Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging".
|
||||
|
||||
## About the Code
|
||||
@@ -33,24 +33,3 @@ const localize: nls.LocalizeFunc = nls.loadMessageBundle();
|
||||
const readmeMessage: string = localize("refer.read.me", "Please refer to {0} for troubleshooting information. Issues can be created at {1}", readmePath, "https://github.com/Microsoft/vscode-cpptools/issues");
|
||||
```
|
||||
* The first parameter to localize should be a unique key for that string, not used by any other call to localize() in the file unless representing the same string. The second parameter is the string to localize. Both of these parameters must be string literals. Tokens such as {0} and {1} are supported in the localizable string, with replacement values passed as additional parameters to localize().
|
||||
|
||||
## Contributor License Agreement
|
||||
|
||||
This project welcomes contributions and suggestions. Most contributions require you to
|
||||
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
|
||||
and actually do, grant us the rights to use your contribution. For details, visit
|
||||
https://cla.microsoft.com.
|
||||
|
||||
When you submit a pull request, a CLA-bot will automatically determine whether you need
|
||||
to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the
|
||||
instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
|
||||
|
||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
||||
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
|
||||
or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.
|
||||
|
||||
### Adding/Updating package.json dependencies
|
||||
|
||||
We maintain a public Azure Artifacts feed that we point the package manager to in .npmrc files. If you want to add a dependency or update a version in package.json, you may need to contact us so we can add it to our feed. Please ping our team in a PR or new issue if you experience this issue.
|
||||
|
||||
For local development, you can delete the .npmrc file and the matching `yarn.lock` file while you wait for us to update the feed. However, these changes will need to be reverted in your branch before we will accept a PR.
|
||||
@@ -24,6 +24,17 @@ module.exports = {
|
||||
"eslint-plugin-header"
|
||||
],
|
||||
"rules": {
|
||||
"indent": [
|
||||
"warn",
|
||||
4,
|
||||
{
|
||||
"SwitchCase": 1,
|
||||
"ObjectExpression": "first"
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/indent": [
|
||||
"error", 4
|
||||
],
|
||||
"@typescript-eslint/adjacent-overload-signatures": "error",
|
||||
"@typescript-eslint/array-type": "error",
|
||||
"@typescript-eslint/await-thenable": "error",
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
|
||||
always-auth=true
|
||||
@@ -33,10 +33,8 @@ export async function main() {
|
||||
//verbose(`Installing release version of 'ms-vscode.cpptools'`);
|
||||
//spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' })
|
||||
verbose(green('Launch VSCode'));
|
||||
const ARGS = [...args, ...options.launchArgs.filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir=')), `--extensionDevelopmentPath=${$root}`, ...$args ].map(each => (each.indexOf(' ') > -1) && (each.indexOf('"') === -1) ? `"${each}"` : each);
|
||||
const CLI = cli.indexOf(' ') > -1 && cli.indexOf('"') === -1 ? `"${cli}"` : cli;
|
||||
const ARGS = [...args, ...options.launchArgs.filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir=')), `--extensionDevelopmentPath=${$root}`, ...$args ];
|
||||
verbose(gray(`${cli}\n ${ [...ARGS ].join('\n ')}`));
|
||||
|
||||
verbose(gray(`${CLI}\n ${ [...ARGS ].join('\n ')}`));
|
||||
|
||||
spawnSync(CLI, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" }, shell: true });
|
||||
spawnSync(cli, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" } });
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ export const Git = async (...args: Parameters<Awaited<CommandFunction>>) => (awa
|
||||
export const GitClean = async (...args: Parameters<Awaited<CommandFunction>>) => (await new Command(await git, 'clean'))(...args);
|
||||
|
||||
export async function getModifiedIgnoredFiles() {
|
||||
const { code, error, stdio } = await GitClean('-Xd', '-n');
|
||||
const {code, error, stdio } = await GitClean('-Xd', '-n');
|
||||
if (code) {
|
||||
throw new Error(`\n${error.all().join('\n')}`);
|
||||
}
|
||||
@@ -65,11 +65,11 @@ export async function rimraf(...paths: string[]) {
|
||||
}
|
||||
if (await filepath.isFolder(each)) {
|
||||
verbose(`Removing folder ${red(each)}`);
|
||||
all.push(rm(each, { recursive: true, force: true }));
|
||||
all.push(rm(each, {recursive: true, force: true}));
|
||||
continue;
|
||||
}
|
||||
verbose(`Removing file ${red(each)}`);
|
||||
all.push(rm(each, { force: true }));
|
||||
all.push(rm(each, {force: true}));
|
||||
}
|
||||
await Promise.all(all);
|
||||
}
|
||||
@@ -325,7 +325,6 @@ export async function checkDTS() {
|
||||
let failing = false;
|
||||
failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`)) || failing;
|
||||
failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`)) || failing;
|
||||
failing = !await assertAnyFile('vscode.proposed.lmTools.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.lmTools.d.ts is missing.`)) || failing;
|
||||
|
||||
if (!failing) {
|
||||
verbose('VSCode d.ts files appear to be in place.');
|
||||
@@ -334,9 +333,6 @@ export async function checkDTS() {
|
||||
}
|
||||
|
||||
export async function checkBinaries() {
|
||||
if ($switches.includes('--skipCheckBinaries')) {
|
||||
return false;
|
||||
}
|
||||
let failing = false;
|
||||
failing = !await assertAnyFile(['bin/cpptools.exe', 'bin/cpptools']) && (quiet || warn(`The native binary files are not present. You should either build or install the native binaries\n\n.`)) || failing;
|
||||
|
||||
@@ -345,15 +341,3 @@ export async function checkBinaries() {
|
||||
}
|
||||
return failing;
|
||||
}
|
||||
|
||||
export async function checkProposals() {
|
||||
let failing = false;
|
||||
|
||||
await rm(`${$root}/vscode.proposed.chatParticipantAdditions.d.ts`);
|
||||
failing = await assertAnyFile('vscode.proposed.chatParticipantAdditions.d.ts') && (quiet || warn(`The VSCode import file '${$root}/vscode.proposed.chatParticipantAdditions.d.ts' should not be present.`)) || failing;
|
||||
|
||||
if (!failing) {
|
||||
verbose('VSCode proposals appear to be in place.');
|
||||
}
|
||||
return failing;
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ filterStdio();
|
||||
async function unitTests() {
|
||||
await assertAnyFolder('dist/test/unit', `The folder '${$root}/dist/test/unit is missing. You should run ${brightGreen("yarn compile")}\n\n`);
|
||||
const mocha = await assertAnyFile(["node_modules/.bin/mocha.cmd", "node_modules/.bin/mocha"], `Can't find the mocha testrunner. You might need to run ${brightGreen("yarn install")}\n\n`);
|
||||
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit', shell: true });
|
||||
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit'});
|
||||
verbose(`\n${green("NOTE:")} If you want to run a scenario test (end-to-end) use ${cmdSwitch('scenario=<NAME>')} \n\n`);
|
||||
return result.status;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* See 'LICENSE' in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import { checkBinaries, checkCompiled, checkDTS, checkPrep, checkProposals, error, green } from './common';
|
||||
import { checkBinaries, checkCompiled, checkDTS, checkPrep, error, green } from './common';
|
||||
const quiet = process.argv.includes('--quiet');
|
||||
|
||||
export async function main() {
|
||||
@@ -50,12 +50,3 @@ export async function dts() {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
export async function proposals() {
|
||||
let failing = false;
|
||||
failing = (await checkProposals() && (quiet || error(`Issue with VSCode proposals. Run ${green('yarn prep')} to fix it.`))) || failing;
|
||||
|
||||
if (failing) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -37,7 +37,7 @@
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.tabSize": 4,
|
||||
"editor.defaultFormatter": "vscode.typescript-language-features",
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
||||
"editor.formatOnSave": true,
|
||||
"files.insertFinalNewline": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
|
||||
@@ -46,9 +46,6 @@ typings/**
|
||||
import_edge_strings.js
|
||||
localized_string_ids.h
|
||||
translations_auto_pr.js
|
||||
readme.developer.md
|
||||
Reinstalling the Extension.md
|
||||
*.d.ts
|
||||
|
||||
# ignore i18n language files
|
||||
i18n/**
|
||||
|
||||
+3
-256
@@ -1,258 +1,5 @@
|
||||
# C/C++ for Visual Studio Code Changelog
|
||||
|
||||
## Version 1.25.0: April 10, 2025
|
||||
### Enhancement
|
||||
* Improve the description of the `C_Cpp.copilotHover` setting. [PR #13461](https://github.com/microsoft/vscode-cpptools/pull/13461)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix a crash during tag parsing (in `read_double`). [#13435](https://github.com/Microsoft/vscode-cpptools/issues/13435)
|
||||
* Fix the handling of default file associations for certain file extensions. [PR #13455](https://github.com/microsoft/vscode-cpptools/pull/13455)
|
||||
* Fix shell parsing of the arguments of a full command line in `compilerPath`. [PR #13468](https://github.com/microsoft/vscode-cpptools/pull/13468)
|
||||
* Fix C and CUDA files being interpreted as C++ in `compile_commands.json`. [#13471](https://github.com/microsoft/vscode-cpptools/issues/13471)
|
||||
* Stop automatically mapping a `.C` file to C++ if it's already set in `files.associations`. [PR #13476](https://github.com/microsoft/vscode-cpptools/pull/13476)
|
||||
* Fix IntelliSense not updating after the language ID is changed, and prevent the language ID from being changed if it's set from `compile_commands.json` or a configuration provider.
|
||||
* Fix a case where language server crash messages appear after 4 minutes.
|
||||
|
||||
## Version 1.24.5: April 3, 2025
|
||||
### New Feature
|
||||
* Add support for Copilot descriptions in hover tooltips, controlled by the `C_Cpp.copilotHover` setting. [PR #13385](https://github.com/microsoft/vscode-cpptools/pull/13385)
|
||||
|
||||
### Enhancements
|
||||
* Improve/fix the switch header/source feature. [#2635](https://github.com/microsoft/vscode-cpptools/issues/2635)
|
||||
* Add detected test frameworks to the Copilot context when `#cpp` is used. [PR #13285](https://github.com/microsoft/vscode-cpptools/pull/13285)
|
||||
* Update clang-tidy and clang-format from 19.1.7 to 20.1.2. [PR #13348](https://github.com/microsoft/vscode-cpptools/pull/13348)
|
||||
* Remove some unnecessary files from the vsix. [PR #13368](https://github.com/microsoft/vscode-cpptools/pull/13368)
|
||||
* Improve the logging when a non-existent path is used for indexing. [PR #13372](https://github.com/microsoft/vscode-cpptools/pull/13372)
|
||||
* Add a new `recursiveIncludes` property to `c_cpp_properties.json`. [PR #13374](https://github.com/microsoft/vscode-cpptools/pull/13374)
|
||||
* Remove the `C_Cpp.updateChannel` setting. [PR #13376](https://github.com/microsoft/vscode-cpptools/pull/13376)
|
||||
* Add handling of `-cxx-isystem`, `-stblib++-isystem`, `-isystem-after`, and `--include-barrier` Clang compiler arguments when composing the order of include paths used by IntelliSense.
|
||||
* Defer the building of the include completion cache to another thread to improve performance when a file is opened.
|
||||
* On shutdown, immediately terminate the IntelliSense process instead of waiting 2 seconds.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix an IntelliSense crash in `build_sections`. [#12666](https://github.com/microsoft/vscode-cpptools/issues/12666), [#12956](https://github.com/microsoft/vscode-cpptools/issues/12956)
|
||||
* Fix random IntelliSense process crashes on Linux/macOS when `C_Cpp.intelliSenseCacheSize` is > 0. [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668)
|
||||
* Fix a bug in which hundreds of custom configuration requests could be sent on startup before the configuration provider has registered. [#13166](https://github.com/microsoft/vscode-cpptools/issues/13166)
|
||||
* Fix handling of the `-framework` compiler argument. [#13204](https://github.com/microsoft/vscode-cpptools/issues/13204)
|
||||
* Fix a potential race between didChange and didOpen. [PR #13209](https://github.com/microsoft/vscode-cpptools/pull/13209)
|
||||
* Fix an issue with the `.editorconfig` `tab_size`. [PR #13216](https://github.com/microsoft/vscode-cpptools/pull/13216)
|
||||
* Fix a potential deadlock on shutdown if configuration providers are used. [#13218](https://github.com/microsoft/vscode-cpptools/issues/13218)
|
||||
* Fix the code analysis mode in the Language Status bar not updating after the setting changes. [#13240](https://github.com/microsoft/vscode-cpptools/issues/13240)
|
||||
* Fix system include/framework paths being used as a fallback for user include/framework paths in the base configuration. [PR #13247](https://github.com/microsoft/vscode-cpptools/pull/13247)
|
||||
* Fix the `svdPath` description being missing for `launch.json`. [#13287](https://github.com/microsoft/vscode-cpptools/issues/13287)
|
||||
* Update the Windows SDK packages referenced in the walkthrough. [#13290](https://github.com/microsoft/vscode-cpptools/issues/13290)
|
||||
* Fix an issue with `C:` being treated as a relative path. [PR #13297](https://github.com/microsoft/vscode-cpptools/pull/13297)
|
||||
* Fix an unnecessary TU reset when a change is detected in a `compile_commands.json` file that is not used by the active configuration. [#13317](https://github.com/microsoft/vscode-cpptools/issues/13317)
|
||||
* Fix handling of URIs in web environments. [#13327](https://github.com/microsoft/vscode-cpptools/issues/13327)
|
||||
* Fix a potential deadlock after using 'Reset IntelliSense Database'. [#13337](https://github.com/microsoft/vscode-cpptools/issues/13337)
|
||||
* Fix some localization bugs. [PR #13373](https://github.com/microsoft/vscode-cpptools/pull/13373)
|
||||
* Fix IntelliSense showing the wrong size of objects. [#13375](https://github.com/microsoft/vscode-cpptools/issues/13375)
|
||||
* Fix the `get_mangled_function_name` IntelliSense process crash. [#13358](https://github.com/Microsoft/vscode-cpptools/issues/13358)
|
||||
* Fix an issue with duplicate forced includes being removed. Multiple forced includes of the same file should now properly be included multiple times.
|
||||
* Fix an issue in which the base configuration browse paths may not get populated when using a custom configuration provider.
|
||||
* Fix an issue with forced includes not being resolved against the same include path search order as a compiler would.
|
||||
* Fix a `${workspaceFolder}/*` include path not being used as a non-recursive browse path.
|
||||
* Fix an issue with include path ordering of paths specified with the `-imsvc` argument.
|
||||
* Fix a race condition that could result in incorrect include completion results.
|
||||
* Avoid reporting an error due to multiple `didOpen` requests after a crash.
|
||||
* Fix an inaccurate cursor position for IntelliSense update.
|
||||
* Fix an IntelliSense crash if a "bad seq number" occurs.
|
||||
* Fix processes potentially getting stuck on shutdown.
|
||||
* Fix a potential crash when saving a file.
|
||||
* Fix a random crash during code analysis.
|
||||
|
||||
## Version 1.23.6: February 6, 2025
|
||||
### Bug Fixes
|
||||
* Fix a bug with remote attach debugging. [#13137](https://github.com/microsoft/vscode-cpptools/issues/13137)
|
||||
* Fix symlink-related regression bugs. [#13214](https://github.com/microsoft/vscode-cpptools/issues/13214), [#13228](https://github.com/microsoft/vscode-cpptools/issues/13228)
|
||||
* Fix a regression bug when using 'Select IntelliSense Configuration'. [#13220](https://github.com/microsoft/vscode-cpptools/issues/13220)
|
||||
* Fix a regression bug with `files.associations` handling. [#13223](https://github.com/microsoft/vscode-cpptools/issues/13223)
|
||||
|
||||
## Version 1.23.5: January 28, 2025
|
||||
### Enhancements
|
||||
* Modifications to the snippet completions to more closely match the snippets provided by TypeScript. [#4482](https://github.com/microsoft/vscode-cpptools/issues/4482)
|
||||
* Enable setting multiple compile commands. [#7029](https://github.com/microsoft/vscode-cpptools/issues/7029)
|
||||
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12960](https://github.com/microsoft/vscode-cpptools/pull/12960)
|
||||
* Changes to how paths are internally canonicalized on Linux and macOS, avoiding file system access to improve performance and delay resolution of symbolic links. [#12924](https://github.com/microsoft/vscode-cpptools/issues/12924)
|
||||
* Add handling of `-fno-char8_t` and `-fchar8_t` compiler arguments. [#12968](https://github.com/microsoft/vscode-cpptools/issues/12968)
|
||||
* Add support for providing well-known compiler argument information to Copilot Completions. [PR #12979](https://github.com/microsoft/vscode-cpptools/pull/12979)
|
||||
* Fixed unnecessary cancellation of Copilot context requests. [PR #12988](https://github.com/microsoft/vscode-cpptools/pull/12988)
|
||||
* Add support for passing an additional parameter to `C_Cpp.ConfigurationSelect` command. [PR #12993](https://github.com/microsoft/vscode-cpptools/pull/12993)
|
||||
* Thank you for the contribution. [@adrianstephens](https://github.com/adrianstephens)
|
||||
* Update clang path setting descriptions. [PR #13071](https://github.com/microsoft/vscode-cpptools/pull/13071)
|
||||
* Update clang-format and clang-tidy from 19.1.2 to 19.1.7.
|
||||
* IntelliSense parser updates.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix a perf regression in hover operation by using cached lexer line states. [#3126](https://github.com/microsoft/vscode-cpptools/issues/3126)
|
||||
* Fix `compile_commands.json` no longer being used if the containing folder is deleted and recreated. [#7030](https://github.com/microsoft/vscode-cpptools/issues/7030)
|
||||
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #13032](https://github.com/microsoft/vscode-cpptools/pull/13032)
|
||||
* Increase clang-format timeout from 10 seconds to 30 seconds. [#10213](https://github.com/microsoft/vscode-cpptools/issues/10213)
|
||||
* Fix `C_Cpp.enhancedColorization` not taking effect after it's changed. [#10565](https://github.com/microsoft/vscode-cpptools/issues/10565)
|
||||
* Fix changes to `files.encoding` not triggering a database reset. [#10892](https://github.com/microsoft/vscode-cpptools/issues/10892)
|
||||
* Fix parameter hints interpreting `*` in a comment as markdown. [#11082](https://github.com/microsoft/vscode-cpptools/issues/11082)
|
||||
* Fix an incorrect IntelliSense error when using `std::unique_ptr`. [#11979](https://github.com/microsoft/vscode-cpptools/issues/11979)
|
||||
* Fix an incorrect IntelliSense error with designated initializers. [#12239](https://github.com/microsoft/vscode-cpptools/issues/12239)
|
||||
* Fix handling of `koi8ru` and `koi8t` file encodings on Windows. [#12272](https://github.com/microsoft/vscode-cpptools/issues/12272)
|
||||
* Fix description of `C_Cpp.preferredPathSeparator`. [#12597](https://github.com/microsoft/vscode-cpptools/issues/12597)
|
||||
* Fix the IntelliSense process launching when it's disabled and the Copilot extension is used. [#12750](https://github.com/microsoft/vscode-cpptools/issues/12750), [#13058](https://github.com/microsoft/vscode-cpptools/issues/13058)
|
||||
* Fix casing of path in include completion tooltip on Windows. [#12895](https://github.com/microsoft/vscode-cpptools/issues/12895)
|
||||
* Fix a performance issue where some LSP requests would delay other LSP requests. [#12905](https://github.com/microsoft/vscode-cpptools/issues/12905)
|
||||
* Fix some localization issues. [#12909](https://github.com/microsoft/vscode-cpptools/issues/12909), [#13090](https://github.com/microsoft/vscode-cpptools/issues/13090)
|
||||
* Fix pattern matching of sections in `.editorConfig` files. [#12933](https://github.com/microsoft/vscode-cpptools/issues/12933)
|
||||
* Fix handling of relative paths passed to cl.exe `/reference` argument. [#12944](https://github.com/microsoft/vscode-cpptools/issues/12944)
|
||||
* Fix a leak of compile command file watchers. [#12946](https://github.com/microsoft/vscode-cpptools/issues/12946)
|
||||
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12948](https://github.com/microsoft/vscode-cpptools/pull/12948)
|
||||
* Fix a compile commands fallback logic issue. [#12947](https://github.com/microsoft/vscode-cpptools/issues/12947)
|
||||
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12948](https://github.com/microsoft/vscode-cpptools/pull/12948)
|
||||
* Fix an issue in which a `didOpen` event was processed before the language client was fully started. [#12954](https://github.com/microsoft/vscode-cpptools/issues/12954)
|
||||
* Fix the IntelliSense mode being `macos` instead of `windows` when `_WIN32` is defined on macOS. [#13016](https://github.com/Microsoft/vscode-cpptools/issues/13016)
|
||||
* Fix IntelliSense bugs when using non-UTF8 file encodings. [#13028](https://github.com/microsoft/vscode-cpptools/issues/13028), [#13044](https://github.com/microsoft/vscode-cpptools/issues/13044)
|
||||
* Fix an incorrect translation for "binary operator". [#13048](https://github.com/microsoft/vscode-cpptools/issues/13048)
|
||||
* Fix the "references may be missing" logging pane being shown when the `C_Cpp.loggingLevel` is `Error` or `None`. [#13066](https://github.com/microsoft/vscode-cpptools/issues/13066)
|
||||
* Fix `C_Cpp.default.compilerPath` not using the `C_Cpp.preferredPathSeparator` setting when generated from the 'Select IntelliSense Configuration' command. [#13083](https://github.com/microsoft/vscode-cpptools/issues/13083)
|
||||
* Fix a couple bugs with `.editorConfig` handling. [PR #13140](https://github.com/microsoft/vscode-cpptools/pull/13140)
|
||||
* Fix a bug when processing a file with invalid multi-byte sequences. [#13150](https://github.com/microsoft/vscode-cpptools/issues/13150)
|
||||
* Fix call hierarchy calls from. [#13200](https://github.com/microsoft/vscode-cpptools/issues/13200)
|
||||
* Fix IntelliSense issues related to large header files (>32K) and encodings other than UTF-8.
|
||||
* Update vsdbg from 17.12.10729.1 to 17.13.20115.1.
|
||||
* Other internal fixes.
|
||||
* Fix some deadlocks.
|
||||
* Fix some crashes.
|
||||
|
||||
## Version 1.22.11: November 5, 2024
|
||||
### Bug Fixes
|
||||
* Fix system includes incorrectly being treated as non-system includes when specified with `-I`. [#12842](https://github.com/microsoft/vscode-cpptools/issues/12842)
|
||||
* Fix inactive region ranges when multi-byte UTF-8 characters are used. [#12879](https://github.com/microsoft/vscode-cpptools/issues/12879)
|
||||
* Fix formatting with `.editorconfig` files. [#12921](https://github.com/microsoft/vscode-cpptools/issues/12921)
|
||||
|
||||
## Version 1.23.0: October 29, 2024
|
||||
### Enhancements
|
||||
* Update to clang-format and clang-tidy 19.1.2. [#12824](https://github.com/microsoft/vscode-cpptools/issues/12824)
|
||||
* Enable `#cpp` with GitHub Copilot chat without `C_Cpp.experimentalFeatures` enabled. [PR #12898](https://github.com/microsoft/vscode-cpptools/pull/12898)
|
||||
|
||||
### Bug Fixes
|
||||
* Fix some translation issues. [#7824](https://github.com/microsoft/vscode-cpptools/issues/7824), [#12439](https://github.com/microsoft/vscode-cpptools/issues/12439), [#12440](https://github.com/microsoft/vscode-cpptools/issues/12440), [#12441](https://github.com/microsoft/vscode-cpptools/issues/12441)
|
||||
* Fix a bug with 'Select IntelliSense Configuration'. [#12705](https://github.com/microsoft/vscode-cpptools/issues/12705)
|
||||
* Fix newlines being removed from hover markdown code blocks. [#12794](https://github.com/microsoft/vscode-cpptools/issues/12794)
|
||||
* Fix clang-format using `-` instead of `--` args. [#12819](https://github.com/microsoft/vscode-cpptools/issues/12819)
|
||||
* Fix processing of `compile_commands.json` generated by the clang `-MJ` option. [#12837](https://github.com/microsoft/vscode-cpptools/issues/12837)
|
||||
* Fix handling of `-I` and `-isystem` with the same path. [#12842](https://github.com/microsoft/vscode-cpptools/issues/12842)
|
||||
* Fix stale colorization due to delays in updating the open file version. [PR #12851](https://github.com/microsoft/vscode-cpptools/pull/12851)
|
||||
* Fix redundant progressive squiggle updates. [PR #12876](https://github.com/microsoft/vscode-cpptools/pull/12876)
|
||||
* Fix inactive regions with multi-byte UTF-8 characters. [#12879](https://github.com/microsoft/vscode-cpptools/issues/12879)
|
||||
* Fix some duplicate requests potentially not getting discarded.
|
||||
* Fix a random crash in `start_process_and_wait_for_exit`.
|
||||
|
||||
## Version 1.22.10: October 21, 2024
|
||||
### Bug Fixes
|
||||
* Fix the 'Extract to Function' feature not working.
|
||||
* Fix the 'Go to Next/Prev Preprocessor Conditional' feature not working.
|
||||
|
||||
## Version 1.22.9: October 14, 2024
|
||||
### Performance Improvements
|
||||
* Initialization performance improvements. [#12030](https://github.com/microsoft/vscode-cpptools/issues/12030)
|
||||
- Some processing is parallelized and started earlier (populating the filename cache, discovering files). [#11954](https://github.com/microsoft/vscode-cpptools/issues/11954), [#12169](https://github.com/microsoft/vscode-cpptools/issues/12169)
|
||||
- Some compiler configuration queries are cached in the database, and processing of compile_commands.json was improved. [#10029](https://github.com/microsoft/vscode-cpptools/issues/10029), [#12078](https://github.com/microsoft/vscode-cpptools/issues/12078)
|
||||
* Performance improvements related to how custom configurations are processed. [#9003](https://github.com/microsoft/vscode-cpptools/issues/9003), [#12632](https://github.com/microsoft/vscode-cpptools/issues/12632)
|
||||
* Improve the implementation of file buffers to reduce memory usage.
|
||||
* Performance improvements related to LSP request processing.
|
||||
|
||||
### Enhancements
|
||||
* Add modified `C_Cpp` settings to the `C/C++: Log Diagnostics` output. [#11700](https://github.com/microsoft/vscode-cpptools/issues/11700)
|
||||
* Add better validation for settings. [#12371](https://github.com/microsoft/vscode-cpptools/issues/12371)
|
||||
* Change the default C/C++ `"editor.stickyScroll.defaultModel"` to `"foldingProviderModel"`. [#12483](https://github.com/microsoft/vscode-cpptools/issues/12483)
|
||||
* Remove the `C_Cpp.intelliSenseEngineFallback` setting. [#12596](https://github.com/microsoft/vscode-cpptools/issues/12596)
|
||||
* Enable `C/C++: Log Diagnostics` without a C/C++ file being active. [#12634](https://github.com/microsoft/vscode-cpptools/issues/12634)
|
||||
* Add "Additional Tracked Settings" to the `C/C++: Log Diagnostics` output. [PR #12635](https://github.com/microsoft/vscode-cpptools/pull/12635)
|
||||
* Add support for providing additional context information to Copilot Chat. [PR #12685](https://github.com/microsoft/vscode-cpptools/pull/12685)
|
||||
* Currently, it requires `"C_Cpp.experimentalFeatures": "enabled"` and typing `#cpp` in the chat.
|
||||
* The .vsix and .js files are now signed. [#12725](https://github.com/microsoft/vscode-cpptools/issues/12725), [#12744](https://github.com/microsoft/vscode-cpptools/issues/12744)
|
||||
* Add the database path to the `C/C++: Log Diagnostics` output.
|
||||
* Various IntelliSense parsing updates/fixes.
|
||||
|
||||
### Bug Fixes
|
||||
* Fix the compiler selection control not keeping the list in sync with the contents of the textbox. [#7427](https://github.com/microsoft/vscode-cpptools/issues/7427)
|
||||
* Fix a string localization issue. [#7824](https://github.com/microsoft/vscode-cpptools/issues/7824)
|
||||
* Fix an issue with the 'Add #include' code action incorrectly using a relative path for a system include. [#12010](https://github.com/microsoft/vscode-cpptools/issues/12010)
|
||||
* Fix an issue with lingering IntelliSense squiggles after an edit. [#12175](https://github.com/microsoft/vscode-cpptools/issues/12175)
|
||||
* Fix hover over static constexpr variables sometimes not working. [#12284](https://github.com/microsoft/vscode-cpptools/issues/12284)
|
||||
* Fix completion not giving results in several scenarios. [#12412](https://github.com/microsoft/vscode-cpptools/issues/12412)
|
||||
* Stop logging duplicate compiler path messages. [#12445](https://github.com/microsoft/vscode-cpptools/issues/12445)
|
||||
* Fix an issue where a file is incorrectly processed as C instead of C++. [#12466](https://github.com/microsoft/vscode-cpptools/issues/12466)
|
||||
* Fix an issue with missing database symbols after a Rename operation. [#12480](https://github.com/microsoft/vscode-cpptools/issues/12480)
|
||||
* Fix include path ordering being incorrect if there is a duplicate. [#12525](https://github.com/microsoft/vscode-cpptools/issues/12525)
|
||||
* Fix a WebAssembly "Out of Memory" error. [#12529](https://github.com/microsoft/vscode-cpptools/issues/12529)
|
||||
* Fix an error message not being shown if the connection failed with remote attach debugging. [#12547](https://github.com/microsoft/vscode-cpptools/issues/12547)
|
||||
* Thank you for the contribution. [@MrStanislav0 (Stanislav)](https://github.com/MrStanislav0)
|
||||
* Fix `-I` not being used if `-iquote` is also used for the same path. [#12551](https://github.com/microsoft/vscode-cpptools/issues/12551)
|
||||
* Fix issues with relative paths on `nvcc` (CUDA) command lines not being handled correctly. [#12553](https://github.com/microsoft/vscode-cpptools/issues/12553)
|
||||
* Fix a crash on shutdown on macOS with a verbose logging level. [#12567](https://github.com/microsoft/vscode-cpptools/issues/12567)
|
||||
* Fix a random crash when a child process is created. [#12585](https://github.com/microsoft/vscode-cpptools/issues/12585)
|
||||
* Work around IntelliSense issues with clang 18 due to `size_t` not being defined. [#12618](https://github.com/microsoft/vscode-cpptools/issues/12618)
|
||||
* Fix the `/FU` flag not working for C++/CLI. [#12641](https://github.com/microsoft/vscode-cpptools/issues/12641)
|
||||
* Fix a crash in `find_existing_intellisense_client`. [#12666](https://github.com/microsoft/vscode-cpptools/issues/12666)
|
||||
* Fix a rare crash on macOS related to `get_memory_usage`. [#12667](https://github.com/microsoft/vscode-cpptools/issues/12667)
|
||||
* Fix an issue with 'Extract to Function' formatting. [#12677](https://github.com/microsoft/vscode-cpptools/issues/12677)
|
||||
* Fix an issue with duplicate tag parsing occurring after a Rename operation. [#12728](https://github.com/microsoft/vscode-cpptools/issues/12728)
|
||||
* Fix an issue preventing use of a full command line in `compilerPath`. [PR #12774](https://github.com/microsoft/vscode-cpptools/pull/12774)
|
||||
* Fix an issue with clang-format/tidy version checks for some builds. [#12806](https://github.com/microsoft/vscode-cpptools/issues/12806)
|
||||
* Fix an issue causing unnecessary TU updates for files opened during a Rename operation, when `"files.refactoring.autoSave": false` is used.
|
||||
* Fix some issues with recursive includes handling of symbolic links, multi-root, exclusion changes, and file/folder deletion.
|
||||
* Fix unnecessary IntelliSense resetting when a new file or folder was created.
|
||||
* Fix an infinite loop on shutdown after changing the selected settings.
|
||||
* Fix accumulation of stale signature help and completion requests.
|
||||
* Fix handling of the `compiler-binddir` compiler argument.
|
||||
* Fix a random crash during IntelliSense creation.
|
||||
* Fix some bugs with include completion.
|
||||
|
||||
## Version 1.21.6: August 5, 2024
|
||||
* Fix a cpptools-srv crash on shutdown. [#12354](https://github.com/microsoft/vscode-cpptools/issues/12354)
|
||||
|
||||
## Version 1.21.5: July 31, 2024
|
||||
### Bug Fixes
|
||||
* Fix clang-format and clang-tidy not working on Windows 10. [#12289](https://github.com/microsoft/vscode-cpptools/issues/12289)
|
||||
* Fix a crash with cpptools-srv on certain macOS versions. [#12354](https://github.com/microsoft/vscode-cpptools/issues/12354)
|
||||
* Fix cpptools crashing on macOS Big Sur or older. [#12511](https://github.com/microsoft/vscode-cpptools/issues/12511)
|
||||
* Fix debugging on Windows ARM64. [#12520](https://github.com/microsoft/vscode-cpptools/issues/12520)
|
||||
|
||||
## Version 1.21.4: July 25, 2024
|
||||
* Re-enable compatibility with VS Code 1.67.0 (instead of 1.82.0). [#12507](https://github.com/microsoft/vscode-cpptools/issues/12507)
|
||||
|
||||
## Version 1.21.3: July 24, 2024
|
||||
* Fix a crash on Linux ARM OS's. [#12497](https://github.com/microsoft/vscode-cpptools/issues/12497)
|
||||
|
||||
## Version 1.21.2: July 12, 2024
|
||||
### Enhancements
|
||||
* Add `see` and `sa` to the `C_Cpp.doxygen.sectionTags` setting. [#12384](https://github.com/microsoft/vscode-cpptools/issues/12384)
|
||||
* Update the vcpkg header database. [PR #12430](https://github.com/microsoft/vscode-cpptools/pull/12430)
|
||||
* Disable the pre-release prompt if the `extensions.ignoreRecommendations` setting is `true`. [#12438](https://github.com/microsoft/vscode-cpptools/issues/12438)
|
||||
* Switch to an alternative workspace symbol search implementation (performance and results will be slightly different from previous versions).
|
||||
* Various IntelliSense engine updates/fixes.
|
||||
|
||||
### Bug Fixes
|
||||
* Stop logging file watch events for excluded files. [#11455](https://github.com/microsoft/vscode-cpptools/issues/11455)
|
||||
* Fix a crash if the Ryzen 3000 doesn't have updated drivers. [#12201](https://github.com/microsoft/vscode-cpptools/issues/12201)
|
||||
* Fix handling of `-isystem` and `-iquote` for IntelliSense configuration. [#12207](https://github.com/microsoft/vscode-cpptools/issues/12207)
|
||||
* Fix doxygen comment generation when `/**` comments are used. [#12249](https://github.com/microsoft/vscode-cpptools/issues/12249)
|
||||
* Fix a code analysis crash on Linux if the message is too long. [#12285](https://github.com/microsoft/vscode-cpptools/issues/12285)
|
||||
* Fix relative paths in `compile_commands.json` to be relative to the `compile_commands.json`'s directory. [#12290](https://github.com/microsoft/vscode-cpptools/issues/12290)
|
||||
* Fix a tag parser performance regression. [#12292](https://github.com/microsoft/vscode-cpptools/issues/12292)
|
||||
* Fix a regression with cl.exe system include path detection. [#12293](https://github.com/microsoft/vscode-cpptools/issues/12293)
|
||||
* Fix code analysis, find all references, and rename from getting the wrong configuration for non-open files on the first run when using a configuration provider. [#12313](https://github.com/microsoft/vscode-cpptools/issues/12313)
|
||||
* Fix handling of doxygen comment blocks with `*//*` in them. [#12316](https://github.com/microsoft/vscode-cpptools/issues/12316)
|
||||
* Fix potential crashes during IntelliSense process shutdown. [#12354](https://github.com/microsoft/vscode-cpptools/issues/12354)
|
||||
* Fix the language status not showing it's busy while the tag parser is initializing. [#12403](https://github.com/microsoft/vscode-cpptools/issues/12403)
|
||||
* Fix the vcpkg code action not appearing for missing headers available via vcpkg. [#12413](https://github.com/microsoft/vscode-cpptools/issues/12413)
|
||||
* Fix custom configurations sometimes not getting used. [PR #12427](https://github.com/microsoft/vscode-cpptools/pull/12427)
|
||||
* Fix a code analysis error when using gcc 14. [#12428](https://github.com/microsoft/vscode-cpptools/issues/12428)
|
||||
* Fix warning notification showing when `C_Cpp.getIncludes` is disabled. [PR #12470](https://github.com/microsoft/vscode-cpptools/pull/12470)
|
||||
* Fix a cause of colorization, inactive regions, and inlay hints getting cleared when an update is pending.
|
||||
* Update the default clang/gcc versions used for IntelliSense if an unknown version is found.
|
||||
* Fix a cause of semantic tokens transiently being placed in the wrong location.
|
||||
* Update clang-format and clang-tidy from 18.1.2 to 18.1.7 (for the bug fixes).
|
||||
* Fix a potential deadlock when configured using compile commands.
|
||||
|
||||
## Version 1.20.5: May 6, 2024
|
||||
### Enhancements
|
||||
* Add support for C++ modules IFC version 0.43. [#10843](https://github.com/microsoft/vscode-cpptools/issues/10843)
|
||||
@@ -1477,7 +1224,7 @@
|
||||
## 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)
|
||||
* The way comments are formatted is controlled by the `C_Cpp.simplifyStructuredComments` setting.
|
||||
* The way comments are formatted is controlled by the `C_Cpp.simplifyStructuredComments` setting.
|
||||
* Auto-convert `.` to `->` when the type is a pointer. [#862](https://github.com/microsoft/vscode-cpptools/issues/862)
|
||||
* Switch to using the VS Code Semantic Tokens API for semantic colorization (works with remoting). [PR #5401](https://github.com/microsoft/vscode-cpptools/pull/5401), [#3932](https://github.com/microsoft/vscode-cpptools/issues/3932), [#3933](https://github.com/microsoft/vscode-cpptools/issues/3933), [#3942](https://github.com/microsoft/vscode-cpptools/issues/3942)
|
||||
* Add support for LogMessage Breakpoints for debug type `cppdbg`. [PR MIEngine#1013](https://github.com/microsoft/MIEngine/pull/1013)
|
||||
@@ -2182,7 +1929,7 @@
|
||||
## Version 0.16.1: March 30, 2018
|
||||
* Fix random deadlock caused by logging code on Linux/Mac. [#1759](https://github.com/Microsoft/vscode-cpptools/issues/1759)
|
||||
* Fix compiler from `compileCommands` not being queried for includes/defines if `compilerPath` isn't set on Windows. [#1754](https://github.com/Microsoft/vscode-cpptools/issues/1754)
|
||||
* Fix OSX `UseShellExecute` I/O bug. [#1756](https://github.com/Microsoft/vscode-cpptools/issues/1756)
|
||||
* Fix OSX `UseShellExecute` I/O bug. [#1756](https://github.com/Microsoft/vscode-cpptools/issues/1756)
|
||||
* Invalidate partially unzipped files from package manager. [#1757](https://github.com/Microsoft/vscode-cpptools/issues/1757)
|
||||
|
||||
## Version 0.16.0: March 28, 2018
|
||||
@@ -2526,4 +2273,4 @@
|
||||
|
||||
## Version 0.5.0: April 14, 2016
|
||||
* Usability and correctness bug fixes.
|
||||
* Simplify installation experience.
|
||||
* Simplify installation experience.
|
||||
|
||||
+647
-577
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
@@ -10,5 +11,5 @@
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
@@ -10,5 +11,5 @@
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
@@ -10,5 +11,5 @@
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
@@ -10,5 +11,5 @@
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
"-D__unix__=1",
|
||||
"-D__linux__=1",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__arm__=1",
|
||||
@@ -9,5 +10,5 @@
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__aarch64__=1",
|
||||
@@ -9,5 +10,5 @@
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__x86_64=1",
|
||||
@@ -9,5 +10,5 @@
|
||||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__i386=1",
|
||||
@@ -9,5 +10,5 @@
|
||||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__arm__=1",
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__aarch64__=1",
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__x86_64=1",
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
"-D__MACH__=1",
|
||||
"-D__i386=1",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"poslední řádek souboru končí bez nového řádku",
|
||||
"poslední řádek souboru končí zpětným lomítkem",
|
||||
"Soubor #include %sq obsahuje sám sebe.",
|
||||
"Nedostatek paměti. Zvažte povolení 64bitového modulu IntelliSense a zvýšení limitu paměti IntelliSense v nastaveních.",
|
||||
"nedostatek paměti",
|
||||
null,
|
||||
"nezavřený komentář na konci souboru",
|
||||
"Nerozpoznaný token",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"Striktní režim je nekompatibilní se zpracováním oboru názvů std jako aliasu pro globální obor názvů.",
|
||||
"v rozšíření makra %s %p",
|
||||
"<NEZNÁMÝ>",
|
||||
null,
|
||||
"",
|
||||
"[rozšíření makra %d není zobrazené]",
|
||||
"v rozšíření makra v %p",
|
||||
"neplatný název symbolického operandu %sq",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"Neplatná hodnota sady pragma %s pro funkci s omezením AMP",
|
||||
"Překrývající se specifikátory omezení nejsou povolené.",
|
||||
"Specifikátory omezení destruktoru musejí pokrývat sjednocení specifikátorů omezení všech konstruktorů.",
|
||||
"error",
|
||||
null,
|
||||
"Pro nostdlib se vyžaduje aspoň jedno nucené použití.",
|
||||
"typ chyby",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"volání std::meta::substitute (pro %r) bylo neúspěšné",
|
||||
"hodnota reflexe odkazuje na neaktivní entitu",
|
||||
"spojení výrazů musí spojovat konstantní hodnotu, proměnnou nebo funkci",
|
||||
"spojení členského přístupu musí spojovat datový člen nebo členská funkce",
|
||||
"člen %nd není přímým ani nepřímým členem %t",
|
||||
"název %sq neurčuje známý znak Unicode",
|
||||
"neukončený pojmenovaný znak Unicode řídicí sekvence",
|
||||
"Znak se nemůže vyskytovat v názvu Unicode.",
|
||||
"prázdný pojmenovaný znak Unicode řídicí sekvence",
|
||||
"očekávalo se '[:'",
|
||||
"očekávalo se ':]'",
|
||||
"Výraz lambda nemůže být současně mutable i static.",
|
||||
"Výraz lambda static je nestandardní.",
|
||||
"Výraz lambda static musí mít prázdnou specifikaci zachycení.",
|
||||
"Jednotka hlavičky EDG IFC",
|
||||
"EDG IFC",
|
||||
"pro aktuální jednotku překladu se nepovedlo vytvořit jednotku hlavičky",
|
||||
"aktuální jednotka překladu používá jednu nebo více funkcí, které se v tuto chvíli nedají zapsat do jednotky hlavičky",
|
||||
"explicit(bool) je funkcí C++20",
|
||||
"musí být zadán název modulu pro mapování souboru modulu odkazující na soubor %sq",
|
||||
"Byla přijata hodnota indexu null, kde byl očekáván uzel v oddílu IFC %sq",
|
||||
"%nd nemůže mít typ %t.",
|
||||
"Kvalifikátor odkazu je v tomto režimu nestandardní.",
|
||||
"příkaz for založený na rozsahu není v tomto režimu standardní",
|
||||
"Auto, protože specifikátor typu je v tomto režimu nestandardní",
|
||||
"soubor modulu nelze importovat %sq z důvodu poškození souboru.",
|
||||
"IFC",
|
||||
"Nadbytečné tokeny vložené po deklaraci člena",
|
||||
"chybný obor vkládání (%r)",
|
||||
"Očekávala se hodnota typu std::string_view, ale získala se %t",
|
||||
"nadbytečné tokeny vložené po příkazu",
|
||||
"Nadbytečné tokeny vložené po deklaraci",
|
||||
"přetečení hodnoty indexu řazené kolekce členů (%d)",
|
||||
">> výstup z std::meta::__report_tokens",
|
||||
">> koncový výstup z std::meta::__report_tokens",
|
||||
"není v kontextu s proměnnými parametrů",
|
||||
"Řídicí sekvence s oddělovači musí mít aspoň jeden znak.",
|
||||
"neukončená řídicí sekvence s oddělovači",
|
||||
"Konstanta obsahuje adresu místní proměnné.",
|
||||
"strukturovanou vazbu nejde deklarovat jako consteval",
|
||||
"%no je v konfliktu s importovanou deklarací %nd",
|
||||
"Znak nelze v zadaném typu znaku reprezentovat.",
|
||||
"Poznámka se nemůže vyskytovat v kontextu předpony atributu using.",
|
||||
"typ %t poznámky není literálový typ.",
|
||||
"Atribut ext_vector_type se vztahuje pouze na logické hodnoty (bool), celočíselné typy (integer) nebo typy s plovoucí desetinnou čárkou (floating-point).",
|
||||
"Více specifikátorů do stejného sjednocení se nepovoluje.",
|
||||
"testovací zpráva",
|
||||
"Aby se dalo použít --ms_c++23, musí být verze Microsoftu, která se emuluje, aspoň 1943."
|
||||
"spojení členského přístupu musí spojovat datový člen nebo členská funkce"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"Die letzte Zeile von Dateien endet ohne Zeilenvorschub.",
|
||||
"Die letzte Zeile von Dateien endet mit einem umgekehrten Schrägstrich.",
|
||||
"Die #include-Datei \"%sq\" schließt sich selbst ein.",
|
||||
"Es ist nicht genügend Arbeitsspeicher vorhanden. Erwägen Sie, die 64-Bit-IntelliSense-Engine zu aktivieren und das IntelliSense-Arbeitsspeicherlimit in den Einstellungen zu erhöhen.",
|
||||
"Nicht genügend Arbeitsspeicher.",
|
||||
null,
|
||||
"Nicht geschlossener Kommentar am Ende der Datei",
|
||||
"Unbekanntes Token",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"Der Strict-Modus ist mit dem Behandeln des Namespaces \"std\" als Alias für den globalen Namespace inkompatibel.",
|
||||
"In Erweiterung von Makro \"%s\" %p",
|
||||
"<UNBEKANNT>",
|
||||
null,
|
||||
"",
|
||||
"[%d Makroerweiterungen werden nicht angezeigt.]",
|
||||
"In Makroerweiterung bei %p",
|
||||
"Ungültiger symbolischer Operandname \"%sq\".",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"Unzulässiger Wert für Pragmapaket \"%s\" für die auf AMP begrenzte Funktion.",
|
||||
"Überlappende Einschränkungsspezifizierer sind unzulässig.",
|
||||
"Die Einschränkungsspezifizierer des Destruktors müssen die Union der Einschränkungsspezifizierer für alle Konstruktoren abdecken.",
|
||||
"Fehler",
|
||||
null,
|
||||
"Für \"nostdlib\" ist mindestens eine erzwungene Verwendung erforderlich.",
|
||||
"Fehlertyp",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"Fehler beim Aufruf von std::meta::substitute (für %r).",
|
||||
"Reflexionswert bezieht sich auf inaktive Entität",
|
||||
"Eine Ausdrucks-Splice muss einen konstanten Wert, eine Variable oder eine Funktion aufteilen.",
|
||||
"Eine Memberzugriffs-Splice muss einen Datenmember oder eine Memberfunktion unterstützen.",
|
||||
"Der Member \"%nd\" ist kein direkter oder indirekter Member von \"%t\".",
|
||||
"Der Name \"%sq\" bezeichnet kein bekanntes Unicode-Zeichen.",
|
||||
"Nicht abgeschlossenes benanntes Unicode-Escapezeichen",
|
||||
"Zeichen darf nicht in einem UnicodeNamen verwendet werden.",
|
||||
"Leeres benanntes Unicode-Escapezeichen",
|
||||
"Erwartet wurde \"[:\"",
|
||||
"Erwartet wurde \":]\"",
|
||||
"Ein Lambdaausdruck darf nicht gleichzeitig \"mutable\" und \"static\" sein.",
|
||||
"Ein Lambdaausdruck \"static\" entspricht nicht dem Standard.",
|
||||
"Ein Lambdaausdruck \"static\" muss eine leere Erfassungsspezifikation aufweisen.",
|
||||
"EDG IFC-Headereinheit",
|
||||
"EDG IFC",
|
||||
"für die aktuelle Übersetzungseinheit konnte keine Headereinheit erstellt werden",
|
||||
"Die aktuelle Übersetzungseinheit verwendet mindestens ein Feature, das derzeit nicht in eine Headereinheit geschrieben werden kann",
|
||||
"\"explicit(bool)\" ist ein C++20-Feature",
|
||||
"Für die Moduldateizuordnung, die auf die Datei \"%sq\" verweist, muss ein Modulname angegeben werden.",
|
||||
"Ein Nullindexwert wurde empfangen, obwohl ein Knoten in der IFC-Partition %sq erwartet wurde.",
|
||||
"%nd darf nicht den Typ \"%t\" aufweisen",
|
||||
"Ein ref-Qualifizierer entspricht in diesem Modus nicht dem Standard.",
|
||||
"Eine bereichsbasierte \"for-Anweisung\" entspricht in diesem Modus nicht dem Standard",
|
||||
"\"auto\" als Typspezifizierer entspricht in diesem Modus nicht dem Standard.",
|
||||
"Die Moduldatei konnte aufgrund einer Beschädigung der Datei nicht %sq importiert werden.",
|
||||
"IFC",
|
||||
"Nach der Memberdeklaration eingefügte zusätzliche Token",
|
||||
"Ungültiger Einschleusungsbereich (%r)",
|
||||
"Es wurde ein Wert vom Typ \"std::string_view\" erwartet, der jedoch %t wurde.",
|
||||
"Zusätzliche Token, die nach der Anweisung eingefügt wurden",
|
||||
"Zusätzliche Token, die nach der Deklaration eingefügt wurden",
|
||||
"Tupelindexwertüberlauf (%d)",
|
||||
">> Ausgabe von std::meta::__report_tokens",
|
||||
">> Endausgabe von std::meta::__report_tokens",
|
||||
"nicht in einem Kontext mit Parametervariablen",
|
||||
"Eine durch Trennzeichen getrennte Escapesequenz muss mindestens ein Zeichen enthalten.",
|
||||
"nicht abgeschlossene, durch Trennzeichen getrennte Escapesequenz",
|
||||
"Die Konstante enthält die Adresse einer lokalen Variablen.",
|
||||
"eine strukturierte Bindung kann nicht als \"consteval\" deklariert werden",
|
||||
"%no steht in Konflikt mit der importierten %nd",
|
||||
"Zeichen kann im angegebenen Zeichentyp nicht dargestellt werden.",
|
||||
"Eine Anmerkung kann nicht im Kontext eines using-Attributpräfixes angezeigt werden.",
|
||||
"Der Typ %t der Anmerkung ist kein Literaltyp.",
|
||||
"Das Attribut \"ext_vector_type\" gilt nur für boolesche, ganzzahlige oder Gleitkommatypen",
|
||||
"Mehrere Kennzeichner in derselben Union sind nicht zulässig.",
|
||||
"Testnachricht",
|
||||
"Die zu emulierende Microsoft-Version muss mindestens 1943 sein, damit \"--ms_c++23\" verwendet werden kann."
|
||||
"Eine Memberzugriffs-Splice muss einen Datenmember oder eine Memberfunktion unterstützen."
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"la última línea del archivo termina sin una nueva línea",
|
||||
"la última línea del archivo termina con una barra diagonal inversa",
|
||||
"el archivo #include %sq se incluye a sí mismo",
|
||||
"Memoria insuficiente. Considere la posibilidad de habilitar el motor de IntelliSense de 64 bits y aumentar el límite de memoria de IntelliSense en la configuración.",
|
||||
"memoria insuficiente",
|
||||
null,
|
||||
"comentario no cerrado al final del archivo",
|
||||
"token no reconocido",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"el modo strict no es compatible con el trato del espacio de nombres std como alias para el espacio de nombres global",
|
||||
"en la expansión de macro '%s' %p,",
|
||||
"<DESCONOCIDO>",
|
||||
null,
|
||||
"",
|
||||
"[ las expansiones de macro %d no se muestran ]",
|
||||
"en expansión de macro en %p",
|
||||
"nombre de operando simbólico %sq no válido",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"valor de pragma pack %s no válido para la función con restricción amp",
|
||||
"no se permiten especificadores de restricción superpuestos",
|
||||
"los especificadores de restricción del destructor deben cubrir la unión de los especificadores de restricción de todos los constructores",
|
||||
"error",
|
||||
null,
|
||||
"nostdlib requiere al menos un uso forzado",
|
||||
"tipo de error",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"error en la llamada a std::meta::substitute (para %r)",
|
||||
"el valor de reflexión hace referencia a una entidad inactiva",
|
||||
"una expresión splice debe empalmar un valor constante, una variable o una función",
|
||||
"un splice de acceso a miembros debe empalmar un miembro de datos o una función miembro",
|
||||
"el miembro %nd no es un miembro directo o indirecto de %t",
|
||||
"el nombre %sq no designa un carácter Unicode conocido",
|
||||
"escape de caracteres Unicode con nombre sin terminar",
|
||||
"el carácter no puede aparecer en un nombre Unicode",
|
||||
"escape de caracteres Unicode con nombre vacío",
|
||||
"esperaba un \"[:\"",
|
||||
"se esperaba un \":]\"",
|
||||
"una expresión lambda no puede ser a la vez \"mutable\" y \"estática\"",
|
||||
"una expresión lambda \"estática\" no es estándar",
|
||||
"una expresión lambda \"estática\" debe tener una especificación de captura vacía",
|
||||
"Unidad de encabezado EDG IFC",
|
||||
"EDG IFC",
|
||||
"no se pudo crear una unidad de encabezado para la unidad de traducción actual",
|
||||
"la unidad de traducción actual usa una o varias características que no se pueden escribir actualmente en una unidad de encabezado",
|
||||
"'explicit(bool)' es una característica de C++20",
|
||||
"se debe especificar un nombre de módulo para la asignación de archivos de módulo que hace referencia al archivo %sq",
|
||||
"se recibió un valor de índice nulo donde se esperaba un nodo en la partición IFC %sq",
|
||||
"%nd no puede tener el tipo %t",
|
||||
"un calificador ref no es estándar en este modo",
|
||||
"una instrucción \"for\" basada en intervalos no es estándar en este modo",
|
||||
"'auto' como especificador de tipo no es estándar en este modo",
|
||||
"no se pudo importar el %sq de archivo de módulo debido a que el archivo está dañado",
|
||||
"IFC",
|
||||
"tokens extraños insertados después de la declaración de miembro",
|
||||
"ámbito de inserción incorrecto (%r)",
|
||||
"se esperaba un valor de tipo std::string_view pero se obtuvo %t",
|
||||
"tokens extraños insertados después de la instrucción",
|
||||
"tokens extraños insertados después de la declaración",
|
||||
"desbordamiento del valor de índice de tupla (%d)",
|
||||
">> salida de std::meta::__report_tokens",
|
||||
">> salida final de std::meta::__report_tokens",
|
||||
"no está en un contexto con variables de parámetro",
|
||||
"una secuencia de escape delimitada debe tener al menos un carácter",
|
||||
"secuencia de escape delimitada sin terminar",
|
||||
"la constante contiene la dirección de una variable local",
|
||||
"un enlace estructurado no se puede declarar como \"consteval\"",
|
||||
"%no entra en conflicto con la declaración importada %nd",
|
||||
"el carácter no se puede representar en el tipo de carácter especificado",
|
||||
"una anotación no puede aparecer en el contexto de un prefijo de atributo 'using'",
|
||||
"el tipo %t de la anotación no es un tipo literal",
|
||||
"el atributo \"ext_vector_type\" solo se aplica a tipos booleanos, enteros o de punto flotante",
|
||||
"no se permiten varios designadores en la misma unión",
|
||||
"mensaje de prueba",
|
||||
"la versión de Microsoft que se emula debe ser al menos 1943 para usar \"--ms_c++23\""
|
||||
"un splice de acceso a miembros debe empalmar un miembro de datos o una función miembro"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"la dernière ligne du fichier se termine sans saut de ligne",
|
||||
"la dernière ligne du fichier se termine par une barre oblique inverse",
|
||||
"le fichier #include %sq s'inclut lui-même",
|
||||
"Plus de mémoire. Envisagez d’activer le moteur IntelliSense 64 bits et d’augmenter la limite de mémoire IntelliSense dans les paramètres.",
|
||||
"Mémoire insuffisante",
|
||||
null,
|
||||
"commentaire non fermé à la fin du fichier",
|
||||
"jeton non reconnu",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"le mode strict est incompatible avec le traitement de namespace std en tant qu'alias pour l'espace de noms global",
|
||||
"dans l'expansion macro '%s' %p",
|
||||
"<Inconnu>",
|
||||
null,
|
||||
"",
|
||||
"[ %d expansions macro non affichées ]",
|
||||
"dans l'expansion macro à %p",
|
||||
"nom d'opérande symbolique non valide %sq",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"valeur de pragma pack non conforme %s pour la fonction à restriction amp",
|
||||
"spécificateurs de restriction en chevauchement non autorisés",
|
||||
"les spécificateurs de restriction du destructeur doivent couvrir l'union des spécificateurs de restriction sur tous les constructeurs",
|
||||
"erreur",
|
||||
null,
|
||||
"nostdlib nécessite au moins un using forcé",
|
||||
"type d’erreur",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"échec de l’appel à std::meta::substitute (pour %r)",
|
||||
"la valeur de réflexion fait référence à l’entité inactive",
|
||||
"une splice d’expression doit spliquer une valeur constante, une variable ou une fonction",
|
||||
"une épissure d'accès aux membres doit épisser une donnée membre ou une fonction membre",
|
||||
"membre %nd n’est pas un membre direct ou indirect de %t",
|
||||
"le nom %sq ne désigne pas un caractère Unicode connu",
|
||||
"échappement de caractère Unicode nommé inachevé",
|
||||
"le caractère ne peut pas apparaître dans un nom Unicode",
|
||||
"échappement de caractère Unicode nommé vide",
|
||||
"s’attendait à un « [ :] ».",
|
||||
"s’attendait à un « :] ».",
|
||||
"une expression lambda ne peut pas être à la fois « mutable » et « static »",
|
||||
"une expression lambda « static » n’est pas standard",
|
||||
"une expression lambda « static » doit avoir une spécification de capture vide",
|
||||
"Unité d’en-tête IFC EDG",
|
||||
"EDG IFC",
|
||||
"impossible de créer une unité d’en-tête pour l’unité de traduction actuelle",
|
||||
"l’unité de traduction actuelle utilise une ou plusieurs fonctionnalités qui ne peuvent actuellement pas être écrites dans une unité d’en-tête",
|
||||
"'explicit(bool)' est une fonctionnalité C++20",
|
||||
"un nom de module doit être spécifié pour la carte de fichiers de module référençant le fichier %sq",
|
||||
"une valeur d’index null a été reçue alors qu’un nœud de la partition IFC %sq était attendu",
|
||||
"%nd ne peut pas avoir le type %t",
|
||||
"qualificateur ref non standard dans ce mode",
|
||||
"une instruction 'for' basée sur une plage n’est pas standard dans ce mode",
|
||||
"'auto' en tant que spécificateur de type n’est pas standard dans ce mode",
|
||||
"impossible d’importer le fichier de module %sq en raison d’un fichier endommagé",
|
||||
"IFC",
|
||||
"jetons superflus injectés après la déclaration de membre",
|
||||
"étendue d’injection incorrecte (%r)",
|
||||
"valeur de type std ::string_view attendue, mais %t obtenu",
|
||||
"jetons superflus injectés après l’instruction",
|
||||
"jetons superflus injectés après la déclaration",
|
||||
"dépassement de capacité de la valeur d’index de tuple (%d)",
|
||||
">> sortie de std::meta::__report_tokens",
|
||||
">> sortie de fin de std::meta::__report_tokens",
|
||||
"pas dans un contexte avec des variables de paramètre",
|
||||
"une séquence d’échappement délimitée doit comporter au moins un caractère",
|
||||
"séquence d’échappement délimitée non inachevée",
|
||||
"constante contient l’adresse d’une variable locale",
|
||||
"une liaison structurée ne peut pas être déclarée 'consteval'",
|
||||
"%no est en conflit avec la déclaration importée %nd",
|
||||
"caractère ne peut pas être représenté dans le type de caractère spécifié",
|
||||
"une annotation ne peut pas apparaître dans le contexte d’un préfixe d’attribut 'using'",
|
||||
"le type %t de l’annotation n’est pas un type littéral",
|
||||
"l'attribut 'ext_vector_type' s'applique uniquement aux types booléens, entiers ou à virgule flottante",
|
||||
"plusieurs désignateurs dans la même union ne sont pas autorisés",
|
||||
"message de test",
|
||||
"la version émulée Microsoft doit être au moins la version 1943 pour permettre l'utilisation de « --ms_c++23 »"
|
||||
"une épissure d'accès aux membres doit épisser une donnée membre ou une fonction membre"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"l'ultima riga del file termina senza un carattere di nuova riga",
|
||||
"l'ultima riga del file termina con una barra rovesciata",
|
||||
"il file #include %sq include se stesso",
|
||||
"Memoria insufficiente. Provare ad abilitare il motore IntelliSense a 64 bit e ad aumentare il limite di memoria IntelliSense nelle impostazioni.",
|
||||
"memoria insufficiente",
|
||||
null,
|
||||
"commento non chiuso alla fine del file",
|
||||
"token non riconosciuto",
|
||||
@@ -453,15 +453,15 @@
|
||||
"omissione di %sq non conforme allo standard",
|
||||
"impossibile specificare il tipo restituito in una funzione di conversione",
|
||||
"rilevato durante:",
|
||||
"creazione di un'istanza del contesto %nt %p",
|
||||
"generazione implicita del contesto %nt %p",
|
||||
"creazione di un'istanza del contesto %p1 del modello %nt1",
|
||||
"generazione implicita del contesto %p1 del modello %nt1",
|
||||
"ricorsione eccessiva durante la creazione di un'istanza di %n",
|
||||
"%sq non è una funzione o un membro dati statici",
|
||||
"l'argomento di tipo %t1 è incompatibile con il parametro del modello di tipo %t2",
|
||||
"non è possibile eseguire un'inizializzazione che richiede un tipo temporaneo o una conversione",
|
||||
"se si dichiara %sq, il parametro della funzione verrà nascosto",
|
||||
"il valore iniziale del riferimento a non const deve essere un lvalue",
|
||||
"definizione implicita del contesto %nt %p",
|
||||
"definizione implicita del contesto %p del modello %nt",
|
||||
"'template' non consentito",
|
||||
"%t non è un modello di classe",
|
||||
null,
|
||||
@@ -526,7 +526,7 @@
|
||||
"chiamata funzione non const per l'oggetto const (anacronismo)",
|
||||
"un'istruzione dipendente non può essere una dichiarazione",
|
||||
"il tipo di un parametro non può essere void",
|
||||
"creazione di un'istanza del contesto %na %p",
|
||||
"creazione di un'istanza del contesto %p1 della classe %na1",
|
||||
"elaborazione dell'elenco degli argomenti di modello per %na %p",
|
||||
"operatore non consentito in un'espressione di argomento del modello",
|
||||
"con il blocco try è richiesto almeno un gestore",
|
||||
@@ -682,11 +682,11 @@
|
||||
"directory PCH non valida: %s",
|
||||
"previsto __except o __finally",
|
||||
"un'istruzione __leave può essere utilizzata solo in un blocco __try",
|
||||
"rilevato durante la creazione di un'istanza del contesto %nt %p",
|
||||
"rilevato durante la generazione implicita del contesto %nt %p",
|
||||
"rilevato durante la creazione di un'istanza del contesto %na %p",
|
||||
"rilevato durante la creazione di un'istanza del contesto %p del modello %nt",
|
||||
"rilevato durante la generazione implicita del contesto %p1 del modello %nt1",
|
||||
"rilevato durante la creazione di un'istanza del contesto %p della classe %na",
|
||||
"rilevato durante l'elaborazione dell'elenco degli argomenti di modello per %na %p",
|
||||
"rilevato durante la definizione implicita del contesto %nt %p",
|
||||
"rilevato durante la definizione implicita del contesto %p1 del modello %nt1",
|
||||
"%sq non trovato nello stack di allineamento compressione",
|
||||
"stack di allineamento compressione vuoto",
|
||||
"è possibile utilizzare l'opzione RTTI solo quando si esegue la compilazione nel linguaggio C++",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"modalità strict incompatibile con lo spazio dei nomi std utilizzato come alias dello spazio dei nomi globale",
|
||||
"nell'espansione della macro '%s' %p",
|
||||
"<SCONOSCIUTO>",
|
||||
null,
|
||||
"",
|
||||
"[ espansioni della macro %d non visualizzate ]",
|
||||
"nell'espansione della macro in %p",
|
||||
"nome di operando simbolico %sq non valido",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"il valore %s del pacchetto pragma per la funzione con restrizioni AMP non è valido",
|
||||
"gli identificatori di limitazione sovrapposti non sono consentiti",
|
||||
"gli identificatori di limitazione del distruttore devono coprire l'unione degli identificatori di limitazione in tutti i costruttori",
|
||||
"errore",
|
||||
null,
|
||||
"con nostdlib è richiesta almeno un'opzione Forced Using",
|
||||
"tipo di errore",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"chiamata a std::meta::substitute (per %r) non riuscita",
|
||||
"il valore di reflection fa riferimento all'entità inattiva",
|
||||
"una giunzione di espressione deve creare una giunzione di un valore costante, una variabile o una funzione",
|
||||
"una splice di accesso a un membro deve creare una splice di un membro dati o di una funzione membro",
|
||||
"il membro %nd non è un membro diretto o indiretto di %t",
|
||||
"il nome %sq non definisce un carattere Unicode noto",
|
||||
"carattere di escape Unicode senza terminazione",
|
||||
"il carattere non può essere visualizzato in un nome Unicode",
|
||||
"carattere di escape Unicode vuoto",
|
||||
"è previsto un '[:'",
|
||||
"è previsto un ':]'",
|
||||
"un'espressione lambda non può essere sia 'mutable' sia 'static'",
|
||||
"espressione lambda 'static' non conforme allo standard",
|
||||
"un'espressione lambda 'static' deve avere una specifica di acquisizione vuota",
|
||||
"Unità di intestazione IFC EDG",
|
||||
"EDG IFC",
|
||||
"Non è possibile creare un'unità di intestazione per l'unità di conversione corrente",
|
||||
"l'unità di conversione corrente utilizza una o più funzionalità che attualmente non possono essere scritte in un'unità di intestazione",
|
||||
"'explicit(bool)' è una funzionalità di C++20",
|
||||
"è necessario specificare un nome modulo per la mappa dei file del modulo che fa riferimento al file %sq",
|
||||
"è stato ricevuto un valore di indice Null in cui era previsto un nodo nella partizione IFC %sq",
|
||||
"%nd non può avere il tipo %t",
|
||||
"qualificatore di riferimento non conforme allo standard in questa modalità",
|
||||
"un'istruzione 'for' basata su intervallo non è standard in questa modalità",
|
||||
"'auto' come identificatore di tipo non è conforme allo standard in questa modalità",
|
||||
"non è stato possibile importare il file del modulo %sq a causa di un danneggiamento del file",
|
||||
"IFC",
|
||||
"token estranei inseriti dopo la dichiarazione del membro",
|
||||
"ambito di inserimento non valido (%r)",
|
||||
"previsto un valore di tipo std::string_view ma ottenuto %t",
|
||||
"token estranei inseriti dopo l'istruzione",
|
||||
"token estranei inseriti dopo la dichiarazione",
|
||||
"overflow del valore dell'indice di tupla (%d)",
|
||||
">> output di std::meta::__report_tokens",
|
||||
">> output finale di std::meta::__report_tokens",
|
||||
"non in un contesto con variabili di parametro",
|
||||
"una sequenza di escape delimitata deve contenere almeno un carattere",
|
||||
"sequenza di escape delimitata senza terminazione",
|
||||
"la costante contiene l'indirizzo di una variabile locale",
|
||||
"un'associazione strutturata non può essere dichiarata 'consteval'",
|
||||
"%no è in conflitto con la dichiarazione importata %nd",
|
||||
"impossibile rappresentare il carattere nel tipo di carattere specificato",
|
||||
"un'annotazione non può essere presente nel contesto di un prefisso di attributo 'using'",
|
||||
"il tipo %t dell'annotazione non è un tipo letterale",
|
||||
"l'attributo 'ext_vector_type' si applica solo ai tipi bool, integer o a virgola mobile",
|
||||
"non sono consentiti più indicatori nella stessa unione",
|
||||
"messaggio di test",
|
||||
"la versione di Microsoft da emulare deve essere almeno 1943 per usare '--ms_c++23'"
|
||||
"una splice di accesso a un membro deve creare una splice di un membro dati o di una funzione membro"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"ファイルの最後の行が改行なしで終わっています",
|
||||
"ファイルの最後の行が円記号 (\\) で終わっています",
|
||||
"#include ファイル %sq にそれ自体が含まれています",
|
||||
"メモリ不足。64 ビットの IntelliSense エンジンを有効にし、設定で IntelliSense のメモリ制限を増やすことを検討してください。",
|
||||
"メモリが不足しています",
|
||||
null,
|
||||
"ファイルの末尾でコメントが閉じられていません",
|
||||
"認識されないトークンです",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"strict モードはグローバル名前空間に対するエイリアスとしての名前空間 std の取り扱いと互換性がありません",
|
||||
"マクロ '%s' %p の展開で、",
|
||||
"<不明>",
|
||||
null,
|
||||
"",
|
||||
"[ %d マクロの展開は示されていません ]",
|
||||
"%p の場所でのマクロの展開で",
|
||||
"シンボル オペランド名 %sq が無効です",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"amp 制限関数に無効な pragma pack 値 %s ",
|
||||
"重複した制限指定子は許可されていません",
|
||||
"デストラクターの制限指定子は、すべてのコンストラクターの制限指定子の和集合を対象とする必要があります",
|
||||
"エラー",
|
||||
null,
|
||||
"nostdlib には少なくとも 1 つの強制された using が必要です",
|
||||
"エラーの種類",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"std::meta::substitute (%r の場合) の呼び出しに失敗しました",
|
||||
"リフレクション値が非アクティブなエンティティを参照しています",
|
||||
"式の継ぎ目は、定数値、変数、または関数を接合する必要があります",
|
||||
"メンバー アクセスの継ぎ目は、データ メンバーまたはメンバー関数を接合する必要があります",
|
||||
"メンバー %nd は %t の直接メンバーまたは間接メンバーではありません",
|
||||
"名前 %sq は既知の Unicode 文字を指定しません",
|
||||
"未終了の名前付き Unicode 文字エスケープ",
|
||||
"文字を Unicode 名に含めることはできません",
|
||||
"空の名前付き Unicode 文字エスケープ",
|
||||
"'[:' が必要です",
|
||||
"':]' が必要です",
|
||||
"ラムダ式を 'mutable' と 'static' の両方にすることはできません",
|
||||
"'static' ラムダ式は非標準です",
|
||||
"'static' ラムダ式には空のキャプチャ仕様が必要です",
|
||||
"EDG IFC ヘッダー ユニット",
|
||||
"EDG IFC",
|
||||
"現在の翻訳単位のヘッダー ユニットを作成できませんでした",
|
||||
"現在の翻訳単位は、現在ヘッダー ユニットに書き込むことができない 1 つ以上の機能を使用します",
|
||||
"'explicit(bool)' は C++20 機能です",
|
||||
"ファイル %sq を参照するモジュール ファイル マップにモジュール名を指定する必要があります",
|
||||
"IFC パーティション %sq のノードが必要な場所で null インデックス値を受け取りました",
|
||||
"%nd に型 %t を指定することはできません",
|
||||
"ref 修飾子はこのモードでは非標準です",
|
||||
"範囲ベースの 'for' ステートメントは、このモードでは標準ではありません",
|
||||
"型指定子としての 'auto' は、このモードでは非標準です",
|
||||
"ファイルが破損しているため、モジュール ファイル %sq をインポートできませんでした",
|
||||
"IFC",
|
||||
"メンバー宣言の後に無関係なトークンが挿入されました",
|
||||
"不適切な挿入スコープ (%r)",
|
||||
"std::string_view 型の値が必要ですが、%t されました",
|
||||
"ステートメントの後に挿入された無関係なトークン",
|
||||
"宣言の後に挿入された無関係なトークン",
|
||||
"タプル インデックス値 (%d) オーバーフロー",
|
||||
">> std::meta::__report_tokens からの出力",
|
||||
">> std::meta::__report_tokens からの出力を終了",
|
||||
"パラメーター変数を持つコンテキスト内にありません",
|
||||
"区切られたエスケープ シーケンスには少なくとも 1 文字が必要です",
|
||||
"区切られたエスケープ シーケンスが終了しません",
|
||||
"定数にローカル変数のアドレスが含まれています",
|
||||
"構造化バインディングを 'consteval' と宣言することはできません",
|
||||
"%no がインポートされた宣言 %nd と競合しています",
|
||||
"指定された文字の種類では文字を表すことができません",
|
||||
"注釈を 'using' 属性プレフィックスのコンテキストに含めることはできません",
|
||||
"注釈の型 %t はリテラル型ではありません",
|
||||
"'ext_vector_type' 属性は、整数型または浮動小数点型にのみ適用できます",
|
||||
"複数の指定子を同じ共用体にすることはできません",
|
||||
"テスト メッセージ",
|
||||
"'--ms_c++23' を使用するには、エミュレートされている Microsoft のバージョンが 1943 以上である必要があります"
|
||||
"メンバー アクセスの継ぎ目は、データ メンバーまたはメンバー関数を接合する必要があります"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"파일의 마지막 줄이 줄 바꿈 없이 끝납니다.",
|
||||
"파일의 마지막 줄이 백슬래시로 끝납니다.",
|
||||
"#include 파일 %sq에 해당 파일 자체가 포함되어 있습니다.",
|
||||
"메모리가 부족합니다. 64비트 IntelliSense 엔진을 사용하도록 설정하고 설정에서 IntelliSense 메모리 제한을 늘리는 것이 좋습니다.",
|
||||
"메모리가 부족합니다.",
|
||||
null,
|
||||
"주석이 파일 끝에서 닫히지 않았습니다.",
|
||||
"인식할 수 없는 토큰입니다.",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"strict 모드가 std 네임스페이스를 전역 네임스페이스에 대한 별칭으로 처리하는 방식과 호환되지 않습니다.",
|
||||
"매크로 '%s' %p의 확장,",
|
||||
"<알 수 없음>",
|
||||
null,
|
||||
"",
|
||||
"[ %d 매크로 확장이 표시되지 않음 ]",
|
||||
"%p의 매크로 확장",
|
||||
"기호화된 피연산자 이름 %sq이(가) 잘못되었습니다.",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"amp 제한 함수의 pragma pack 값 %s이(가) 잘못되었습니다.",
|
||||
"겹치는 제한 지정자는 사용할 수 없습니다.",
|
||||
"소멸자의 제한 지정자는 모든 생성자에 대한 제한 지정자의 공용 구조체를 지정해야 합니다.",
|
||||
"오류",
|
||||
null,
|
||||
"nostdlib에는 한 번 이상의 강제 사용이 필요합니다.",
|
||||
"오류 유형",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"std::meta::substitute(%r)에 대한 호출이 실패했습니다.",
|
||||
"리플렉션 값이 비활성 엔터티를 참조함",
|
||||
"식 스플라이스는 상수 값, 변수 또는 함수를 스플라이스해야 합니다.",
|
||||
"멤버 액세스 스플라이스는 데이터 멤버 또는 멤버 함수를 스플라이스해야 합니다.",
|
||||
"%nd 구성원은 %t의 직접 또는 간접 구성원이 아닙니다.",
|
||||
"%sq 이름이 알려진 유니코드 문자를 지정하지 않습니다.",
|
||||
"종료되지 않은 명명된 유니코드 문자 이스케이프",
|
||||
"유니코드 이름에는 문자를 사용할 수 없습니다.",
|
||||
"비어 있는 명명된 유니코드 문자 이스케이프",
|
||||
"'[:'가 필요합니다.",
|
||||
"':]'가 필요합니다.",
|
||||
"람다 식은 'mutable'과 'static' 둘 다일 수 없습니다.",
|
||||
"'static' 람다 식은 표준이 아닙니다.",
|
||||
"'static' 람다 식에는 빈 캡처 사양이 있어야 합니다.",
|
||||
"EDG IFC 헤더 단위",
|
||||
"EDG IFC",
|
||||
"현재 변환 단위에 대한 헤더 단위를 만들 수 없습니다.",
|
||||
"현재 변환 단위는 헤더 단위에 현재 쓸 수 없는 하나 이상의 기능을 사용합니다.",
|
||||
"'explicit(bool)'는 C++20 기능입니다.",
|
||||
"%sq 파일을 참조하는 모듈 파일 맵에 대한 모듈 이름을 지정해야 합니다.",
|
||||
"IFC 파티션 %sq 노드가 필요한 곳에 null 인덱스 값을 받았습니다.",
|
||||
"%nd은(는) %t 형식을 가질 수 없습니다",
|
||||
"ref-qualifier는 이 모드에서 표준이 아니므로",
|
||||
"범위 기반 'for' 문은 이 모드에서 표준이 아닙니다",
|
||||
"형식 지정자의 'auto'는 이 모드에서 표준이 아닙니다.",
|
||||
"파일이 손상되었기 때문에 모듈 파일 %sq 가져올 수 없습니다.",
|
||||
"IFC",
|
||||
"멤버 선언 뒤에 삽입된 불필요한 토큰",
|
||||
"잘못된 주입 scope(%r)",
|
||||
"std::string_view 형식의 값이 필요한데 %t",
|
||||
"문 뒤에 불필요한 토큰이 삽입되었습니다.",
|
||||
"선언 후에 삽입된 불필요한 토큰",
|
||||
"튜플 인덱스 값(%d) 오버플로",
|
||||
">> std::meta::__report_tokens의 출력",
|
||||
">> std::meta::__report_tokens의 출력 종료",
|
||||
"매개 변수 변수가 있는 컨텍스트에 없음",
|
||||
"구분된 이스케이프 시퀀스에는 문자가 하나 이상 있어야 합니다.",
|
||||
"종결되지 않은 구분된 이스케이프 시퀀스",
|
||||
"상수에 지역 변수의 주소가 포함되어 있습니다.",
|
||||
"구조적 바인딩에서는 'consteval'을 선언할 수 없습니다",
|
||||
"%no 가져온 선언 %nd 충돌합니다.",
|
||||
"지정한 문자 형식으로 문자를 나타낼 수 없습니다.",
|
||||
"주석은 'using' 특성 접두사 컨텍스트에 나타날 수 없습니다.",
|
||||
"주석의 형식 %t 리터럴 형식이 아닙니다.",
|
||||
"'ext_vector_type' 특성은 부울, 정수 또는 부동 소수점 형식에만 적용됩니다",
|
||||
"동일한 공용 구조체에 여러 지정자를 사용할 수 없습니다.",
|
||||
"테스트 메시지",
|
||||
"에뮬레이트되는 Microsoft 버전이 1943 이상이어야 '--ms_c++23'을 사용할 수 있습니다."
|
||||
"멤버 액세스 스플라이스는 데이터 멤버 또는 멤버 함수를 스플라이스해야 합니다."
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"ostatni wiersz w pliku nie jest zakończony znakiem nowego wiersza",
|
||||
"ostatni wiersz w pliku jest zakończony ukośnikiem",
|
||||
"dyrektywa #include dla pliku %sq powoduje, że plik dołącza siebie",
|
||||
"Za mało pamięci. Rozważ włączenie 64-bitowego aparatu usługi IntelliSense i zwiększenie limitu pamięci funkcji IntelliSense w ustawieniach.",
|
||||
"brak pamięci",
|
||||
null,
|
||||
"niezamknięty komentarz na końcu pliku",
|
||||
"nierozpoznany token",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"tryb z ograniczeniami jest niezgodny z traktowaniem przestrzeni nazw std jako aliasu dla globalnej przestrzeni nazw",
|
||||
"w rozwinięciu makra „%s” %p",
|
||||
"<NIEZNANE>",
|
||||
null,
|
||||
"",
|
||||
"[liczba niewyświetlanych rozwinięć makr: %d]",
|
||||
"w rozszerzeniu makra w położeniu %p",
|
||||
"nieprawidłowa nazwa symboliczna argumentu operacji %sq",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"niedozwolona wartość dyrektywy pragma pack %s dla funkcji z ograniczeniem amp",
|
||||
"nakładające się specyfikatory ograniczenia są niedozwolone",
|
||||
"specyfikatory ograniczenia destruktora muszą obejmować unię specyfikatorów ograniczenia na wszystkich konstruktorach",
|
||||
"błąd",
|
||||
null,
|
||||
"element nostdlib wymaga co najmniej jednego wymuszonego użycia",
|
||||
"typ błędu",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"wywołanie metody std::meta::substitute (dla %r) nie powiodło się",
|
||||
"wartość odbicia odnosi się do jednostki nieaktywnej",
|
||||
"splice wyrażenia musi łączyć stałą wartość, zmienną lub funkcję",
|
||||
"platforma dostępu do składowej musi łączyć składową danych lub funkcję składową",
|
||||
"składowa %nd nie jest bezpośrednią ani pośrednią składową elementu %t",
|
||||
"nazwa %sq nie wyznacza znanego znaku Unicode",
|
||||
"niezakończony znak ucieczki o nazwie Unicode",
|
||||
"znak nie może występować w nazwie Unicode",
|
||||
"pusty znak ucieczki o nazwie Unicode",
|
||||
"oczekiwano znaku „[:”",
|
||||
"oczekiwano znaku „:]”",
|
||||
"wyrażenie lambda nie może mieć jednocześnie wartości „zmienne” i „statyczne”",
|
||||
"wyrażenie lambda „statyczne” jest niestandardowe",
|
||||
"wyrażenie lambda „statyczne” musi mieć pustą specyfikację przechwytywania",
|
||||
"Jednostka nagłówka EDG IFC",
|
||||
"EDG IFC",
|
||||
"nie można utworzyć jednostki nagłówka dla bieżącej jednostki translacji",
|
||||
"bieżąca jednostka translacji używa co najmniej jednej funkcji, których obecnie nie można zapisać w jednostce nagłówka",
|
||||
"„explicit(bool)” jest funkcją języka C++20",
|
||||
"nazwa modułu musi być określona dla mapy pliku modułu odwołującej się do pliku %sq",
|
||||
"odebrano wartość indeksu o wartości null, w której oczekiwano węzła w partycji IFC %sq",
|
||||
"%nd nie może mieć typu %t",
|
||||
"kwalifikator ref jest niestandardowy w tym trybie",
|
||||
"instrukcja \"for\" oparta na zakresie jest niestandardowa w tym trybie",
|
||||
"element \"auto\" jako specyfikator typu jest niestandardowy w tym trybie",
|
||||
"nie można zaimportować %sq pliku modułu z powodu uszkodzenia pliku",
|
||||
"IFC",
|
||||
"nadmiarowe tokeny wstrzyknięte po deklaracji składowej",
|
||||
"zły zakres iniekcji (%r)",
|
||||
"oczekiwano wartości typu std::string_view, ale otrzymano %t",
|
||||
"nadmiarowe tokeny wstrzyknięte po instrukcji",
|
||||
"nadmiarowe tokeny wstrzyknięte po deklaracji",
|
||||
"przepełnienie wartości indeksu krotki (%d)",
|
||||
">> dane wyjściowe z elementu std::meta::__report_tokens",
|
||||
">> końcowe dane wyjściowe z elementu std::meta::__report_tokens",
|
||||
"nie jest w kontekście ze zmiennymi parametrów",
|
||||
"rozdzielana sekwencja ucieczki musi zawierać co najmniej jeden znak",
|
||||
"niezakończona rozdzielana sekwencja ucieczki",
|
||||
"stała zawiera adres zmiennej lokalnej",
|
||||
"powiązanie ze strukturą nie może być deklarowane jako „constexpr”",
|
||||
"%no powoduje konflikt z zaimportowanym %nd deklaracji",
|
||||
"znak nie może być reprezentowany w określonym typie znaku",
|
||||
"adnotacja nie może występować w kontekście prefiksu atrybutu \"using\"",
|
||||
"typ %t adnotacji nie jest typem literału",
|
||||
"atrybut „ext_vector_type” ma zastosowanie tylko do typów będących wartością logiczną, liczbą całkowitą lub liczbą zmiennoprzecinkową",
|
||||
"wielokrotne desygnatory znajdujące się w tej samej unii są niedozwolone",
|
||||
"wiadomość testowa",
|
||||
"emulowaną wersją Microsoft musi być co najmniej 1943, aby użyć polecenia „--ms_c++23”"
|
||||
"platforma dostępu do składowej musi łączyć składową danych lub funkcję składową"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"última linha do arquivo termina sem uma nova linha",
|
||||
"última linha do arquivo termina sem uma barra invertida",
|
||||
"#include arquivo %sq inclui a si mesmo",
|
||||
"Memória insuficiente. Considere habilitar o mecanismo IntelliSense de 64 bits e aumentar o limite de memória do IntelliSense nas configurações.",
|
||||
"memória insuficiente",
|
||||
null,
|
||||
"comentário anexado ao fim do arquivo",
|
||||
"token não reconhecido",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"o modo estrito é incompatível com o tratamento do namespace padrão como um alias para o namespace global",
|
||||
"na expansão da macro '%s' %p",
|
||||
"<DESCONHECIDO>",
|
||||
null,
|
||||
"",
|
||||
"[ %d expansões de macro não mostradas ]",
|
||||
"na expansão da macro em %p",
|
||||
"nome de operando simbólico inválido %sq",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"valor do pacote pragma %s ilícito para a função restrita por amp",
|
||||
"não é permitido sobrepor especificadores restritos",
|
||||
"os especificadores restritos do destruidor devem conter a união dos especificadores restritos em todos os construtores",
|
||||
"erro",
|
||||
null,
|
||||
"o nostdlib exige pelo menos um uso forçado",
|
||||
"tipo de erro",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"falha na chamada para std::meta::substitute (para %r)",
|
||||
"o valor de reflexão refere-se à entidade inativa",
|
||||
"uma expressão splice deve unir um valor constante, uma variável ou uma função",
|
||||
"uma splice de acesso de membro deve corresponder a um membro de dados ou uma função membro",
|
||||
"membro %nd não é um membro direto ou indireto de %t",
|
||||
"o nome %sq não designa um caractere Unicode conhecido",
|
||||
"escape de caractere Unicode nomeado não finalizado",
|
||||
"o caractere não pode aparecer em um nome Unicode",
|
||||
"escape de caractere Unicode nomeado vazio",
|
||||
"esperava um '[:'",
|
||||
"esperava um ':]'",
|
||||
"uma expressão lambda não pode ser 'mutável' e 'static'",
|
||||
"uma expressão lambda 'static' não é padrão",
|
||||
"uma expressão lambda 'static' deve ter uma especificação de captura vazia",
|
||||
"Unidade de cabeçalho EDG IFC",
|
||||
"EDG IFC",
|
||||
"não foi possível criar uma unidade de cabeçalho para a unidade de tradução atual",
|
||||
"a unidade de tradução atual usa um ou mais recursos que não podem ser gravados atualmente em uma unidade de cabeçalho",
|
||||
"'explicit(bool)' é um recurso do C++20",
|
||||
"um nome de módulo deve ser especificado para o mapa do arquivo de módulo que faz referência ao arquivo %sq",
|
||||
"um valor de índice nulo foi recebido onde um nó na partição IFC %sq esperado",
|
||||
"%nd não pode ter o tipo %t",
|
||||
"um qualificador ref não é padrão neste modo",
|
||||
"uma instrução 'for' baseada em intervalo não é padrão nesse modo",
|
||||
"'auto' como um especificador de tipo não é padrão neste modo",
|
||||
"não foi possível importar o arquivo de %sq devido à corrupção do arquivo",
|
||||
"IFC",
|
||||
"tokens incorretos injetados após declaração de membro",
|
||||
"escopo de injeção incorreto (%r)",
|
||||
"esperava-se um valor do tipo std::string_view mas foi %t",
|
||||
"tokens incorretos injetados após a instrução",
|
||||
"tokens incorretos injetados após a declaração",
|
||||
"estouro de valor de índice de tupla (%d)",
|
||||
">> saída de std::meta::__report_tokens",
|
||||
">> fim da saída de std::meta::__report_tokens",
|
||||
"não está em um contexto com variáveis de parâmetro",
|
||||
"uma sequência de escape delimitada deve ter pelo menos um caractere",
|
||||
"sequência de escape delimitada não finalizada",
|
||||
"constante contém o endereço de uma variável local",
|
||||
"uma associação estruturada não pode ser declarada 'consteval'",
|
||||
"%no conflito com a declaração importada %nd",
|
||||
"caractere não pode ser representado no tipo de caractere especificado",
|
||||
"uma anotação não pode aparecer no contexto de um prefixo de atributo 'using'",
|
||||
"tipo %t da anotação não é um tipo literal",
|
||||
"o atributo 'ext_vector_type' se aplica somente a booleano, inteiro ou ponto flutuante",
|
||||
"vários designadores na mesma união não são permitidos",
|
||||
"mensagem de teste",
|
||||
"a versão da Microsoft que está sendo emulada deve ser pelo menos 1943 para usar '--ms_c++23'"
|
||||
"uma splice de acesso de membro deve corresponder a um membro de dados ou uma função membro"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"последняя строка файла завершается без знака новой строки",
|
||||
"последняя строка файла завершается знаком обратной косой черты",
|
||||
"включаемый файл %sq включает самого себя",
|
||||
"Не хватает памяти. Рассмотрите возможность включения 64-разрядной подсистемы IntelliSense и увеличения лимита памяти IntelliSense в настройках.",
|
||||
"недостаточно памяти",
|
||||
null,
|
||||
"незакрытый комментарий в конце файла",
|
||||
"нераспознанная лексема",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"строгий режим несовместим с обработкой пространства имен std в качестве псевдонима для глобального пространства имен",
|
||||
"в расширении макроса \"%s\" %p",
|
||||
"<НЕТ ДАННЫХ>",
|
||||
null,
|
||||
"",
|
||||
"[ расширение макроса \"%d\" не показано ]",
|
||||
"в расширении макроса в %p",
|
||||
"недопустимое имя символьного операнда %sq",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"Недопустимое значение pragma pack %s для функции со спецификатором ограничения amp.",
|
||||
"перекрывающиеся описатели restrict запрещены",
|
||||
"описатели restrict деструктора должны охватывать объединение описателей restrict всех конструкторов",
|
||||
"ошибка",
|
||||
null,
|
||||
"для nostdlib требуется по меньшей мере одна директива forced using",
|
||||
"тип ошибки",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"сбой вызова std::meta::substitute (для %r)",
|
||||
"значение отражения относится к неактивной сущности",
|
||||
"выражение splice должно объединять постоянное значение, переменную или функцию",
|
||||
"элемент группы доступа должен объединять элемент данных или функцию элемента",
|
||||
"элемент %nd не является прямым или косвенным элементом %t",
|
||||
"имя %sq не обозначает известный символ Юникода",
|
||||
"нестандартным незавершенным именованным escape-символом Юникода",
|
||||
"символ не может присутствовать в имени Юникода",
|
||||
"пустой экранированный символ Юникода с именем",
|
||||
"ожидается \"[:\"",
|
||||
"ожидается \":]\"",
|
||||
"лямбда-выражение не может одновременно быть \"mutable\" и \"static\"",
|
||||
"лямбда-выражение \"static\" является нестандартным",
|
||||
"Лямбда-выражение \"static\" должно содержать пустую спецификацию захвата",
|
||||
"Единица заголовка EDG IFC",
|
||||
"EDG IFC",
|
||||
"не удалось создать единицу заголовка для текущей единицы трансляции",
|
||||
"текущая единица трансляции использует одну или несколько функций, которые в данный момент невозможно записать в единицу заголовка",
|
||||
"\"explicit(bool)\" — это функция C++20",
|
||||
"необходимо указать имя модуля для сопоставления файла модуля, ссылающегося на файл %sq",
|
||||
"было получено значение NULL индекса, в котором ожидался узел в секции IFC%sq",
|
||||
"%nd не может иметь тип %t",
|
||||
"квалификатор ref не является нестандартным в этом режиме",
|
||||
"утверждение \"for\" на основе диапазона является нестандартным в этом режиме",
|
||||
"\"auto\" в качестве опечатщика типа является нестандартным в этом режиме",
|
||||
"не удалось импортировать файл %sq из-за повреждения файла",
|
||||
"IFC",
|
||||
"лишние токены, внедренные после объявления члена",
|
||||
"неправильное область (%r)",
|
||||
"требуется значение типа std::string_view, но %t",
|
||||
"лишние токены, внедренные после оператора",
|
||||
"лишние токены, внедренные после объявления",
|
||||
"переполнение значения индекса кортежа (%d)",
|
||||
">> выходных данных из std::meta::__report_tokens",
|
||||
">> конец выходных данных из std::meta::__report_tokens",
|
||||
"не в контексте с переменными параметров",
|
||||
"escape-последовательность с разделителями должна содержать по крайней мере один символ",
|
||||
"незавершенная escape-последовательность с разделителями",
|
||||
"константа содержит адрес локальной переменной",
|
||||
"структурированная привязка не может быть объявлена как \"consteval\"",
|
||||
"%no конфликтует с импортируемым объявлением %nd",
|
||||
"символ не может быть представлен в указанном типе символов",
|
||||
"заметка не может присутствовать в контексте префикса атрибута using",
|
||||
"тип %t заметки не является типом литерала",
|
||||
"атрибут ext_vector_type применяется только к типам bool, integer или float point",
|
||||
"использование нескольких указателей в одном объединении не допускается",
|
||||
"тестовое сообщение",
|
||||
"для использования \"--ms_c++23\" эмулируемая версия Майкрософт должна быть не ниже 1943"
|
||||
"элемент группы доступа должен объединять элемент данных или функцию элемента"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"dosyanın son satırında yeni satır yok",
|
||||
"dosyasının son satırı ters eğik çizgi ile biter",
|
||||
"#include file %sq kendisini içerir",
|
||||
"Yetersiz bellek. Ayarlarda 64 bit IntelliSense altyapısını etkinleştirmeyi ve IntelliSense bellek sınırını artırmayı düşünün.",
|
||||
"Bellek yetersiz",
|
||||
null,
|
||||
"dosya sonunda açıklama kapatılmamış",
|
||||
"tanınmayan belirteç",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"katı mod, std ad uzayının genel ad uzayı için bir diğer ad olarak değerlendirilmesi ile uyumsuz",
|
||||
"makro '%s' genişletilmesinde %p,",
|
||||
"<UNKNOWN>",
|
||||
null,
|
||||
"",
|
||||
"[%d makro genişletmesi gösterilmiyor ]",
|
||||
"%p konumunda makro genişletmesinde",
|
||||
"geçersiz sembolik işlenen adı %sq",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"AMP ile sınırlı işlev için pragma paket değeri (%s) geçersiz",
|
||||
"örtüşen kısıtlama tanımlayıcılarına izin verilmiyor",
|
||||
"yıkıcının kısıtlama tanımlayıcıları, tüm oluşturuculardaki kısıtlama tanımlayıcılarının birleşimini kapsamalıdır",
|
||||
"hata",
|
||||
null,
|
||||
"nostdlib en az bir zorunlu kullanım gerektirir",
|
||||
"hata türü",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"std::meta::substitute çağrısı (%r için) başarısız oldu",
|
||||
"yansıma değeri etkin olmayan varlığa başvurur",
|
||||
"ifade eşleme ile bir sabit değer, bir değişken veya bir işlev eşlenmelidir",
|
||||
"üye erişimi eşleme ile bir veri üyesi veya bir üye işlevi eşlenmelidir",
|
||||
"%nd adlı üye, dolaylı bir %t üyesi değil",
|
||||
"%sq adı bilinen bir Unicode karakterine işaret etmiyor",
|
||||
"sonlandırılmamış adlandırılmış Unicode karakter kaçışı",
|
||||
"Unicode adlarda bu karakter görünemez",
|
||||
"boş adlandırılmış Unicode karakter kaçışı",
|
||||
"'[:' bekleniyordu",
|
||||
"':]' bekleniyordu",
|
||||
"lambda ifadeleri hem 'mutable' hem de 'static' olamaz",
|
||||
"'static' lambda ifadeleri standart değildir",
|
||||
"'static' lambda ifadelerinin yakalama belirtimi boş olmalıdır",
|
||||
"EDG IFC üst bilgi birimi",
|
||||
"EDG IFC",
|
||||
"geçerli çeviri birimi için bir başlık birimi oluşturulamadı",
|
||||
"mevcut çeviri birimi şu anda bir başlık birimine yazılamayan bir veya daha fazla özellik kullanıyorsa",
|
||||
"'explicit(bool)' bir C++20 özelliğidir",
|
||||
"%sq dosyasına başvuran modül dosyası eşlemesi için bir modül adı belirtilmelidir",
|
||||
"IFC bölümündeki bir düğümün beklenen %sq null dizin değeri alındı",
|
||||
"%nd, %t türüne sahip olamaz",
|
||||
"ref niteleyicisi bu modda standart dışı",
|
||||
"Bu modda, aralık tabanlı 'for' deyimi standart dışıdır",
|
||||
"tür belirticisi olarak 'auto' bu modda standart dışı",
|
||||
"dosya bozulması nedeniyle modül %sq dosyası içeri aktarılamadı",
|
||||
"IFC",
|
||||
"üye bildiriminden sonra eklenen gereksiz belirteçler",
|
||||
"hatalı ekleme kapsamı (%r)",
|
||||
"std::string_view türünde bir değer bekleniyordu ancak %t",
|
||||
"deyimden sonra eklenen gereksiz belirteçler",
|
||||
"bildirimden sonra eklenen gereksiz belirteçler",
|
||||
"demet dizin değeri (%d) taşması",
|
||||
">> output from std::meta::__report_tokens",
|
||||
">> end output from std::meta::__report_tokens",
|
||||
"parametre değişkenleri olan bir bağlamda değil",
|
||||
"sınırlandırılmış bir kaçış dizisi en az bir karakter içermelidir",
|
||||
"sonlandırılmamış sınırlandırılmış kaçış dizisi",
|
||||
"sabit, yerel bir değişkenin adresini içerir",
|
||||
"yapılandırılmış bir bağlama, 'consteval' olarak bildirilemez",
|
||||
"%no içeri aktarılan bildirimle çakışıyor %nd",
|
||||
"karakter belirtilen karakter türünde gösterilemez",
|
||||
"ek açıklama bir 'using' öznitelik öneki bağlamında bulunamaz",
|
||||
"ek %t türü bir sabit değer türü değil",
|
||||
"'ext_vector_type' özniteliği yalnızca bool, tamsayı veya kayan nokta türleri için geçerlidir",
|
||||
"aynı birleşimde birden çok belirleyiciye izin verilmez",
|
||||
"test iletisi",
|
||||
"'--ms_c++23' kullanabilmek için öykünülen Microsoft sürümü en az 1943 olmalıdır"
|
||||
"üye erişimi eşleme ile bir veri üyesi veya bir üye işlevi eşlenmelidir"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"文件的最后一行结束,没有新行",
|
||||
"文件的最后一行以反斜杠结束",
|
||||
"#include 文件 %sq 包含自身",
|
||||
"内存不足。请考虑启用 64 位 IntelliSense 引擎并在设置中增加 IntelliSense 内存限制。",
|
||||
"内存不足",
|
||||
null,
|
||||
"文件结尾的注释未闭合",
|
||||
"无法识别的标记",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"严格模式与将命名空间标准视为全局命名空间的别名不兼容",
|
||||
"在宏“%s”%p 的扩展中",
|
||||
"<未知>",
|
||||
null,
|
||||
"",
|
||||
"[ %d 宏扩展未显示]",
|
||||
"在 %p 的宏扩展中",
|
||||
"符号操作数名称 %sq 无效",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"受 AMP 限制的函数的 pragma 包值 %s 非法",
|
||||
"限制说明符不可重叠",
|
||||
"析构函数的限制说明符必须包含所有构造函数的限制说明符的联合部分",
|
||||
"错误",
|
||||
null,
|
||||
"nostdlib 要求至少使用一个强制 using",
|
||||
"错误类型",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"(为 %r)调用 std::meta::substitute 失败",
|
||||
"反射值引用非活动实体",
|
||||
"表达式拼接必须将常量值、变量或函数拼接在一起",
|
||||
"成员访问拼接必须将数据成员或成员函数拼接在一起",
|
||||
"成员 %nd 不是 %t 的直接或间接成员",
|
||||
"名称“%sq”不指定已知的 Unicode 字符",
|
||||
"未终止的命名 Unicode 字符转义",
|
||||
"字符不能出现在 Unicode 名称中",
|
||||
"空的命名 Unicode 字符转义",
|
||||
"应为 \"[:\"",
|
||||
"应为 \":]\"",
|
||||
"Lambda 表达式不能同时为 \"mutable\" 和 \"static\"",
|
||||
"\"static\" Lambda 表达式是非标准的",
|
||||
"\"static\" Lambda 表达式必须具有空的捕获规范",
|
||||
"EDG IFC 标头单元",
|
||||
"EDG IFC",
|
||||
"无法为当前翻译单元创建标头单元",
|
||||
"当前翻译单元使用当前无法写入标头单元的一个或多个功能",
|
||||
"“explicit(bool)” 是 C++20 功能",
|
||||
"必须为引用文件 %sq 的模块文件映射指定模块名称",
|
||||
"收到 null 索引值,但应为 IFC 分区 %sq 中的节点",
|
||||
"%nd 不能具有类型 %t",
|
||||
"ref 限定符在此模式下是非标准的",
|
||||
"在此模式下,基于范围的 \"for\" 语句是非标准语句",
|
||||
"在此模式下,“auto” 作为类型说明符是非标准的",
|
||||
"由于文件损坏,无法导入模块文件 %sq",
|
||||
"IFC",
|
||||
"在成员声明后注入的外来令牌",
|
||||
"错误的注入作用域 (%r)",
|
||||
"应为 std::string_view 类型的值,但获得 %t",
|
||||
"在语句后注入的外来令牌",
|
||||
"声明后注入的外来标记",
|
||||
"元组索引值 (%d) 溢出",
|
||||
">> 来自 std::meta::__report_tokens 的输出",
|
||||
">> 结束来自 std::meta::__report_tokens 的输出",
|
||||
"不在包含参数变量的上下文中",
|
||||
"分隔转义序列必须至少有一个字符",
|
||||
"未终止的分隔转义序列",
|
||||
"常量包含局部变量的地址",
|
||||
"结构化绑定无法声明为 \"consteval\"",
|
||||
"%no 与导入的声明 %nd 冲突",
|
||||
"字符不能在指定的字符类型中表示",
|
||||
"批注不能出现在 “using” 属性前缀的上下文中",
|
||||
"批注的类型 %t 不是文本类型",
|
||||
"\"ext_vector_type\" 属性仅适用于布尔值、整数或浮点类型",
|
||||
"不允许将多个指示符加入同一联合",
|
||||
"测试消息",
|
||||
"正在模拟的 Microsoft 版本必须至少为 1943 才能使用“--ms_c++23”"
|
||||
"成员访问拼接必须将数据成员或成员函数拼接在一起"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"檔案的最後一行不以新行字元結尾",
|
||||
"檔案的最後一行以反斜線結尾",
|
||||
"#include 檔案 %sq 包含本身",
|
||||
"記憶體不足。請考慮啟用 64 位元 IntelliSense 引擎,並在設定中增加 IntelliSense 記憶體限制。",
|
||||
"記憶體不足",
|
||||
null,
|
||||
"檔案結尾處有未封閉的註解",
|
||||
"無法辨認的語彙基元",
|
||||
@@ -1410,7 +1410,7 @@
|
||||
"strict 模式不相容,因為將命名空間 std 視為全域命名空間的別名",
|
||||
"在巨集 '%s' %p 的展開中",
|
||||
"<未知>",
|
||||
null,
|
||||
"",
|
||||
"[ 未顯示 %d 個巨集展開 ]",
|
||||
"在 %p 的巨集展開中",
|
||||
"無效的符號運算元名稱 %sq",
|
||||
@@ -2953,9 +2953,9 @@
|
||||
"AMP 限制涵式中有不合法的 pragma 套件值 %s",
|
||||
"不允許重疊的限制指定名稱",
|
||||
"解構函式的限制規範必須涵蓋所有建構函式的限制規範聯集",
|
||||
"error",
|
||||
null,
|
||||
"nostdlib 至少需要一個強制 Using",
|
||||
"錯誤類型",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
@@ -3585,49 +3585,5 @@
|
||||
"(為 %r) 叫用 std::meta::substitute 失敗",
|
||||
"反映值參考非使用中的實體",
|
||||
"運算式 splice 必須接合常數值、變數或函式。",
|
||||
"成員存取 splice 必須接合資料成員或成員函式",
|
||||
"成員 %nd 不是 %t 的直接或間接成員",
|
||||
"名稱 %sq 未指定已知的 Unicode 字元",
|
||||
"未結束命名的 Unicode 字元逸出",
|
||||
"字元不能在 Unicode 名稱中出現",
|
||||
"空白命名的 Unicode 字元逸出",
|
||||
"應為 '[:'",
|
||||
"應為 ':]'",
|
||||
"Lambda 運算式不能同時是 'mutable' 和 'static'",
|
||||
"'static' Lambda 運算式是非標準",
|
||||
"'static' Lambda 運算式必須有空白的擷取規格",
|
||||
"EDG IFC 標頭單位",
|
||||
"EDG IFC",
|
||||
"無法為目前的編譯單位建立標頭單位",
|
||||
"目前的編譯單位使用一或多個目前無法寫入標頭單位的功能",
|
||||
"'explicit(bool)' 是 C++20 功能",
|
||||
"必須為參照檔案的模組檔案對應指定模組名稱 %sq",
|
||||
"收到 Null 索引值,其中預期 IFC 分割區 %sq 中的節點",
|
||||
"%nd 不能有類型 %t",
|
||||
"ref-qualifier 在此模式中不是標準的",
|
||||
"範圍架構 'for' 陳述式在此模式中不是標準用法",
|
||||
"在此模式中,'auto' 作為型別規範不是標準的",
|
||||
"無法匯入模組檔案 %sq,因為檔案損毀",
|
||||
"IFC",
|
||||
"在成員宣告後插入了無關的 Token",
|
||||
"錯誤的插入範圍 (%r)",
|
||||
"必須是 std::string_view 類型的值,但 %t",
|
||||
"語句后插入了無關的 Token",
|
||||
"宣告後插入了無關的 Token",
|
||||
"元組索引值 (%d) 溢位",
|
||||
">> 輸出來自 std::meta::__report_tokens",
|
||||
">> 結束輸出自 std::meta::__report_tokens",
|
||||
"不在具有參數變數的內容中",
|
||||
"分隔的逸出序列必須至少有一個字元",
|
||||
"未結束分隔的逸出序列",
|
||||
"常數包含局部變數的位址",
|
||||
"無法將結構化繫結宣告為 'consteval'",
|
||||
"%no 與匯入的宣告 %nd 衝突",
|
||||
"字元不能以指定的字元類型表示",
|
||||
"註釋不能出現在 『using』 屬性前綴的內容中",
|
||||
"批注的類型 %t 不是常值類型",
|
||||
"'ext_vector_type' 屬性只適用於布林值、整數或浮點數類型",
|
||||
"不允許多個指示者進入相同的聯集",
|
||||
"測試訊息",
|
||||
"模擬的 Microsoft 版本至少須為 1943,才能使用 '--ms_c++23'"
|
||||
"成員存取 splice 必須接合資料成員或成員函式"
|
||||
]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0"
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0"
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0"
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0"
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"defaults": [
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -4,11 +4,13 @@
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1943",
|
||||
"-D_MSC_VER=1943",
|
||||
"-D_MSC_FULL_VER=194334604",
|
||||
"1939",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1939",
|
||||
"-D_MSC_FULL_VER=193933519",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_ARM=7"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
@@ -4,12 +4,14 @@
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1943",
|
||||
"1939",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1943",
|
||||
"-D_MSC_FULL_VER=194334604",
|
||||
"-D_MSC_VER=1939",
|
||||
"-D_MSC_FULL_VER=193933519",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_ARM64=1"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,18 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1943",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1943",
|
||||
"-D_MSC_FULL_VER=194334604",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_X64=100",
|
||||
"-D_M_AMD64=100"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1939",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1939",
|
||||
"-D_MSC_FULL_VER=193933519",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_X64=100",
|
||||
"-D_M_AMD64=100"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -1,15 +1,17 @@
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1943",
|
||||
"-D_MSC_VER=1943",
|
||||
"-D_MSC_FULL_VER=194334604",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_IX86=600",
|
||||
"-D_M_IX86_FP=2"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1939",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1939",
|
||||
"-D_MSC_FULL_VER=193933519",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_IX86=600",
|
||||
"-D_M_IX86_FP=2"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
@@ -18,10 +18,7 @@
|
||||
"compilerPath": {
|
||||
"markdownDescription": "Full path of the compiler being used, e.g. `/usr/bin/gcc`, to enable more accurate IntelliSense.",
|
||||
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
"type": "string"
|
||||
},
|
||||
"compilerArgs": {
|
||||
"markdownDescription": "Compiler arguments to modify the includes or defines used, e.g. `-nostdinc++`, `-m32`, etc. Arguments that take additional space-delimited arguments should be entered as separate arguments in the array, e.g. for `--sysroot <arg>` use `\"--sysroot\", \"<arg>\"`.",
|
||||
@@ -70,20 +67,9 @@
|
||||
]
|
||||
},
|
||||
"compileCommands": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"uniqueItems": true
|
||||
}
|
||||
],
|
||||
"markdownDescription": "Full path or a list of full paths to `compile_commands.json` files for the workspace.",
|
||||
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
|
||||
"markdownDescription": "Full path to `compile_commands.json` file for the workspace.",
|
||||
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
|
||||
"type": "string"
|
||||
},
|
||||
"includePath": {
|
||||
"markdownDescription": "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. Usually, this should not include system includes; instead, set `C_Cpp.default.compilerPath`.",
|
||||
@@ -180,10 +166,7 @@
|
||||
"mergeConfigurations": {
|
||||
"markdownDescription": "Set to `true` to merge include paths, defines, and forced includes with those from a configuration provider.",
|
||||
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
|
||||
"type": [
|
||||
"boolean",
|
||||
"string"
|
||||
]
|
||||
"type": "boolean"
|
||||
},
|
||||
"browse": {
|
||||
"type": "object",
|
||||
@@ -211,42 +194,6 @@
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"recursiveIncludes": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"reduce": {
|
||||
"markdownDescription": "Set to `always` to always reduce the number of recursive include paths provided to IntelliSense to only those paths currently referenced by #include statements. This requires first parsing files to determine which headers are included. Set to `never` to provide all recursive include paths to IntelliSense. Reducing the number of recursive include paths may improve IntelliSense performance when a very large number of recursive include paths are involved. Not reducing the number of recursive include paths can improve IntelliSense performance by avoiding the need to parse files to determine which include paths to provide. The `default` value is currently to reduce the number of recursive include paths provided to IntelliSense.",
|
||||
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"always",
|
||||
"never",
|
||||
"default",
|
||||
"${default}"
|
||||
]
|
||||
},
|
||||
"priority": {
|
||||
"markdownDescription": "The priority of recursive include paths. If set to `beforeSystemIncludes`, the recursive include paths will be searched before system include paths. If set to `afterSystemIncludes`, the recursive include paths will be searched after system include paths. `beforeSystemIncludes` would more closely reflect the search order of a compiler, while `afterSystemIncludes` may result in improved performance.",
|
||||
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"beforeSystemIncludes",
|
||||
"afterSystemIncludes",
|
||||
"${default}"
|
||||
]
|
||||
},
|
||||
"order": {
|
||||
"markdownDescription": "The order in which subdirectories of recursive includes are searched.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"depthFirst",
|
||||
"breadthFirst",
|
||||
"${default}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"customConfigurationVariables": {
|
||||
"type": "object",
|
||||
"markdownDescription": "Custom variables that can be queried through the command `${cpptools:activeConfigCustomVariable}` to use for the input variables in `launch.json` or `tasks.json`.",
|
||||
@@ -289,6 +236,7 @@
|
||||
},
|
||||
"enableConfigurationSquiggles": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"markdownDescription": "Controls whether the extension will report errors detected in `c_cpp_properties.json`.",
|
||||
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
|
||||
}
|
||||
|
||||
@@ -270,8 +270,7 @@ gulp.task("translations-import", (done) => {
|
||||
let id = language.transifexId || language.id;
|
||||
return gulp.src(path.join(options.location, id, translationProjectName, `${translationExtensionName}.xlf`))
|
||||
.pipe(nls.prepareJsonFiles())
|
||||
.pipe(gulp.dest(path.join("./i18n", language.folderName)))
|
||||
.pipe(es.wait()); // This is required or it gives `this.pipeTo.end is not a function`.
|
||||
.pipe(gulp.dest(path.join("./i18n", language.folderName)));
|
||||
}))
|
||||
.pipe(es.wait(() => {
|
||||
done();
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用于修改所使用的包含或定义的编译器参数,例如 `-nostdinc++`、`-m32` 等。采用其他空格分隔参数的参数应在数组中作为单独的参数输入,例如,对于 `--sysroot <arg>` 使用 `\"--sysroot\", \"<arg>\"`。",
|
||||
"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.compileCommands": "工作区的 `compile_commands.json` 文件的完整路径。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "搜索包含的标头时,IntelliSense 引擎要使用的路径列表。在这些路径上进行搜索为非递归搜索。指定 `**` 以指示递归搜索。例如,`${workspaceFolder}/**` 将搜索所有子目录,而 `${workspaceFolder}` 则不会。通常,此操作不应包含系统包含项;请改为设置 `C_Cpp.default.compilerPath`。",
|
||||
"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`。",
|
||||
@@ -22,9 +22,6 @@
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "设为 `true` 以仅处理直接或间接包含为标头的文件,设为 `false` 则处理指定包含路径下的所有文件。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "所生成的符号数据库的路径。如果指定了相对路径,则它将相对于工作区的默认存储位置。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "用于索引和分析工作区符号的路径列表(供“转到定义”、“查找所有引用”等使用)。默认情况下,在这些路径上进行搜索为递归搜索。指定 `*` 以指示非递归搜索。例如,`${workspaceFolder}` 将搜索所有子目录,而 `${workspaceFolder}/*` 将不进行搜索。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.reduce": "设置为 `always` 可始终将提供给 IntelliSense 的递归包含路径数减少到仅限当前由 #include 语句引用的路径。这需要首先分析文件以确定包含哪些标头。设置为 `never` 可将所有递归包含路径提供给 IntelliSense。当涉及到大量递归包含路径时,减少递归包含路径的数量可能会提高 IntelliSense 性能。如果不减少递归包含路径的数量,则可以通过避免需要分析文件以确定要提供的包含路径来提高 IntelliSense 性能。`default` 值目前会减少提供给 IntelliSense 的递归包含路径数。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "递归包含路径的优先级。如果设置为 `beforeSystemIncludes`,则会在系统包含路径之前搜索递归包含路径。如果设置为 `afterSystemIncludes` ,则会在系统包含路径后搜索递归包含路径。`beforeSystemIncludes` 将更密切地反映编译器的搜索顺序,而 `afterSystemIncludes` 则可能导致性能提升。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "搜索递归包含的子目录的顺序。",
|
||||
"c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可通过命令`${cpptools:activeConfigCustomVariable}` 查询的自定义变量,用于 `launch.json` 或 `tasks.json`. 中的输入变量。",
|
||||
"c_cpp_properties.schema.json.definitions.env": "可以使用 `${变量}` 或 `${env:变量}` 语法在此文件中的任何位置重复使用的自定义变量。",
|
||||
"c_cpp_properties.schema.json.definitions.version": "配置文件的版本。此属性由扩展托管。请勿更改它。",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user