Compare commits

...
144 Commits
Author SHA1 Message Date
Colen Garoutte-Carson 8d0d3601a7 Merge pull request #12770 from microsoft/main 2024-09-25 15:46:38 -07:00
Colen Garoutte-Carson 24314254db Update changelog for 1.22.6 (#12769) 2024-09-25 15:39:41 -07:00
Ben McMorran 5c588fba0c Remove parametersSchema for #cpp (#12768) 2024-09-25 15:04:48 -07:00
Sean McManus e9613ae7ad Merge pull request #12764 from microsoft/main
Merge for 1.22.5
2024-09-24 16:55:39 -07:00
Sean McManus 1e89750b0b 1.22.5 changelog (#12762)
* Update changelog for 1.22.5.
2024-09-24 16:45:58 -07:00
Sean McManus 4079b1e516 Fix Cg build. (#12759)
* Fix Cg build.
2024-09-23 19:49:52 -07:00
Sean McManus cc653f8685 Fix .js signing (#12757)
* Fix .js signing.
2024-09-23 18:55:38 -07:00
Ben McMorran b92dbb40c1 Update lmTools API (#12755) 2024-09-23 11:35:08 -07:00
Sean McManus 1f83dd7715 Add signing for .js files (#12749)
* Sign .js files.
2024-09-20 17:05:37 -07:00
Ben McMorran 8d7668ea88 Check related files API flag when IntelliSense is disabled (#12743) 2024-09-19 20:58:36 -07:00
Colen Garoutte-Carson 3570705b5c Merge pull request #12742 from microsoft/main 2024-09-19 16:12:27 -07:00
Colen Garoutte-Carson 478765f1fc Update changelog for 1.22.4 (again) (#12741) 2024-09-19 16:08:15 -07:00
Colen Garoutte-Carson 096b1463a6 Merge pull request #12740 from microsoft/main 2024-09-19 15:32:11 -07:00
Colen Garoutte-Carson 1f263c50b7 Work around issue with clang 18 and size_t (#12739) 2024-09-19 15:29:14 -07:00
Colen Garoutte-Carson 812318163d Merge pull request #12738 from microsoft/main 2024-09-19 15:04:30 -07:00
Colen Garoutte-Carson 0efda4b1c2 Update changelog for 1.22.4 (again) (#12737) 2024-09-19 14:53:51 -07:00
Ben McMorran ca12b97c37 Migrate to Copilot related files API (#12735) 2024-09-19 14:49:03 -07:00
Colen Garoutte-Carson 225b776d99 Merge pull request #12734 from microsoft/main 2024-09-18 14:30:06 -07:00
Colen Garoutte-Carson e4ae0b7fdf Update version and changelog for 1.22.4 (#12733) 2024-09-18 13:50:29 -07:00
Colen Garoutte-Carson 458ef304e8 Rework custom config requests (#12727) 2024-09-18 11:35:00 -07:00
Sean McManus 970f95bfea Update IntelliSense loc strings. (#12726) 2024-09-18 03:18:14 -07:00
Sean McManus cd4ef2329f Update changelog. (#12710) 2024-09-13 11:38:42 -07:00
Sean McManus ccc07f5adb Enable log diagnostics without a C/C++ file active. (#12701) 2024-09-13 11:33:44 -07:00
Sean McManus 50e0f8685a Show the reload window message when caseSensitiveFileSupport is changed. (#12700)
* Show the reload window message when caseSensitiveFileSupport is changed.
2024-09-13 11:22:51 -07:00
Colen Garoutte-Carson 12d95f4708 Merge pull request #12707 from microsoft/main 2024-09-12 12:23:00 -07:00
Colen Garoutte-Carson fc5a084781 Update changelog and version for 1.22.3 (#12703) 2024-09-12 11:50:17 -07:00
Ben McMorran 44671aa6b7 Update checkDTS() to be aware of lmTools (#12696) 2024-09-09 13:34:54 -07:00
Luca 731cccd8e3 Add C++ configuration as a language model tool (luca) (#12685) 2024-09-06 14:53:26 -07:00
Sean McManus 8718b9686b Fix extract to function formatting. (#12679) 2024-09-05 18:20:46 -07:00
Bob Brown 8111083f6a remove old loc files for TS files that don't exist anymore (#12686) 2024-09-05 12:21:57 -07:00
Bob Brown 7006e18ea4 The compiler path selection control is not in sync with the textbox (#12678) 2024-09-04 13:06:23 -07:00
Bob Brown f077665994 delete configuration properties when empty (#12670) 2024-09-04 10:34:48 -07:00
Bob Brown 93a20bc2de Update link to glob info (#12671) 2024-08-30 17:03:51 -07:00
Sean McManus 317df57496 Merge pull request #12658 from microsoft/main
Merge for 1.22.2
2024-08-29 19:31:09 -07:00
Sean McManus 86b698b503 Update changelog and version for 1.22.2. (#12657) 2024-08-29 19:04:49 -07:00
browntarik b7f76c507c Remove intellisenseEngineFallback description (#12655)
* Remove intellisenseEngineFallback description.
* Remove references to includeFallback.
2024-08-29 18:46:25 -07:00
browntarik fcdccd4dff Remove usage of intellisenseEngineFallback setting. (#12600) 2024-08-29 13:54:15 -07:00
Sean McManus f63c3652f8 Merge pull request #12654 from microsoft/main
Merge for 1.22.1
2024-08-29 13:36:59 -07:00
Sean McManus f222a97849 Update changelog for 1.22.1 (#12646)
* Update changelog for 1.22.1
2024-08-29 13:32:47 -07:00
Bob Brown 1f426edd13 Address a component governance report on webpack (#12649) 2024-08-28 10:53:10 -07:00
Bob Brown 994e7b9201 Log the values of editor settings that we track (#12635) 2024-08-27 17:04:01 -07:00
Sean McManus 5d62607760 Merge pull request #12633 from microsoft/main
Merge for 1.22.0 (2nd time)
2024-08-26 15:23:50 -07:00
Sean McManus 3dc7067c30 Update changelog (2nd time) (#12631) 2024-08-26 13:39:38 -07:00
Stanislav 49d987d747 Fix show a list local processes, if remote connection failed (useExtendedRemote) (#12623)
* Fix show a list local processes, if remote connection failed (useExtendedRemote)
2024-08-26 12:22:24 -07:00
dependabot[bot] c81120e7c4 Bump micromatch from 4.0.7 to 4.0.8 in /Extension (#12630)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.7 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/4.0.8/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.7...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 12:14:52 -07:00
Bob Brown e5ce40bfe1 Log the modified extension settings as part of Log Diagnostics (#12621) 2024-08-26 12:02:03 -07:00
Sean McManus d3cd4fcfd7 Fix vcFormat not working and other case comparison bugs. (#12620) 2024-08-23 11:15:42 -07:00
Colen Garoutte-Carson d8a6a98f4b Switch from LSP hover to HoverProvider (#12612) 2024-08-22 19:26:37 -07:00
Colen Garoutte-Carson 326f7d93b9 Spread out schedules of github actions to avoid 'rate limit' errors (#12616) 2024-08-22 18:10:15 -07:00
Colen Garoutte-Carson fbfddd2158 Prevent AddComment action from adding redundant comments (#12611) 2024-08-21 14:32:58 -07:00
Sean McManus 26d0932972 Merge pull request #12610 from microsoft/main
Merge for 1.22.0 (pre-release)
2024-08-21 14:05:26 -07:00
Sean McManus d7bfae6ed1 Update changelog/version for 1.22.0 (#12602)
* Update changelog and version for 1.22.0.
2024-08-21 13:24:07 -07:00
Sean McManus 66b934c6df Update TPN for 1.22.0. (#12601) 2024-08-21 11:44:04 -07:00
Colen Garoutte-Carson 7dcd5a48c0 Remove use of editorconfig module to avoid dependency on one-ini wasm file. (#12579) 2024-08-20 14:38:19 -07:00
Colen Garoutte-Carson a0f863c560 Fix LSP cancellation (#12592) 2024-08-20 14:25:37 -07:00
Garrett SerackandColen Garoutte-Carson 818f7c6899 Update scripts use of spawnSync to work with newer versions of nodejs (#12503)
Co-authored-by: Colen Garoutte-Carson <[email protected]>
2024-08-20 14:10:48 -07:00
Colen Garoutte-Carson cb50bb1b34 Fix addComment action (#12599) 2024-08-20 14:05:45 -07:00
Colen Garoutte-Carson 632454923c Add AddComment GitHub action, and workflows for tagging new debugger issues (#12496) 2024-08-20 13:25:14 -07:00
Bob Brown 06ed83878c Release pipelines for themes and extension pack (#12589) 2024-08-19 16:38:58 -07:00
Sean McManus 4a7fe28adc Update msvc versions for 17.11 (#12583)
* Update msvc versions for 17.11
2024-08-18 06:40:30 -07:00
Sean McManus 0ffdc003fa Fix "Replacement of a substring with itself" warning. (#12546) 2024-08-15 19:18:41 -07:00
browntarik d2bd3e035c Refactor compilerPath logic to reflect settings validation changes (#12556)
* Remove unnesseacary null check and set compilerPathIsExplicit when defaultCompilerPath is null

* Remove unneccessary else statement.

* Refactor changes

* Propogate null usage to reflect null typing for compilerPath.

* Remove normalization of null to undefined.

* Fix linting

* Add null to resolvedCompilerPath

* Update cpp_properties schema
2024-08-15 12:29:06 -07:00
Colen Garoutte-Carson d4c46c725d Update OneLocBuild pipeline (#12573) 2024-08-15 11:59:28 -07:00
Sean McManus 631c522737 Remove debug and ms from TPN (not actually distributed). (#12566) 2024-08-14 18:23:31 -07:00
Sean McManus 571f2d57ef Update axios to 1.7.4. (#12564) 2024-08-13 14:04:56 -07:00
Sean McManus 5cec9b93b8 Fix 5 high severity vulnerabilities in .github/actions. (#12562) 2024-08-13 12:17:20 -07:00
Sean McManus da2fcbc88c Fix vsce with cg.yml (#12561)
* Fix vsce via upgrading to node.js 18.
2024-08-12 14:20:27 -07:00
browntarik 3cf9a99864 Add Validation for VS Code Settings (#12454) 2024-08-09 12:18:44 -07:00
Sean McManus 99af8d886e Update changelog and version for 1.21.6 (#12539) 2024-08-05 10:38:27 -07:00
Sean McManus b768a5440a Update for 1.21.5. (#12530) 2024-07-30 22:09:47 -07:00
Sean McManus 570862bf64 Update TPN for 1.21.4 (#12518) 2024-07-25 15:17:27 -07:00
Sean McManus 4e09135edc Go back to supporting VS Code 1.67.0 instead of 1.82.0. (#12515) 2024-07-25 14:37:18 -07:00
Sean McManus 15c6bdd613 Update changelog and version for 1.21.3. (#12499) 2024-07-23 19:30:20 -07:00
Bob Brown 7078f4b0bd Enable codeQL for TypeScript (#12490) 2024-07-19 11:30:20 -07:00
Sean McManus 626bb6e388 Change cpp editor.stickyScroll.defaultModel. (#12486) 2024-07-18 18:05:31 -07:00
Sean McManus 01829f8b81 Update 1.21.2 changelog in main. (#12485)
* Update 1.21.2 changelog in main.
* Update version
2024-07-18 21:46:31 +00:00
Colen Garoutte-Carson 9f2e50b2ef Update edge strings for FI (#12487) 2024-07-17 18:25:57 -07:00
Sean McManus 825033f768 Merge pull request #12467 from microsoft/main
Merge for 1.21.1 (pre-release)
2024-07-12 11:50:25 -07:00
Bob Brown 6fc05290e6 Strip quotes from debug configurations and fix an issue with quotes in paths (#12471) 2024-07-12 11:46:08 -07:00
Ben McMorran c976dba2dd Don't show warning notification when C_Cpp.getIncludes is disabled (#12470) 2024-07-12 10:53:28 -07:00
Sean McManus d5077a2575 Update changelog and version for 1.21.1. (#12449)
* Update changelog and version for 1.21.1.
2024-07-11 18:50:25 -07:00
[email protected] 3d01238ef9 [Auto] Localization - Translated Strings (#12279) 2024-07-11 17:56:25 -07:00
Sean McManus 0f7faae67f Fix multiple cpptools processes running with a multiroot workspace. (#12461) 2024-07-11 15:14:02 -07:00
Sean McManus 36dd0b874b Check extensions.ignoreRecommendations before doing insiders prompting. (#12447) 2024-07-09 17:27:30 -07:00
Colen Garoutte-Carson 14bd2e7f8e Update VCPkgHeadersDatabase.zip (#12430) 2024-07-02 18:32:09 -07:00
Colen Garoutte-Carson 9d321ce412 Fix an issue with missing custom configurations (#12427) 2024-07-01 14:34:21 -07:00
Colen Garoutte-Carson 7a1785d783 Update edge strings for FI (#12395) 2024-06-28 10:58:16 -07:00
browntarik b5057a1d02 Strip '\r' and '\n' from the end of each line if they exist when parsing the vcpkg database (#12416)
* Strip '\r' and '\n' from the end of each line if they exist when parsing the vcpkg database.

* remove debugging log

* Fix lint issue

* Revert regex

* Refactor line trimming

* Fix lint issues

* Remove old comment
2024-06-26 17:18:00 -07:00
browntarik 2d22b1493c Add @see and @sa Doxygen Tags with the "See Also:" label. (#12415)
* Add sa and see doxygen tags with the "See Also" label.

* remove redundant label

* Fix "See also" label
2024-06-26 15:08:02 -07:00
Sean McManus 3933174c29 Fix the tag parser busy indicator while initializing. (#12404) 2024-06-24 10:19:58 -07:00
Sean McManus d8426caacc Merge pull request #12389 from microsoft/main
Fix crash from loc message mismatch. (#12388)
2024-06-17 14:36:02 -07:00
Sean McManus 0061da69af Fix crash from loc message mismatch. (#12388) 2024-06-17 14:29:25 -07:00
Sean McManus 8942530744 Merge pull request #12386 from microsoft/main
Update changelog date. (#12385)
2024-06-17 11:03:29 -07:00
Sean McManus fced3fbd17 Update changelog date. (#12385) 2024-06-17 11:00:01 -07:00
Sean McManus e663939e56 Merge pull request #12374 from microsoft/seanmcm/1_21_0_insiders
Merge for 1.21.0
2024-06-13 19:22:14 -07:00
Sean McManus 1fb5b63ab7 Merge branch 'main' into seanmcm/1_21_0_insiders 2024-06-13 14:47:55 -07:00
Sean McManus 15c96e28da Updates for 1.21.0 (#12370)
* Updates for 1.21.0
2024-06-13 14:43:27 -07:00
Bob Brown 2327499cdb one-ini-bg.wasm is missing from the webpacked extension (#12369) 2024-06-13 12:10:48 -07:00
Bob Brown 9061b79f2b Update to the latest telemetry API (#12367) 2024-06-12 16:43:27 -07:00
Sean McManus cf35bbcd0e Revert back to glob 7 due to test failures (and update .github/actions dependencies) (#12365)
* Revert back to glob 7 due to test failures.
* Fix npm audit issues with .github/actions
2024-06-12 10:20:04 -07:00
Bob Brown a096f06683 Update top level documents for compliance (#12343) 2024-06-11 09:12:51 -07:00
Sean McManus 1cfd34ca23 Update dependencies, glob, and IntelliSense loc strings (#12317)
* Update dependencies
* Update TPN.
* Update glob.
* Update EDG loc strings.
2024-06-07 17:41:19 -07:00
Luca 923ecfa1cd make debugging easier to inspect local var value (#12358) 2024-06-07 15:28:22 -07:00
Sean McManus db61a690be Fixes/improvements to crash call stacks. (#12355)
* Fixes/improvements to crash call stacks.
2024-06-06 14:57:57 -07:00
Sean McManus 9a5f24fafb Update dependencies. (#12351) 2024-06-05 18:51:29 -07:00
[email protected] cf2ea08800 [Auto] Localization - Translated Strings (#12236) 2024-05-03 15:33:13 -07:00
Sean McManus 3182eed2ac Update version and changelog for 1.20.5 (#12264)
* Update version and changelog for 1.20.5
2024-05-03 14:44:48 -07:00
Sean McManus 054e826e2c Fix macOS version check. (#12276) 2024-05-03 13:13:46 -07:00
Sean McManus fd482d2169 Merge pull request #12274 from microsoft/seanmcm/1_20_4_cherrypick
Updates for 1.20.4 (#12273)
2024-05-02 11:16:42 -07:00
Sean McManus 2fafd831e5 Updates for 1.20.4 (#12273)
* Don't use the crash handler on macOS < 19.
* Update version and changelog.
2024-05-02 10:14:49 -07:00
Sean McManus b3af47fd03 Updates for 1.20.4 (#12273)
* Don't use the crash handler on macOS < 19.
* Update version and changelog.
2024-05-02 10:12:01 -07:00
Bob Brown fbea8eb211 Update CHANGELOG.md (#12271) 2024-05-01 14:16:34 -07:00
Sean McManus 1ceae9d4ed Merge pull request #12266 from microsoft/seanmcm/1_20_3_cherryPicks
Cherry-picks for 1.20.3
2024-04-30 16:18:52 -07:00
Sean McManus d4d5d4551f Update version and changelog for 1.20.3 (#12245)
* Update version and changelog for 1.20.3
2024-04-30 13:11:53 -07:00
Sean McManus 0ef77b5616 Improvements to crash call stack logging. (#12247)
* Updates to crash call stack logging.
* Move crash logging to its own channel.
2024-04-30 13:11:10 -07:00
Sean McManus 79c4412287 Update version and changelog for 1.20.3 (#12245)
* Update version and changelog for 1.20.3
2024-04-30 13:08:27 -07:00
Bob Brown 7c24091cc8 enable TSA and policheck (#12258) 2024-04-26 11:13:17 -07:00
Sean McManus efa93d8b59 Improvements to crash call stack logging. (#12247)
* Updates to crash call stack logging.
* Move crash logging to its own channel.
2024-04-25 16:38:21 -07:00
Sean McManus efdc8e90f6 Merge pull request #12235 from microsoft/seanmcm/1_20_2_cherryPicks2
Cherry-picks for 1.20.2
2024-04-19 17:17:01 -07:00
Sean McManus 9f020e9258 Update changelog for 1.20.2 (2nd time) (#12228)
* Update changelog
2024-04-19 16:57:13 -07:00
Bob Brown c058568767 rename the property again (#12233)
* rename the property again

* fail
2024-04-19 16:57:00 -07:00
browntarik 8809e69e91 Remove redundant variable resolution in handleSquiggles and fix error messaging for env and delimited paths under include paths in c_cpp_properties.json (#12188)
* remove redundant variable resolution

* fix lint

* remove resolveVariable redundancies

* change when resolve and split happens

* fix lint

* Resolve error checking for environment vars and delimited paths

* remove "path" from error messaging

* Adjust error messaging

* remove stray comment

* refactor error messaging + minor fix

* resolve lint

* Fix multi path squiggle regression

* Remove resolvedPath redundancies

* Refactor error messaging and squiggling

* Revert and improve error squiggling behavior

* fix linting

* properly proccess glob patterns + minor fixes

* fix comment positions

* Refactor error message + minor fix

* Fix telemetry metric + minor fix
2024-04-19 16:56:46 -07:00
Sean McManus 7af5c40dd0 Handle multiple cpptools-srv crashes. (#12225) 2024-04-19 16:56:33 -07:00
Sean McManus a1baeac6f7 Update changelog for 1.20.2 (2nd time) (#12228)
* Update changelog
2024-04-19 16:54:05 -07:00
Bob Brown 3b68eab6ca rename the property again (#12233)
* rename the property again

* fail
2024-04-19 14:55:19 -07:00
browntarik 997a042ebf Remove redundant variable resolution in handleSquiggles and fix error messaging for env and delimited paths under include paths in c_cpp_properties.json (#12188)
* remove redundant variable resolution

* fix lint

* remove resolveVariable redundancies

* change when resolve and split happens

* fix lint

* Resolve error checking for environment vars and delimited paths

* remove "path" from error messaging

* Adjust error messaging

* remove stray comment

* refactor error messaging + minor fix

* resolve lint

* Fix multi path squiggle regression

* Remove resolvedPath redundancies

* Refactor error messaging and squiggling

* Revert and improve error squiggling behavior

* fix linting

* properly proccess glob patterns + minor fixes

* fix comment positions

* Refactor error message + minor fix

* Fix telemetry metric + minor fix
2024-04-19 14:11:41 -07:00
Colen Garoutte-Carson aacc06ed27 Fix issue with not yet localized edge strings (#12232) 2024-04-19 13:50:22 -07:00
[email protected] 1ae5303cf0 [Auto] Localization - Translated Strings (#11999) 2024-04-19 13:48:48 -07:00
Sean McManus 7baeb52329 Handle multiple cpptools-srv crashes. (#12225) 2024-04-18 18:28:00 -07:00
Colen Garoutte-Carson 0e5ee3a4d4 Update edge loc strings for FI (#12217) 2024-04-18 15:53:11 -07:00
Sean McManus 1d2bd10691 Merge pull request #12223 from microsoft/main
Fix SettingsTracking treating numerical loggingLevel as invalid. (#12…
2024-04-18 15:11:30 -07:00
Sean McManus 21ef2e36d6 Fix SettingsTracking treating numerical loggingLevel as invalid. (#12216)
* Fix SettingsTracking treating numerical loggingLevel as invalid.
* Fix numeric loggingLevels.
* Return -1 numerical value on invalid levels.
2024-04-18 12:44:22 -07:00
Sean McManus dac96fe852 Merge pull request #12209 from microsoft/main
Merge for 1.20.2
2024-04-16 18:43:48 -07:00
Sean McManus b955eeb013 Update version and changelog for 1.20.2 (#12208) 2024-04-16 17:31:16 -07:00
Sean McManus 3e6b99925b Crash handler update (#12190)
* Minor update to watchForCrashes.
* Add preinitialize message.
2024-04-16 15:36:28 -07:00
Bob Brown f06f689488 rename telemetry property (#12202) 2024-04-15 17:05:48 -07:00
Bob Brown fec0d8854e Log more info with the configuration provider telemetry (#12193) 2024-04-13 09:01:53 -07:00
Sean McManus a1487e5e79 Merge pull request #12185 from microsoft/main
Merge for 1.20.1
2024-04-09 17:07:29 -07:00
Bob Brown 4650cfeeb9 Update CHANGELOG.md (#12186) 2024-04-09 14:43:42 -07:00
Sean McManus 35cda7ebb0 Update changelog for 1.20.1 (#12182)
* Update changelog for 1.20.1
2024-04-09 13:09:25 -07:00
Sean McManus 92a0494796 Update for libexecinfo crash handler change. (#12158)
* Update for libexecinfo crash handler change.
* Update ThirdPartyNotices.txt
2024-04-08 16:13:36 -07:00
Bob Brown d2bd18acf1 don't strip underscores when demangling (#12159) 2024-04-01 14:04:46 -07:00
Bob Brown f3cbf1237d clean up the pipeline runs (#12151) 2024-03-27 17:32:41 -07:00
Bob Brown 76509d6a0c Component Governance pipeline for vscode-cpptools (#12148) 2024-03-27 14:07:28 -07:00
250 changed files with 7047 additions and 7212 deletions
+86
View File
@@ -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
+98
View File
@@ -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`);
}
}
}
}
}
}
+42
View File
@@ -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'
+20
View File
@@ -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
+36
View File
@@ -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
+1 -1
View File
@@ -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:
+1 -1
View File
@@ -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:
+105 -105
View File
@@ -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
+2 -2
View File
@@ -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(',') : [];
+1 -1
View File
@@ -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 "*".
+20 -20
View File
@@ -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
+4 -4
View File
@@ -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 });
}
+182 -182
View File
@@ -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
+1185 -929
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -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": {
+28
View File
@@ -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. Well 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:
+93
View File
@@ -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 -1
View File
@@ -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:
+121
View File
@@ -0,0 +1,121 @@
name: $(date:yyyyMMdd)$(rev:.r)
trigger:
branches:
include:
- main
- release
schedules:
- cron: 30 5 * * 0
branches:
include:
- main
always: true
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
variables:
- name: Codeql.Enabled
value: true
- name: Codeql.Language
value: javascript
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
tsa:
enabled: true
config:
tsaVersion: TsaV2
codebase: NewOrUpdate
codebaseName: vscode-cpptools
tsaStamp: $(TsaProjectName)
tsaEnvironment: PROD
notificationAliases: $(TsaNotificationAlias)
codebaseAdmins: $(TsaCodebaseAdmins)
instanceUrl: $(TsaInstanceUrl)
projectName: $(TsaProjectName)
areaPath: $(TsaAreaPath)
iterationPath: $(TsaIterationPath)
alltools: true
repositoryName: vscode-cpptools
policheck:
enabled: true
featureFlags:
autoBaseline: false
stages:
- stage: build
jobs:
- job: Phase_1
displayName: Build cpptools.vsix
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
templateContext:
outputs:
- output: pipelineArtifact
displayName: 'cpptools.vsix'
condition: succeeded()
targetPath: $(Build.ArtifactStagingDirectory)\Extension
artifactName: cpptools.vsix
steps:
- checkout: self
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
displayName: Use Yarn 1.x
- task: UseNode@1
displayName: Use Node 18.x
inputs:
version: 18.x
- task: CmdLine@2
displayName: Delete .npmrc if it exists
inputs:
script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
- task: Npm@0
name: NpmInstall_2
displayName: Install vsce
inputs:
arguments: --global @vscode/vsce
- task: CmdLine@1
name: ProcessRunner_11
displayName: Create Extension Staging Directory
inputs:
filename: mkdir
arguments: $(Build.ArtifactStagingDirectory)\Extension
- script: yarn run vsix-prepublish
displayName: Build files
workingDirectory: $(Build.SourcesDirectory)\Extension
- task: CmdLine@1
name: ProcessRunner_12
displayName: Run VSCE to package vsix
inputs:
filename: vsce
arguments: package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix
workingFolder: $(Build.SourcesDirectory)\Extension
- task: Npm@0
displayName: Uninstall vsce
inputs:
command: uninstall
arguments: --global @vscode/vsce
+67 -37
View File
@@ -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: '16.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 [email protected] "$(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 [email protected] "$(Build.ArtifactStagingDirectory)/loc" vscode-extensions-localization-export/vscode-extensions && cd ..'
+48
View File
@@ -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
+48
View File
@@ -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
+54
View File
@@ -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
+43
View File
@@ -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
+43
View File
@@ -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
+19
View File
@@ -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)
+44
View File
@@ -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)
+21
View File
@@ -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>
+4
View File
@@ -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>
+2 -1
View File
@@ -6,4 +6,5 @@ Resources:
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
- Contact [[email protected]](mailto:[email protected]) with questions or concerns
- Contact [[email protected]](mailto:[email protected]) with questions or concerns
- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support)
+15
View File
@@ -33,3 +33,18 @@ const localize: nls.LocalizeFunc = nls.loadMessageBundle();
const readmeMessage: string = localize("refer.read.me", "Please refer to {0} for troubleshooting information. Issues can be created at {1}", readmePath, "https://github.com/Microsoft/vscode-cpptools/issues");
```
* The first parameter to localize should be a unique key for that string, not used by any other call to localize() in the file unless representing the same string. The second parameter is the string to localize. Both of these parameters must be string literals. Tokens such as {0} and {1} are supported in the localizable string, with replacement values passed as additional parameters to localize().
## Contributor License Agreement
This project welcomes contributions and suggestions. Most contributions require you to
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
and actually do, grant us the rights to use your contribution. For details, visit
https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need
to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the
instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.
+5 -3
View File
@@ -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 });
}
+1
View File
@@ -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.');
+1 -1
View File
@@ -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;
}
+1 -1
View File
@@ -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": {
+160 -4
View File
@@ -1,25 +1,181 @@
# C/C++ for Visual Studio Code Changelog
## Version 1.20.0: March 26, 2024
## Version 1.22.6: September 25, 2024
### Bug Fixes
* Fix an issue with usage of `#cpp` with Copilot chat. [vscode-copilot-release#1634](https://github.com/microsoft/vscode-copilot-release/issues/1634)
* Fix a performance regression with tag parsing.
* Fix a document buffer issue related to edits within files containing multi-byte characters.
## Version 1.22.5: September 24, 2024
### Enhancement
* Add the database path to the `C/C++: Log Diagnostics` output.
### Bug Fixes
* Fix some synchronization and crash issues with `handle_edits`. [#12747](https://github.com/microsoft/vscode-cpptools/issues/12747)
* Fix usage of `#cpp` with Copilot chat. [PR #12755](https://github.com/microsoft/vscode-cpptools/pull/12755)
* Fix some document buffer issues.
## Version 1.22.4: September 19, 2024
### Enhancements
* Performance improvements related to how custom configurations are processed. [#12632](https://github.com/microsoft/vscode-cpptools/issues/12632)
* Performance improvements related to LSP request processing.
### Bug Fixes
* Fix an issue with missing database symbols after a Rename operation. [#12480](https://github.com/microsoft/vscode-cpptools/issues/12480)
* Work around IntelliSense issues with clang 18 due to `size_t` not being defined. [#12618](https://github.com/microsoft/vscode-cpptools/issues/12618)
* Fix some crashes with recursive includes. [#12643](https://github.com/microsoft/vscode-cpptools/issues/12643)
* Possibly fix a crash in `find_existing_intellisense_client`. [#12666](https://github.com/microsoft/vscode-cpptools/issues/12666)
* Fix issues applying `files.exclude` settings when `C_Cpp.caseSensitiveFileSupport` is enabled. [#12672](https://github.com/microsoft/vscode-cpptools/issues/12672)
* Fix an issue with duplicate tag parsing occurring after a Rename operation. [#12728](https://github.com/microsoft/vscode-cpptools/issues/12728)
* Fix an issue causing unnecessary TU updates for files opened during a Rename operation, when `"files.refactoring.autoSave": false` is used.
## Version 1.22.3: September 12, 2024
### Enhancement
* 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.
### Bug Fixes
* Fix the compiler selection control not keeping the list in sync with 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)
* Stop logging duplicate compiler path messages. [#12445](https://github.com/microsoft/vscode-cpptools/issues/12445)
* Fix some crashes with recursive includes. [#12643](https://github.com/microsoft/vscode-cpptools/issues/12643)
* 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 a potential deadlock in `process_paths`. [#12690](https://github.com/microsoft/vscode-cpptools/issues/12690)
## Version 1.22.2: August 29, 2024
### Enhancement
* Remove the `C_Cpp.intelliSenseEngineFallback` setting. [#12596](https://github.com/microsoft/vscode-cpptools/issues/12596)
### Bug Fix
* Fix a deadlock when doing "Find All References" and a file is deleted. [#12656](https://github.com/microsoft/vscode-cpptools/issues/12656)
## Version 1.22.1: August 29, 2024
### Enhancement
* Add "Additional Tracked Settings" to `C/C++: Log Diagnostics` output. [PR #12635](https://github.com/microsoft/vscode-cpptools/pull/12635)
### Bug Fixes
* 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)
* Fix include completion showing results for deleted folders with recursive includes. [#12636](https://github.com/microsoft/vscode-cpptools/issues/12636)
* Fix the `/FU` flag not working for C++/CLI . [#12641](https://github.com/microsoft/vscode-cpptools/issues/12641)
* Fix some crashes with recursive includes. [#12643](https://github.com/microsoft/vscode-cpptools/issues/12643)
* Fix IntelliSense not working on Windows when `C_Cpp.caseSensitiveFileSupport` is `enabled`. [#12648](https://github.com/microsoft/vscode-cpptools/issues/12648)
* Changes that might fix a crash with `translate_encoding_to_utf8`. [#12652](https://github.com/microsoft/vscode-cpptools/issues/12652)
* Fix a random crash during IntelliSense creation.
## Version 1.22.0: August 26, 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)
* Improve the implementation of file buffers to reduce memory usage.
### Enhancements
* Add modified `C_Cpp` settings to the `C/C++: Log Diagnostics` output. [#11700](https://github.com/microsoft/vscode-cpptools/issues/11700)
* Change the default C/C++ `"editor.stickyScroll.defaultModel"` to `"foldingProviderModel"`. [#12483](https://github.com/microsoft/vscode-cpptools/issues/12483)
* Add better validation for settings. [#12371](https://github.com/microsoft/vscode-cpptools/issues/12371)
* Various IntelliSense parsing updates/fixes.
### Bug Fixes
* 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 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 random crash when a child process is created. [#12585](https://github.com/microsoft/vscode-cpptools/issues/12585)
* Fix a crash on shutdown on macOS with a verbose logging level. [#12567](https://github.com/microsoft/vscode-cpptools/issues/12567)
* 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 accumulation of stale signature help and completion requests.
* Fix some bugs with include completion.
## Version 1.21.6: August 5, 2024
* Fix a cpptools-srv crash on shutdown. [#12354](https://github.com/microsoft/vscode-cpptools/issues/12354)
## Version 1.21.5: July 31, 2024
### Bug Fixes
* Fix clang-format and clang-tidy not working on Windows 10. [#12289](https://github.com/microsoft/vscode-cpptools/issues/12289)
* Fix a crash with cpptools-srv on certain macOS versions. [#12354](https://github.com/microsoft/vscode-cpptools/issues/12354)
* Fix cpptools crashing on macOS Big Sur or older. [#12511](https://github.com/microsoft/vscode-cpptools/issues/12511)
* Fix debugging on Windows ARM64. [#12520](https://github.com/microsoft/vscode-cpptools/issues/12520)
## Version 1.21.4: July 25, 2024
* Re-enable compatibility with VS Code 1.67.0 (instead of 1.82.0). [#12507](https://github.com/microsoft/vscode-cpptools/issues/12507)
## Version 1.21.3: July 24, 2024
* Fix a crash on Linux ARM OS's. [#12497](https://github.com/microsoft/vscode-cpptools/issues/12497)
## Version 1.21.2: July 12, 2024
### Enhancements
* Add `see` and `sa` to the `C_Cpp.doxygen.sectionTags` setting. [#12384](https://github.com/microsoft/vscode-cpptools/issues/12384)
* Update the vcpkg header database. [PR #12430](https://github.com/microsoft/vscode-cpptools/pull/12430)
* Disable the pre-release prompt if the `extensions.ignoreRecommendations` setting is `true`. [#12438](https://github.com/microsoft/vscode-cpptools/issues/12438)
* Switch to an alternative workspace symbol search implementation (performance and results will be slightly different from previous versions).
* Various IntelliSense engine updates/fixes.
### Bug Fixes
* Stop logging file watch events for excluded files. [#11455](https://github.com/microsoft/vscode-cpptools/issues/11455)
* Fix a crash if the Ryzen 3000 doesn't have updated drivers. [#12201](https://github.com/microsoft/vscode-cpptools/issues/12201)
* Fix handling of `-isystem` and `-iquote` for IntelliSense configuration. [#12207](https://github.com/microsoft/vscode-cpptools/issues/12207)
* Fix doxygen comment generation when `/**` comments are used. [#12249](https://github.com/microsoft/vscode-cpptools/issues/12249)
* Fix a code analysis crash on Linux if the message is too long. [#12285](https://github.com/microsoft/vscode-cpptools/issues/12285)
* Fix relative paths in `compile_commands.json` to be relative to the `compile_commands.json`'s directory. [#12290](https://github.com/microsoft/vscode-cpptools/issues/12290)
* Fix a tag parser performance regression. [#12292](https://github.com/microsoft/vscode-cpptools/issues/12292)
* Fix a regression with cl.exe system include path detection. [#12293](https://github.com/microsoft/vscode-cpptools/issues/12293)
* Fix code analysis, find all references, and rename from getting the wrong configuration for non-open files on the first run when using a configuration provider. [#12313](https://github.com/microsoft/vscode-cpptools/issues/12313)
* Fix handling of doxygen comment blocks with `*//*` in them. [#12316](https://github.com/microsoft/vscode-cpptools/issues/12316)
* Fix potential crashes during IntelliSense process shutdown. [#12354](https://github.com/microsoft/vscode-cpptools/issues/12354)
* Fix the language status not showing it's busy while the tag parser is initializing. [#12403](https://github.com/microsoft/vscode-cpptools/issues/12403)
* Fix the vcpkg code action not appearing for missing headers available via vcpkg. [#12413](https://github.com/microsoft/vscode-cpptools/issues/12413)
* Fix custom configurations sometimes not getting used. [PR #12427](https://github.com/microsoft/vscode-cpptools/pull/12427)
* Fix a code analysis error when using gcc 14. [#12428](https://github.com/microsoft/vscode-cpptools/issues/12428)
* Fix warning notification showing when `C_Cpp.getIncludes` is disabled. [PR #12470](https://github.com/microsoft/vscode-cpptools/pull/12470)
* Fix a cause of colorization, inactive regions, and inlay hints getting cleared when an update is pending.
* Update the default clang/gcc versions used for IntelliSense if an unknown version is found.
* Fix a cause of semantic tokens transiently being placed in the wrong location.
* Update clang-format and clang-tidy from 18.1.2 to 18.1.7 (for the bug fixes).
* Fix a potential deadlock when configured using compile commands.
## Version 1.20.5: May 6, 2024
### Enhancements
* Add support for C++ modules IFC version 0.43. [#10843](https://github.com/microsoft/vscode-cpptools/issues/10843)
* Add support for `${userHome}` in `c_cpp_properties.json`. [#11756](https://github.com/microsoft/vscode-cpptools/issues/11756)
* Reduce the default max workspace symbol search results and add `C_Cpp.maxSymbolSearchResults`. [PR #12131](https://github.com/microsoft/vscode-cpptools/pull/12131)
* Update to `clang-format`/`clang-tidy` 18.1.2. [PR #12135](https://github.com/microsoft/vscode-cpptools/pull/12135)
* Update IntelliSense engine.
* Update `clang-format`/`clang-tidy` to 18.1.2. [PR #12135](https://github.com/microsoft/vscode-cpptools/pull/12135)
* Log `cpptools` and `cpptools-srv` crash call stacks in the 'C/C++ Crash Call Stacks' Output channel for bug reporting (on x64 Linux and x64/arm64 Mac).
* Increase the fuzzy symbol character limit from 16 to 28.
* Update the IntelliSense engine.
### Bug Fixes
* Fix IntelliSense parsing issues. [#6183](https://github.com/microsoft/vscode-cpptools/issues/6183)
* Fix an IntelliSense parsing issue. [#6183](https://github.com/microsoft/vscode-cpptools/issues/6183)
* Fix 'Copy Declaration / Definition' code not being formatted. [#10956](https://github.com/microsoft/vscode-cpptools/issues/10956)
* Fix semantic colorization of certain macro arguments. [#11416](https://github.com/microsoft/vscode-cpptools/issues/11416)
* Fix 'Add #include' code actions for code scoped by a namespace or class. [#11541](https://github.com/microsoft/vscode-cpptools/issues/11541)
* Fix 'Create Declaration / Definition' not working if the cursor isn't on the function name. [#11834](https://github.com/microsoft/vscode-cpptools/issues/11834)
* Fix duplicate 'Add #include' code actions. [#11989](https://github.com/microsoft/vscode-cpptools/issues/11989)
* Fix directories being incorrectly recursively traversed in certain cases. [#11993](https://github.com/microsoft/vscode-cpptools/issues/11993)
* Fix `forcedInclude` resolution for relative paths. [PR #12035](https://github.com/microsoft/vscode-cpptools/pull/12035)
* Fix 'Add Configuration...' in `launch.json` when `editor.suggest.showSnippets` is `false`. [#12059](https://github.com/microsoft/vscode-cpptools/issues/12059)
* Fix `c_cpp_properties.json` warnings for `includePath`s with `**` wildcard glob patterns. [#12070](https://github.com/microsoft/vscode-cpptools/issues/12070)
* Fix non-existent relative path variables not showing a warning in `c_cpp_properties.json` (and other related issues). [#12089](https://github.com/microsoft/vscode-cpptools/issues/12089)
* Fix call stacks for `cpptools` and `cpptools-srv` not being available on Linux. [#12091](https://github.com/microsoft/vscode-cpptools/issues/12091)
* Fix IntelliSense processes shutting down immediately if not enough memory is detected. [#12126](https://github.com/microsoft/vscode-cpptools/issues/12126)
* Fix code analysis aborting after encountering an excluded file (instead of just skipping it). [#12127](https://github.com/microsoft/vscode-cpptools/issues/12127)
* Fix `"Cannot open source"` errors on missing includes not appearing if `C_Cpp.errorSquiggles` is `enabled`. [#12134](https://github.com/microsoft/vscode-cpptools/issues/12134)
* Fix the IntelliSense server not starting when a completion, signature help, or document highlight occurs from external commands. [#12143](https://github.com/microsoft/vscode-cpptools/issues/12143)
* Fix the IntelliSense configuration not falling back to the `c_cpp_properties.json` configuration for a file not handled by a configuration provider. [#12144](https://github.com/microsoft/vscode-cpptools/issues/12144)
* Fix duplicate URIs in calls to provideConfigurations. [#12177](https://github.com/microsoft/vscode-cpptools/issues/12177)
* Fix a crash and deadlock with a high `C_Cpp.loggingLevel`. [#12194](https://github.com/microsoft/vscode-cpptools/issues/12194)
* Fix handling of `-iquote` for code analysis and `#include` completions. [#12198](https://github.com/microsoft/vscode-cpptools/issues/12198)
* Fix a crash during startup. [#12237](https://github.com/microsoft/vscode-cpptools/issues/12237)
* Fix IntelliSense configuration on Windows ARM64. [#12253](https://github.com/microsoft/vscode-cpptools/issues/12253)
* Fix a `cpptools` process crash and deadlock during shutdown.
## Version 1.19.9: March 20, 2024
File diff suppressed because it is too large Load Diff
Binary file not shown.
+3 -2
View File
@@ -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"
}
+3 -2
View File
@@ -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"
}
+3 -2
View File
@@ -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"
}
+3 -2
View File
@@ -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"
}
+3 -2
View File
@@ -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"
}
+3 -2
View File
@@ -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"
}
+3 -2
View File
@@ -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"
}
+3 -2
View File
@@ -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"
}
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"volání std::meta::substitute (pro %r) bylo neúspěšné",
"hodnota reflexe odkazuje na neaktivní entitu",
"spojení výrazů musí spojovat konstantní hodnotu, proměnnou nebo funkci",
"spojení členského přístupu musí spojovat datový člen nebo členská funkce"
"spojení členského přístupu musí spojovat datový člen nebo členská funkce",
"člen %nd není přímým ani nepřímým členem %t",
"název %sq neurčuje známý znak Unicode",
"neukončený pojmenovaný znak Unicode řídicí sekvence",
"Znak se nemůže vyskytovat v názvu Unicode.",
"prázdný pojmenovaný znak Unicode řídicí sekvence",
"očekávalo se '[:'",
"očekávalo se ':]'",
"Výraz lambda nemůže být současně mutable i static.",
"Výraz lambda static je nestandardní.",
"Výraz lambda static musí mít prázdnou specifikaci zachycení.",
"Jednotka hlavičky EDG IFC",
"EDG IFC",
"pro aktuální jednotku překladu se nepovedlo vytvořit jednotku hlavičky",
"aktuální jednotka překladu používá jednu nebo více funkcí, které se v tuto chvíli nedají zapsat do jednotky hlavičky",
"explicit(bool) je funkcí C++20",
"musí být zadán název modulu pro mapování souboru modulu odkazující na soubor %sq"
]
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"Fehler beim Aufruf von std::meta::substitute (für %r).",
"Reflexionswert bezieht sich auf inaktive Entität",
"Eine Ausdrucks-Splice muss einen konstanten Wert, eine Variable oder eine Funktion aufteilen.",
"Eine Memberzugriffs-Splice muss einen Datenmember oder eine Memberfunktion unterstützen."
"Eine Memberzugriffs-Splice muss einen Datenmember oder eine Memberfunktion unterstützen.",
"Der Member \"%nd\" ist kein direkter oder indirekter Member von \"%t\".",
"Der Name \"%sq\" bezeichnet kein bekanntes Unicode-Zeichen.",
"Nicht abgeschlossenes benanntes Unicode-Escapezeichen",
"Zeichen darf nicht in einem UnicodeNamen verwendet werden.",
"Leeres benanntes Unicode-Escapezeichen",
"Erwartet wurde \"[:\"",
"Erwartet wurde \":]\"",
"Ein Lambdaausdruck darf nicht gleichzeitig \"mutable\" und \"static\" sein.",
"Ein Lambdaausdruck \"static\" entspricht nicht dem Standard.",
"Ein Lambdaausdruck \"static\" muss eine leere Erfassungsspezifikation aufweisen.",
"EDG IFC-Headereinheit",
"EDG IFC",
"für die aktuelle Übersetzungseinheit konnte keine Headereinheit erstellt werden",
"Die aktuelle Übersetzungseinheit verwendet mindestens ein Feature, das derzeit nicht in eine Headereinheit geschrieben werden kann",
"\"explicit(bool)\" ist ein C++20-Feature",
"Für die Moduldateizuordnung, die auf die Datei \"%sq\" verweist, muss ein Modulname angegeben werden."
]
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"error en la llamada a std::meta::substitute (para %r)",
"el valor de reflexión hace referencia a una entidad inactiva",
"una expresión splice debe empalmar un valor constante, una variable o una función",
"un splice de acceso a miembros debe empalmar un miembro de datos o una función miembro"
"un splice de acceso a miembros debe empalmar un miembro de datos o una función miembro",
"el miembro %nd no es un miembro directo o indirecto de %t",
"el nombre %sq no designa un carácter Unicode conocido",
"escape de caracteres Unicode con nombre sin terminar",
"el carácter no puede aparecer en un nombre Unicode",
"escape de caracteres Unicode con nombre vacío",
"esperaba un \"[:\"",
"se esperaba un \":]\"",
"una expresión lambda no puede ser a la vez \"mutable\" y \"estática\"",
"una expresión lambda \"estática\" no es estándar",
"una expresión lambda \"estática\" debe tener una especificación de captura vacía",
"Unidad de encabezado EDG IFC",
"EDG IFC",
"no se pudo crear una unidad de encabezado para la unidad de traducción actual",
"la unidad de traducción actual usa una o varias características que no se pueden escribir actualmente en una unidad de encabezado",
"'explicit(bool)' es una característica de C++20",
"se debe especificar un nombre de módulo para la asignación de archivos de módulo que hace referencia al archivo %sq"
]
+23 -7
View File
@@ -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 derreur",
null,
null,
null,
@@ -3585,5 +3585,21 @@
"échec de lappel à std::meta::substitute (pour %r)",
"la valeur de réflexion fait référence à lentité inactive",
"une splice dexpression doit spliquer une valeur constante, une variable ou une fonction",
"une épissure d'accès aux membres doit épisser une donnée membre ou une fonction membre"
"une épissure d'accès aux membres doit épisser une donnée membre ou une fonction membre",
"membre %nd nest pas un membre direct ou indirect de %t",
"le nom %sq ne désigne pas un caractère Unicode connu",
"échappement de caractère Unicode nommé inachevé",
"le caractère ne peut pas apparaître dans un nom Unicode",
"échappement de caractère Unicode nommé vide",
"sattendait à un « [ :] ».",
"sattendait à un « :] ».",
"une expression lambda ne peut pas être à la fois « mutable » et « static »",
"une expression lambda « static » nest pas standard",
"une expression lambda « static » doit avoir une spécification de capture vide",
"Unité den-tête IFC EDG",
"EDG IFC",
"impossible de créer une unité den-tête pour lunité de traduction actuelle",
"lunité de traduction actuelle utilise une ou plusieurs fonctionnalités qui ne peuvent actuellement pas être écrites dans une unité den-tête",
"'explicit(bool)' est une fonctionnalité C++20",
"un nom de module doit être spécifié pour la carte de fichiers de module référençant le fichier %sq"
]
+31 -15
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"chiamata a std::meta::substitute (per %r) non riuscita",
"il valore di reflection fa riferimento all'entità inattiva",
"una giunzione di espressione deve creare una giunzione di un valore costante, una variabile o una funzione",
"una splice di accesso a un membro deve creare una splice di un membro dati o di una funzione membro"
"una splice di accesso a un membro deve creare una splice di un membro dati o di una funzione membro",
"il membro %nd non è un membro diretto o indiretto di %t",
"il nome %sq non definisce un carattere Unicode noto",
"carattere di escape Unicode senza terminazione",
"il carattere non può essere visualizzato in un nome Unicode",
"carattere di escape Unicode vuoto",
"è previsto un '[:'",
"è previsto un ':]'",
"un'espressione lambda non può essere sia 'mutable' sia 'static'",
"espressione lambda 'static' non conforme allo standard",
"un'espressione lambda 'static' deve avere una specifica di acquisizione vuota",
"Unità di intestazione IFC EDG",
"EDG IFC",
"Non è possibile creare un'unità di intestazione per l'unità di conversione corrente",
"l'unità di conversione corrente utilizza una o più funzionalità che attualmente non possono essere scritte in un'unità di intestazione",
"'explicit(bool)' è una funzionalità di C++20",
"è necessario specificare un nome modulo per la mappa dei file del modulo che fa riferimento al file %sq"
]
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"std::meta::substitute (%r の場合) の呼び出しに失敗しました",
"リフレクション値が非アクティブなエンティティを参照しています",
"式の継ぎ目は、定数値、変数、または関数を接合する必要があります",
"メンバー アクセスの継ぎ目は、データ メンバーまたはメンバー関数を接合する必要があります"
"メンバー アクセスの継ぎ目は、データ メンバーまたはメンバー関数を接合する必要があります",
"メンバー %nd は %t の直接メンバーまたは間接メンバーではありません",
"名前 %sq は既知の Unicode 文字を指定しません",
"未終了の名前付き Unicode 文字エスケープ",
"文字を Unicode 名に含めることはできません",
"空の名前付き Unicode 文字エスケープ",
"'[:' が必要です",
"':]' が必要です",
"ラムダ式を 'mutable' と 'static' の両方にすることはできません",
"'static' ラムダ式は非標準です",
"'static' ラムダ式には空のキャプチャ仕様が必要です",
"EDG IFC ヘッダー ユニット",
"EDG IFC",
"現在の翻訳単位のヘッダー ユニットを作成できませんでした",
"現在の翻訳単位は、現在ヘッダー ユニットに書き込むことができない 1 つ以上の機能を使用します",
"'explicit(bool)' は C++20 機能です",
"ファイル %sq を参照するモジュール ファイル マップにモジュール名を指定する必要があります"
]
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"std::meta::substitute(%r)에 대한 호출이 실패했습니다.",
"리플렉션 값이 비활성 엔터티를 참조함",
"식 스플라이스는 상수 값, 변수 또는 함수를 스플라이스해야 합니다.",
"멤버 액세스 스플라이스는 데이터 멤버 또는 멤버 함수를 스플라이스해야 합니다."
"멤버 액세스 스플라이스는 데이터 멤버 또는 멤버 함수를 스플라이스해야 합니다.",
"%nd 구성원은 %t의 직접 또는 간접 구성원이 아닙니다.",
"%sq 이름이 알려진 유니코드 문자를 지정하지 않습니다.",
"종료되지 않은 명명된 유니코드 문자 이스케이프",
"유니코드 이름에는 문자를 사용할 수 없습니다.",
"비어 있는 명명된 유니코드 문자 이스케이프",
"'[:'가 필요합니다.",
"':]'가 필요합니다.",
"람다 식은 'mutable'과 'static' 둘 다일 수 없습니다.",
"'static' 람다 식은 표준이 아닙니다.",
"'static' 람다 식에는 빈 캡처 사양이 있어야 합니다.",
"EDG IFC 헤더 단위",
"EDG IFC",
"현재 변환 단위에 대한 헤더 단위를 만들 수 없습니다.",
"현재 변환 단위는 헤더 단위에 현재 쓸 수 없는 하나 이상의 기능을 사용합니다.",
"'explicit(bool)'는 C++20 기능입니다.",
"%sq 파일을 참조하는 모듈 파일 맵에 대한 모듈 이름을 지정해야 합니다."
]
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"wywołanie metody std::meta::substitute (dla %r) nie powiodło się",
"wartość odbicia odnosi się do jednostki nieaktywnej",
"splice wyrażenia musi łączyć stałą wartość, zmienną lub funkcję",
"platforma dostępu do składowej musi łączyć składową danych lub funkcję składową"
"platforma dostępu do składowej musi łączyć składową danych lub funkcję składową",
"składowa %nd nie jest bezpośrednią ani pośrednią składową elementu %t",
"nazwa %sq nie wyznacza znanego znaku Unicode",
"niezakończony znak ucieczki o nazwie Unicode",
"znak nie może występować w nazwie Unicode",
"pusty znak ucieczki o nazwie Unicode",
"oczekiwano znaku „[:”",
"oczekiwano znaku „:]”",
"wyrażenie lambda nie może mieć jednocześnie wartości „zmienne” i „statyczne”",
"wyrażenie lambda „statyczne” jest niestandardowe",
"wyrażenie lambda „statyczne” musi mieć pustą specyfikację przechwytywania",
"Jednostka nagłówka EDG IFC",
"EDG IFC",
"nie można utworzyć jednostki nagłówka dla bieżącej jednostki translacji",
"bieżąca jednostka translacji używa co najmniej jednej funkcji, których obecnie nie można zapisać w jednostce nagłówka",
"„explicit(bool)” jest funkcją języka C++20",
"nazwa modułu musi być określona dla mapy pliku modułu odwołującej się do pliku %sq"
]
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"falha na chamada para std::meta::substitute (para %r)",
"o valor de reflexão refere-se à entidade inativa",
"uma expressão splice deve unir um valor constante, uma variável ou uma função",
"uma splice de acesso de membro deve corresponder a um membro de dados ou uma função membro"
"uma splice de acesso de membro deve corresponder a um membro de dados ou uma função membro",
"membro %nd não é um membro direto ou indireto de %t",
"o nome %sq não designa um caractere Unicode conhecido",
"escape de caractere Unicode nomeado não finalizado",
"o caractere não pode aparecer em um nome Unicode",
"escape de caractere Unicode nomeado vazio",
"esperava um '[:'",
"esperava um ':]'",
"uma expressão lambda não pode ser 'mutável' e 'static'",
"uma expressão lambda 'static' não é padrão",
"uma expressão lambda 'static' deve ter uma especificação de captura vazia",
"Unidade de cabeçalho EDG IFC",
"EDG IFC",
"não foi possível criar uma unidade de cabeçalho para a unidade de tradução atual",
"a unidade de tradução atual usa um ou mais recursos que não podem ser gravados atualmente em uma unidade de cabeçalho",
"'explicit(bool)' é um recurso do C++20",
"um nome de módulo deve ser especificado para o mapa do arquivo de módulo que faz referência ao arquivo %sq"
]
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"сбой вызова std::meta::substitute (для %r)",
"значение отражения относится к неактивной сущности",
"выражение splice должно объединять постоянное значение, переменную или функцию",
"элемент группы доступа должен объединять элемент данных или функцию элемента"
"элемент группы доступа должен объединять элемент данных или функцию элемента",
"элемент %nd не является прямым или косвенным элементом %t",
"имя %sq не обозначает известный символ Юникода",
"нестандартным незавершенным именованным escape-символом Юникода",
"символ не может присутствовать в имени Юникода",
"пустой экранированный символ Юникода с именем",
"ожидается \"[:\"",
"ожидается \":]\"",
"лямбда-выражение не может одновременно быть \"mutable\" и \"static\"",
"лямбда-выражение \"static\" является нестандартным",
"Лямбда-выражение \"static\" должно содержать пустую спецификацию захвата",
"Единица заголовка EDG IFC",
"EDG IFC",
"не удалось создать единицу заголовка для текущей единицы трансляции",
"текущая единица трансляции использует одну или несколько функций, которые в данный момент невозможно записать в единицу заголовка",
"\"explicit(bool)\" — это функция C++20",
"необходимо указать имя модуля для сопоставления файла модуля, ссылающегося на файл %sq"
]
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"std::meta::substitute çağrısı (%r için) başarısız oldu",
"yansıma değeri etkin olmayan varlığa başvurur",
"ifade eşleme ile bir sabit değer, bir değişken veya bir işlev eşlenmelidir",
"üye erişimi eşleme ile bir veri üyesi veya bir üye işlevi eşlenmelidir"
"üye erişimi eşleme ile bir veri üyesi veya bir üye işlevi eşlenmelidir",
"%nd adlı üye, dolaylı bir %t üyesi değil",
"%sq adı bilinen bir Unicode karakterine işaret etmiyor",
"sonlandırılmamış adlandırılmış Unicode karakter kaçışı",
"Unicode adlarda bu karakter görünemez",
"boş adlandırılmış Unicode karakter kaçışı",
"'[:' bekleniyordu",
"':]' bekleniyordu",
"lambda ifadeleri hem 'mutable' hem de 'static' olamaz",
"'static' lambda ifadeleri standart değildir",
"'static' lambda ifadelerinin yakalama belirtimi boş olmalıdır",
"EDG IFC üst bilgi birimi",
"EDG IFC",
"geçerli çeviri birimi için bir başlık birimi oluşturulamadı",
"mevcut çeviri birimi şu anda bir başlık birimine yazılamayan bir veya daha fazla özellik kullanıyorsa",
"'explicit(bool)' bir C++20 özelliğidir",
"%sq dosyasına başvuran modül dosyası eşlemesi için bir modül adı belirtilmelidir"
]
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"(为 %r)调用 std::meta::substitute 失败",
"反射值引用非活动实体",
"表达式拼接必须将常量值、变量或函数拼接在一起",
"成员访问拼接必须将数据成员或成员函数拼接在一起"
"成员访问拼接必须将数据成员或成员函数拼接在一起",
"成员 %nd 不是 %t 的直接或间接成员",
"名称“%sq”不指定已知的 Unicode 字符",
"未终止的命名 Unicode 字符转义",
"字符不能出现在 Unicode 名称中",
"空的命名 Unicode 字符转义",
"应为 \"[:\"",
"应为 \":]\"",
"Lambda 表达式不能同时为 \"mutable\" 和 \"static\"",
"\"static\" Lambda 表达式是非标准的",
"\"static\" Lambda 表达式必须具有空的捕获规范",
"EDG IFC 标头单元",
"EDG IFC",
"无法为当前翻译单元创建标头单元",
"当前翻译单元使用当前无法写入标头单元的一个或多个功能",
"“explicit(bool)” 是 C++20 功能",
"必须为引用文件 %sq 的模块文件映射指定模块名称"
]
+23 -7
View File
@@ -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,
@@ -3585,5 +3585,21 @@
"(為 %r) 叫用 std::meta::substitute 失敗",
"反映值參考非使用中的實體",
"運算式 splice 必須接合常數值、變數或函式。",
"成員存取 splice 必須接合資料成員或成員函式"
"成員存取 splice 必須接合資料成員或成員函式",
"成員 %nd 不是 %t 的直接或間接成員",
"名稱 %sq 未指定已知的 Unicode 字元",
"未結束命名的 Unicode 字元逸出",
"字元不能在 Unicode 名稱中出現",
"空白命名的 Unicode 字元逸出",
"應為 '[:'",
"應為 ':]'",
"Lambda 運算式不能同時是 'mutable' 和 'static'",
"'static' Lambda 運算式是非標準",
"'static' Lambda 運算式必須有空白的擷取規格",
"EDG IFC 標頭單位",
"EDG IFC",
"無法為目前的編譯單位建立標頭單位",
"目前的編譯單位使用一或多個目前無法寫入標頭單位的功能",
"'explicit(bool)' 是 C++20 功能",
"必須為參照檔案的模組檔案對應指定模組名稱 %sq"
]
+2 -1
View File
@@ -1,7 +1,8 @@
{
"defaults": [
"-D__building_module(x)=0",
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
}
+2 -1
View File
@@ -1,7 +1,8 @@
{
"defaults": [
"-D__building_module(x)=0",
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
}
+2 -1
View File
@@ -1,7 +1,8 @@
{
"defaults": [
"-D__building_module(x)=0",
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
}
+2 -1
View File
@@ -1,7 +1,8 @@
{
"defaults": [
"-D__building_module(x)=0",
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
}
+4 -4
View File
@@ -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 -4
View File
@@ -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"
}
}
+18 -18
View File
@@ -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"
}
+17 -17
View File
@@ -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"
}
+4 -1
View File
@@ -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>\"`.",
+2 -1
View File
@@ -270,7 +270,8 @@ gulp.task("translations-import", (done) => {
let id = language.transifexId || language.id;
return gulp.src(path.join(options.location, id, translationProjectName, `${translationExtensionName}.xlf`))
.pipe(nls.prepareJsonFiles())
.pipe(gulp.dest(path.join("./i18n", language.folderName)));
.pipe(gulp.dest(path.join("./i18n", language.folderName)))
.pipe(es.wait()); // This is required or it gives `this.pipeTo.end is not a function`.
}))
.pipe(es.wait(() => {
done();
+6
View File
@@ -56,6 +56,7 @@
"c_cpp.configuration.maxConcurrentThreads.markdownDescription": "用于语言服务处理的最大并发线程数。该值是一个提示,且不能始终使用。默认值 `null` (空)使用可用的逻辑处理器数。",
"c_cpp.configuration.maxCachedProcesses.markdownDescription": "用于语言服务处理的最大缓存进程数。默认值 `null` (空)使用可用逻辑处理器数的两倍。",
"c_cpp.configuration.maxMemory.markdownDescription": "可用于语言服务处理的最大内存(以 MB 为单位)。超过此内存使用量后,将缓存且并发运行较少的进程。默认值 `null` (空)使用系统的空闲内存。",
"c_cpp.configuration.maxSymbolSearchResults.markdownDescription": "要为“转到工作区中的符号”显示的最大结果数。默认设置为 `5000`。",
"c_cpp.configuration.intelliSense.maxCachedProcesses.markdownDescription": "要继续运行的最大 IntelliSense 进程数。默认值 `null` (空)使用从 `#C_Cpp.maxCachedProcesses#` 继承的值。",
"c_cpp.configuration.intelliSense.maxMemory.markdownDescription": "超过此内存使用量(以 MB 为单位)后,在创建新进程之前,旧的 IntelliSense 进程将关闭。默认值 `null` (空)使用从 `#C_Cpp.maxMemory#` 继承的值。",
"c_cpp.configuration.references.maxConcurrentThreads.markdownDescription": "用于“查找所有引用”和“重命名”的最大并发线程数。默认值 `null` (空)使用从 `#C_Cpp.maxConcurrentThreads#` 继承的值。",
@@ -373,6 +374,11 @@
"c_cpp.taskDefinitions.name.description": "任务名称。",
"c_cpp.taskDefinitions.command.description": "执行编译的编译器或脚本的路径。",
"c_cpp.taskDefinitions.args.description": "其他要传递给编译器或编译脚本的参数。",
"c_cpp.taskDefinitions.args.value.description": "实际参数值。",
"c_cpp.taskDefinitions.args.quoting.description": "参数值应该如何引用。",
"c_cpp.taskDefinitions.args.quoting.escape.description": "使用 Shell 的转义字符来转义字符 (如 bash 下的 \\)。",
"c_cpp.taskDefinitions.args.quoting.strong.description": "使用 Shell 的强引用字符来引用参数(例如在 bash 下的 ')。",
"c_cpp.taskDefinitions.args.quoting.weak.description": "使用 Shell 的弱引用字符来引用参数(例如在 bash 下的 \")。",
"c_cpp.taskDefinitions.options.description": "其他命令选项。",
"c_cpp.taskDefinitions.options.cwd.description": "已执行程序或脚本的当前工作目录。如果省略,则使用代码的当前工作区根。",
"c_cpp.taskDefinitions.detail.description": "任务的其他详细信息。",
@@ -16,5 +16,7 @@
"path.is.not.a.file": "路径不是文件: {0}",
"path.is.not.a.directory": "路径不是目录: {0}",
"duplicate.name": "{0} 重复。配置名称应是唯一的。",
"cannot.find2": "无法找到“{0}”。"
"cannot.find2": "无法找到“{0}”。",
"multiple.paths.not.allowed": "不允许使用多个路径。",
"paths.are.not.directories": "路径不是目录: {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": "在活动文件上运行 Code Analysis",
"all.analysis": "在所有文件上运行 Code Analysis",
"open.analysis": "在打开的文件上运行 Code Analysis"
}
@@ -4,6 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"failed.to.find.user.info.for.SSH": "找不到 SSH 的用户信息。这可能是由于使用 \"snap\" 安装 VS Code 导致的。如果计划使用 SSH 功能,请使用 \"deb\" 包重新安装 VS Code。",
"failed.to.parse.SSH.config": "无法分析 SSH 配置文件 {0}: {1}",
"failed.to.read.file": "未能读取文件 {0}。",
"failed.to.write.file": "无法写入文件 {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.
{
"command.disabled": "此命令已禁用,因为“{0}”被设置为“{1}”。"
}
+2
View File
@@ -5,6 +5,8 @@
// Do not edit this file. It is machine generated.
{
"c.cpp.diagnostics": "C/C++ 诊断",
"c.cpp.crash.call.stacks.title": "C/C++ 故障调用堆栈",
"c.cpp.crash.call.stacks.description": "C/C++ 扩展进程已崩溃。崩溃进程名称、日期/时间、信号和调用堆栈如下 - 将它包含在 {0} 处的 bug 报告中会很有帮助。",
"c.cpp.ssh.channel": "{0}: SSH",
"c.cpp.debug.protocol": "C/C++ 调试协议",
"c.cpp.warnings": "C/C++ 配置警告"
@@ -191,6 +191,7 @@
"result_label": "结果:",
"return_label": "返回:",
"returns_label": "返回:",
"sa_label": "另请参阅:",
"since_label": "开始日期:",
"template_parameters_label": "模板参数:",
"test_label": "测试:",
@@ -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}”已存在,但未更新。"
}
+6
View File
@@ -56,6 +56,7 @@
"c_cpp.configuration.maxConcurrentThreads.markdownDescription": "用於語言服務處理的並行執行緒數目上限。該值是提示,且可能不會一律使用。預設的 `null` (空白) 會使用可用的邏輯處理器數目。",
"c_cpp.configuration.maxCachedProcesses.markdownDescription": "用於語言服務處理的快取處理序數目上限。預設的 `null` (空白) 使用的邏輯處理器數目是可用邏輯處理器的兩倍。",
"c_cpp.configuration.maxMemory.markdownDescription": "記憶體上限 (MB) 可供語言服務處理。超過此記憶體使用量之後,同時快取及執行的處理序將會減少。預設的 `null` (空白) 會使用系統的可用記憶體。",
"c_cpp.configuration.maxSymbolSearchResults.markdownDescription": "「移至工作區中的符號」顯示的結果數目上限。預設為 `5000`。",
"c_cpp.configuration.intelliSense.maxCachedProcesses.markdownDescription": "要繼續執行的 IntelliSense 處理序數目上限。預設的 `null` (空白) 會使用繼承自 `#C_Cpp.maxCachedProcesses#` 的值。",
"c_cpp.configuration.intelliSense.maxMemory.markdownDescription": "超過此記憶體使用量 (MB) 後,較舊的 IntelliSense 處理序將會在建立新處理序之前先關閉。預設的 `null` (空白) 會使用繼承自 `#C_Cpp.maxMemory#` 的值。",
"c_cpp.configuration.references.maxConcurrentThreads.markdownDescription": "用於「尋找所有參考」與「重新命名」的並行執行緒數目上限。預設的 `null` (空白) 會使用繼承自 `#C_Cpp.maxConcurrentThreads#` 的值。",
@@ -373,6 +374,11 @@
"c_cpp.taskDefinitions.name.description": "工作的名稱。",
"c_cpp.taskDefinitions.command.description": "執行編譯的編譯器或指令碼路徑。",
"c_cpp.taskDefinitions.args.description": "要傳遞給編譯器或編譯指令碼的其他引數。",
"c_cpp.taskDefinitions.args.value.description": "實際引數值。",
"c_cpp.taskDefinitions.args.quoting.description": "如何引用參數值。",
"c_cpp.taskDefinitions.args.quoting.escape.description": "使用殼層的逸出字元 (例如 \\ 在 Bash 下) 來逸出字元。",
"c_cpp.taskDefinitions.args.quoting.strong.description": "使用殼層的強引號字元來引用引數 (強引號字元例如 ' 在 Bash 下)。",
"c_cpp.taskDefinitions.args.quoting.weak.description": "使用殼層的弱引號字元來引用引數 (弱引號字元例如 \" 在 Bash 下)。",
"c_cpp.taskDefinitions.options.description": "其他命令選項。",
"c_cpp.taskDefinitions.options.cwd.description": "所執行程式或指令碼的目前工作目錄。如果省略,則會使用 Code 的目前工作區根目錄。",
"c_cpp.taskDefinitions.detail.description": "工作的其他詳細資料。",
@@ -16,5 +16,7 @@
"path.is.not.a.file": "路徑不是檔案: {0}",
"path.is.not.a.directory": "路徑不是目錄: {0}",
"duplicate.name": "{0} 重複。組態名稱應該是唯一的。",
"cannot.find2": "找不到 \"{0}\"。"
"cannot.find2": "找不到 \"{0}\"。",
"multiple.paths.not.allowed": "不允許使用多個路徑。",
"paths.are.not.directories": "路徑不是目錄: {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": "在開啟檔案上執行程式碼分析"
}
@@ -4,6 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"failed.to.find.user.info.for.SSH": "找不到 SSH 的使用者資訊。這可能是因為使用 'snap' 安裝 VS Code 的關係。如果您計劃使用 SSH 功能,請使用 'deb' 套件重新安裝 VS Code。",
"failed.to.parse.SSH.config": "無法剖析 SSH 設定檔 {0}: {1}",
"failed.to.read.file": "無法讀取檔案 {0}。",
"failed.to.write.file": "無法寫入檔案 {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.
{
"command.disabled": "因為 \"{0}\" 設定為 \"{1}\",所以已停用此命令。"
}
+2
View File
@@ -5,6 +5,8 @@
// Do not edit this file. It is machine generated.
{
"c.cpp.diagnostics": "C/C++ 診斷",
"c.cpp.crash.call.stacks.title": "C/C++ 損毀呼叫堆疊",
"c.cpp.crash.call.stacks.description": "C/C++ 延伸模組程序已損毀。損毀的程序名稱、日期/時間、訊號和呼叫堆疊如下 -- 在 {0} 的錯誤報告中包含該資訊會很有幫助。",
"c.cpp.ssh.channel": "{0}: SSH",
"c.cpp.debug.protocol": "C/C++ 偵錯通訊協定",
"c.cpp.warnings": "C/C++ 設定警告"
@@ -191,6 +191,7 @@
"result_label": "結果:",
"return_label": "傳回:",
"returns_label": "傳回:",
"sa_label": "另請參閱:",
"since_label": "自:",
"template_parameters_label": "範本參數:",
"test_label": "測試:",
@@ -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}' 已經存在但未更新。"
}
+6
View File
@@ -56,6 +56,7 @@
"c_cpp.configuration.maxConcurrentThreads.markdownDescription": "Maximální počet souběžných vláken, která se mají použít pro zpracování služby jazyka. Hodnota je nápověda a nemusí být vždy použita. Výchozí hodnota `null` (prázdná) používá počet dostupných logických procesorů.",
"c_cpp.configuration.maxCachedProcesses.markdownDescription": "Maximální počet procesů uložených v mezipaměti, které se mají použít pro zpracování služby jazyka. Výchozí hodnota `null` (prázdná) používá dvojnásobek dostupného počtu logických procesorů.",
"c_cpp.configuration.maxMemory.markdownDescription": "Maximální paměť (v MB), která je k dispozici pro zpracování služby jazyka. Po překročení tohoto využití paměti bude uloženo do mezipaměti méně procesů, které budou spuštěny souběžně. Výchozí hodnota `null` (prázdná) používá volnou paměť systému.",
"c_cpp.configuration.maxSymbolSearchResults.markdownDescription": "Maximální počet výsledků, které se mají zobrazit pro možnost 'Go to Symbol in Workspace'. Výchozí hodnota je `5000`.",
"c_cpp.configuration.intelliSense.maxCachedProcesses.markdownDescription": "Maximální počet procesů IntelliSense, které mají být nadále spuštěny. Výchozí hodnota `null` (prázdná) používá hodnotu zděděnou z `#C_Cpp.maxCachedProcesses#`.",
"c_cpp.configuration.intelliSense.maxMemory.markdownDescription": "Po překročení tohoto využití paměti (v MB) se starší procesy IntelliSense vypnou před vytvořením nových procesů. Výchozí hodnota `null` (prázdná) používá hodnotu zděděnou od `#C_Cpp.maxMemory#`.",
"c_cpp.configuration.references.maxConcurrentThreads.markdownDescription": "Maximální počet souběžných vláken, která se mají použít pro možnosti Najít všechny odkazy a Přejmenovat. Výchozí hodnota `null` (prázdná) používá hodnotu zděděnou od `#C_Cpp.maxConcurrentThreads#`.",
@@ -373,6 +374,11 @@
"c_cpp.taskDefinitions.name.description": "Název úlohy.",
"c_cpp.taskDefinitions.command.description": "Cesta ke kompilátoru nebo skriptu, který provádí kompilaci.",
"c_cpp.taskDefinitions.args.description": "Další argumenty, které se mají předat kompilátoru nebo kompilačnímu skriptu.",
"c_cpp.taskDefinitions.args.value.description": "Skutečná hodnota argumentu.",
"c_cpp.taskDefinitions.args.quoting.description": "Způsob, jakým by měla být hodnota argumentu uvedena v uvozovkách",
"c_cpp.taskDefinitions.args.quoting.escape.description": "Uvodí znaky pomocí řídicího znaku prostředí (například pomocí znaku \\ v Bashi).",
"c_cpp.taskDefinitions.args.quoting.strong.description": "Uzavře argument do silných uvozovek prostředí (například ' pomocí znaku Bash).",
"c_cpp.taskDefinitions.args.quoting.weak.description": "Uzavře argument do jednoduchých uvozovek prostředí (například \" pomocí znaku Bash).",
"c_cpp.taskDefinitions.options.description": "Další možnosti příkazu.",
"c_cpp.taskDefinitions.options.cwd.description": "The current working directory of the executed program or script. If omitted Code's current workspace root is used.",
"c_cpp.taskDefinitions.detail.description": "Další podrobnosti o úloze.",
@@ -16,5 +16,7 @@
"path.is.not.a.file": "Cesta není soubor: {0}",
"path.is.not.a.directory": "Cesta není adresář: {0}",
"duplicate.name": "{0} je duplicitní. Název konfigurace by měl být jedinečný.",
"cannot.find2": "Nejde najít {0}."
"cannot.find2": "Nejde najít {0}.",
"multiple.paths.not.allowed": "Více cest není povoleno.",
"paths.are.not.directories": "Cesty nejsou adresáře: {0}"
}

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