Merge branch 'main' into seanmcm/1_22_8_release
This commit is contained in:
Коммит
bdd3541f28
|
@ -0,0 +1,2 @@
|
|||
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
|
||||
always-auth=true
|
|
@ -0,0 +1,86 @@
|
|||
"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
|
|
@ -0,0 +1,98 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* 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`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
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: 'node12'
|
||||
main: 'index.js'
|
|
@ -0,0 +1,20 @@
|
|||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const utils_1 = require("../common/utils");
|
||||
const 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
|
|
@ -0,0 +1,36 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* 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 not be considered. May be "*".
|
||||
description: items with these labels will be considered. May be "*".
|
||||
ignoreMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
ignoreMilestoneIds:
|
||||
|
|
|
@ -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 not be considered. May be "*".
|
||||
description: items with these labels will be considered. May be "*".
|
||||
ignoreMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
ignoreMilestoneIds:
|
||||
|
|
|
@ -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 = (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;
|
||||
"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;
|
||||
//# sourceMappingURL=StaleCloser.js.map
|
|
@ -33,10 +33,10 @@ export class StaleCloser extends ActionBase {
|
|||
}
|
||||
|
||||
async run() {
|
||||
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays);
|
||||
const updatedTimestamp = this.closeDays ? daysAgoToHumanReadbleDate(this.closeDays) : undefined;
|
||||
const pingTimestamp = this.pingDays ? daysAgoToTimestamp(this.pingDays) : undefined;
|
||||
|
||||
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
|
||||
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(',') : [];
|
||||
|
|
|
@ -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 not be considered. May be "*".
|
||||
description: items with these labels will be considered. May be "*".
|
||||
required: true
|
||||
ignoreMilestoneNames:
|
||||
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
|
||||
|
|
|
@ -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,6 +12,10 @@ 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;
|
||||
|
@ -23,10 +27,6 @@ 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
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -15,7 +15,7 @@
|
|||
"@octokit/rest": "^19.0.3",
|
||||
"@slack/web-api": "^6.9.1",
|
||||
"applicationinsights": "^2.5.1",
|
||||
"axios": "^1.6.1",
|
||||
"axios": "^1.6.8",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
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."
|
|
@ -1,7 +1,7 @@
|
|||
name: By Design closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
- cron: 0 13 * * * # Run at 1:00 PM UTC (5:00 AM PST, 6:00 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
# 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: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
|
||||
- cron: 40 12 * * * # Run at 12:40 PM UTC (4:40 AM PST, 5:40 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name: Enhancement Closer (Triage)
|
||||
on:
|
||||
schedule:
|
||||
- cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
|
||||
- cron: 30 12 * * * # Run at 12:30 PM UTC (4:30 AM PST, 5:30 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name: Enhancement Reopener
|
||||
on:
|
||||
schedule:
|
||||
- cron: 20 12 * * * # Run at 12:20 PM UTC (4:20 AM PST, 5:20 AM PDT)
|
||||
- cron: 0 11 * * * # Run at 11:00 AM UTC (3:00 AM PST, 4:00 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name: External closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
- cron: 10 13 * * * # Run at 1:10 PM UTC (5:10 AM PST, 6:10 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
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."
|
|
@ -1,7 +1,7 @@
|
|||
name: Investigate closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
- cron: 30 13 * * * # Run at 1:30 PM UTC (5:30 AM PST, 6:30 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name: Investigate Costing closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
- cron: 40 13 * * * # Run at 1:40 PM UTC (5:40 AM PST, 6:40 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name: More Info Needed Closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
|
||||
- cron: 50 13 * * * # Run at 1:50 PM UTC (5:50 AM PST, 6:50 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name: Question Closer - debugger
|
||||
on:
|
||||
schedule:
|
||||
- cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT)
|
||||
- cron: 0 14 * * * # Run at 2:00 PM UTC (6:00 AM PST, 7:00 AM PDT)
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
readonly:
|
||||
|
|
|
@ -80,9 +80,9 @@ extends:
|
|||
displayName: Use Yarn 1.x
|
||||
|
||||
- task: UseNode@1
|
||||
displayName: Use Node 16.x
|
||||
displayName: Use Node 18.x
|
||||
inputs:
|
||||
version: 16.x
|
||||
version: 18.x
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: Delete .npmrc if it exists
|
||||
|
@ -102,6 +102,10 @@ extends:
|
|||
filename: mkdir
|
||||
arguments: $(Build.ArtifactStagingDirectory)\Extension
|
||||
|
||||
- script: yarn run vsix-prepublish
|
||||
displayName: Build files
|
||||
workingDirectory: $(Build.SourcesDirectory)\Extension
|
||||
|
||||
- task: CmdLine@1
|
||||
name: ProcessRunner_12
|
||||
displayName: Run VSCE to package vsix
|
||||
|
|
|
@ -2,11 +2,14 @@
|
|||
# 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
|
||||
|
@ -18,45 +21,72 @@ schedules:
|
|||
- main
|
||||
always: true
|
||||
|
||||
pool:
|
||||
name: 'AzurePipelines-EO'
|
||||
demands:
|
||||
- ImageOverride -equals AzurePipelinesWindows2022compliant
|
||||
variables:
|
||||
TeamName: cpptools
|
||||
Codeql.Language: javascript
|
||||
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '18.x'
|
||||
displayName: 'Install Node.js'
|
||||
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: '18.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 ..'
|
||||
|
||||
- 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'
|
||||
# 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: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd Extension && node ./translations_auto_pr.js microsoft vscode-cpptools csigs $(csigsPat) csigs csigs@users.noreply.github.com "$(Build.ArtifactStagingDirectory)/loc" vscode-extensions-localization-export/vscode-extensions && cd ..'
|
||||
- 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: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
||||
ArtifactName: 'drop'
|
||||
publishLocation: 'Container'
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: 'cd Extension && node ./translations_auto_pr.js microsoft vscode-cpptools csigs $(csigsPat) csigs csigs@users.noreply.github.com "$(Build.ArtifactStagingDirectory)/loc" vscode-extensions-localization-export/vscode-extensions && cd ..'
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
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
|
|
@ -0,0 +1,48 @@
|
|||
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
|
|
@ -0,0 +1,54 @@
|
|||
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 18.x
|
||||
inputs:
|
||||
version: 18.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
|
||||
|
||||
- task: CmdLine@1
|
||||
displayName: Create Staging Directory
|
||||
inputs:
|
||||
filename: mkdir
|
||||
arguments: $(Build.ArtifactStagingDirectory)\vsix
|
||||
|
||||
- task: CmdLine@1
|
||||
displayName: Run VSCE to package vsix
|
||||
inputs:
|
||||
filename: vsce
|
||||
arguments: package --yarn -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}
|
||||
workingFolder: $(Build.SourcesDirectory)\${{ parameters.srcDir }}
|
||||
|
||||
- task: Npm@0
|
||||
displayName: Uninstall vsce
|
||||
inputs:
|
||||
command: uninstall
|
||||
arguments: --global @vscode/vsce
|
|
@ -0,0 +1,43 @@
|
|||
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
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
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
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
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)
|
|
@ -0,0 +1,44 @@
|
|||
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 18.x
|
||||
inputs:
|
||||
versionSpec: 18.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)
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<?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>
|
|
@ -0,0 +1,19 @@
|
|||
<?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>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.VisualStudioEng.MicroBuild.Core" version="0.4.1" developmentDependency="true" />
|
||||
</packages>
|
|
@ -47,4 +47,10 @@ instructions provided by the bot. You will only need to do this once across all
|
|||
|
||||
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 [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
||||
or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) 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.
|
|
@ -0,0 +1,2 @@
|
|||
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
|
||||
always-auth=true
|
|
@ -33,8 +33,10 @@ 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 ];
|
||||
verbose(gray(`${cli}\n ${ [...ARGS ].join('\n ')}`));
|
||||
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;
|
||||
|
||||
spawnSync(cli, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" } });
|
||||
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 });
|
||||
}
|
||||
|
|
|
@ -325,6 +325,7 @@ 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.');
|
||||
|
|
|
@ -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'});
|
||||
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit', shell: true });
|
||||
verbose(`\n${green("NOTE:")} If you want to run a scenario test (end-to-end) use ${cmdSwitch('scenario=<NAME>')} \n\n`);
|
||||
return result.status;
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
},
|
||||
"[typescript]": {
|
||||
"editor.tabSize": 4,
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
||||
"editor.defaultFormatter": "vscode.typescript-language-features",
|
||||
"editor.formatOnSave": true,
|
||||
"files.insertFinalNewline": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
|
|
|
@ -1,5 +1,63 @@
|
|||
# C/C++ for Visual Studio Code Changelog
|
||||
|
||||
## Version 1.22.8: October 7, 2024
|
||||
### Performance Improvements
|
||||
* Switch to an alternative implementation of recursive includes (that sends all the paths instead of only the "used" paths). [#11780](https://github.com/microsoft/vscode-cpptools/issues/11780)
|
||||
- Performance improvement: Configuration is no longer blocked on tag parsing of all dependent headers.
|
||||
- Configuration change: Recursive include paths now take precedence over system include paths (similar to compiler behavior and non-recursive includes). [#11485](https://github.com/microsoft/vscode-cpptools/issues/11485)
|
||||
* 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 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 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)
|
||||
|
||||
|
|
|
@ -627,32 +627,6 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
minimatch 9.0.2 - ISC
|
||||
https://github.com/isaacs/minimatch#readme
|
||||
|
||||
Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors
|
||||
|
||||
The ISC License
|
||||
|
||||
Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
@ -762,78 +736,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
|
||||
---------------------------------------------------------
|
||||
|
||||
@microsoft/1ds-core-js 4.3.0 - MIT
|
||||
https://github.com/microsoft/ApplicationInsights-JS#readme
|
||||
|
||||
copyright Microsoft 2018
|
||||
Copyright (c) Microsoft Corporation
|
||||
Copyright (c) Microsoft and contributors
|
||||
Copyright (c) NevWare21 Solutions LLC and contributors
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
@microsoft/1ds-post-js 4.3.0 - MIT
|
||||
https://github.com/microsoft/ApplicationInsights-JS#readme
|
||||
|
||||
copyright Microsoft 2018
|
||||
copyright Microsoft 2020
|
||||
copyright Microsoft 2018-2020
|
||||
copyright Microsoft 2022 Simple
|
||||
Copyright (c) Microsoft Corporation
|
||||
Copyright (c) Microsoft and contributors
|
||||
Copyright (c) NevWare21 Solutions LLC and contributors
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
@microsoft/applicationinsights-channel-js 3.3.0 - MIT
|
||||
@microsoft/applicationinsights-channel-js 3.3.3 - MIT
|
||||
https://github.com/microsoft/ApplicationInsights-JS#readme
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
@ -867,7 +770,7 @@ SOFTWARE.
|
|||
|
||||
---------------------------------------------------------
|
||||
|
||||
@microsoft/applicationinsights-common 3.3.0 - MIT
|
||||
@microsoft/applicationinsights-common 3.3.3 - MIT
|
||||
https://github.com/microsoft/ApplicationInsights-JS#readme
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
@ -901,7 +804,7 @@ SOFTWARE.
|
|||
|
||||
---------------------------------------------------------
|
||||
|
||||
@microsoft/applicationinsights-core-js 3.3.0 - MIT
|
||||
@microsoft/applicationinsights-core-js 3.3.3 - MIT
|
||||
https://github.com/microsoft/ApplicationInsights-JS#readme
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
@ -1071,74 +974,7 @@ SOFTWARE.
|
|||
|
||||
---------------------------------------------------------
|
||||
|
||||
@nevware21/ts-utils 0.11.3 - MIT
|
||||
https://github.com/nevware21/ts-utils
|
||||
|
||||
Copyright (c) 2022 NevWare21 Solutions LLC
|
||||
Copyright (c) 2023 NevWare21 Solutions LLC
|
||||
Copyright (c) 2024 NevWare21 Solutions LLC
|
||||
Copyright (c) NevWare21 Solutions LLC and contributors
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 NevWare21 Solutions LLC
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
@one-ini/wasm 0.1.1 - MIT
|
||||
https://github.com/one-ini/core#readme
|
||||
|
||||
Copyright (c) 2019 Jed Mao
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Jed Mao
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
@vscode/extension-telemetry 0.9.6 - MIT
|
||||
@vscode/extension-telemetry 0.9.7 - MIT
|
||||
https://github.com/Microsoft/vscode-extension-telemetry#readme
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
@ -1474,40 +1310,7 @@ THE SOFTWARE.
|
|||
|
||||
---------------------------------------------------------
|
||||
|
||||
commander 11.1.0 - MIT
|
||||
https://github.com/tj/commander.js#readme
|
||||
|
||||
Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>
|
||||
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
'Software'), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
comment-json 4.2.4 - MIT
|
||||
comment-json 4.2.5 - MIT
|
||||
https://github.com/kaelzhang/node-comment-json#readme
|
||||
|
||||
Copyright (c) 2013 kaelzhang
|
||||
|
@ -1593,68 +1396,6 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|||
IN THE SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
debug 4.3.4 - MIT
|
||||
https://github.com/debug-js/debug#readme
|
||||
|
||||
Copyright (c) 2018-2021 Josh Junon
|
||||
Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
|
||||
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
|
||||
Copyright (c) 2018-2021 Josh Junon
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
||||
and associated documentation files (the 'Software'), to deal in the Software without restriction,
|
||||
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial
|
||||
portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
||||
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
editorconfig 2.0.0 - MIT
|
||||
https://github.com/editorconfig/editorconfig-core-js#readme
|
||||
|
||||
Copyright (c) 2012 EditorConfig Team
|
||||
|
||||
Copyright © 2012 EditorConfig Team
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the “Software”), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
|
@ -11,5 +12,5 @@
|
|||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
|
@ -11,5 +12,5 @@
|
|||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
|
@ -11,5 +12,5 @@
|
|||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-Dunix=1",
|
||||
|
@ -11,5 +12,5 @@
|
|||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
|
@ -10,5 +11,5 @@
|
|||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
|
@ -10,5 +11,5 @@
|
|||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
|
@ -10,5 +11,5 @@
|
|||
"-D__SIZE_TYPE__=long unsigned int",
|
||||
"-D__WCHAR_TYPE__=int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D__APPLE__=1",
|
||||
|
@ -10,5 +11,5 @@
|
|||
"-D__SIZE_TYPE__=unsigned int",
|
||||
"-D__WCHAR_TYPE__=long int"
|
||||
],
|
||||
"defaults_op" : "merge"
|
||||
}
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"Chyba příkazového řádku",
|
||||
"vnitřní chyba",
|
||||
"Vnitřní chyba",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"Došlo k dosažení limitu chyb.",
|
||||
"Smyčka interní chyby",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"převodní jazyk (7)",
|
||||
"převodní jazyk (8)",
|
||||
"převodní jazyk (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"neplatný znak pro literál char16_t",
|
||||
null,
|
||||
"Nerozpoznaná konvence volání %s, musí být jednou z:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"Nadřízený typ typu výčtu musí být integrální typ.",
|
||||
|
@ -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ů.",
|
||||
null,
|
||||
"error",
|
||||
"Pro nostdlib se vyžaduje aspoň jedno nucené použití.",
|
||||
null,
|
||||
"error-type",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -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\".",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"Befehlszeilenfehler",
|
||||
"Interner Fehler.",
|
||||
"Interner Fehler.",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"Fehlerlimit erreicht.",
|
||||
"Interne Fehlerschleife",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"Zwischensprache (7)",
|
||||
"Zwischensprache (8)",
|
||||
"Zwischensprache (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"Ungültiges Zeichen für char16_t-Literal.",
|
||||
null,
|
||||
"Unbekannte Aufrufkonvention \"%s\", muss eine der folgenden Optionen sein:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"Der zugrunde liegende Typ des Enumerationstyps muss ein integraler Typ sein.",
|
||||
|
@ -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.",
|
||||
null,
|
||||
"Fehler",
|
||||
"Für \"nostdlib\" ist mindestens eine erzwungene Verwendung erforderlich.",
|
||||
null,
|
||||
"Fehlertyp",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -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",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"Error de la línea de comandos",
|
||||
"Error interno",
|
||||
"Error interno",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"Se ha alcanzado el límite de error.",
|
||||
"Bucle de error interno",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"lenguaje intermedio (7)",
|
||||
"lenguaje intermedio (8)",
|
||||
"lenguaje intermedio (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"carácter no válido para el literal char16_t",
|
||||
null,
|
||||
"convención de llamada %s no reconocida, debe ser una de las siguientes:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"el tipo subyacente del tipo de enumeración debe ser un tipo entero",
|
||||
|
@ -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",
|
||||
null,
|
||||
"error",
|
||||
"nostdlib requiere al menos un uso forzado",
|
||||
null,
|
||||
"error-type",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -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",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"Erreur de ligne de commande",
|
||||
"erreur interne",
|
||||
"Erreur interne",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"Limitation d'erreur atteinte.",
|
||||
"Boucle d'erreur interne",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"langage intermédiaire (7)",
|
||||
"langage intermédiaire (8)",
|
||||
"langage intermédiaire (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"caractère non valide pour le littéral char16_t",
|
||||
null,
|
||||
"convention d'appel inconnue %s, doit être l'une des suivantes :",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"le type sous-jacent du type enum doit être un type intégral",
|
||||
|
@ -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",
|
||||
null,
|
||||
"erreur",
|
||||
"nostdlib nécessite au moins un using forcé",
|
||||
null,
|
||||
"type d’erreur",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -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 %p1 del modello %nt1",
|
||||
"generazione implicita del contesto %p1 del modello %nt1",
|
||||
"creazione di un'istanza del contesto %nt %p",
|
||||
"generazione implicita del contesto %nt %p",
|
||||
"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 %p del modello %nt",
|
||||
"definizione implicita del contesto %nt %p",
|
||||
"'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 %p1 della classe %na1",
|
||||
"creazione di un'istanza del contesto %na %p",
|
||||
"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 %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 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 l'elaborazione dell'elenco degli argomenti di modello per %na %p",
|
||||
"rilevato durante la definizione implicita del contesto %p1 del modello %nt1",
|
||||
"rilevato durante la definizione implicita del contesto %nt %p",
|
||||
"%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",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"Errore nella riga di comando",
|
||||
"errore interno",
|
||||
"Errore interno",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"Limite di errore raggiunto.",
|
||||
"Ciclo di errore interno",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"linguaggio intermedio (7)",
|
||||
"linguaggio intermedio (8)",
|
||||
"linguaggio intermedio (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"carattere non valido per il valore letterale char16_t",
|
||||
null,
|
||||
"convenzione di chiamata %s non riconosciuta. Deve essere una delle seguenti:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"il tipo sottostante del tipo enumerazione deve essere un tipo integrale",
|
||||
|
@ -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",
|
||||
null,
|
||||
"errore",
|
||||
"con nostdlib è richiesta almeno un'opzione Forced Using",
|
||||
null,
|
||||
"tipo di errore",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -1410,7 +1410,7 @@
|
|||
"strict モードはグローバル名前空間に対するエイリアスとしての名前空間 std の取り扱いと互換性がありません",
|
||||
"マクロ '%s' %p の展開で、",
|
||||
"<不明>",
|
||||
"",
|
||||
null,
|
||||
"[ %d マクロの展開は示されていません ]",
|
||||
"%p の場所でのマクロの展開で",
|
||||
"シンボル オペランド名 %sq が無効です",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"コマンド ライン エラー",
|
||||
"内部エラー",
|
||||
"内部エラー",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"エラーの上限に達しました。",
|
||||
"内部エラー ループ",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"中間言語 (7)",
|
||||
"中間言語 (8)",
|
||||
"中間言語 (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"char16_t リテラルには無効な文字です",
|
||||
null,
|
||||
"呼び出し規約 %s は認識されないため、次のいずれかを使用する必要があります:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"列挙型の基になる型は整数型である必要があります",
|
||||
|
@ -2953,9 +2953,9 @@
|
|||
"amp 制限関数に無効な pragma pack 値 %s ",
|
||||
"重複した制限指定子は許可されていません",
|
||||
"デストラクターの制限指定子は、すべてのコンストラクターの制限指定子の和集合を対象とする必要があります",
|
||||
null,
|
||||
"エラー",
|
||||
"nostdlib には少なくとも 1 つの強制された using が必要です",
|
||||
null,
|
||||
"エラーの種類",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -1410,7 +1410,7 @@
|
|||
"strict 모드가 std 네임스페이스를 전역 네임스페이스에 대한 별칭으로 처리하는 방식과 호환되지 않습니다.",
|
||||
"매크로 '%s' %p의 확장,",
|
||||
"<알 수 없음>",
|
||||
"",
|
||||
null,
|
||||
"[ %d 매크로 확장이 표시되지 않음 ]",
|
||||
"%p의 매크로 확장",
|
||||
"기호화된 피연산자 이름 %sq이(가) 잘못되었습니다.",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"명령줄 오류",
|
||||
"내부 오류",
|
||||
"내부 오류",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"오류 한계에 도달했습니다.",
|
||||
"내부 오류 루프",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"중간 언어 (7)",
|
||||
"중간 언어 (8)",
|
||||
"중간 언어 (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"char16_t 리터럴에 대한 잘못된 문자",
|
||||
null,
|
||||
"인식할 수 없는 호출 규칙 %s, 다음 중 하나여야 함:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"열거형 형식의 내부 형식은 정수 계열 형식이어야 합니다.",
|
||||
|
@ -2953,9 +2953,9 @@
|
|||
"amp 제한 함수의 pragma pack 값 %s이(가) 잘못되었습니다.",
|
||||
"겹치는 제한 지정자는 사용할 수 없습니다.",
|
||||
"소멸자의 제한 지정자는 모든 생성자에 대한 제한 지정자의 공용 구조체를 지정해야 합니다.",
|
||||
null,
|
||||
"오류",
|
||||
"nostdlib에는 한 번 이상의 강제 사용이 필요합니다.",
|
||||
null,
|
||||
"error-type",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -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",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"Błąd wiersza polecenia",
|
||||
"błąd wewnętrzny",
|
||||
"Błąd wewnętrzny",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"Osiągnięto limit błędów.",
|
||||
"Pętla błędu wewnętrznego",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"język pośredni (7)",
|
||||
"język pośredni (8)",
|
||||
"język pośredni (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"nieprawidłowy znak dla literału char16_t",
|
||||
null,
|
||||
"nierozpoznana konwencja wywoływania %s. Musi ona być jedną z następujących:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"typ bazowy typu wyliczenia musi być typem całkowitoliczbowym",
|
||||
|
@ -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",
|
||||
null,
|
||||
"błąd",
|
||||
"element nostdlib wymaga co najmniej jednego wymuszonego użycia",
|
||||
null,
|
||||
"error-type",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -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",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"Erro de linha de comando",
|
||||
"erro interno",
|
||||
"Erro interno",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"Limite de erro atingido.",
|
||||
"Laço de erro interno",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"linguagem intermediária (7)",
|
||||
"linguagem intermediária (8)",
|
||||
"linguagem intermediária (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"caractere inválido para literal char16_t",
|
||||
null,
|
||||
"convenção de chamadas não reconhecida %s, deve ser um dos:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"o tipo subjacente da enumeração deve ser integral",
|
||||
|
@ -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",
|
||||
null,
|
||||
"erro",
|
||||
"o nostdlib exige pelo menos um uso forçado",
|
||||
null,
|
||||
"tipo de erro",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -1410,7 +1410,7 @@
|
|||
"строгий режим несовместим с обработкой пространства имен std в качестве псевдонима для глобального пространства имен",
|
||||
"в расширении макроса \"%s\" %p",
|
||||
"<НЕТ ДАННЫХ>",
|
||||
"",
|
||||
null,
|
||||
"[ расширение макроса \"%d\" не показано ]",
|
||||
"в расширении макроса в %p",
|
||||
"недопустимое имя символьного операнда %sq",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"Ошибка в командной строке",
|
||||
"внутренняя ошибка",
|
||||
"Внутренняя ошибка",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"Достигнут предел ошибок.",
|
||||
"Внутренний цикл ошибки",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"промежуточный язык (7)",
|
||||
"промежуточный язык (8)",
|
||||
"промежуточный язык (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"недопустимый знак для литерала char16_t",
|
||||
null,
|
||||
"нераспознанное соглашение о вызовах %s; необходимо использовать одно из следующих:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"базовый тип для перечисляемого типа должен быть целочисленным",
|
||||
|
@ -2953,9 +2953,9 @@
|
|||
"Недопустимое значение pragma pack %s для функции со спецификатором ограничения amp.",
|
||||
"перекрывающиеся описатели restrict запрещены",
|
||||
"описатели restrict деструктора должны охватывать объединение описателей restrict всех конструкторов",
|
||||
null,
|
||||
"ошибка",
|
||||
"для nostdlib требуется по меньшей мере одна директива forced using",
|
||||
null,
|
||||
"тип ошибки",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -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",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"Komut satırı hatası",
|
||||
"iç hata",
|
||||
"İç hata",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"Hata sınırına ulaşıldı.",
|
||||
"İç hata döngüsü",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"ara dil (7)",
|
||||
"ara dil (8)",
|
||||
"ara dil (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"char16_t sabit değeri için geçersiz karakter",
|
||||
null,
|
||||
"çağrı kuralı %s tanınmıyor, şunlardan biri olmalıdır:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"Sabit listesi türünün temel alınan türü bir tam sayı türü olmalıdır",
|
||||
|
@ -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",
|
||||
null,
|
||||
"hata",
|
||||
"nostdlib en az bir zorunlu kullanım gerektirir",
|
||||
null,
|
||||
"error-type",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -1410,7 +1410,7 @@
|
|||
"严格模式与将命名空间标准视为全局命名空间的别名不兼容",
|
||||
"在宏“%s”%p 的扩展中",
|
||||
"<未知>",
|
||||
"",
|
||||
null,
|
||||
"[ %d 宏扩展未显示]",
|
||||
"在 %p 的宏扩展中",
|
||||
"符号操作数名称 %sq 无效",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"命令行错误",
|
||||
"内部错误",
|
||||
"内部错误",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"达到错误限制。",
|
||||
"内部错误循环",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"中间语言(7)",
|
||||
"中间语言(8)",
|
||||
"中间语言(9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"char16_t 文本的无效字符",
|
||||
null,
|
||||
"无法识别的调用约定 %s,必须为以下内容之一:",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"枚举类型的基础类型必须是整型",
|
||||
|
@ -2953,9 +2953,9 @@
|
|||
"受 AMP 限制的函数的 pragma 包值 %s 非法",
|
||||
"限制说明符不可重叠",
|
||||
"析构函数的限制说明符必须包含所有构造函数的限制说明符的联合部分",
|
||||
null,
|
||||
"错误",
|
||||
"nostdlib 要求至少使用一个强制 using",
|
||||
null,
|
||||
"error-type",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -1410,7 +1410,7 @@
|
|||
"strict 模式不相容,因為將命名空間 std 視為全域命名空間的別名",
|
||||
"在巨集 '%s' %p 的展開中",
|
||||
"<未知>",
|
||||
"",
|
||||
null,
|
||||
"[ 未顯示 %d 個巨集展開 ]",
|
||||
"在 %p 的巨集展開中",
|
||||
"無效的符號運算元名稱 %sq",
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
"命令列錯誤",
|
||||
"內部錯誤",
|
||||
"內部錯誤",
|
||||
null,
|
||||
"-D",
|
||||
null,
|
||||
"已達錯誤限制。",
|
||||
"內部錯誤迴圈",
|
||||
|
@ -1524,7 +1524,7 @@
|
|||
"中繼語言 (7)",
|
||||
"中繼語言 (8)",
|
||||
"中繼語言 (9)",
|
||||
null,
|
||||
"PCH",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
@ -1537,7 +1537,7 @@
|
|||
"char16_t literal 的字元無效",
|
||||
null,
|
||||
"無法辨認的呼叫慣例 %s,必須是下列其中一個: ",
|
||||
null,
|
||||
"%s",
|
||||
null,
|
||||
null,
|
||||
"列舉類型的基礎類型必須是整數類型",
|
||||
|
@ -2953,9 +2953,9 @@
|
|||
"AMP 限制涵式中有不合法的 pragma 套件值 %s",
|
||||
"不允許重疊的限制指定名稱",
|
||||
"解構函式的限制規範必須涵蓋所有建構函式的限制規範聯集",
|
||||
null,
|
||||
"error",
|
||||
"nostdlib 至少需要一個強制 Using",
|
||||
null,
|
||||
"error-type",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"defaults": [
|
||||
"-D__building_module(x)=0",
|
||||
"--pack_alignment",
|
||||
"8"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1939",
|
||||
"1941",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1939",
|
||||
"-D_MSC_FULL_VER=193933519",
|
||||
"-D_MSC_VER=1941",
|
||||
"-D_MSC_FULL_VER=194134120",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_ARM=7"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,14 +4,14 @@
|
|||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1939",
|
||||
"1941",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1939",
|
||||
"-D_MSC_FULL_VER=193933519",
|
||||
"-D_MSC_VER=1941",
|
||||
"-D_MSC_FULL_VER=194134120",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_ARM64=1"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1941",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_CPPUNWIND=1",
|
||||
"-D_MSC_VER=1941",
|
||||
"-D_MSC_FULL_VER=194134120",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_X64=100",
|
||||
"-D_M_AMD64=100"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
{
|
||||
"defaults": [
|
||||
"-D_MSC_EXTENSIONS",
|
||||
"--microsoft",
|
||||
"--microsoft_bugs",
|
||||
"--microsoft_version",
|
||||
"1941",
|
||||
"--pack_alignment",
|
||||
"8",
|
||||
"-D_MSC_VER=1941",
|
||||
"-D_MSC_FULL_VER=194134120",
|
||||
"-D_MSC_BUILD=0",
|
||||
"-D_M_IX86=600",
|
||||
"-D_M_IX86_FP=2"
|
||||
],
|
||||
"defaults_op": "merge"
|
||||
}
|
||||
|
|
|
@ -18,7 +18,10 @@
|
|||
"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"
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"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>\"`.",
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"goto.reference": "转到引用"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"goto.reference": "转到引用",
|
||||
"pending.rename": "正在等待重命名",
|
||||
"candidates.for.rename": "重命名候选项"
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"running.tagparser.text": "分析工作区",
|
||||
"paused.tagparser.text": "分析工作区: 已暂停",
|
||||
"complete.tagparser.text": "分析完毕",
|
||||
"initializing.tagparser.text": "正在初始化工作区",
|
||||
"indexing.tagparser.text": "正在索引工作区",
|
||||
"rescan.tagparse.text": "重新扫描工作区",
|
||||
"c.cpp.parsing.open.files.tooltip": "正在分析打开的文件",
|
||||
"click.to.preview": "单击以预览结果",
|
||||
"updating.intellisense.text": "IntelliSense: 正在更新",
|
||||
"idle.intellisense.text": "IntelliSense: 就绪",
|
||||
"absent.intellisense.text": "IntelliSense: 未配置",
|
||||
"running.analysis.text": "Code Analysis: 正在运行",
|
||||
"paused.analysis.text": "Code Analysis: 已暂停",
|
||||
"mode.analysis.prefix": "Code Analysis 模式:",
|
||||
"c.cpp.configureIntelliSenseStatus.text": "配置 IntelliSense",
|
||||
"c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 配置 IntelliSense",
|
||||
"select.command": "选择命令...",
|
||||
"select.code.analysis.command": "选择代码分析命令...",
|
||||
"c.cpp.configuration.tooltip": "C/C++ 配置",
|
||||
"c.cpp.references.statusbar": "C/C++ 引用状态",
|
||||
"cpptools.status.intellisense": "C/C++ IntelliSense 状态",
|
||||
"cpptools.status.tagparser": "C/C++ 标记分析器状态",
|
||||
"cpptools.detail.tagparser": "正在初始化...",
|
||||
"cpptools.status.codeanalysis": "C/C++ Code Analysis 状态",
|
||||
"c.cpp.codeanalysis.statusbar.runNow": "立即运行",
|
||||
"tagparser.pause.text": "暂停",
|
||||
"tagparser.resume.text": "继续",
|
||||
"intellisense.select.text": "选择编译器",
|
||||
"rescan.intellisense.text": "重新扫描",
|
||||
"rescan.intellisense.tooltip": "重新扫描 IntelliSense",
|
||||
"mode.codeanalysis.status.automatic": "自动",
|
||||
"mode.codeanalysis.status.manual": "手动",
|
||||
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "选项",
|
||||
"startup.codeanalysis.status": "正在启动...",
|
||||
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "立即运行",
|
||||
"running.analysis.processed.tooltip": "正在运行: {0}/{1} ({2}%)",
|
||||
"select.a.configuration": "选择配置...",
|
||||
"edit.configuration.ui": "编辑配置(UI)",
|
||||
"edit.configuration.json": "编辑配置(JSON)",
|
||||
"select.configuration.provider": "选择配置提供程序...",
|
||||
"active": "活动",
|
||||
"none": "无",
|
||||
"disable.configuration.provider": "禁用活动配置提供程序(如果适用)。",
|
||||
"select.compile.commands": "选择 compile_commands.json...",
|
||||
"select.workspace": "选择工作区文件夹…",
|
||||
"resume.parsing": "恢复工作区分析",
|
||||
"pause.parsing": "暂停工作区分析",
|
||||
"cancel.analysis": "取消",
|
||||
"resume.analysis": "继续",
|
||||
"pause.analysis": "暂停",
|
||||
"another.analysis": "启动另一个...",
|
||||
"active.analysis": "在活动文件上运行 Code Analysis",
|
||||
"all.analysis": "在所有文件上运行 Code Analysis",
|
||||
"open.analysis": "在打开的文件上运行 Code Analysis"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"command.disabled": "此命令已禁用,因为“{0}”被设置为“{1}”。"
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"downloading.progress.description": "正在下载 {0}",
|
||||
"installing.progress.description": "正在安装 {0}",
|
||||
"package.manager.missing": "程序包清单不存在",
|
||||
"downloading.package": "正在下载程序包“{0}”",
|
||||
"error.from": "来自 {0} 的错误",
|
||||
"failed.download.url": "未能下载 {0}",
|
||||
"failed.retrying": "失败。正在重试...",
|
||||
"done": "完成!",
|
||||
"waiting.seconds": "正在等待 {0} 秒...",
|
||||
"temp.package.unavailable": "临时包文件不可用",
|
||||
"invalid.download.location.received": "接收的下载位置无效",
|
||||
"invalid.response.code.received": "接收的响应代码无效",
|
||||
"failed.web.error": "失败(错误代码“{0}”)",
|
||||
"web.response.error": "HTTP/HTTPS 响应错误",
|
||||
"invalid.content.length.received": "接收的内容长度位置无效",
|
||||
"invalid.content.received": "收到的内容无效。哈希不正确。",
|
||||
"web.request.error": "HTTP/HTTPS 请求错误",
|
||||
"installing.package": "正在安装包“{0}”",
|
||||
"downloaded.unavailable": "下载的文件不可用",
|
||||
"zip.file.error": "Zip 文件错误",
|
||||
"create.directory.error": "创建目录时出错",
|
||||
"zip.stream.error": "读取 zip 流时出错",
|
||||
"unlink.error": "取消链接文件 {0} 时出错",
|
||||
"rename.error": "重命名文件 {0} 时出错",
|
||||
"read.stream.error": "“读取”流中出错",
|
||||
"write.stream.error": "“写入”流中出错",
|
||||
"file.already.exists": "警告: 文件“{0}”已存在,但未更新。"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"goto.reference": "移至參考"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"goto.reference": "移至參考",
|
||||
"pending.rename": "等待重新命名",
|
||||
"candidates.for.rename": "要重新命名的候選者"
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"running.tagparser.text": "剖析工作區",
|
||||
"paused.tagparser.text": "剖析工作區: 已暫停",
|
||||
"complete.tagparser.text": "剖析完成",
|
||||
"initializing.tagparser.text": "正在初始化工作區",
|
||||
"indexing.tagparser.text": "索引工作區",
|
||||
"rescan.tagparse.text": "重新掃描工作區",
|
||||
"c.cpp.parsing.open.files.tooltip": "剖析開啟的檔案",
|
||||
"click.to.preview": "按一下以預覽結果",
|
||||
"updating.intellisense.text": "IntelliSense: 更新中",
|
||||
"idle.intellisense.text": "IntelliSense: 就緒",
|
||||
"absent.intellisense.text": "IntelliSense: 未設定",
|
||||
"running.analysis.text": "Code Analysis: 執行中",
|
||||
"paused.analysis.text": "Code Analysis: 已暫停",
|
||||
"mode.analysis.prefix": "Code Analysis 模式: ",
|
||||
"c.cpp.configureIntelliSenseStatus.text": "設定 IntelliSense",
|
||||
"c.cpp.configureIntelliSenseStatus.cppText": "C/C++ 設定 IntelliSense",
|
||||
"select.command": "選取命令...",
|
||||
"select.code.analysis.command": "選取程式碼分析命令...",
|
||||
"c.cpp.configuration.tooltip": "C/C++ 組態",
|
||||
"c.cpp.references.statusbar": "C/C++ 參考狀態",
|
||||
"cpptools.status.intellisense": "C/C++ IntelliSense 狀態",
|
||||
"cpptools.status.tagparser": "C/C++ 標記剖析器狀態",
|
||||
"cpptools.detail.tagparser": "正在初始化...",
|
||||
"cpptools.status.codeanalysis": "C/C++ Code Analysis 狀態",
|
||||
"c.cpp.codeanalysis.statusbar.runNow": "立即執行",
|
||||
"tagparser.pause.text": "暫停",
|
||||
"tagparser.resume.text": "繼續",
|
||||
"intellisense.select.text": "選取編譯器",
|
||||
"rescan.intellisense.text": "重新掃描",
|
||||
"rescan.intellisense.tooltip": "重新掃描 IntelliSense",
|
||||
"mode.codeanalysis.status.automatic": "自動",
|
||||
"mode.codeanalysis.status.manual": "手動",
|
||||
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "選項",
|
||||
"startup.codeanalysis.status": "正在啟動...",
|
||||
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "立即執行",
|
||||
"running.analysis.processed.tooltip": "正在執行: {0} / {1} ({2}%)",
|
||||
"select.a.configuration": "選取設定...",
|
||||
"edit.configuration.ui": "編輯設定 (UI)",
|
||||
"edit.configuration.json": "編輯設定 (JSON)",
|
||||
"select.configuration.provider": "選取組態提供者...",
|
||||
"active": "使用中",
|
||||
"none": "無",
|
||||
"disable.configuration.provider": "如果適用,停用現有組態提供者。",
|
||||
"select.compile.commands": "選取 compile_commands.json...",
|
||||
"select.workspace": "選取工作區資料夾...",
|
||||
"resume.parsing": "繼續工作區剖析",
|
||||
"pause.parsing": "暫停工作區剖析",
|
||||
"cancel.analysis": "取消",
|
||||
"resume.analysis": "繼續",
|
||||
"pause.analysis": "暫停",
|
||||
"another.analysis": "啟動另一個...",
|
||||
"active.analysis": "在使用中檔案上執行程式碼分析",
|
||||
"all.analysis": "在所有檔案上執行程式碼分析",
|
||||
"open.analysis": "在開啟檔案上執行程式碼分析"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"command.disabled": "因為 \"{0}\" 設定為 \"{1}\",所以已停用此命令。"
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"downloading.progress.description": "正在下載 {0}",
|
||||
"installing.progress.description": "正在安裝 {0}",
|
||||
"package.manager.missing": "套件資訊清單不存在",
|
||||
"downloading.package": "下載套件 '{0}'",
|
||||
"error.from": "來自 {0} 的錯誤",
|
||||
"failed.download.url": "無法下載 {0}",
|
||||
"failed.retrying": "失敗。正在重試...",
|
||||
"done": "完成!",
|
||||
"waiting.seconds": "等待 {0} 秒...",
|
||||
"temp.package.unavailable": "暫存套件檔案無法使用",
|
||||
"invalid.download.location.received": "收到的下載位置無效",
|
||||
"invalid.response.code.received": "收到的回應碼無效",
|
||||
"failed.web.error": "失敗 (錯誤碼 '{0}')",
|
||||
"web.response.error": "HTTP/HTTPS 回應錯誤",
|
||||
"invalid.content.length.received": "收到的內容長度位置無效",
|
||||
"invalid.content.received": "收到的內容無效。雜湊不正確。",
|
||||
"web.request.error": "HTTP/HTTPS 要求錯誤",
|
||||
"installing.package": "正在安裝套件 '{0}'",
|
||||
"downloaded.unavailable": "下載的檔案無法使用",
|
||||
"zip.file.error": "Zip 檔案錯誤",
|
||||
"create.directory.error": "建立目錄時發生錯誤",
|
||||
"zip.stream.error": "讀取 zip 串流時發生錯誤",
|
||||
"unlink.error": "將檔案 {0} 取消連結時發生錯誤",
|
||||
"rename.error": "重新命名檔案 {0} 時發生錯誤",
|
||||
"read.stream.error": "讀取串流中發生錯誤",
|
||||
"write.stream.error": "寫入串流中發生錯誤",
|
||||
"file.already.exists": "警告: 檔案 '{0}' 已經存在但未更新。"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"goto.reference": "Přejít na odkaz"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"goto.reference": "Přejít na odkaz",
|
||||
"pending.rename": "Čeká na přejmenování",
|
||||
"candidates.for.rename": "Kandidáti na přejmenování"
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"running.tagparser.text": "Parsování pracovního prostoru",
|
||||
"paused.tagparser.text": "Pracovní prostor analýzy: Pozastaveno",
|
||||
"complete.tagparser.text": "Analýza byla dokončena.",
|
||||
"initializing.tagparser.text": "Inicializuje se pracovní prostor",
|
||||
"indexing.tagparser.text": "Pracovní prostor indexování",
|
||||
"rescan.tagparse.text": "Znovu prohledat pracovní prostor",
|
||||
"c.cpp.parsing.open.files.tooltip": "Analýza otevřených souborů.",
|
||||
"click.to.preview": "kliknutím si můžete zobrazit náhled výsledků",
|
||||
"updating.intellisense.text": "IntelliSense: Aktualizace",
|
||||
"idle.intellisense.text": "IntelliSense: Připraveno",
|
||||
"absent.intellisense.text": "IntelliSense: Nenakonfigurováno",
|
||||
"running.analysis.text": "Code Analysis: Spuštěno",
|
||||
"paused.analysis.text": "Code Analysis: Pozastaveno",
|
||||
"mode.analysis.prefix": "Režim Code Analysis: ",
|
||||
"c.cpp.configureIntelliSenseStatus.text": "Konfigurovat IntelliSense",
|
||||
"c.cpp.configureIntelliSenseStatus.cppText": "Konfigurovat IntelliSense v C/C++",
|
||||
"select.command": "Vyberte příkaz...",
|
||||
"select.code.analysis.command": "Vyberte příkaz pro analýzu kódu…",
|
||||
"c.cpp.configuration.tooltip": "Konfigurace C/C++",
|
||||
"c.cpp.references.statusbar": "Stav odkazů jazyka C/C++",
|
||||
"cpptools.status.intellisense": "C/C++ IntelliSense Status",
|
||||
"cpptools.status.tagparser": "Stav analyzátoru značky jazyka C/C++",
|
||||
"cpptools.detail.tagparser": "Probíhá inicializace...",
|
||||
"cpptools.status.codeanalysis": "Stav Code Analysis C/C++",
|
||||
"c.cpp.codeanalysis.statusbar.runNow": "Spustit",
|
||||
"tagparser.pause.text": "Pozastavit",
|
||||
"tagparser.resume.text": "Pokračovat",
|
||||
"intellisense.select.text": "Vyberte kompilátor.",
|
||||
"rescan.intellisense.text": "Prohledat znovu",
|
||||
"rescan.intellisense.tooltip": "Znovu prohledat IntelliSense",
|
||||
"mode.codeanalysis.status.automatic": "Automaticky",
|
||||
"mode.codeanalysis.status.manual": "Ručně",
|
||||
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Možnosti",
|
||||
"startup.codeanalysis.status": "Spouštění...",
|
||||
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "Spustit",
|
||||
"running.analysis.processed.tooltip": "Spuštěno: {0} / {1} ({2} %)",
|
||||
"select.a.configuration": "Vybrat konfiguraci...",
|
||||
"edit.configuration.ui": "Upravit konfigurace (uživatelské rozhraní)",
|
||||
"edit.configuration.json": "Upravit konfigurace (JSON)",
|
||||
"select.configuration.provider": "Vyberte poskytovatele konfigurací...",
|
||||
"active": "aktivní",
|
||||
"none": "žádné",
|
||||
"disable.configuration.provider": "Zakažte aktivního poskytovatele konfigurací, pokud je to možné.",
|
||||
"select.compile.commands": "Vyberte soubor compile_commands.json...",
|
||||
"select.workspace": "Vyberte složku pracovního prostoru...",
|
||||
"resume.parsing": "Pokračovat v analýze pracovního prostoru",
|
||||
"pause.parsing": "Pozastavit analýzu pracovního prostoru",
|
||||
"cancel.analysis": "Zrušit",
|
||||
"resume.analysis": "Pokračovat",
|
||||
"pause.analysis": "Pozastavit",
|
||||
"another.analysis": "Spustit další…",
|
||||
"active.analysis": "Spustit Code Analysis u aktivního souboru",
|
||||
"all.analysis": "Spustit Code Analysis u všech souborů",
|
||||
"open.analysis": "Spustit Code Analysis při otevírání souborů"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"command.disabled": "Tento příkaz se zakázal, protože {0} je nastavené na {1}."
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"downloading.progress.description": "Stahuje se {0}.",
|
||||
"installing.progress.description": "Instaluje se {0}.",
|
||||
"package.manager.missing": "Manifest balíčku neexistuje.",
|
||||
"downloading.package": "Stahuje se balíček {0}. ",
|
||||
"error.from": "Chyba ze souboru {0}",
|
||||
"failed.download.url": "Nepovedlo se stáhnout {0}.",
|
||||
"failed.retrying": "Nepovedlo se. Pokus se opakuje...",
|
||||
"done": "Hotovo!",
|
||||
"waiting.seconds": "Čeká se {0} s...",
|
||||
"temp.package.unavailable": "Soubor dočasného balíčku není k dispozici.",
|
||||
"invalid.download.location.received": "Přijato neplatné umístění pro stahování",
|
||||
"invalid.response.code.received": "Přijat neplatný kód odpovědi",
|
||||
"failed.web.error": "neúspěšné (kód chyby {0})",
|
||||
"web.response.error": "Chyba odpovědi HTTP/HTTPS",
|
||||
"invalid.content.length.received": "Přijato neplatné umístění délky obsahu",
|
||||
"invalid.content.received": "Přijal se neplatný obsah. Hodnota hash je nesprávná.",
|
||||
"web.request.error": "Chyba požadavku HTTP/HTTPS",
|
||||
"installing.package": "Instaluje se balíček {0}",
|
||||
"downloaded.unavailable": "Stažený soubor není k dispozici.",
|
||||
"zip.file.error": "Chyba souboru ZIP",
|
||||
"create.directory.error": "Při vytváření adresáře došlo k chybě.",
|
||||
"zip.stream.error": "Chyba při čtení streamu ZIP",
|
||||
"unlink.error": "Při rušení propojení souboru {0} došlo k chybě.",
|
||||
"rename.error": "Při přejmenování souboru {0} došlo k chybě.",
|
||||
"read.stream.error": "Ve streamu pro čtení došlo k chybě.",
|
||||
"write.stream.error": "Ve streamu pro zápis došlo k chybě.",
|
||||
"file.already.exists": "Upozornění: Soubor {0} už existuje a neaktualizoval se."
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"goto.reference": "Zu Verweis wechseln"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"goto.reference": "Zu Verweis wechseln",
|
||||
"pending.rename": "Umbenennung steht aus",
|
||||
"candidates.for.rename": "Kandidaten für die Umbenennung"
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"running.tagparser.text": "Parsing-Arbeitsbereich",
|
||||
"paused.tagparser.text": "Parsing-Arbeitsbereich: Angehalten",
|
||||
"complete.tagparser.text": "Parsing abgeschlossen",
|
||||
"initializing.tagparser.text": "Arbeitsbereich wird initialisiert",
|
||||
"indexing.tagparser.text": "Arbeitsbereich für die Indizierung",
|
||||
"rescan.tagparse.text": "Arbeitsbereich neu einlesen",
|
||||
"c.cpp.parsing.open.files.tooltip": "Offene Dateien werden geparst",
|
||||
"click.to.preview": "Klicken Sie, um eine Vorschau der Ergebnisse anzuzeigen.",
|
||||
"updating.intellisense.text": "IntelliSense: Aktualisieren",
|
||||
"idle.intellisense.text": "IntelliSense: Bereit",
|
||||
"absent.intellisense.text": "IntelliSense: Nicht konfiguriert",
|
||||
"running.analysis.text": "Code Analysis: Wird ausgeführt",
|
||||
"paused.analysis.text": "Code Analysis: Angehalten",
|
||||
"mode.analysis.prefix": "Code Analysis-Modus: ",
|
||||
"c.cpp.configureIntelliSenseStatus.text": "IntelliSense konfigurieren",
|
||||
"c.cpp.configureIntelliSenseStatus.cppText": "IntelliSense in C/C++ konfigurieren",
|
||||
"select.command": "Befehl auswählen...",
|
||||
"select.code.analysis.command": "Codeanalysebefehl auswählen...",
|
||||
"c.cpp.configuration.tooltip": "C/C++-Konfiguration",
|
||||
"c.cpp.references.statusbar": "C/C++-Referenzenstatus",
|
||||
"cpptools.status.intellisense": "C/C++-IntelliSense-Status",
|
||||
"cpptools.status.tagparser": "Status des C/C++-Tagparsers",
|
||||
"cpptools.detail.tagparser": "Wird initialisiert...",
|
||||
"cpptools.status.codeanalysis": "C/C++-Code Analysis-Status",
|
||||
"c.cpp.codeanalysis.statusbar.runNow": "Jetzt ausführen",
|
||||
"tagparser.pause.text": "Anhalten",
|
||||
"tagparser.resume.text": "Fortsetzen",
|
||||
"intellisense.select.text": "Compiler auswählen",
|
||||
"rescan.intellisense.text": "Neu einlesen",
|
||||
"rescan.intellisense.tooltip": "IntelliSense neu einlesen",
|
||||
"mode.codeanalysis.status.automatic": "Automatisch",
|
||||
"mode.codeanalysis.status.manual": "Manuell",
|
||||
"c.cpp.codeanalysis.statusbar.showCodeAnalysisOptions": "Optionen",
|
||||
"startup.codeanalysis.status": "Wird gestartet...",
|
||||
"c.cpp.codeanalysis.statusbar.showRunNowOptions": "Jetzt ausführen",
|
||||
"running.analysis.processed.tooltip": "Wird ausgeführt: {0} / {1} ({2}%)",
|
||||
"select.a.configuration": "Konfiguration auswählen...",
|
||||
"edit.configuration.ui": "Konfigurationen bearbeiten (Benutzeroberfläche)",
|
||||
"edit.configuration.json": "Konfigurationen bearbeiten (JSON)",
|
||||
"select.configuration.provider": "Konfigurationsanbieter auswählen...",
|
||||
"active": "aktiv",
|
||||
"none": "keine",
|
||||
"disable.configuration.provider": "Deaktivieren Sie den aktiven Konfigurationsanbieter, falls zutreffend.",
|
||||
"select.compile.commands": "compile_commands.json-Datei auswählen...",
|
||||
"select.workspace": "Arbeitsbereichsordner auswählen...",
|
||||
"resume.parsing": "Parsing des Arbeitsbereichs fortsetzen",
|
||||
"pause.parsing": "Parsing des Arbeitsbereichs anhalten",
|
||||
"cancel.analysis": "Abbrechen",
|
||||
"resume.analysis": "Fortsetzen",
|
||||
"pause.analysis": "Anhalten",
|
||||
"another.analysis": "Starten Sie eine weitere...",
|
||||
"active.analysis": "Code Analysis auf \"Aktive Dateien\" ausführen",
|
||||
"all.analysis": "Code Analysis auf \"Alle Dateien\" ausführen",
|
||||
"open.analysis": "Code Analysis auf \"Dateien öffnen\" ausführen"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"command.disabled": "Dieser Befehl ist deaktiviert, weil \"{0}\" auf \"{1}\" festgelegt ist."
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"downloading.progress.description": "\"{0}\" wird heruntergeladen.",
|
||||
"installing.progress.description": "\"{0}\" wird installiert.",
|
||||
"package.manager.missing": "Das Paketmanifest ist nicht vorhanden.",
|
||||
"downloading.package": "Paket \"{0}\" wird heruntergeladen.",
|
||||
"error.from": "Fehler von \"{0}\".",
|
||||
"failed.download.url": "Fehler beim Herunterladen von \"{0}\".",
|
||||
"failed.retrying": "Fehler. Vorgang wird wiederholt...",
|
||||
"done": "Fertig",
|
||||
"waiting.seconds": "{0} Sekunden lang warten...",
|
||||
"temp.package.unavailable": "Temporäre Paketdatei nicht verfügbar.",
|
||||
"invalid.download.location.received": "Ungültiger Downloadspeicherort empfangen.",
|
||||
"invalid.response.code.received": "Ungültiger Antwortcode empfangen.",
|
||||
"failed.web.error": "Fehler (Fehlercode: {0})",
|
||||
"web.response.error": "HTTP/HTTPS-Antwortfehler",
|
||||
"invalid.content.length.received": "Ungültige Content-Length-Position empfangen.",
|
||||
"invalid.content.received": "Ungültige Inhalte empfangen: Der Hash ist falsch.",
|
||||
"web.request.error": "HTTP/HTTPS-Anforderungsfehler",
|
||||
"installing.package": "Paket \"{0}\" wird installiert",
|
||||
"downloaded.unavailable": "Heruntergeladene Datei nicht verfügbar",
|
||||
"zip.file.error": "Fehler in ZIP-Datei.",
|
||||
"create.directory.error": "Fehler beim Erstellen des Verzeichnisses.",
|
||||
"zip.stream.error": "Fehler beim Lesen des ZIP-Datenstroms.",
|
||||
"unlink.error": "Fehler beim Aufheben der Verknüpfung für die Datei \"{0}\".",
|
||||
"rename.error": "Fehler beim Umbenennen der Datei\"{0}\".",
|
||||
"read.stream.error": "Fehler im Lesedatenstrom.",
|
||||
"write.stream.error": "Fehler im Schreibdatenstrom.",
|
||||
"file.already.exists": "Warnung: Die Datei \"{0}\" ist bereits vorhanden und wurde nicht aktualisiert."
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"goto.reference": "Ir a referencia"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
// Do not edit this file. It is machine generated.
|
||||
{
|
||||
"goto.reference": "Ir a referencia",
|
||||
"pending.rename": "Cambio de nombre pendiente",
|
||||
"candidates.for.rename": "Candidatos a cambios de nombre"
|
||||
}
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче