Compare commits

...
Author SHA1 Message Date
Sean McManus 17efb9fd34 Work in progress. 2021-06-30 12:54:47 -07:00
csigsandSean McManus 51b983509d [Auto] Localization - Translated Strings (#7754)
* Localization - Translated Strings
* Add space before ":".

Co-authored-by: Sean McManus <[email protected]>
2021-06-30 10:53:47 -07:00
Elaheh Rashedi 36939092fb don't squiggle for "cl.exe" or "cl" path (#7752) 2021-06-28 17:57:59 -07:00
csigs 598ac0aff3 [Auto] Localization - Translated Strings (#7724)
* Localization - Translated Strings
Co-authored-by: Sean McManus <[email protected]>
2021-06-28 12:11:14 -07:00
Colen Garoutte-Carson ae14e4bb3d Use setTextDocumentLanguage to temporarily set language ID for CUDA sources, and headers (#7745) 2021-06-25 14:20:14 -07:00
Sean McManus ef52c25aa6 1.5.0-insiders2 changelog (#7733)
* Update changelog.
2021-06-21 15:42:14 -07:00
jogo- 18d59c29ae CUDA/CPP extension (#7726)
* Missing dot: "cu" -> ".cu"
* Useless uppercase ".C" before needed lowercase ".c"
* Add same CPP extensions as here:
https://github.com/microsoft/vscode-cpptools/blob/f82b1beaa0899b67685441325592690a9b664be9/Extension/src/LanguageServer/cppBuildTaskProvider.ts#L83
2021-06-21 14:48:14 -07:00
jogo- f26ee1fb67 Fix typo in "unable.to.provide.configuraiton" (#7725)
* Fix typo in "unable.to.provide.configuraiton"

* Fix typo in "configuraiton" (chs)

* Fix typo in "configuraiton" (cht)

* Fix typo in "configuraiton" (csy)

* Fix typo in "configuraiton" (deu)

* Fix typo in "configuraiton" (esn)

* Fix typo in "configuraiton" (fra)

* Fix typo in "configuraiton" (ita)

* Fix typo in "configuraiton" (jpn)

* Fix typo in "configuraiton" (kor)

* Fix typo in "configuraiton" (plk)

* Fix typo in "configuraiton" (ptb)

* Fix typo in "configuraiton" (rus)

* Fix typo in "configuraiton" (trk)
2021-06-21 14:32:14 -07:00
Sean McManus f82b1beaa0 Fix c_cpp_properties.json squiggle on recursively found forcedInclde. (#7722) 2021-06-18 14:55:56 -07:00
Sean McManus e0c90207de Fix overlapping folding ranges. (#7716) 2021-06-18 14:05:59 -07:00
Sean McManus e2d49e7c7a Inline macro code action (#7715)
* TypeScript changes for "Inline macro".
2021-06-18 13:56:36 -07:00
csigs 87b4652f92 [Auto] Localization - Translated Strings (#7661) 2021-06-18 13:19:22 -07:00
Sean McManus 812ab5e250 Fix code action warning. (#7714) 2021-06-17 14:04:59 -07:00
Colen Garoutte-Carson 767c538bbf Integrate experimentation platform. Remove ABTesting. (#7659) 2021-06-16 17:58:34 -07:00
Sean McManus 6dba4f60ff Fix settings UI. (#7694) 2021-06-14 15:21:22 -07:00
Sean McManus 8e0074e580 Minor changes. (#7690) 2021-06-14 11:30:51 -07:00
Sean McManus 399f19752d 1.5.0-insiders changelog (#7681)
* Update changelog.
2021-06-11 17:46:10 -07:00
Andrew Wang 883972a466 Add SymbolOptions for CppVsDbg (#7680)
* Add SymbolOptions for CppVsDbg

* Address PR issues
2021-06-11 12:00:49 -07:00
Colen Garoutte-Carson 5a48ce22c7 Switch to returning undefined when cancelling a folder ranges request (#7672) 2021-06-09 16:30:52 -07:00
Colen Garoutte-Carson 2278b396a8 Fix an issue causing editorConfig not to be used (#7666) 2021-06-08 16:22:36 -07:00
dependabot[bot] 7ecc049fd4 Bump glob-parent from 5.1.1 to 5.1.2 in /.github/actions (#7660) 2021-06-07 17:42:11 -07:00
Sean McManus 7e4fa575f8 Update changelog for 1.4.1. (#7657)
* Update changelog for 1.4.1.
2021-06-07 17:32:43 -07:00
csigs 1994fa1a7e [Auto] Localization - Translated Strings (#7651)
* Localization - Translated Strings
* Fixes
Co-authored-by: Sean McManus <[email protected]>
2021-06-07 16:27:22 -07:00
Sean McManus a6c015adc3 Better fix for settings UI not getting updated. (#7656)
* Better fix for settings UI not getting updated.
2021-06-07 16:02:55 -07:00
Sean McManus 20954f7f75 Resolve ${workspaceFolder} in compilerPath for config squiggles. (#7650) 2021-06-04 16:38:21 -07:00
Sean McManus 315f3086f3 Workaround for webViewPanel.postMessage getting dropped. (#7647)
* Workaround for webViewPanel.postMessage getting dropped.
2021-06-04 14:49:30 -07:00
Sean McManus 783e4bc227 Update IntelliSense strings. (#7622)
* Update IntelliSense strings.
* Fix pt-br translation issues.
2021-06-01 15:04:37 -07:00
Tyler Davis 26fdb44186 Change instances of OSX to macOS (#7636)
* Change instances of OSX to macOS
Add x86_64 descriptor
Whitespace stripping

* Style consistency
Add x86_64 descriptor to ClangFormat
2021-06-01 14:55:06 -07:00
jogo- 39f50a85c4 Fix typos in messages.json (fr) (#7625) 2021-06-01 11:10:41 -07:00
Colen Garoutte-Carson f973792142 Switch to new vscode-nls-dev, with support for hints in package.nls.json (#7620) 2021-05-28 13:22:52 -07:00
Colen Garoutte-Carson 934a8563df Fix Walkthrough property (#7611) 2021-05-27 15:06:09 -07:00
Sean McManus 58d3a5285a Update fwlinks. (#7607) 2021-05-27 13:03:00 -07:00
Colen Garoutte-Carson 989ca62269 Switch to new properties for walkthrough in package.json (#7606) 2021-05-27 12:33:55 -07:00
Colen Garoutte-Carson 13968a9723 Run loc pipeline always (#7605) 2021-05-27 12:23:16 -07:00
Sean McManus 5798b073a1 Update changelog for 1.4.0. (#7601) 2021-05-27 11:56:14 -07:00
Julia Reid 976c901875 added two settings to the walkthrough in package.json to hide walkthrough unless enabled by an experiment (#7598) 2021-05-26 23:46:11 -07:00
csigs b8fe2ac52e Localization - Translated Strings (#7575) 2021-05-26 10:19:46 -07:00
Sean McManus 4b1be560bb Update browserslist dependency. (#7589) 2021-05-25 14:35:27 -07:00
Sean McManus ee36eab4b6 Delay Insiders prompt until more activations occur. (#7587)
* Delay Insiders prompt until 10 activations occur.
2021-05-25 13:48:32 -07:00
Sean McManus c2a1a88257 Fix the walkthrough for remote targets. (#7582)
* Fix the walkthrough for remote targets.
2021-05-25 13:41:03 -07:00
Sean McManus 3150de06ca Fix package.nls.json issues. (#7581)
* Fix package.nls.json issues.
* Update changelog.
2021-05-25 13:31:08 -07:00
Sean McManus 61ef05afc8 Fix typos. (#7573)
* Fix typos.
2021-05-21 13:45:37 -07:00
csigs 357cc3fdc1 Localization - Translated Strings (#7567) 2021-05-21 11:32:08 -07:00
jogo- fa0fe29791 Fix typo in package.nls.json (#7568) 2021-05-21 10:22:36 -07:00
Sean McManus a1044f2f30 Update changelog for 1.4.0-insiders3. (#7565)
* Update changelog for 1.4.0-insiders3.
2021-05-20 18:38:28 -07:00
Julia Reid df670f8e13 Jureid/walkthrough clean (#7554)
* removed walkthrough task for Build your C++ file and simplified instructions for Run and debug your C++ file
* Addressing PR feedback - removed unused files and added step for selecting compiler in markdown file for Run and debug your C++ file
2021-05-20 18:25:04 -07:00
Sean McManus a64b60670f Update mac clang-format hashes. (#7564) 2021-05-20 18:13:35 -07:00
Sean McManus 473ce33fec Add missing localization. (#7563) 2021-05-20 18:05:23 -07:00
Colen Garoutte-Carson 63193e123b Use provider ID associated with cached browse config to auto-detect provider (#7562) 2021-05-20 17:02:24 -07:00
Sean McManus 1e47af5b6f Add symbol scopes. (#7556)
* Add symbol scopes.
2021-05-20 16:38:07 -07:00
Colen Garoutte-Carson 11f7300035 Cleanup IsExplicit flags. (#7555) 2021-05-20 12:47:36 -07:00
csigs c67590a505 [Auto] Localization - Translated Strings (#7544) 2021-05-18 12:52:15 -07:00
Colen Garoutte-Carson 9e592073dd Send package version to native process (#7539) 2021-05-17 17:10:46 -07:00
Sean McManus e5cdfac6b7 1.4.0-insiders2 changelog (#7536)
* Update changelog.
2021-05-17 12:50:52 -07:00
Colen Garoutte-Carson f7543e3aaa Add Getting Started Walkthrough (#7512) 2021-05-17 12:14:54 -07:00
Sean McManus 7a2de290cf Delay settings UI update so it's not blank. (#7524)
* Delay settings UI update so it's not blank.
2021-05-14 14:14:36 -07:00
csigs 8c49ac2a8d Localization - Translated Strings (#7521) 2021-05-14 11:13:27 -07:00
Sean McManus 557ced4b75 Add capabilities. (#7486) 2021-05-13 19:14:27 -07:00
Sean McManus 106bde2dc6 Merge pull request #7464 from microsoft/seanmcm/updateIntelliSenseStrings2
Update IntelliSense error strings.
2021-05-10 13:23:44 -07:00
Sean McManus a509b332b5 Merge branch 'main' into seanmcm/updateIntelliSenseStrings2 2021-05-10 13:13:06 -07:00
Elaheh Rashedi 6ae687faa3 check if the directory exists (#7487) 2021-05-10 08:12:48 -07:00
Colen Garoutte-Carson 2e00bb9a31 Minor spelling fix (#7490) 2021-05-07 18:18:14 -07:00
csigs 10090a03a6 Localization - Translated Strings (#7485) 2021-05-07 12:39:15 -07:00
Colen Garoutte-Carson 1f278e75c3 Consolidate localization import and export into same YML. Use LCL hosted by the Loc team. (#7479) 2021-05-07 11:42:17 -07:00
Sean McManus bcc256ec16 Update version. (#7481) 2021-05-06 19:00:14 -07:00
Sean McManus 42fe8076e6 Update changelog for 1.4.0-insiders (#7476)
* Update changelog.
2021-05-06 18:35:25 -07:00
Colen Garoutte-Carson 5297166d4f Use CancellationError to avoid logging of cancels as errors (#7477) 2021-05-06 16:31:24 -07:00
dependabot[bot] b89e45a4b6 Bump lodash from 4.17.20 to 4.17.21 in /.github/actions (#7475)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-06 15:05:44 -07:00
Sean McManus 060c14117c Update hosted-git-info. (#7474) 2021-05-06 14:50:39 -07:00
csigs b00df8d64d Localization - Translated Strings (#7469) 2021-05-06 10:02:38 -07:00
Elaheh Rashedi 4e7b679889 refactoring async/await 2021-05-05 15:26:49 -07:00
Gregg Miskelly 30950f0aaa Update cppvsdbg debug adapter (#7467)
Changes:
* Adds support for loading Concord extensions to the cppvsdbg debug adapter (see [documentation](https://github.com/microsoft/ConcordExtensibilitySamples/wiki/Support-for-VS-Code-cppvsdbg-Scenarios) for more information)
* Adds support for exception conditions to cppvsdbg (see documentation file in this PR for more information)
2021-05-05 14:29:17 -07:00
Sean McManus 385c336ba7 Update ESLint. (#7466) 2021-05-05 12:04:06 -07:00
Sean McManus b8fae51686 Update IntelliSense error strings. 2021-05-04 17:59:45 -07:00
csigs c750359475 Localization - Translated Strings (#7460) 2021-05-03 16:18:39 -07:00
Elaheh Rashedi 618c9c7d0c refactoring async/await (#7277)
refactor with <async/await>
2021-05-03 15:33:01 -07:00
Colen Garoutte-Carson 8b36869283 Switch to new localization pipeline (#7441) 2021-05-03 13:41:03 -07:00
Sean McManus 64c9e5f67a Fix policheck issues. (#7458)
* Fix policheck issues.
2021-05-03 11:10:05 -07:00
Sean McManus 5dae210933 Fix squiggle on empty compilerPath. (#7457) 2021-05-03 10:53:32 -07:00
Alan LeungandAndrew Wang 85312ed31d Add embedded debugging support options (#7449)
* Add stopAtConnect and hardwareBreakpoints options

* Run yarn generateOptionsSchema

Co-authored-by: Andrew Wang <[email protected]>
2021-04-30 17:07:03 -07:00
Philip Craig 19db7fe4b5 Fix typo "apline" to "alpine" (#7438) 2021-04-30 16:53:51 -07:00
Sean McManus 38e90ce750 Update fwlinks for clang-format 12 (#7447)
* Update fwlinks for clang-format.
* Update hashes.
2021-04-30 16:35:47 -07:00
Sean McManus 76f22333e6 Update environement description. (#7417) 2021-04-23 14:48:30 -07:00
Sean McManus 740c141887 Update common.json. (#7416) 2021-04-23 14:22:42 -07:00
Colen Garoutte-Carson b00eaa2670 Some cleanup of use of zipfile (#7410) 2021-04-23 13:42:20 -07:00
Sean McManus 3a839384bb Merge pull request #7363 from HackintoshwithUbuntu/main
Changing default launch.json from "${workspaceFolder}" to "${fileDirname}"
2021-04-21 14:43:26 -07:00
Sean McManus 5f307788e2 Merge branch 'main' into main 2021-04-21 14:34:53 -07:00
Colen Garoutte-Carson ce9ab28489 Remove VSIX binary compat warning on some platform/arch combos (#7397) 2021-04-21 12:22:49 -07:00
Colen Garoutte-Carson 3ca675fd58 Add action workflows for 'enhancement' label (#7398) 2021-04-21 12:12:55 -07:00
Sean McManus 09519ae210 Merge branch 'main' into main 2021-04-21 10:11:09 -07:00
Elaheh Rashedi a370b3d064 separate handling compiler squiggles from other paths (#7343)
* separate compiler squiggles
2021-04-20 13:10:31 -07:00
Sean McManus 164a2962b6 Update changelog for 1.3.1. (#7391)
* Update changelog for 1.3.1.
* Update version.
2021-04-19 14:53:42 -07:00
Sean McManus 5f14aab942 Merge branch 'main' into main 2021-04-16 15:56:57 -07:00
Syed Ahmad 1502b87e47 update ${workspaceFolder} to ${fileDirname} #7362 2021-04-16 10:12:48 +10:00
Sean McManus 88768b9c28 Attempt to fix random yarn timeout on Mac. (#7371)
* Attempt to fix random yarn timeout on Mac.
2021-04-15 13:04:42 -07:00
Sean McManus 94ab7f9087 Fix 32-bit Windows. (#7373) 2021-04-15 12:45:22 -07:00
csigsandDevDiv Build Lab - Dev14 e5abb36d32 Localization - Translated Strings (#7366)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-15 09:58:45 -07:00
Syed Ahmad 91393ad80e update ${workspaceFolder} to ${fileDirname} #7362 2021-04-15 16:29:10 +10:00
Syed Ahmad ad6fd53398 update ${workspaceFolder} to ${fileDirname} #7362 2021-04-15 16:27:47 +10:00
Yonggang Luo d85e30e746 Logging invalid provided cpp configuration (#7350) 2021-04-14 10:02:46 -07:00
csigsandDevDiv Build Lab - Dev14 1935d85357 Localization - Translated Strings (#7361)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-14 09:55:21 -07:00
Sean McManus 18f29bffa8 Fix activation. (#7345) 2021-04-13 17:56:49 -07:00
csigsandDevDiv Build Lab - Dev14 f0a8c1aa16 Localization - Translated Strings (#7357)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-13 16:34:28 -07:00
csigsandDevDiv Build Lab - Dev14 f3c8c5f389 Localization - Translated Strings (#7353)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-13 10:05:13 -07:00
Michelle Matias 7ed461992e update fwlinks and change log (#7348) 2021-04-12 22:29:29 -07:00
Elaheh Rashedi 57f9e1e5c9 Merge pull request #7315 from microsoft/ella/taskScope
Modify "Configure Task" behavior for multiroot
2021-04-12 14:32:52 -07:00
Elaheh Rashedi 0bb6c89282 Merge branch 'main' into ella/taskScope 2021-04-12 13:19:20 -07:00
Andrew Wang bfab754869 Update CODE_OF_CONDUCT.md (#7340)
Update page to match
https://github.com/microsoft/repo-templates/blob/main/shared/CODE_OF_CONDUCT.md
2021-04-12 11:16:17 -07:00
csigsandDevDiv Build Lab - Dev14 957b812f78 Localization - Translated Strings (#7338)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-12 10:15:08 -07:00
Michelle Matias 288978b251 Add feature request template, update other issues templates (#7330) 2021-04-09 14:29:00 -07:00
csigsandDevDiv Build Lab - Dev14 9a37e6882c Localization - Translated Strings (#7328)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-09 10:25:13 -07:00
Sean McManus b2c9167eec 1_3_0_insiders5 changelog (#7319)
* Update changelog for 1.3.0-insiders5.
2021-04-08 14:21:47 -07:00
Colen Garoutte-Carson 8b7dc8ba3a Update a string. Also, correct use of "MacOS" to the preferred "macOS" (#7318) 2021-04-08 12:59:42 -07:00
Elaheh Rashedi 7ea76ed031 Merge branch 'main' into ella/taskScope 2021-04-08 10:39:55 -07:00
Elaheh Rashedi f092c8fadf linter error fix 2021-04-08 10:39:29 -07:00
csigsandDevDiv Build Lab - Dev14 1001afecc8 Localization - Translated Strings (#7317)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-08 09:52:32 -07:00
Elaheh Rashedi add968510d change task scope to Workspace 2021-04-07 16:42:51 -07:00
Colen Garoutte-Carson 68c891e713 Fix an issue with validating browse configs (#7313) 2021-04-07 15:35:58 -07:00
Colen Garoutte-Carson 2ad3a4006e Add catch of JSON.parse() when reading install.lock. Update message. (#7312) 2021-04-07 13:03:16 -07:00
csigsandDevDiv Build Lab - Dev14 cc1eb1a977 Localization - Translated Strings (#7308)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-07 10:19:17 -07:00
Colen Garoutte-Carson bdd881b4e7 Add check and message for x64 VSIX on M1 Mac (#7303) 2021-04-06 16:26:56 -07:00
Andreea Isac 0b4f51b32e CMake retention telemetry (#7296)
* CMake retention telemetry
2021-04-06 15:35:11 -07:00
Michelle Matias 25d98de880 Changelog for 1.3.0-insiders4 (#7301) 2021-04-06 11:20:44 -07:00
Michelle Matias 7fa6d48ce4 return false when no hash is specified (#7300) 2021-04-06 10:53:30 -07:00
csigsandDevDiv Build Lab - Dev14 a07827e079 Localization - Translated Strings (#7297)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-06 10:46:06 -07:00
Sean McManus 7290c0ce6a Add C_Cpp.files.exclude. (#7285)
* Add C_Cpp.files.exclude.
2021-04-05 14:51:07 -07:00
Colen Garoutte-Carson cc13a92a06 Relax field requirements for custom configs (#7295) 2021-04-05 14:05:31 -07:00
csigsandDevDiv Build Lab - Dev14 0c1df4edb1 Localization - Translated Strings (#7294)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-05 11:54:27 -07:00
Sean McManus e1cf5abc32 Fix multiroot GoToNextDirectiveInGroup. (#7284) 2021-04-05 10:01:04 -07:00
Michelle Matias d9551d2dcc Support macOS ARM64 vsix (#7278) 2021-04-02 14:59:20 -07:00
csigsandDevDiv Build Lab - Dev14 35d12432e7 Localization - Translated Strings (#7280)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-04-02 11:18:57 -07:00
Colen Garoutte-Carson 8bf86bedcf Strip IsExplicit flags if seen in c_cpp_properties.json (#7272) 2021-04-01 16:51:27 -07:00
Colen Garoutte-Carson 53d99cddc4 Update changelog for 1.3.0-insiders3 (#7263) 2021-03-31 19:09:13 -07:00
Colen Garoutte-Carson 8aa5f40dfa Add CUDA support (#7255) 2021-03-31 15:49:49 -07:00
Colen Garoutte-Carson 7133b63c95 Add commands for navigating between the next/prev preprocessor conditionals in a chain (#7256) 2021-03-31 13:07:05 -07:00
Sean McManus 885881294d Update dependencies. (#7239)
* Update webpack dependencies.
* Update node.
* Update copy-props.
* Update ts-loader to fix warning messages.
* Update mocha.
2021-03-31 11:00:46 -07:00
Sean McManus aecb7d541b Fix activation event (#7253)
* Minor activation event fix.
2021-03-31 10:39:40 -07:00
Sean McManus db7c9c78b9 Fix comment continuation. (#7238)
* Fix comment continuation.
2021-03-31 10:27:20 -07:00
Aleksa Pavlovic 0d2e793df7 Fix compileCommands path resolution (#7242) 2021-03-31 10:01:26 -07:00
Bob Brown 0317f3439d Update README.md 2021-03-31 08:57:28 -07:00
Colen Garoutte-Carson ae2faa7b2d Update changelog for 1.3.0-insiders2 (#7235) 2021-03-25 14:05:15 -07:00
Sean McManus fd63b2674a Update changelog. (#7224)
* Update changelog.
* Change date.
2021-03-24 12:42:04 -07:00
Sean McManus 47b502b965 Update changelog. 2021-03-24 05:57:45 -07:00
Sean McManus 56ac2218d5 Change default for autocompleteAddParentheses (#7210) 2021-03-23 06:36:00 -07:00
Elaheh Rashedi ac0801f75e Merge pull request #7211 from microsoft/ella/asterisk
Modifying the multi-line comment rules
2021-03-22 17:03:51 -04:00
Elaheh Rashedi 0924f5c0e9 fix multiline math formulas 2021-03-22 13:12:46 -07:00
Elaheh Rashedi 0e4389c96f Merge branch 'ella/asterisk' of https://github.com/Microsoft/vscode-cpptools into ella/asterisk 2021-03-22 12:52:44 -07:00
Elaheh Rashedi 61e33bda63 Merge branch 'main' into ella/asterisk 2021-03-22 15:43:01 -04:00
Elaheh Rashedi 80b4c418ad clean code 2021-03-22 12:41:39 -07:00
Elaheh Rashedi 483f9823c8 final testing 2021-03-22 12:36:16 -07:00
Elaheh Rashedi 607bc7af62 test passing 2021-03-22 11:19:39 -07:00
Elaheh Rashedi 905fc0fe9b test failiing 2021-03-22 09:04:39 -07:00
Elaheh Rashedi e79dbfb671 some ranames to avoid confusion 2021-03-21 16:55:02 -07:00
Elaheh Rashedi 217760ea68 save comments 2021-03-21 15:08:40 -07:00
csigsandDevDiv Build Lab - Dev14 71d78e310b Localization - Translated Strings (#7196)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-03-19 10:37:16 -07:00
Elaheh Rashedi b641611b86 update minimumVSCodeVersion 2021-03-18 15:41:56 -07:00
Elaheh Rashedi 50a8c7b1df Merge branch 'main' into ella/asterisk 2021-03-18 14:20:13 -07:00
Elaheh Rashedi f7a1d32bea revert a move 2021-03-18 13:28:26 -07:00
Elaheh Rashedi 062b0a80d3 revert a move 2021-03-18 13:27:00 -07:00
Elaheh Rashedi 81989243ad revert a move 2021-03-18 13:22:14 -07:00
Elaheh Rashedi d37cffa9d8 change split and continue rule 2021-03-18 13:03:03 -07:00
csigsandDevDiv Build Lab - Dev14 bde41134f9 Localization - Translated Strings (#7191)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-03-18 10:12:58 -07:00
csigsandDevDiv Build Lab - Dev14 4497b7fb2b Localization - Translated Strings (#7187)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-03-17 11:28:37 -07:00
Colen Garoutte-Carson 63dbbb8b38 Update changelog date (#7183) 2021-03-16 20:44:21 -07:00
Colen Garoutte-Carson 64cc5c42e7 Update msc version (#7182) 2021-03-16 16:53:54 -07:00
Sean McManus 17f7cd1c2c Avoid running the node-addon code if the setting isn't enabled. (#7140) 2021-03-16 16:13:48 -07:00
Colen Garoutte-Carson 0b66fe2535 Update changelog for insiders (#7181) 2021-03-16 16:13:07 -07:00
Colen Garoutte-Carson 1cc0983315 New edge strings from FI (#7179) 2021-03-16 15:39:10 -07:00
Mestery 828589705d support yarn pnp for nodeAddonIncludes (#7123)
This solves problems with Yarn PnP and node addon includes.
2021-03-15 14:39:23 -07:00
Sean McManus fb0b4d1504 Update TPN. (#7173) 2021-03-15 14:26:24 -07:00
Sean McManus 390c987081 Update xmldom and mocha. (#7172)
* Update xmldom and mocha.
2021-03-15 12:05:55 -07:00
csigsandDevDiv Build Lab - Dev14 87f0b9fdee Localization - Translated Strings (#7169)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-03-15 10:17:36 -07:00
c83637e6fe Localization - Translated Strings (#7142)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
Co-authored-by: Sean McManus <[email protected]>
2021-03-12 15:17:44 -08:00
Michelle Matias c4b44d3038 Add Doxygen tag label "retval" (#6983) 2021-03-12 14:23:35 -08:00
Sean McManus 0b1064ea7d Fix dependencies. (#7132) 2021-03-09 11:00:15 -08:00
Sean McManus 16f5f68ff8 Add autocompleteAddParentheses (#7109)
* autocompleteAddParentheses
Fixes #882
2021-03-08 17:39:54 -08:00
Sean McManus d2cb68506b Fix getDocumenSymbol before didOpen. (#7104) 2021-03-03 21:29:34 -08:00
csigsandDevDiv Build Lab - Dev14 9b290c5a8a Localization - Translated Strings (#7099)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-03-03 10:09:14 -08:00
Michelle Matias 3d49cfa0e7 Update changelog and fwlink for version 1.2.2 (#7052) 2021-02-25 14:29:50 -08:00
Sean McManus 9e7b2d68ad Fix "console" squiggle with "cppdbg". (#7051)
* Fix "console" squiggle with "cppdbg".
* Change "default"
2021-02-25 13:42:13 -08:00
Sean McManus 2199ec324d Update changelog for 1.2.2-insiders2. (#6996) 2021-02-18 17:48:21 -08:00
Sean McManus 4f3e3c8f63 Fix regression. Add test case. (#6993)
* Add test case.
* Fix regression bug.
2021-02-18 15:56:20 -08:00
csigsandDevDiv Build Lab - Dev14 585cb66534 Localization - Translated Strings (#6991)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-02-18 11:14:30 -08:00
Colen Garoutte-Carson 325ea2939d Update CHANGELOG.md for 1.2.2-insiders (#6985) 2021-02-17 14:52:53 -08:00
Colen Garoutte-Carson 1a26463bcb Move initialization of TimeTelemetryCollector (#6984) 2021-02-17 14:33:24 -08:00
csigs 71a1005720 Localization - Translated Strings (#6970) 2021-02-16 11:44:06 -08:00
Elaheh Rashedi fcd84dda26 updating fwlinks and changelog for 1.2.1 (#6960)
* update fwlinks

* update changelog

* change date to 16th
2021-02-12 10:36:34 -08:00
csigsandDevDiv Build Lab - Dev14 dfd4970060 Localization - Translated Strings (#6959)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-02-12 10:20:13 -08:00
Colen Garoutte-Carson 256d0cd95f Update codespaces check to also include VS Code remoting codespaces (#6952) 2021-02-11 15:16:20 -08:00
Sean McManus 9d4238b236 Fix bug with cwd in build tasks. (#6954) 2021-02-11 12:27:03 -08:00
Sean McManus 9ba19af496 Update signed LLDB-MI for mac. (#6956) 2021-02-11 11:18:08 -08:00
csigsandDevDiv Build Lab - Dev14 c15f359d8f Localization - Translated Strings (#6955)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-02-11 09:39:21 -08:00
Elaheh Rashedi 7fc86af212 changelog 1.2.1 (#6949) 2021-02-10 14:49:42 -05:00
csigsandDevDiv Build Lab - Dev14 10c477eb09 Localization - Translated Strings (#6946)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-02-10 09:19:22 -08:00
Michelle Matias 4f4d662541 Add link to Discussions board (#6938) 2021-02-09 14:38:09 -08:00
Sean McManus 9196ba593b Update clang-format style descriptions. (#6914) 2021-02-08 13:45:02 -08:00
chausner 0c6e43c33d Fix typo in README.md (#6918) 2021-02-08 13:15:04 -08:00
Michelle Matias 6514d98b2c Clarify legacy IntelliSense modes in description (#6929) 2021-02-08 13:07:51 -08:00
Sean McManus 64b502b4f2 Fix switch header source with symlinked workspace folders. (#6863) 2021-02-04 11:12:08 -08:00
Sean McManus 3b0b4d1ef0 Merge pull request #6906 from microsoft/localization
[Auto] Localization - Translated Strings
2021-02-04 10:58:07 -08:00
DevDiv Build Lab - Dev14 5661f0a56d Localization - Translated Strings 2021-02-04 15:01:42 +00:00
csigs 1534bc53d8 Localization - Translated Strings (#6899) 2021-02-03 13:56:37 -08:00
Elaheh Rashedi 8c989a057d Merge branch 'main' of https://github.com/Microsoft/vscode-cpptools into ella/asterisk 2021-02-02 13:15:17 -08:00
Elaheh Rashedi 3a0aa9eaa9 add previousLineText from insider release 2021-02-02 13:14:07 -08:00
csigsandDevDiv Build Lab - Dev14 76e427fdb2 Localization - Translated Strings (#6891)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-02-02 11:03:17 -08:00
Sean McManus f17ce8703d Fix CHS translation (#6886)
* Fix CHS translation.
* Update date.
* Update hashes.
2021-02-01 20:14:16 -08:00
csigsandDevDiv Build Lab - Dev14 880277c473 Localization - Translated Strings (#6822)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2021-02-01 13:59:47 -08:00
Sean McManus 3faceeb863 Update changelog and fwlinks (#6872)
* Update changelog.
* Update fwlinks and hashes.
2021-02-01 13:49:24 -08:00
Sean McManus 5746586532 Fix cl.exe not appearing in the compiler list. (#6884) 2021-02-01 12:58:25 -08:00
Sean McManus b1deef866d Fix updateChannel for code-exploration. (#6882) 2021-02-01 12:47:28 -08:00
Sean McManus fb89c1c2d8 Add crash count telemetry. (#6851)
* Add crash count telemetry.
2021-01-26 17:24:06 -08:00
Sean McManus fdda9c2db5 Update changelog. (#6852)
* Update changelog.
2021-01-26 16:59:19 -08:00
Elaheh Rashedi 89cdae0456 avoid throwing error for single-file mode task configuration (#6828)
* change master to main

* ignore single-mode files error

* linter error
2021-01-21 13:48:41 -08:00
Michelle Matias f73a5d169a Use cpptools API v5 (#6823) 2021-01-21 13:01:56 -08:00
Sean McManus 5f94a645d5 1.2.0-insiders2 changelog (#6817)
* Update changelog.
2021-01-19 18:20:44 -08:00
Sean McManus f9b6d18af4 Revert "Remove .dylib filtering. (#6796)" (#6797)
This reverts commit e4809d9f90.
2021-01-15 22:09:16 -08:00
Andrew Wang 51fff8eb42 Add new "console" launch config for cppvsdbg (#6794)
* Add new "console" launch config for vsdbg

This PR adds new console support for the cppvsdbg debug type.

This removes the legacy 'externalConsole' flag with 'console'.
Console has four enums:
- internalConsole: Output to the VS Code Debug Console. This doesn't
  support reading console input (ex:Console.ReadLine)
- integratedTerminal: VS Code's integrated terminal
- externalTerminal: External terminal that can be configured via user
  settings
- newExternalWindow: Console applications will be launched in their own
  external console window which will end when the application stops.
  Non-console applications will run without a terminal, and
  stdout/stderr will be ignored.
2021-01-15 18:09:56 -08:00
Sean McManus e4809d9f90 Remove .dylib filtering. (#6796)
* Remove .dylib filtering.
2021-01-15 16:10:21 -08:00
Sean McManus bbcc3fdcab Fix Go to Symbol in Workspace (#6795)
* Fix Go to Symbol in Workspace
2021-01-15 15:57:20 -08:00
Colen Garoutte-Carson 781e813abd Fix issue with git cleanup in loc auto-pr script (#6786) 2021-01-15 11:44:46 -08:00
Colen Garoutte-Carson 8e8482b527 Fix issue with multiple didOpen (#6784) 2021-01-14 18:21:09 -08:00
Michelle Matias 3e2488a9e7 fix config name UI error (#6783) 2021-01-14 17:15:42 -08:00
Sean McManus 2a94a2b26d Fix configuration status bar issue. Update changelog. (#6782)
* Fix configuration status bar issue. Update changelog.
2021-01-14 17:05:50 -08:00
Sean McManus 51557b5ae9 1.2.0-insiders changelog (#6776)
* Update changelog for 1.2.0-insiders.
* Update version.
2021-01-13 18:40:22 -08:00
Sean McManus 1201a56169 Merge pull request #6775 from microsoft/insiders
Merge to main: implement addNodeAddonIncludePaths (#6731)
2021-01-13 18:16:12 -08:00
Sean McManus 3c32946d88 Merge branch 'main' into insiders 2021-01-13 18:10:08 -08:00
Bruce MacNaughton 41b7678e62 implement addNodeAddonIncludePaths (#6731)
* add addNodeAddonIncludePaths, fix for https://github.com/microsoft/vscode-cpptools/issues/4854
2021-01-13 18:09:01 -08:00
Elaheh Rashedi 1145a49108 show a Squiggle if there is a duplicate configuration name (#6752)
* change master to main

* check for duplicate names

* check duplicates before removing the later configs

* spelling check

* fix spelling error

* add configNameInvalid for UI error(won't show yet)

* show the UI error

* squiggle for all duplicates

* change let to const

* squiggle for first one as well

* let to const
2021-01-13 18:02:59 -08:00
Colen Garoutte-Carson 02c547b60e Update offline links to clang-format (#6774) 2021-01-13 15:30:59 -08:00
Michelle Matias 46e6b87d13 Add triplet IntelliSense modes to support cross-compilation (#6745) 2021-01-13 15:05:30 -08:00
Elaheh Rashedi 1bf090238d edit to compile-commands take effect immediately (#6748)
* draft

* check CompileCommands

* check CompileCommands

* remove updateCompileCommandsFileWatchers

* remove array of filewatchers for compile_commands

* Revert "remove array of filewatchers for compile_commands"

This reverts commit d557c6328cfb32adbe79a098df062c74f651d9e9.

* Revert "remove updateCompileCommandsFileWatchers"

This reverts commit 0e6c03a65b1dfad56b79ae39a4ddfbb9f2c35486.
2021-01-11 10:49:13 -08:00
Sean McManus 438a7e337d Fix SwitchHeaderSource with RevealIfOpen (#6751) 2021-01-08 17:46:13 -08:00
Andrew Wang 4ae2f001fa Update link for Windows Debugger (#6750)
* Update link for Windows Debugger

This PR updated the License.txt when vsdbg is downloaded in
debugAdapters.

See https://github.com/microsoft/vscode-cpptools/pull/6735

* Update integreity hash for the Windows Debugger
2021-01-07 14:59:07 -08:00
Sean McManus effb26733e Update runtime licenses. (#6735)
* Update licenses.
* Update License.md to reference RuntimeLicenses.
2021-01-06 17:27:47 -08:00
Sean McManus 1fa4f67afd Stop falling back to a /usr/bin debugger on Windows, show an error when a non-existent miDebuggerPath is used, and stop showing "unknown error" (#6705)
Fix for #6511 and #6608
* Stop falling back to a /usr/bin debugger on Windows.
* Add error message.
* Fix unknown error.
2021-01-06 14:48:53 -08:00
Sean McManus 6254bb6ad2 Output the cppbuild command used. Fix D warnings. (#6701)
* Output the cppbuild command used. Fixes #6647 .
Also fixes "D" command line warnings with cl.exe.
Move the build result message to the end.
Handle the /nologo case and always shows the logo/header if it exists (but default to use /nologo).
2021-01-06 14:35:13 -08:00
dependabot[bot] bf6bc96437 Bump axios from 0.19.2 to 0.21.1 in /.github/actions (#6743)
Bumps [axios](https://github.com/axios/axios) from 0.19.2 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.19.2...v0.21.1)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-06 14:13:51 -08:00
Sean McManus 71d1f4c701 Remove references to deprecated code. (#6728) 2021-01-04 16:58:06 -08:00
Elaheh Rashedi 26d5679d5d add test 2021-01-04 13:34:44 -08:00
Elaheh Rashedi f297d411df change Rules to TsRules 2020-12-21 13:04:52 -08:00
Sean McManus 2ad35c83c0 Add IntelliSense crashed string and update changelog (#6674)
* Add IntelliSense crashed string.
* Update changelog.
2020-12-21 13:04:06 -08:00
Elaheh Rashedi 72c9f2115e change master to main (#6679)
* change master to main

* master to main
2020-12-17 16:04:38 -08:00
Colen Garoutte-Carson 805f884b17 Handle inactive regions when determining folding ranges (#6667) 2020-12-14 16:22:31 -08:00
Elaheh Rashedi 26726df578 check for valid user compiler path (#6606)
* valid user compiler path

* fix lint error
2020-12-14 13:48:17 -08:00
csigs b7a0279352 Localization - Translated Strings (#6664) 2020-12-14 12:45:24 -08:00
dependabot[bot] f724ae8912 Bump ini from 1.3.5 to 1.3.7 in /Extension (#6653)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-11 15:09:06 -08:00
Sean McManus ab55557ddb Cache call to which.sync('clang-format') (#6645) 2020-12-08 19:25:46 -08:00
Michelle Matias c70dc9e93b Separate "investigate costing" and "investigate" for debugger issue workflows (#6646) 2020-12-08 16:41:21 -08:00
Michelle Matias 0aaf0c5af4 Fix yaml syntax for GitHub actions (#6644) 2020-12-08 15:58:50 -08:00
Michelle Matias 29ff9be9f7 add GitHub actions for debugger issues (#6637) 2020-12-08 13:23:58 -08:00
Sean McManus 52469738d3 Update TPN. (#6529)
* Update TPN.
2020-12-04 13:26:52 -08:00
Sean McManus 8dd2efd090 Merge pull request #6601 from xymeng16/master
Allow extension's x64 binaries to run on Apple Silicon x64 emulator
2020-12-03 17:20:43 -08:00
Sean McManus 07683b02fe Merge branch 'master' into master 2020-12-03 16:13:41 -08:00
Sean McManus a0a7d5b678 Add dependencies for TPN generation. (#6621) 2020-12-03 16:13:15 -08:00
Sean McManus 3e34ba2227 Fix cwd. (#6619)
Fixes #6618
2020-12-03 14:00:20 -08:00
Colen Garoutte-Carson 08a28c3fd5 Add field to activation telemetry for web-based Codespaces (#6609) 2020-12-02 12:22:40 -08:00
Xiangyi Meng 95ae82ff5c Merge branch 'master' into master 2020-12-02 15:08:05 +08:00
Sean McManus 94294dd372 Fix infinite loop after cpptools crashes. (#6604)
* Fix infinite loop after cpptools crashes: https://github.com/microsoft/vscode-cpptools/issues/6603
2020-12-01 15:50:24 -08:00
Sean McManus 61e98c0e0d Fix cppbuild task warnings. (#6557)
* Fix cppbuild task warnings: https://github.com/microsoft/vscode-cpptools/issues/6556
2020-12-01 14:22:59 -08:00
Xiangyi Meng bb910aa280 Add support to Apple Silicon 2020-12-01 20:17:23 +08:00
Sean McManus a6c7ffd8f5 Update a loc string. (#6577) 2020-11-25 20:30:57 -08:00
Elaheh Rashedi 4c2124ebf4 Add localization to strings in LanguageServer\cppBuildTaskProvider.ts (#6544)
* localizing for task provider

* localize single_file_mode_not_available

* remove end of line from localalized string

* modify error(s)

* remove space from localized string

* remove space from localized string
2020-11-25 15:13:31 -08:00
Sean McManus aefe53cab1 Update IntelliSense strings. (#6528) 2020-11-20 12:31:25 -08:00
Sean McManus ce3d3fa403 Fix build task bugs. (#6539)
* Fix build task bugs.
* Use VS Code's variable resolution.
2020-11-19 16:09:03 -08:00
Colen Garoutte-Carson 55a9117ecf Remove telemetry for remoteName (#6537) 2020-11-18 12:54:16 -08:00
guntern e5d08d2a9e fixed problemmatcher regexp (#6490)
* fixed problemmatcher regexp so that it should work with compilers not printing the column
Co-authored-by: guntern <[email protected]>
2020-11-17 14:21:23 -08:00
csigsandazure-pipelines[bot] 3194b10e62 Localization - Translated Strings (#6533)
Co-authored-by: azure-pipelines[bot] <azure-pipelines[bot]@users.noreply.github.com>
2020-11-17 11:39:46 -08:00
Colen Garoutte-Carson 12c653fa7b Do not prompt Web-based Codespaces users to join Insiders (#6513) 2020-11-16 14:34:24 -08:00
csigsandazure-pipelines[bot] 0c32d707ab Localization - Translated Strings (#6523)
Co-authored-by: azure-pipelines[bot] <azure-pipelines[bot]@users.noreply.github.com>
2020-11-16 12:44:47 -08:00
Colen Garoutte-Carson b4e2a8457f Automatically fall back to config provider (#6504) 2020-11-13 14:29:02 -08:00
csigs f6d7577688 Localization - Translated Strings (#6499) 2020-11-11 12:54:47 -08:00
Colen Garoutte-Carson c026a827c6 Replace uses of 'probe' with 'query' (#6495) 2020-11-10 18:57:09 -08:00
Sean McManus 55421659dc Remove symbol_add_failed. (#6493)
* Remove unused strings.
2020-11-10 17:15:28 -08:00
Sean McManus 1a718f3f0e Fix fileDirname. (#6482) 2020-11-10 15:12:12 -08:00
Colen Garoutte-Carson 68078182bf Command to generate .editorconfig file (#6415) 2020-11-10 13:22:48 -08:00
Colen Garoutte-Carson 7bcbea62e9 Replace uses of process.env.HOME with os.homedir() (#6479) 2020-11-10 13:10:58 -08:00
csigs ec66642c60 Localization - Translated Strings (#6487) 2020-11-10 11:58:44 -08:00
Colen Garoutte-Carson 4119b6c263 Add string for log message regarding compiler probeability (#6463) 2020-11-09 21:45:17 -08:00
Sean McManus 49d9cfd5ee Fix invalid architectures. (#6480)
* Fix invalid architectures.
2020-11-09 15:56:54 -08:00
csigsandazure-pipelines[bot] 6867272d06 Localization - Translated Strings (#6477)
Co-authored-by: azure-pipelines[bot] <azure-pipelines[bot]@users.noreply.github.com>
2020-11-09 09:50:26 -08:00
csigs 890dae3a87 Localization - Translated Strings (#6455) 2020-11-06 11:30:56 -08:00
Sean McManus 9a7fa21028 Update cpptools.json (#6452)
* Update cpptools.json
2020-11-05 19:09:49 -08:00
Sean McManus 64de2af400 Update changelog and integrity hashes. (#6447) 2020-11-05 15:24:18 -08:00
csigs 646c3e5ca5 Localization - Translated Strings (#6440) 2020-11-04 12:10:23 -08:00
Elaheh Rashedi f0be1a2d76 add detail to menuItem (#6435) 2020-11-03 16:18:41 -08:00
Elaheh Rashedi df8523e550 "F5" using the correct build task (#6420)
* shows details correctly

* change default name

* generating unique names

* lint errors

* lint errors

* modify resolvetask

* modify details
2020-11-03 14:39:48 -08:00
David Sanders 7d7b898ee6 Fix whitespace in imports (#6421) 2020-11-03 14:12:09 -08:00
Elaheh Rashedi a94de6edff update changelog for insiders 4 (#6429)
* insiders 4

* order

* order 2

* PR #
2020-11-03 13:05:29 -08:00
csigsandDevDiv Build Lab - Dev14 6fbf85df90 Localization - Translated Strings (#6432)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-11-03 10:07:38 -08:00
csigsandDevDiv Build Lab - Dev14 dfa59e12aa Localization - Translated Strings (#6425)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-11-02 11:25:55 -08:00
Colen Garoutte-Carson 5a5903ab25 Add telemetry for machineId changes and remoteName (#6419) 2020-10-30 17:22:49 -07:00
Colen Garoutte-Carson fc7cdac41b Fix paths to edge message files (#6418) 2020-10-30 16:22:02 -07:00
Andrew Wang 68733b4ea6 Update DebugServerPath description (#6414) 2020-10-30 14:17:48 -07:00
csigsandDevDiv Build Lab - Dev14 9a9d58f76b Localization - Translated Strings (#6416)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-10-30 10:15:11 -07:00
Sean McManus 3dd3e8857f Don't register cppvsdbg for Windows ARM. (#6401) 2020-10-29 13:33:07 -07:00
Colen Garoutte-Carson b25e5192bb Various bug fixes with vcFormat (#6408) 2020-10-29 11:37:09 -07:00
csigs c18f3f67b3 Localization - Translated Strings (#6405) 2020-10-28 12:49:22 -07:00
Elaheh Rashedi e5b3136d3b show details of the compiler path (#6377)
* show details of the compiler path

* remove detail from launch.json

* rename noDetailConfig

* lint error

* add comments
2020-10-27 17:26:01 -07:00
Elaheh Rashedi 554c91430b fix terminal issues (windows/linux/linux-on-wsl verified) (#6384)
* fix tab issues on g++ on windows

* add ;

* windows+linux verified
2020-10-27 13:03:28 -07:00
csigs 5ee1034856 Localization - Translated Strings (#6400) 2020-10-27 11:11:11 -07:00
Andrew Wang dcc1f93f1c ResolveDebugConfigurationWithSubstitutedVariable (#6382)
Add resolveDebugConfigurationWithSubstitutedVariables for
configurationProviders.

Keeping resolveDebugConfiguration to return null if type is not provided
in order to prompt `provideDebugConfiguration`.
2020-10-26 15:00:21 -07:00
csigsandDevDiv Build Lab - Dev14 7690c1a1dd Localization - Translated Strings (#6380)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-10-26 13:21:41 -07:00
Elaheh Rashedi 3832029be4 don't overwrite options and args (#6374)
* dont overwrite options and args

* linter error

* update changelog
2020-10-22 16:47:23 -07:00
Sean McManus 61ab30fe87 Fix insiders bug. (#6373) 2020-10-22 14:56:12 -07:00
Andrew Wang 839eefa032 [cppdbg] Support new sourceFileMap schema (#6319)
* [cppdbg] Support new sourceFileMap schema

For cppdbg, sourceFileMap can be used for binding breakpoints.
If keeping with the old format "<source-path>":"<target-path>", it will
always be used for breakpoints.

If you use the new:
"<compile-path>" : {
   "editorPath": "<target-path>",
   "useForBreakpoints": true
}

The sourceMap will only be used for frame enumeration.

* Fix linter issues

* Addressing PR comments
2020-10-22 13:36:06 -07:00
Sean McManus 7779eb0a56 update1 1 0 insider3 changelog (#6371)
* Update changelog.
2020-10-22 13:27:16 -07:00
csigsandDevDiv Build Lab - Dev14 da43cf9b15 Localization - Translated Strings (#6367)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-10-21 11:20:54 -07:00
Sean McManus 73653f894e Fixes for Windows ARM64 (#6337)
* Fixes for Windows ARM64
* Update node types version.
2020-10-20 19:38:16 -07:00
余腾靖 12feb81aa1 Add intelliSenseUpdateDelay setting (#6344)
* Add intelliSenseUpdateDelay setting
* Typo: settings_spaceWithinSquareBracketse -> settings_spaceWithinSquareBrackets
2020-10-20 10:54:37 -07:00
Elaheh Rashedi e41b32c5cd setup time (#6351) 2020-10-19 12:59:38 -07:00
Colen Garoutte-Carson f73d351981 Action bug fixes (#6336) 2020-10-16 17:44:29 -07:00
Elaheh Rashedi 5f43d5fcc1 add telemetry updates for openfile (#6257)
* copy ClientCollection.ts

* copy extension.ts

* copy client.ts

* rename LS message

* create new file

* spath to path

* remove uri with logged telemtery

* fix linter errors

* fix linter errors 2

* fix linter error 3

* change warm start collection

* nit

* bring setDidOpenTime to the beginnign of didOpen

* reply to reviews
2020-10-16 17:18:54 -07:00
Colen Garoutte-Carson 444b3ccb9e Add action to reopen feature requests that get enough votes (#6305) 2020-10-16 14:14:12 -07:00
Sean McManus a052d76f62 Revert "Use 'resolveDebugConfigWithSubVariables' (#6328)" (#6331)
This reverts commit 2ec525e129.
2020-10-15 19:46:51 -07:00
Colen Garoutte-Carson 8ac65e65b5 Only show warning channel the first time populated (#6330) 2020-10-15 17:55:42 -07:00
Andrew Wang 2ec525e129 Use 'resolveDebugConfigWithSubVariables' (#6328)
This PR uses the
DebugConfigurationProvider.resolveDebugConfigurationWithSubstitutedVariables
which allows the debug configuration to wait for the preLaunchTask to
complete before continuing on and resolving variables that may have been
set in the 'tasks.json'.

This also resolves the logging issue where the 'Build and Debug Active
File' preLaunchTask uses the current file but we switch to the output
window for logging.
2020-10-15 16:13:32 -07:00
Sean McManus b124e441fa Update changelog for 1.1.0-insiders2. (#6327) 2020-10-15 15:55:41 -07:00
Colen Garoutte-Carson ff6fd3473b Remove files for Azure Pipeline CI (#6313) 2020-10-13 21:44:35 -07:00
Colen Garoutte-Carson da110e78f0 CI workflows based on GitHub actions (#6312) 2020-10-13 20:07:52 -07:00
Colen Garoutte-Carson 89f609d70b Prevent config warnings from stealing user focus (#6310) 2020-10-13 19:45:57 -07:00
Andrew Wang 9dfb2c6060 Fix 'Build and Debug Active File' race condition with EngineLogs (#6304)
* Fix 'Build and Debug Active File' race condition with EngineLogs

If users use 'Build and Debug Active File' with "engineLogging", the resolveDebugConfigurations will quickly switch to the output window and `${fileBasenameNoExtension}` will resolve to something similar to `./extension-output-#5`.

This may be a bug with VS Code determining the output window to be a file, but this will unblock users who need to enable engine logging for this scenario.
2020-10-13 17:01:59 -07:00
Colen Garoutte-Carson 20759af979 Regenerate action JS files (#6306) 2020-10-13 13:41:03 -07:00
Colen Garoutte-Carson 2dbe8e4366 Fix issue causing locker action to lock closed issues too early (#6303) 2020-10-13 12:00:22 -07:00
Sean McManus f94e7e05e0 Update changelog. (#6299)
* Update changelog.
2020-10-13 01:03:30 -07:00
Sean McManus aa2b618ff6 Update VS version. (#6298) 2020-10-12 18:31:20 -07:00
Colen Garoutte-Carson 551642a987 Add timestamps to config warning output (#6297) 2020-10-12 18:10:02 -07:00
csigs c1c59368c1 Localization - Translated Strings (#6295) 2020-10-12 12:59:42 -07:00
Colen Garoutte-Carson 6aa6146689 Add closers for 'by design' and 'duplicate' issues (#6286) 2020-10-09 13:23:54 -07:00
csigsandvs-mobiletools-engineering-service2 558a3cf892 Localization - Translated Strings (#6287)
Co-authored-by: vs-mobiletools-engineering-service2 <[email protected]>
2020-10-09 10:23:24 -07:00
Colen Garoutte-Carson 659cc18243 Corrected some missed occurances of gnu18 -> gnu17 (#6284) 2020-10-08 17:49:34 -07:00
Colen Garoutte-Carson 1e5c015f99 Restrict feature request close action to Triage and Backlog milestones (#6283) 2020-10-08 16:15:33 -07:00
Colen Garoutte-Carson 225a8631d2 Add custom actions to close and lock stale issues (#6241) 2020-10-08 14:11:31 -07:00
csigsandvs-mobiletools-engineering-service2 b8cd5d8bb0 Localization - Translated Strings (#6274)
Co-authored-by: vs-mobiletools-engineering-service2 <[email protected]>
2020-10-08 10:45:07 -07:00
csigs 9fcdafb9cc [Auto] Localization - Translated Strings (#6268) 2020-10-07 16:43:48 -07:00
Sean McManus c71e06a208 Update changelog for 1.1.0-insiders. (#6263) 2020-10-06 16:14:01 -07:00
csigsandDevDiv Build Lab - Dev14 77319d5ce0 Localization - Translated Strings (#6261)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-10-06 16:02:59 -07:00
Michelle Matias 7dcf4db276 Add memory usage limit of an IntelliSense process (#6240) 2020-10-05 14:19:12 -07:00
csigs eac4703376 Localization - Translated Strings (#6253) 2020-10-05 12:35:50 -07:00
csigsandDevDiv Build Lab - Dev14 ca4482d664 Localization - Translated Strings (#6243)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-10-02 10:51:25 -07:00
Sean McManus b31c42e629 Update IntelliSense localized strings. (#6220) 2020-10-01 16:28:18 -07:00
csigs 754dd9a440 Localization - Translated Strings (#6233) 2020-09-30 12:10:32 -07:00
Elaheh Rashedi 25dc96ac27 build clang-format binary for Windows32 instead of 64 (#6223)
* update fwlink

* updare integrity
2020-09-29 22:57:58 -07:00
Sean McManus 1a03dd2a1d Add runtime licenses (#6140)
* Add RuntimeLicenses
* Update version and fwlinks.
* Update gitignore.
2020-09-29 13:36:19 -07:00
csigsandDevDiv Build Lab - Dev14 2136b84aae Localization - Translated Strings (#6227)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-09-29 10:23:11 -07:00
Colen Garoutte-Carson 9c835e5370 Add logging/warnings when compile probing alters explicit user configuration details (#6180) 2020-09-28 17:26:34 -07:00
csigsandDevDiv Build Lab - Dev14 0a09372f61 Localization - Translated Strings (#6219)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-09-28 10:06:11 -07:00
Sean McManus af1ab619e6 Merge pull request #6187 from microsoft/bobbrow/mergeToMaster
Merge changes made in release branch to master
2020-09-25 16:07:14 -07:00
Colen Garoutte-Carson d07c90b6aa Merge branch 'master' into bobbrow/mergeToMaster 2020-09-24 14:03:19 -07:00
csigs 1b8f652d97 Localization - Translated Strings (#6155) 2020-09-24 14:02:59 -07:00
Elaheh Rashedi 7817a10b5f remove extra telemtery (#6206) 2020-09-24 12:59:21 -07:00
Michelle Matias 6eeff1ab02 Disable Linux test (#6203) 2020-09-23 17:22:05 -07:00
Colen Garoutte-Carson bc0770aa9b Revert "Add showWarning message and output channel"
This reverts commit d737c07a10.
2020-09-22 17:54:06 -07:00
Colen Garoutte-Carson d737c07a10 Add showWarning message and output channel 2020-09-22 17:32:40 -07:00
40e28c2a85 Task Provider Feature (#5659)
* adding standard std version to clang_format_style

* add new cppBuildTaskProvider

* add Sean's changes  to tasks

* draft

* draft 2

* draft 3 - working

* windows version

* fix cwd path

* fix cwd

* change header and source file set

* minor changes

* make new instance

* create new instance

* remove compilerPath input

* review changes

* solving the error due to space in file name

* showing the error message

* fix lint

* add set timeout and setinterval from timers

* Rename cppbuildTaskProvider.ts to cppBuildTaskProvider.ts

* fire the events with zero

* delete filewatcher

* localize strings

* change changelog.md

* changelog

* changelog

* change format

* wait dobuild

* use checkFileExists

* after test

* after test2

* add properties

* change the doBuild

* this.closeEmitter.fire(result);

* change doBuild

* very minor change

* label vs name resolved

* draft

* draft for Sean

* before cleaning the code

* Stable, Clean, Before API proposal

* adding details to the tasks menue

* add TODO

* remove extra ",remove description,merge from local

* remove task rename in this versoin

* remove TODOs

* merge the "default" stuff

* remove some parts of proposals

* fix linter errors

* add import * as which from 'which';

* clean up the code after version 1.0.0

* add new line

* adapt to the new Vs Code API

* linter error

* revert changelog

Co-authored-by: Elaheh Rashedi <[email protected]>
Co-authored-by: Sean McManus <[email protected]>
2020-09-22 12:52:10 -07:00
Bob Brown (DEVDIV) 79d0b01722 Merge branch 'bobbrow/mergeToMaster' of https://github.com/Microsoft/vscode-cpptools into bobbrow/mergeToMaster 2020-09-22 10:25:24 -07:00
Bob Brown (DEVDIV) 8ad680b57b removing duplicate installation stage 2020-09-22 10:25:19 -07:00
Bob Brown 1822556dc2 Merge branch 'master' into bobbrow/mergeToMaster 2020-09-22 10:22:23 -07:00
Bob Brown (DEVDIV) f2ca7a2c03 update package.json 2020-09-22 10:20:27 -07:00
csigs 348be98436 Localization - Translated Strings (#6146) 2020-09-15 14:37:24 -07:00
Colen Garoutte-Carson 927a0a8995 Fix casing of some loc strings (#6098) 2020-09-15 13:45:03 -07:00
Colen Garoutte-Carson 9f8a5ad797 Fix issue with LSP process not getting shut down gracefully (#6141) 2020-09-15 13:23:46 -07:00
Sean McManus 27b5faca11 Merge pull request #5998 from devabhishekpal/provider_5871
Refactored provider classes from client.ts to providers.ts
2020-09-14 18:07:08 -07:00
Sean McManus fc72913cb5 Merge branch 'master' into provider_5871 2020-09-14 14:44:58 -07:00
Sean McManus 857256b753 Update node-fetch. (#6119) 2020-09-14 14:35:29 -07:00
Sean McManus c2af2c9296 Fix jsonc handling for non-active c_cpp_properties.json. (#6133) 2020-09-14 14:15:02 -07:00
Abhishek Pal 6aab5a14f7 Merge branch 'master' into provider_5871 2020-09-10 20:23:52 +05:30
Abhishek Pal c1a5f25b5b Update renameProvider.ts 2020-09-10 17:08:23 +05:30
Abhishek Pal be06726777 Update onTypeFormattingEditProvider.ts 2020-09-10 17:07:55 +05:30
Abhishek Pal 888d38632a Update documentSymbolProvider.ts 2020-09-10 17:07:30 +05:30
Abhishek Pal 2f35092acf Update documentFormattingEditProvider.ts 2020-09-10 17:07:01 +05:30
Abhishek Pal 75b4240b3e Update client.ts 2020-09-10 17:06:09 +05:30
Abhishek Pal b5ac4e8515 Update .eslintrc.js
Updated .eslintrc.js
2020-09-10 15:47:00 +05:30
Abhishek Pal 99b956c319 Update client.ts
Fixed linter errors
2020-09-10 00:37:43 +05:30
Abhishek Pal dd1ab75d13 Fixed eror on line 1360 2020-09-09 14:36:33 +05:30
Sean McManus 58e60ac36a Merge branch 'master' into provider_5871 2020-09-08 12:14:47 -07:00
Abhishek Pal e1596fe3a9 Updated client with current master and fixed extra spaces 2020-09-06 00:27:06 +05:30
Abhishek Pal 66a9890551 Revert "Undo previous commit and changing variables to public static"
This reverts commit d04aa1c4a5.
2020-09-05 23:13:10 +05:30
Abhishek Pal d04aa1c4a5 Undo previous commit and changing variables to public static 2020-09-04 16:44:53 +05:30
Abhishek Pal 536a94ca3d Revert "Refactored the params into DefaultClient as static members"
This reverts commit ff24cdf33a.
2020-09-04 16:27:00 +05:30
devabhishekpal ff24cdf33a Refactored the params into DefaultClient as static members 2020-09-02 14:16:39 +05:30
Abhishek Pal babafd20d0 Merge branch 'master' into provider_5871 2020-08-26 14:18:23 +05:30
Abhishek Pal d688979d4f Moved all providers to Providers folder and removed holder classes 2020-08-26 14:17:35 +05:30
Abhishek Pal f9c1dec542 Deleted wrong commit 2020-08-25 22:53:23 +05:30
Abhishek Pal 834bfbc8eb Add localization title and changed sentence 2020-08-25 22:47:02 +05:30
Abhishek Pal 64cf9270ed Merge branch 'provider_5871' of https://github.com/devabhishekpal/vscode-cpptools into provider_5871 2020-08-22 16:46:58 +05:30
Abhishek Pal 02cc49b5ab Refixed spaces for linting 2020-08-22 16:46:37 +05:30
Abhishek Pal 742299309b Merge branch 'master' into provider_5871 2020-08-22 16:42:35 +05:30
Abhishek Pal 42664952a1 Fixed linting issues 2020-08-22 16:40:21 +05:30
Abhishek Pal 5aa64f156d Created individual files for providers 2020-08-22 16:16:43 +05:30
Abhishek Pal d390344167 Merge branch 'provider_5871' of https://github.com/devabhishekpal/vscode-cpptools into provider_5871 2020-08-21 23:41:19 +05:30
Abhishek Pal 8e2b2e67b7 Added comment lines for azure pipeline error 2020-08-21 23:40:46 +05:30
Sean McManus ea26e533c0 Merge branch 'master' into provider_5871 2020-08-21 10:08:05 -07:00
Abhishek Pal 18b7f8d8e4 Fixed lint errors in Azure pipeline 2020-08-21 16:16:55 +05:30
Abhishek Pal fa1b16293e Refactored provider classes from client.ts 2020-08-21 16:00:53 +05:30
374 changed files with 17437 additions and 6703 deletions
+5
View File
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Discussion or question
url: https://github.com/microsoft/vscode-cpptools/discussions/new
about: Please use our Discussions board to start a discussion or to ask a question.
+10 -9
View File
@@ -1,6 +1,6 @@
---
name: Debugger
about: Issues pertaining to debugging such as call stack, breakpoints, watch window,
name: Bug Report - Debugger
about: Create a bug report for debugging such as call stack, breakpoints, watch window,
launching or attaching to a debuggee.
title: ''
labels: ''
@@ -8,16 +8,15 @@ assignees: ''
---
Type: Debugger
<!----- Input information below ----->
Bug type: Debugger
<!--
**Prior to filing an issue, please review:**
- Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
- Our documentation at https://code.visualstudio.com/docs/languages/cpp
- FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
<!-- Prior to creating a bug report, please review:
📝 Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
📜 Our documentation at https://code.visualstudio.com/docs/languages/cpp
📙 FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
-->
**Describe the bug**
- OS and Version:
- VS Code Version:
@@ -25,6 +24,7 @@ Type: Debugger
- Other extensions you installed (and if the issue persists after disabling them):
- A clear and concise description of what the bug is.
**To Reproduce**
*Please include a code sample and `launch.json` configuration.*
Steps to reproduce the behavior:
@@ -33,6 +33,7 @@ Steps to reproduce the behavior:
3. Scroll down to '....'
4. See error
**Additional context**
*If applicable, please include logging by adding "logging": { "engineLogging": true, "trace": true, "traceResponse": true } in your `launch.json`*
Add any other context about the problem here including log or error messages in your Debug Console or Output windows.
+17
View File
@@ -0,0 +1,17 @@
---
name: Feature Request
about: Suggest an idea for this extension.
title: ''
labels: ''
assignees: ''
---
Type: Feature Request
<!-- Prior to creating a feature request, please review
existing issues at https://github.com/Microsoft/vscode-cpptools/issues
to avoid creating duplicates.
-->
<!-- Describe the feature you'd like. -->
+15 -12
View File
@@ -1,22 +1,21 @@
---
name: General Extension
about: Issues pertaining to downloading, installing, or building the extension.
name: Bug Report - General Extension
about: Create a bug report for downloading, installing, or building the extension.
title: ''
labels: ''
assignees: ''
---
Type: General
<!----- Input information below ----->
Bug type: General
<!--
**Prior to filing an issue, please review:**
- Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
- Our documentation at https://code.visualstudio.com/docs/languages/cpp
- FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
<!-- Prior to creating a bug report, please review:
📝 Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
📜 Our documentation at https://code.visualstudio.com/docs/languages/cpp
📙 FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
-->
**Describe the bug**
- OS and Version:
- VS Code Version:
@@ -24,6 +23,7 @@ Type: General
- Other extensions you installed (and if the issue persists after disabling them):
- A clear and concise description of what the bug is.
**To Reproduce**
*Please include code sample and `task.json` files.*
Steps to reproduce the behavior:
@@ -32,11 +32,14 @@ Steps to reproduce the behavior:
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
<!-- A clear and concise description of what you expected to happen. -->
**Screenshots**
If applicable, add screenshots to help explain your problem.
<!-- If applicable, add screenshots to help explain your problem. -->
**Additional context**
Add any other context about the problem here including log messages from the Output window.
<!-- Add any other context about the problem here including log messages from the Output window. -->
+31 -24
View File
@@ -1,58 +1,65 @@
---
name: Language Service
about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
name: Bug Report - Language Service
about: 'Create a bug report for IntelliSense, autocomplete, code editing, code navigation, etc.'
title: ''
labels: ''
assignees: ''
---
**Type: LanguageService**
<!----- Input information below ----->
Bug type: Language Service
<!--
**Prior to filing an issue, please review:**
- Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
- Our documentation at https://code.visualstudio.com/docs/languages/cpp
- FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
<!-- Prior to creating a bug report, please review:
📝 Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
📜 Our documentation at https://code.visualstudio.com/docs/languages/cpp
📙 FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
-->
**Describe the bug**
- OS and Version:
- VS Code Version:
- C/C++ Extension Version:
- Other extensions you installed (and if the issue persists after disabling them):
- Does this issue involve using SSH remote to run the extension on a remote machine?:
- If using SSH remote, specify OS of remote machine:
- A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).
**Steps to reproduce**
<!-- Provide clear steps to reproduce the behavior: -->
<!-- *The most actionable issue reports include a code sample including configuration files such as c_cpp_properties.json* -->
<!-- Provide clear steps to reproduce the bug: -->
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->
<!-- Please provide the following logs that show diagnostics and debugging information about the language server.
1. Logs from the command `C/C++: Log Diagnostics`
2. Logs from [the language server](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-language-server)
-->
<details>
<summary><strong>Logs</strong></summary>
<!-- Note: do not remove empty line after </summary> tag, otherwise the code blocks formatting won't show correctly. -->
```
Insert logs here.
```
</details>
**Code sample and logs**
<!-- Please provide code sample, your c_cpp_properties.json and logs. -->
- Code sample
- Configurations in `c_cpp_properties.json`
- Logs from running `C/C++: Log Diagnostics` from the VS Code command palette
- Logs from [the language server logging](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-language-server)
**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->
**Additional context**
<!--
* Call Stacks: For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
Providing call stacks:
For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
Instructions for attaching debugger to language service process:
https://github.com/microsoft/vscode-cpptools/wiki/Attaching-debugger-to-cpptools-or-cpptools%E2%80%90srv.
Performance analysis:
For a performance issue see instructions at https://github.com/microsoft/vscode-cpptools/wiki/Troubleshooting-Performance-Issues.
-->
+3
View File
@@ -0,0 +1,3 @@
# ignore dependency packages
node_modules
*.js.map
+43
View File
@@ -0,0 +1,43 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Locker = void 0;
const utils_1 = require("../common/utils");
const ActionBase_1 = require("../common/ActionBase");
class Locker extends ActionBase_1.ActionBase {
constructor(github, daysSinceClose, daysSinceUpdate, labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
this.github = github;
this.daysSinceClose = daysSinceClose;
this.daysSinceUpdate = daysSinceUpdate;
}
async run() {
const closedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceClose);
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceUpdate);
const query = this.buildQuery((this.daysSinceClose ? `closed:<${closedTimestamp} ` : "") + (this.daysSinceUpdate ? `updated:<${updatedTimestamp} ` : "") + "is:closed is:unlocked");
for await (const page of this.github.query({ q: query })) {
await Promise.all(page.map(async (issue) => {
const hydrated = await issue.getIssue();
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
// TODO: Verify closed and updated timestamps
) {
console.log(`Locking issue ${hydrated.number}`);
await issue.lockIssue();
}
else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is already locked. Ignoring`);
}
else if (hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`);
}
}
}));
}
}
}
exports.Locker = Locker;
//# sourceMappingURL=Locker.js.map
+55
View File
@@ -0,0 +1,55 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { GitHub, Issue } from '../api/api'
import { daysAgoToHumanReadbleDate } from '../common/utils'
import { ActionBase } from '../common/ActionBase'
export class Locker extends ActionBase {
constructor(
private github: GitHub,
private daysSinceClose: number,
private daysSinceUpdate: number,
labels?: string,
milestoneName?: string,
milestoneId?: string,
ignoreLabels?: string,
ignoreMilestoneNames?: string,
ignoreMilestoneIds?: string,
minimumVotes?: number,
maximumVotes?: number
)
{
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
}
async run() {
const closedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceClose)
const updatedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceUpdate)
const query = this.buildQuery((this.daysSinceClose ? `closed:<${closedTimestamp} ` : "") + (this.daysSinceUpdate ? `updated:<${updatedTimestamp} ` : "") + "is:closed is:unlocked");
for await (const page of this.github.query({ q: query })) {
await Promise.all(
page.map(async (issue) => {
const hydrated = await issue.getIssue()
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
// TODO: Verify closed and updated timestamps
) {
console.log(`Locking issue ${hydrated.number}`)
await issue.lockIssue()
} else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is already locked. Ignoring`)
} else if (hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`)
}
}
}),
)
}
}
}
+33
View File
@@ -0,0 +1,33 @@
name: Locker
description: Lock closed issues and PRs after some time has passed
inputs:
token:
description: GitHub token with issue, comment, and label read/write permissions
default: ${{ github.token }}
daysSinceClose:
description: Days to wait since closing before locking the item
required: true
daysSinceUpdate:
description: days to wait since the last interaction before locking the item
required: true
milestoneName:
description: items with these milestones will be considered (name only, must match ID)
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
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)
ignoreLabels:
description: items with these labels will not be considered
minimumVotes:
descriptions: Only issues with at least this many votes will be considered.
maximumVotes:
descriptions: Only issues fewer or equal to this many votes will be considered.
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 Locker_1 = require("./Locker");
const Action_1 = require("../common/Action");
class LockerAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'Locker';
}
async onTriggered(github) {
await new Locker_1.Locker(github, +utils_1.getRequiredInput('daysSinceClose'), +utils_1.getRequiredInput('daysSinceUpdate'), utils_1.getInput('labels') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoreLabels') || undefined, utils_1.getInput('ignoreMilestoneNames') || undefined, utils_1.getInput('ignoreMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999)).run();
}
}
new LockerAction().run(); // eslint-disable-line
//# sourceMappingURL=index.js.map
+31
View File
@@ -0,0 +1,31 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit } from '../api/octokit'
import { getInput, getRequiredInput } from '../common/utils'
import { Locker } from './Locker'
import { Action } from '../common/Action'
class LockerAction extends Action {
id = 'Locker'
async onTriggered(github: OctoKit) {
await new Locker(
github,
+getRequiredInput('daysSinceClose'),
+getRequiredInput('daysSinceUpdate'),
getInput('labels') || undefined,
getInput('milestoneName') || undefined,
getInput('milestoneId') || undefined,
getInput('ignoreLabels') || undefined,
getInput('ignoreMilestoneNames') || undefined,
getInput('ignoreMilestoneIds') || undefined,
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999)
).run()
}
}
new LockerAction().run() // eslint-disable-line
+72
View File
@@ -0,0 +1,72 @@
"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.Reopener = void 0;
const ActionBase_1 = require("../common/ActionBase");
class Reopener extends ActionBase_1.ActionBase {
constructor(github, alsoApplyToOpenIssues, addLabels, removeLabels, reopenComment, setMilestoneId, labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
this.github = github;
this.alsoApplyToOpenIssues = alsoApplyToOpenIssues;
this.addLabels = addLabels;
this.removeLabels = removeLabels;
this.reopenComment = reopenComment;
this.setMilestoneId = setMilestoneId;
}
async run() {
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
console.log(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
const query = this.buildQuery((this.alsoApplyToOpenIssues ? "" : "is:closed ") + "is:unlocked");
for await (const page of this.github.query({ q: query })) {
await Promise.all(page.map(async (issue) => {
const hydrated = await issue.getIssue();
if (!hydrated.locked && (this.alsoApplyToOpenIssues || hydrated.open === false) && this.validateIssue(hydrated)
// TODO: Verify closed and updated timestamps
) {
if (hydrated.open === false) {
console.log(`Reopening issue ${hydrated.number}`);
await issue.reopenIssue();
}
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
console.log(`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) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
if (this.reopenComment) {
console.log(`Posting comment to issue ${hydrated.number}.`);
await issue.postComment(this.reopenComment);
}
}
else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is locked. Ignoring`);
}
else if (!this.alsoApplyToOpenIssues && hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`);
}
}
}));
}
}
}
exports.Reopener = Reopener;
//# sourceMappingURL=Reopener.js.map
+84
View File
@@ -0,0 +1,84 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { GitHub, Issue } from '../api/api'
import { ActionBase } from '../common/ActionBase'
export class Reopener extends ActionBase {
constructor(
private github: GitHub,
private alsoApplyToOpenIssues: boolean,
private addLabels?: string,
private removeLabels?: string,
private reopenComment?: string,
private setMilestoneId?: string,
labels?: string,
milestoneName?: string,
milestoneId?: string,
ignoreLabels?: string,
ignoreMilestoneNames?: string,
ignoreMilestoneIds?: string,
minimumVotes?: number,
maximumVotes?: number
)
{
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
}
async run() {
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
console.log(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
const query = this.buildQuery((this.alsoApplyToOpenIssues ? "": "is:closed ") + "is:unlocked");
for await (const page of this.github.query({ q: query })) {
await Promise.all(
page.map(async (issue) => {
const hydrated = await issue.getIssue()
if (!hydrated.locked && (this.alsoApplyToOpenIssues || hydrated.open === false) && this.validateIssue(hydrated)
// TODO: Verify closed and updated timestamps
) {
if (hydrated.open === false) {
console.log(`Reopening issue ${hydrated.number}`)
await issue.reopenIssue()
}
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`)
await issue.setMilestone(+this.setMilestoneId)
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
console.log(`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) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`)
await issue.addLabel(addLabel)
}
}
}
if (this.reopenComment) {
console.log(`Posting comment to issue ${hydrated.number}.`)
await issue.postComment(this.reopenComment)
}
} else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is locked. Ignoring`)
} else if (!this.alsoApplyToOpenIssues && hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`)
}
}
}),
)
}
}
}
+37
View File
@@ -0,0 +1,37 @@
name: Locker
description: Lock closed issues and PRs after some time has passed
inputs:
token:
description: GitHub token with issue, comment, and label read/write permissions
default: ${{ github.token }}
alsoApplyToOpenIssues:
description: If true, applies to issues that are already opened (to add/remove labels, etc., but not reopen).
addLabels:
description: Labels to add to issue as it is reopend.
reopenComment:
description: Comment to add upon reopening the issue.
setMilestoneId:
description: Milestone to set reopened issue to.
removeLabels:
description: Labels to remove from issue as it is reopened.
milestoneName:
description: items with these milestones will be considered (name only, must match ID)
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
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)
ignoreLabels:
description: items with these labels will not be considered
minimumVotes:
descriptions: Only issues with at least this many votes will be considered.
maximumVotes:
descriptions: Only issues fewer or equal to this many votes will be considered.
readonly:
description: If true, changes are not applied.
runs:
using: 'node12'
main: 'index.js'
+21
View File
@@ -0,0 +1,21 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../common/utils");
const Reopener_1 = require("./Reopener");
const Action_1 = require("../common/Action");
class ReopenerAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'Locker';
}
async onTriggered(github) {
const alsoApplyToOpenIssues = utils_1.getInput('alsoApplyToOpenIssues');
await new Reopener_1.Reopener(github, alsoApplyToOpenIssues != undefined && alsoApplyToOpenIssues.toLowerCase() == 'true', utils_1.getInput('addLabels') || undefined, utils_1.getInput('removeLabels') || undefined, utils_1.getInput('reopenComment') || '', utils_1.getInput('setMilestoneId') || undefined, utils_1.getInput('labels') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoreLabels') || undefined, utils_1.getInput('ignoreMilestoneNames') || undefined, utils_1.getInput('ignoreMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999)).run();
}
}
new ReopenerAction().run(); // eslint-disable-line
//# sourceMappingURL=index.js.map
+35
View File
@@ -0,0 +1,35 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit } from '../api/octokit'
import { getInput, getRequiredInput } from '../common/utils'
import { Reopener } from './Reopener'
import { Action } from '../common/Action'
class ReopenerAction extends Action {
id = 'Locker'
async onTriggered(github: OctoKit) {
const alsoApplyToOpenIssues: string | undefined = getInput('alsoApplyToOpenIssues');
await new Reopener(
github,
alsoApplyToOpenIssues != undefined && alsoApplyToOpenIssues.toLowerCase() == 'true',
getInput('addLabels') || undefined,
getInput('removeLabels') || undefined,
getInput('reopenComment') || '',
getInput('setMilestoneId') || undefined,
getInput('labels') || undefined,
getInput('milestoneName') || undefined,
getInput('milestoneId') || undefined,
getInput('ignoreLabels') || undefined,
getInput('ignoreMilestoneNames') || undefined,
getInput('ignoreMilestoneIds') || undefined,
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999)
).run()
}
}
new ReopenerAction().run() // eslint-disable-line
+106
View File
@@ -0,0 +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 = utils_1.daysAgoToHumanReadbleDate(this.closeDays);
const pingTimestamp = this.pingDays ? utils_1.daysAgoToTimestamp(this.pingDays) : undefined;
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
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) {
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
}
else {
console.log(`No comments on issue ${hydrated.number}. Closing.`);
}
}
if (this.closeComment) {
console.log(`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) {
console.log(`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) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
await issue.closeIssue();
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
console.log(`Closing issue ${hydrated.number}.`);
}
else {
// Ping
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
console.log(`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 {
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
}
}
}
else {
if (!hydrated.open) {
console.log(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
}
}
}
exports.StaleCloser = StaleCloser;
//# sourceMappingURL=StaleCloser.js.map
+128
View File
@@ -0,0 +1,128 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { GitHub } from '../api/api'
import { ActionBase } from '../common/ActionBase'
import { daysAgoToHumanReadbleDate, daysAgoToTimestamp } from '../common/utils'
export class StaleCloser extends ActionBase {
constructor(
private github: GitHub,
private closeDays: number,
labels: string,
private closeComment: string,
private pingDays: number,
private pingComment: string,
private additionalTeam: string[],
private addLabels?: string,
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 = daysAgoToHumanReadbleDate(this.closeDays)
const pingTimestamp = this.pingDays ? daysAgoToTimestamp(this.pingDays) : undefined;
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
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) {
console.log(
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`,
)
} else {
console.log(`No comments on issue ${hydrated.number}. Closing.`)
}
}
if (this.closeComment) {
console.log(`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) {
console.log(`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) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`)
await issue.addLabel(addLabel)
}
}
}
await issue.closeIssue()
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`)
await issue.setMilestone(+this.setMilestoneId)
}
console.log(`Closing issue ${hydrated.number}.`)
} else {
// Ping
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
console.log(
`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 {
console.log(
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${
hydrated.assignee ? ' cc @' + hydrated.assignee : ''
}`,
)
}
}
} else {
if (!hydrated.open) {
console.log(`Issue ${hydrated.number} is not open. Ignoring`)
}
}
}
}
}
}
+47
View File
@@ -0,0 +1,47 @@
name: Stale Issue Closer
description: Close issues that are marked with a specified label and were last interacted with by a contributor or bot
inputs:
token:
description: GitHub token with issue, comment, and label read/write permissions
default: ${{ github.token }}
closeDays:
description: Days to wait before closing the issue
required: true
closeComment:
description: Comment to add upon closing the issue
pingDays:
description: Days to wait before pinging the assignee, if any. If set, issue is not closed if there is an assignee.
additionalTeam:
description: Pipe-separated list of additional users to treat as team members
pingComment:
description: Comment to add when pinging assignee. ${assignee} and ${author} are replaced.
milestoneName:
description: items with these milestones will be considered (name only, must match ID)
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
required: true
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)
ignoreLabels:
description: items with these labels will not be considered
addLabels:
description: Labels to add to issue as it is closed.
removeLabels:
description: Labels to remove from issue as it is closed.
setMilestoneId:
description: Milestone to set closed issue to.
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'
+21
View File
@@ -0,0 +1,21 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../common/utils");
const StaleCloser_1 = require("./StaleCloser");
const Action_1 = require("../common/Action");
class StaleCloserAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'StaleCloser';
}
async onTriggered(github) {
var _a;
await new StaleCloser_1.StaleCloser(github, +utils_1.getRequiredInput('closeDays'), utils_1.getRequiredInput('labels'), utils_1.getInput('closeComment') || '', +(utils_1.getInput('pingDays') || 0), utils_1.getInput('pingComment') || '', ((_a = utils_1.getInput('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), utils_1.getInput('addLabels') || undefined, utils_1.getInput('removeLabels') || undefined, utils_1.getInput('setMilestoneId') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoreLabels') || undefined, utils_1.getInput('ignoreMilestoneNames') || undefined, utils_1.getInput('ignoreMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999), utils_1.getInput('involves') || undefined).run();
}
}
new StaleCloserAction().run(); // eslint-disable-line
//# sourceMappingURL=index.js.map
+38
View File
@@ -0,0 +1,38 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit } from '../api/octokit'
import { getInput, getRequiredInput } from '../common/utils'
import { StaleCloser } from './StaleCloser'
import { Action } from '../common/Action'
class StaleCloserAction extends Action {
id = 'StaleCloser'
async onTriggered(github: OctoKit) {
await new StaleCloser(
github,
+getRequiredInput('closeDays'),
getRequiredInput('labels'),
getInput('closeComment') || '',
+(getInput('pingDays') || 0),
getInput('pingComment') || '',
(getInput('additionalTeam') ?? '').split(','),
getInput('addLabels') || undefined,
getInput('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 StaleCloserAction().run() // eslint-disable-line
+7
View File
@@ -0,0 +1,7 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=api.js.map
+100
View File
@@ -0,0 +1,100 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
export interface GitHub {
query(query: Query): AsyncIterableIterator<GitHubIssue[]>
hasWriteAccess(user: User): Promise<boolean>
repoHasLabel(label: string): Promise<boolean>
createLabel(label: string, color: string, description: string): Promise<void>
deleteLabel(label: string): Promise<void>
readConfig(path: string): Promise<any>
dispatch(title: string): Promise<void>
createIssue(owner: string, repo: string, title: string, body: string): Promise<void>
releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'>
}
export interface GitHubIssue extends GitHub {
getIssue(): Promise<Issue>
postComment(body: string): Promise<void>
deleteComment(id: number): Promise<void>
getComments(last?: boolean): AsyncIterableIterator<Comment[]>
closeIssue(): Promise<void>
lockIssue(): Promise<void>
reopenIssue(): Promise<void>
setMilestone(milestoneId: number): Promise<void>
addLabel(label: string): Promise<void>
removeLabel(label: string): Promise<void>
addAssignee(assignee: string): Promise<void>
removeAssignee(assignee: string): Promise<void>
getClosingInfo(): Promise<{ hash: string | undefined; timestamp: number } | undefined>
}
type SortVar =
| 'comments'
| 'reactions'
| 'reactions-+1'
| 'reactions--1'
| 'reactions-smile'
| 'reactions-thinking_face'
| 'reactions-heart'
| 'reactions-tada'
| 'interactions'
| 'created'
| 'updated'
type SortOrder = 'asc' | 'desc'
export type Reactions = {
'+1': number
'-1': number
laugh: number
hooray: number
confused: number
heart: number
rocket: number
eyes: number
}
export interface User {
name: string
isGitHubApp?: boolean
}
export interface Comment {
author: User
body: string
id: number
timestamp: number
}
export interface Issue {
author: User
body: string
title: string
labels: string[]
open: boolean
locked: boolean
number: number
numComments: number
reactions: Reactions
milestoneId: number | null
assignee?: string
createdAt: number
updatedAt: number
closedAt?: number
}
export interface Query {
q: string
sort?: SortVar
order?: SortOrder
}
+405
View File
@@ -0,0 +1,405 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.OctoKitIssue = exports.OctoKit = exports.getNumRequests = void 0;
const core_1 = require("@actions/core");
const github_1 = require("@actions/github");
const child_process_1 = require("child_process");
let numRequests = 0;
exports.getNumRequests = () => numRequests;
class OctoKit {
constructor(token, params, options = { readonly: false }) {
this.token = token;
this.params = params;
this.options = options;
// when in readonly mode, record labels just-created so at to not throw unneccesary errors
this.mockLabels = new Set();
this.writeAccessCache = {};
this._octokit = new github_1.GitHub(token);
}
get octokit() {
numRequests++;
return this._octokit;
}
// TODO: just iterate over the issues in a page here instead of making caller do it
async *query(query) {
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`;
console.log(`Querying for ${q}:`);
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
...query,
q,
per_page: 100,
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
});
let pageNum = 0;
const timeout = async () => {
if (pageNum < 2) {
/* pass */
}
else if (pageNum < 4) {
await new Promise((resolve) => setTimeout(resolve, 3000));
}
else {
await new Promise((resolve) => setTimeout(resolve, 30000));
}
};
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
await timeout();
numRequests++;
const page = pageResponse.data;
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
yield page.map((issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue), this.options));
}
}
async createIssue(owner, repo, title, body) {
core_1.debug(`Creating issue \`${title}\` on ${owner}/${repo}`);
if (!this.options.readonly)
await this.octokit.issues.create({ owner, repo, title, body });
}
octokitIssueToIssue(issue) {
var _a, _b, _c, _d, _e, _f;
return {
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
body: issue.body,
number: issue.number,
title: issue.title,
labels: issue.labels.map((label) => label.name),
open: issue.state === 'open',
locked: issue.locked,
numComments: issue.comments,
reactions: issue.reactions,
assignee: (_b = (_a = issue.assignee) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : (_d = (_c = issue.assignees) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.login,
milestoneId: (_f = (_e = issue.milestone) === null || _e === void 0 ? void 0 : _e.number) !== null && _f !== void 0 ? _f : null,
createdAt: +new Date(issue.created_at),
updatedAt: +new Date(issue.updated_at),
closedAt: issue.closed_at ? +new Date(issue.closed_at) : undefined,
};
}
async hasWriteAccess(user) {
if (user.name in this.writeAccessCache) {
core_1.debug('Got permissions from cache for ' + user);
return this.writeAccessCache[user.name];
}
core_1.debug('Fetching permissions for ' + user);
const permissions = (await this.octokit.repos.getCollaboratorPermissionLevel({
...this.params,
username: user.name,
})).data.permission;
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write');
}
async repoHasLabel(name) {
try {
await this.octokit.issues.getLabel({ ...this.params, name });
return true;
}
catch (err) {
if (err.status === 404) {
return this.options.readonly && this.mockLabels.has(name);
}
throw err;
}
}
async createLabel(name, color, description) {
core_1.debug('Creating label ' + name);
if (!this.options.readonly)
await this.octokit.issues.createLabel({ ...this.params, color, description, name });
else
this.mockLabels.add(name);
}
async deleteLabel(name) {
core_1.debug('Deleting label ' + name);
try {
if (!this.options.readonly)
await this.octokit.issues.deleteLabel({ ...this.params, name });
}
catch (err) {
if (err.status === 404) {
return;
}
throw err;
}
}
async readConfig(path) {
core_1.debug('Reading config at ' + path);
const repoPath = `.github/${path}.json`;
try {
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data;
if ('type' in data && data.type === 'file') {
if (data.encoding === 'base64' && data.content) {
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'));
}
throw Error(`Could not read contents "${data.content}" in encoding "${data.encoding}"`);
}
throw Error('Found directory at config path when expecting file' + JSON.stringify(data));
}
catch (e) {
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e));
}
}
async releaseContainsCommit(release, commit) {
return new Promise((resolve, reject) => child_process_1.exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
if (!err || err.code === 1) {
resolve(!err ? 'yes' : 'no');
}
else if (err.message.includes(`Not a valid commit name ${release}`)) {
// release branch is forked. Probably in endgame. Not released.
resolve('no');
}
else if (err.message.includes(`Not a valid commit name ${commit}`)) {
// commit is probably in a different repo.
resolve('unknown');
}
else {
reject(err);
}
}));
}
async dispatch(title) {
core_1.debug('Dispatching ' + title);
if (!this.options.readonly)
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title });
}
}
exports.OctoKit = OctoKit;
class OctoKitIssue extends OctoKit {
constructor(token, params, issueData, options = { readonly: false }) {
super(token, params, options);
this.params = params;
this.issueData = issueData;
console.log('running bot on issue', issueData.number);
}
async addAssignee(assignee) {
core_1.debug('Adding assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.addAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
});
}
}
async removeAssignee(assignee) {
core_1.debug('Removing assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.removeAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
});
}
}
async closeIssue() {
core_1.debug('Closing issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
issue_number: this.issueData.number,
state: 'closed',
});
}
async reopenIssue() {
core_1.debug('Reopening issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
issue_number: this.issueData.number,
state: 'open',
});
}
async lockIssue() {
core_1.debug('Locking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number });
}
async getIssue() {
if (isIssue(this.issueData)) {
core_1.debug('Got issue data from query result ' + this.issueData.number);
return this.issueData;
}
console.log('Fetching issue ' + this.issueData.number);
const issue = (await this.octokit.issues.get({
...this.params,
issue_number: this.issueData.number,
mediaType: { previews: ['squirrel-girl'] },
})).data;
return (this.issueData = this.octokitIssueToIssue(issue));
}
async postComment(body) {
core_1.debug(`Posting comment ${body} on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.createComment({
...this.params,
issue_number: this.issueData.number,
body,
});
}
async deleteComment(id) {
core_1.debug(`Deleting comment ${id} on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.deleteComment({
owner: this.params.owner,
repo: this.params.repo,
comment_id: id,
});
}
async setMilestone(milestoneId) {
core_1.debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
issue_number: this.issueData.number,
milestone: milestoneId,
});
}
async *getComments(last) {
core_1.debug('Fetching comments for ' + this.issueData.number);
const response = this.octokit.paginate.iterator(this.octokit.issues.listComments.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
per_page: 100,
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
}));
for await (const page of response) {
numRequests++;
yield page.data.map((comment) => ({
author: { name: comment.user.login, isGitHubApp: comment.user.type === 'Bot' },
body: comment.body,
id: comment.id,
timestamp: +new Date(comment.created_at),
}));
}
}
async addLabel(name) {
core_1.debug(`Adding label ${name} to ${this.issueData.number}`);
if (!(await this.repoHasLabel(name))) {
throw Error(`Action could not execute becuase label ${name} is not defined.`);
}
if (!this.options.readonly)
await this.octokit.issues.addLabels({
...this.params,
issue_number: this.issueData.number,
labels: [name],
});
}
async getAssigner(assignee) {
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
});
let assigner;
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++;
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if (timelineEvent.event === 'assigned' &&
timelineEvent.assignee.login === assignee) {
assigner = timelineEvent.actor.login;
}
}
}
if (!assigner) {
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.');
}
return assigner;
}
async removeLabel(name) {
core_1.debug(`Removing label ${name} from ${this.issueData.number}`);
try {
if (!this.options.readonly)
await this.octokit.issues.removeLabel({
...this.params,
issue_number: this.issueData.number,
name,
});
}
catch (err) {
if (err.status === 404) {
console.log(`Label ${name} not found on issue`);
return;
}
throw err;
}
}
async getClosingInfo(alreadyChecked = []) {
var _a, _b, _c, _d, _e, _f, _g;
if (alreadyChecked.includes(this.issueData.number)) {
return undefined;
}
alreadyChecked.push(this.issueData.number);
if ((await this.getIssue()).open) {
return;
}
const closingHashComment = /(?:\\|\/)closedWith (\S*)/;
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
});
let closingCommit;
const crossReferencing = [];
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++;
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if ((timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
timelineEvent.commit_id &&
timelineEvent.commit_url
.toLowerCase()
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())) {
closingCommit = {
hash: timelineEvent.commit_id,
timestamp: +new Date(timelineEvent.created_at),
};
}
if (timelineEvent.event === 'reopened') {
closingCommit = undefined;
}
if (timelineEvent.event === 'commented' &&
!((_a = timelineEvent.body) === null || _a === void 0 ? void 0 : _a.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE')) &&
closingHashComment.test(timelineEvent.body)) {
closingCommit = {
hash: closingHashComment.exec(timelineEvent.body)[1],
timestamp: +new Date(timelineEvent.created_at),
};
}
if (timelineEvent.event === 'cross-referenced' && ((_c = (_b = timelineEvent.source) === null || _b === void 0 ? void 0 : _b.issue) === null || _c === void 0 ? void 0 : _c.number) && ((_f = (_e = (_d = timelineEvent.source) === null || _d === void 0 ? void 0 : _d.issue) === null || _e === void 0 ? void 0 : _e.pull_request) === null || _f === void 0 ? void 0 : _f.url.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
crossReferencing.push(timelineEvent.source.issue.number);
}
}
}
// If we dont have any closing info, try to get it from linked issues (PRs).
// If there's a linked issue that was closed at almost the same time, guess it was a PR that closed this.
if (!closingCommit) {
for (const id of crossReferencing.reverse()) {
const closed = await new OctoKitIssue(this.token, this.params, {
number: id,
}, this.options).getClosingInfo(alreadyChecked);
if (closed) {
if (Math.abs(closed.timestamp - ((_g = (await this.getIssue()).closedAt) !== null && _g !== void 0 ? _g : 0)) < 5000) {
closingCommit = closed;
break;
}
}
}
}
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
return closingCommit;
}
}
exports.OctoKitIssue = OctoKitIssue;
function isIssue(object) {
const isIssue = 'author' in object &&
'body' in object &&
'title' in object &&
'labels' in object &&
'open' in object &&
'locked' in object &&
'number' in object &&
'numComments' in object &&
'reactions' in object &&
'milestoneId' in object;
return isIssue;
}
//# sourceMappingURL=octokit.js.map
+470
View File
@@ -0,0 +1,470 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { debug } from '@actions/core'
import { GitHub as GitHubAPI } from '@actions/github'
import { Octokit } from '@octokit/rest'
import { exec } from 'child_process'
import { Comment, GitHub, GitHubIssue, Issue, Query, User } from './api'
let numRequests = 0
export const getNumRequests = () => numRequests
export class OctoKit implements GitHub {
private _octokit: GitHubAPI
protected get octokit(): GitHubAPI {
numRequests++
return this._octokit
}
// when in readonly mode, record labels just-created so at to not throw unneccesary errors
protected mockLabels: Set<string> = new Set()
constructor(
protected token: string,
protected params: { repo: string; owner: string },
protected options: { readonly: boolean } = { readonly: false },
) {
this._octokit = new GitHubAPI(token)
}
// TODO: just iterate over the issues in a page here instead of making caller do it
async *query(query: Query): AsyncIterableIterator<GitHubIssue[]> {
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`
console.log(`Querying for ${q}:`)
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
...query,
q,
per_page: 100,
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
})
let pageNum = 0
const timeout = async () => {
if (pageNum < 2) {
/* pass */
} else if (pageNum < 4) {
await new Promise((resolve) => setTimeout(resolve, 3000))
} else {
await new Promise((resolve) => setTimeout(resolve, 30000))
}
}
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
await timeout()
numRequests++
const page: Array<Octokit.SearchIssuesAndPullRequestsResponseItemsItem> = pageResponse.data
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`)
yield page.map(
(issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue), this.options),
)
}
}
async createIssue(owner: string, repo: string, title: string, body: string): Promise<void> {
debug(`Creating issue \`${title}\` on ${owner}/${repo}`)
if (!this.options.readonly) await this.octokit.issues.create({ owner, repo, title, body })
}
protected octokitIssueToIssue(
issue: Octokit.IssuesGetResponse | Octokit.SearchIssuesAndPullRequestsResponseItemsItem,
): Issue {
return {
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
body: issue.body,
number: issue.number,
title: issue.title,
labels: (issue.labels as Octokit.IssuesGetLabelResponse[]).map((label) => label.name),
open: issue.state === 'open',
locked: (issue as any).locked,
numComments: issue.comments,
reactions: (issue as any).reactions,
assignee: issue.assignee?.login ?? (issue as any).assignees?.[0]?.login,
milestoneId: issue.milestone?.number ?? null,
createdAt: +new Date(issue.created_at),
updatedAt: +new Date(issue.updated_at),
closedAt: issue.closed_at ? +new Date((issue.closed_at as unknown) as string) : undefined,
}
}
private writeAccessCache: Record<string, boolean> = {}
async hasWriteAccess(user: User): Promise<boolean> {
if (user.name in this.writeAccessCache) {
debug('Got permissions from cache for ' + user)
return this.writeAccessCache[user.name]
}
debug('Fetching permissions for ' + user)
const permissions = (
await this.octokit.repos.getCollaboratorPermissionLevel({
...this.params,
username: user.name,
})
).data.permission
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write')
}
async repoHasLabel(name: string): Promise<boolean> {
try {
await this.octokit.issues.getLabel({ ...this.params, name })
return true
} catch (err) {
if (err.status === 404) {
return this.options.readonly && this.mockLabels.has(name)
}
throw err
}
}
async createLabel(name: string, color: string, description: string): Promise<void> {
debug('Creating label ' + name)
if (!this.options.readonly)
await this.octokit.issues.createLabel({ ...this.params, color, description, name })
else this.mockLabels.add(name)
}
async deleteLabel(name: string): Promise<void> {
debug('Deleting label ' + name)
try {
if (!this.options.readonly) await this.octokit.issues.deleteLabel({ ...this.params, name })
} catch (err) {
if (err.status === 404) {
return
}
throw err
}
}
async readConfig(path: string): Promise<any> {
debug('Reading config at ' + path)
const repoPath = `.github/${path}.json`
try {
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data
if ('type' in data && data.type === 'file') {
if (data.encoding === 'base64' && data.content) {
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'))
}
throw Error(`Could not read contents "${data.content}" in encoding "${data.encoding}"`)
}
throw Error('Found directory at config path when expecting file' + JSON.stringify(data))
} catch (e) {
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e))
}
}
async releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'> {
return new Promise((resolve, reject) =>
exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
if (!err || err.code === 1) {
resolve(!err ? 'yes' : 'no')
} else if (err.message.includes(`Not a valid commit name ${release}`)) {
// release branch is forked. Probably in endgame. Not released.
resolve('no')
} else if (err.message.includes(`Not a valid commit name ${commit}`)) {
// commit is probably in a different repo.
resolve('unknown')
} else {
reject(err)
}
}),
)
}
async dispatch(title: string): Promise<void> {
debug('Dispatching ' + title)
if (!this.options.readonly)
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title })
}
}
export class OctoKitIssue extends OctoKit implements GitHubIssue {
constructor(
token: string,
protected params: { repo: string; owner: string },
private issueData: { number: number } | Issue,
options: { readonly: boolean } = { readonly: false },
) {
super(token, params, options)
console.log('running bot on issue', issueData.number)
}
async addAssignee(assignee: string): Promise<void> {
debug('Adding assignee ' + assignee + ' to ' + this.issueData.number)
if (!this.options.readonly) {
await this.octokit.issues.addAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
})
}
}
async removeAssignee(assignee: string): Promise<void> {
debug('Removing assignee ' + assignee + ' to ' + this.issueData.number)
if (!this.options.readonly) {
await this.octokit.issues.removeAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
})
}
}
async closeIssue(): Promise<void> {
debug('Closing issue ' + this.issueData.number)
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
issue_number: this.issueData.number,
state: 'closed',
})
}
async reopenIssue(): Promise<void> {
debug('Reopening issue ' + this.issueData.number)
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
issue_number: this.issueData.number,
state: 'open',
})
}
async lockIssue(): Promise<void> {
debug('Locking issue ' + this.issueData.number)
if (!this.options.readonly)
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number })
}
async getIssue(): Promise<Issue> {
if (isIssue(this.issueData)) {
debug('Got issue data from query result ' + this.issueData.number)
return this.issueData
}
console.log('Fetching issue ' + this.issueData.number)
const issue = (
await this.octokit.issues.get({
...this.params,
issue_number: this.issueData.number,
mediaType: { previews: ['squirrel-girl'] },
})
).data
return (this.issueData = this.octokitIssueToIssue(issue))
}
async postComment(body: string): Promise<void> {
debug(`Posting comment ${body} on ${this.issueData.number}`)
if (!this.options.readonly)
await this.octokit.issues.createComment({
...this.params,
issue_number: this.issueData.number,
body,
})
}
async deleteComment(id: number): Promise<void> {
debug(`Deleting comment ${id} on ${this.issueData.number}`)
if (!this.options.readonly)
await this.octokit.issues.deleteComment({
owner: this.params.owner,
repo: this.params.repo,
comment_id: id,
})
}
async setMilestone(milestoneId: number) {
debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`)
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
issue_number: this.issueData.number,
milestone: milestoneId,
})
}
async *getComments(last?: boolean): AsyncIterableIterator<Comment[]> {
debug('Fetching comments for ' + this.issueData.number)
const response = this.octokit.paginate.iterator(
this.octokit.issues.listComments.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
per_page: 100,
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
}),
)
for await (const page of response) {
numRequests++
yield (page.data as Octokit.IssuesListCommentsResponseItem[]).map((comment) => ({
author: { name: comment.user.login, isGitHubApp: comment.user.type === 'Bot' },
body: comment.body,
id: comment.id,
timestamp: +new Date(comment.created_at),
}))
}
}
async addLabel(name: string): Promise<void> {
debug(`Adding label ${name} to ${this.issueData.number}`)
if (!(await this.repoHasLabel(name))) {
throw Error(`Action could not execute becuase label ${name} is not defined.`)
}
if (!this.options.readonly)
await this.octokit.issues.addLabels({
...this.params,
issue_number: this.issueData.number,
labels: [name],
})
}
async getAssigner(assignee: string): Promise<string> {
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
})
let assigner: string | undefined
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
for (const timelineEvent of timelineEvents) {
if (
timelineEvent.event === 'assigned' &&
(timelineEvent as any).assignee.login === assignee
) {
assigner = timelineEvent.actor.login
}
}
}
if (!assigner) {
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.')
}
return assigner
}
async removeLabel(name: string): Promise<void> {
debug(`Removing label ${name} from ${this.issueData.number}`)
try {
if (!this.options.readonly)
await this.octokit.issues.removeLabel({
...this.params,
issue_number: this.issueData.number,
name,
})
} catch (err) {
if (err.status === 404) {
console.log(`Label ${name} not found on issue`)
return
}
throw err
}
}
async getClosingInfo(
alreadyChecked: number[] = [],
): Promise<{ hash: string | undefined; timestamp: number } | undefined> {
if (alreadyChecked.includes(this.issueData.number)) {
return undefined
}
alreadyChecked.push(this.issueData.number)
if ((await this.getIssue()).open) {
return
}
const closingHashComment = /(?:\\|\/)closedWith (\S*)/
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
})
let closingCommit: { hash: string | undefined; timestamp: number } | undefined
const crossReferencing: number[] = []
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
for (const timelineEvent of timelineEvents) {
if (
(timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
timelineEvent.commit_id &&
timelineEvent.commit_url
.toLowerCase()
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())
) {
closingCommit = {
hash: timelineEvent.commit_id,
timestamp: +new Date(timelineEvent.created_at),
}
}
if (timelineEvent.event === 'reopened') {
closingCommit = undefined
}
if (
timelineEvent.event === 'commented' &&
!((timelineEvent as any).body as string)?.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE') &&
closingHashComment.test((timelineEvent as any).body)
) {
closingCommit = {
hash: closingHashComment.exec((timelineEvent as any).body)![1],
timestamp: +new Date(timelineEvent.created_at),
}
}
if (
timelineEvent.event === 'cross-referenced' &&
(timelineEvent as any).source?.issue?.number &&
(timelineEvent as any).source?.issue?.pull_request?.url.includes(
`/${this.params.owner}/${this.params.repo}/`.toLowerCase(),
)
) {
crossReferencing.push((timelineEvent as any).source.issue.number)
}
}
}
// If we dont have any closing info, try to get it from linked issues (PRs).
// If there's a linked issue that was closed at almost the same time, guess it was a PR that closed this.
if (!closingCommit) {
for (const id of crossReferencing.reverse()) {
const closed = await new OctoKitIssue(this.token, this.params, {
number: id,
}, this.options).getClosingInfo(alreadyChecked)
if (closed) {
if (Math.abs(closed.timestamp - ((await this.getIssue()).closedAt ?? 0)) < 5000) {
closingCommit = closed
break
}
}
}
}
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`)
return closingCommit
}
}
function isIssue(object: any): object is Issue {
const isIssue =
'author' in object &&
'body' in object &&
'title' in object &&
'labels' in object &&
'open' in object &&
'locked' in object &&
'number' in object &&
'numComments' in object &&
'reactions' in object &&
'milestoneId' in object
return isIssue
}
+129
View File
@@ -0,0 +1,129 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Action = void 0;
const octokit_1 = require("../api/octokit");
const github_1 = require("@actions/github");
const utils_1 = require("./utils");
const core_1 = require("@actions/core");
class Action {
constructor() {
this.token = utils_1.getRequiredInput('token');
this.username = new github_1.GitHub(this.token).users.getAuthenticated().then((v) => v.data.name);
}
async run() {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
console.log('running ', this.id, 'with context', {
...github_1.context,
payload: {
issue: (_b = (_a = github_1.context.payload) === null || _a === void 0 ? void 0 : _a.issue) === null || _b === void 0 ? void 0 : _b.number,
label: (_d = (_c = github_1.context.payload) === null || _c === void 0 ? void 0 : _c.label) === null || _d === void 0 ? void 0 : _d.name,
repository: (_f = (_e = github_1.context.payload) === null || _e === void 0 ? void 0 : _e.repository) === null || _f === void 0 ? void 0 : _f.html_url,
sender: (_j = (_h = (_g = github_1.context.payload) === null || _g === void 0 ? void 0 : _g.sender) === null || _h === void 0 ? void 0 : _h.login) !== null && _j !== void 0 ? _j : (_l = (_k = github_1.context.payload) === null || _k === void 0 ? void 0 : _k.sender) === null || _l === void 0 ? void 0 : _l.type,
},
});
if (utils_1.errorLoggingIssue) {
const { repo, issue, owner } = utils_1.errorLoggingIssue;
if (github_1.context.repo.repo === repo &&
github_1.context.repo.owner === owner &&
((_m = github_1.context.payload.issue) === null || _m === void 0 ? void 0 : _m.number) === issue) {
return console.log('refusing to run on error logging issue to prevent cascading errors');
}
}
try {
const token = utils_1.getRequiredInput('token');
const readonly = !!core_1.getInput('readonly');
const issue = (_o = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.issue) === null || _o === void 0 ? void 0 : _o.number;
if (issue) {
const octokit = new octokit_1.OctoKitIssue(token, github_1.context.repo, { number: issue }, { readonly });
if (github_1.context.eventName === 'issue_comment') {
await this.onCommented(octokit, github_1.context.payload.comment.body, github_1.context.actor);
}
else if (github_1.context.eventName === 'issues') {
switch (github_1.context.payload.action) {
case 'opened':
await this.onOpened(octokit);
break;
case 'reopened':
await this.onReopened(octokit);
break;
case 'closed':
await this.onClosed(octokit);
break;
case 'labeled':
await this.onLabeled(octokit, github_1.context.payload.label.name);
break;
case 'unassigned':
await this.onUnassigned(octokit, github_1.context.payload.assignee.login);
break;
case 'edited':
await this.onEdited(octokit);
break;
case 'milestoned':
await this.onMilestoned(octokit);
break;
default:
throw Error('Unexpected action: ' + github_1.context.payload.action);
}
}
}
else {
await this.onTriggered(new octokit_1.OctoKit(token, github_1.context.repo, { readonly }));
}
}
catch (e) {
await this.error(e);
}
const usage = await utils_1.getRateLimit(this.token);
}
async error(error) {
const details = {
message: `${error.message}\n${error.stack}`,
id: this.id,
user: await this.username,
};
if (github_1.context.issue.number)
details.issue = github_1.context.issue.number;
const rendered = `
Message: ${details.message}
Actor: ${details.user}
ID: ${details.id}
`;
await utils_1.logErrorToIssue(rendered, true, this.token);
core_1.setFailed(error.message);
}
async onTriggered(_octokit) {
throw Error('not implemented');
}
async onEdited(_issue) {
throw Error('not implemented');
}
async onLabeled(_issue, _label) {
throw Error('not implemented');
}
async onUnassigned(_issue, _label) {
throw Error('not implemented');
}
async onOpened(_issue) {
throw Error('not implemented');
}
async onReopened(_issue) {
throw Error('not implemented');
}
async onClosed(_issue) {
throw Error('not implemented');
}
async onMilestoned(_issue) {
throw Error('not implemented');
}
async onCommented(_issue, _comment, _actor) {
throw Error('not implemented');
}
}
exports.Action = Action;
//# sourceMappingURL=Action.js.map
+137
View File
@@ -0,0 +1,137 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit, OctoKitIssue, getNumRequests } from '../api/octokit'
import { context, GitHub } from '@actions/github'
import { getRequiredInput, logErrorToIssue, getRateLimit, errorLoggingIssue } from './utils'
import { getInput, setFailed } from '@actions/core'
export abstract class Action {
abstract id: string
private username: Promise<string>
private token = getRequiredInput('token')
constructor() {
this.username = new GitHub(this.token).users.getAuthenticated().then((v) => v.data.name)
}
public async run() {
console.log('running ', this.id, 'with context', {
...context,
payload: {
issue: context.payload?.issue?.number,
label: context.payload?.label?.name,
repository: context.payload?.repository?.html_url,
sender: context.payload?.sender?.login ?? context.payload?.sender?.type,
},
})
if (errorLoggingIssue) {
const { repo, issue, owner } = errorLoggingIssue
if (
context.repo.repo === repo &&
context.repo.owner === owner &&
context.payload.issue?.number === issue
) {
return console.log('refusing to run on error logging issue to prevent cascading errors')
}
}
try {
const token = getRequiredInput('token')
const readonly = !!getInput('readonly')
const issue = context?.issue?.number
if (issue) {
const octokit = new OctoKitIssue(token, context.repo, { number: issue }, { readonly })
if (context.eventName === 'issue_comment') {
await this.onCommented(octokit, context.payload.comment.body, context.actor)
} else if (context.eventName === 'issues') {
switch (context.payload.action) {
case 'opened':
await this.onOpened(octokit)
break
case 'reopened':
await this.onReopened(octokit)
break
case 'closed':
await this.onClosed(octokit)
break
case 'labeled':
await this.onLabeled(octokit, context.payload.label.name)
break
case 'unassigned':
await this.onUnassigned(octokit, context.payload.assignee.login)
break
case 'edited':
await this.onEdited(octokit)
break
case 'milestoned':
await this.onMilestoned(octokit)
break
default:
throw Error('Unexpected action: ' + context.payload.action)
}
}
} else {
await this.onTriggered(new OctoKit(token, context.repo, { readonly }))
}
} catch (e) {
await this.error(e)
}
const usage = await getRateLimit(this.token)
}
private async error(error: Error) {
const details: any = {
message: `${error.message}\n${error.stack}`,
id: this.id,
user: await this.username,
}
if (context.issue.number) details.issue = context.issue.number
const rendered = `
Message: ${details.message}
Actor: ${details.user}
ID: ${details.id}
`
await logErrorToIssue(rendered, true, this.token)
setFailed(error.message)
}
protected async onTriggered(_octokit: OctoKit): Promise<void> {
throw Error('not implemented')
}
protected async onEdited(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
}
protected async onLabeled(_issue: OctoKitIssue, _label: string): Promise<void> {
throw Error('not implemented')
}
protected async onUnassigned(_issue: OctoKitIssue, _label: string): Promise<void> {
throw Error('not implemented')
}
protected async onOpened(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
}
protected async onReopened(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
}
protected async onClosed(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
}
protected async onMilestoned(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
}
protected async onCommented(_issue: OctoKitIssue, _comment: string, _actor: string): Promise<void> {
throw Error('not implemented')
}
}
+181
View File
@@ -0,0 +1,181 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ActionBase = void 0;
class ActionBase {
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, 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;
console.log(`labels: ${this.labels}`);
console.log(`milestoneName: ${this.milestoneName}`);
console.log(`milestoneId: ${this.milestoneId}`);
console.log(`ignoreLabels: ${this.ignoreLabels}`);
console.log(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
console.log(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
console.log(`minimumVotes: ${this.minimumVotes}`);
console.log(`maximumVotes: ${this.maximumVotes}`);
console.log(`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) {
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
console.log(`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) {
console.log(`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)) {
console.log(`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)) {
console.log(`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.milestoneId != null) {
console.log(`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 != undefined && issue.milestoneId != +this.milestoneId) {
console.log(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestoneId}`);
return false;
}
// Make sure a milestones we wanted to ignore is not present.
if (issue.milestoneId != null) {
for (const str of this.ignoreMilestoneIdsSet) {
if (issue.milestoneId == +str) {
console.log(`Issue ${issue.number} skipped due to milestone ${issue.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) {
console.log(`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) {
console.log(`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
+187
View File
@@ -0,0 +1,187 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Issue } from '../api/api'
export class ActionBase {
constructor(
private labels?: string,
private milestoneName?: string,
private milestoneId?: string,
private ignoreLabels?: string,
private ignoreMilestoneNames?: string,
private ignoreMilestoneIds?: string,
private minimumVotes?: number,
private maximumVotes?: number,
private involves?: string,
) {}
private labelsSet: string[] = [];
private ignoreLabelsSet: string[] = [];
private ignoreMilestoneNamesSet: string[] = [];
private ignoreMilestoneIdsSet: string[] = [];
private ignoreAllWithLabels: boolean = false;
private ignoreAllWithMilestones: boolean = false;
private involvesSet: string[] = [];
buildQuery(baseQuery: string): string {
let query = baseQuery;
console.log(`labels: ${this.labels}`);
console.log(`milestoneName: ${this.milestoneName}`);
console.log(`milestoneId: ${this.milestoneId}`);
console.log(`ignoreLabels: ${this.ignoreLabels}`);
console.log(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
console.log(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
console.log(`minimumVotes: ${this.minimumVotes}`);
console.log(`maximumVotes: ${this.maximumVotes}`);
console.log(`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 (this.labels?.length > 2 && this.labels?.startsWith('"') && this.labels?.endsWith('"')) {
this.labels = this.labels.substring(1, this.labels.length - 2);
}
this.labelsSet = this.labels?.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 = this.involves?.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 = this.ignoreLabels?.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: Issue): boolean {
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
console.log(`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) {
console.log(`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)) {
console.log(`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)) {
console.log(`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.milestoneId != null) {
console.log(`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 != undefined && issue.milestoneId != +this.milestoneId) {
console.log(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestoneId}`);
return false;
}
// Make sure a milestones we wanted to ignore is not present.
if (issue.milestoneId != null) {
for (const str of this.ignoreMilestoneIdsSet) {
if (issue.milestoneId == +str) {
console.log(`Issue ${issue.number} skipped due to milestone ${issue.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) {
console.log(`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) {
console.log(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
return true;
}
}
+99
View File
@@ -0,0 +1,99 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.logErrorToIssue = exports.errorLoggingIssue = exports.getRateLimit = exports.daysAgoToHumanReadbleDate = exports.daysAgoToTimestamp = exports.loadLatestRelease = exports.normalizeIssue = exports.getRequiredInput = exports.getInput = void 0;
const core = require("@actions/core");
const github_1 = require("@actions/github");
const axios_1 = require("axios");
const octokit_1 = require("../api/octokit");
exports.getInput = (name) => core.getInput(name) || undefined;
exports.getRequiredInput = (name) => core.getInput(name, { required: true });
exports.normalizeIssue = (issue) => {
let { body, title } = issue;
body = body !== null && body !== void 0 ? body : '';
title = title !== null && title !== void 0 ? title : '';
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body);
const isFeatureRequest = body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body);
const cleanse = (str) => {
let out = str
.toLowerCase()
.replace(/<!--.*-->/gu, '')
.replace(/.* version: .*/gu, '')
.replace(/issue type: .*/gu, '')
.replace(/vs ?code/gu, '')
.replace(/we have written.*please paste./gu, '')
.replace(/steps to reproduce:/gu, '')
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
.replace(/\s+/gu, ' ')
.replace(/```[^`]*?```/gu, '');
while (out.includes(`<details>`) &&
out.includes('</details>') &&
out.indexOf(`</details>`) > out.indexOf(`<details>`)) {
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10);
}
return out;
};
return {
body: cleanse(body),
title: cleanse(title),
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
};
};
exports.loadLatestRelease = async (quality) => (await axios_1.default.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data;
exports.daysAgoToTimestamp = (days) => +new Date(Date.now() - days * 24 * 60 * 60 * 1000);
exports.daysAgoToHumanReadbleDate = (days) => new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
exports.getRateLimit = async (token) => {
const usageData = (await new github_1.GitHub(token).rateLimit.get()).data.resources;
const usage = {};
['core', 'graphql', 'search'].forEach(async (category) => {
usage[category] = 1 - usageData[category].remaining / usageData[category].limit;
});
return usage;
};
exports.errorLoggingIssue = (() => {
try {
const repo = github_1.context.repo.owner.toLowerCase() + '/' + github_1.context.repo.repo.toLowerCase();
if (repo === 'microsoft/vscode-cpptools') {
return { repo: 'vscode-cpptools', owner: 'Microsoft', issue: 6282 };
}
else if (exports.getInput('errorLogIssueNumber')) {
return { ...github_1.context.repo, issue: +exports.getRequiredInput('errorLogIssueNumber') };
}
else {
return undefined;
}
}
catch (e) {
console.error(e);
return undefined;
}
})();
exports.logErrorToIssue = async (message, ping, token) => {
// Attempt to wait out abuse detection timeout if present
await new Promise((resolve) => setTimeout(resolve, 10000));
const dest = exports.errorLoggingIssue;
if (!dest)
return console.log('no error logging repo defined. swallowing error:', message);
return new octokit_1.OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue }, { readonly: !!exports.getInput('readonly') })
.postComment(`
Workflow: ${github_1.context.workflow}
Error: ${message}
Issue: ${ping ? `${github_1.context.repo.owner}/${github_1.context.repo.repo}#` : ''}${github_1.context.issue.number}
Repo: ${github_1.context.repo.owner}/${github_1.context.repo.repo}
<!-- Context:
${JSON.stringify(github_1.context, null, 2)
.replace(/<!--/gu, '<@--')
.replace(/-->/gu, '--@>')
.replace(/\/|\\/gu, 'slash-')}
-->
`);
};
//# sourceMappingURL=utils.js.map
+119
View File
@@ -0,0 +1,119 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as core from '@actions/core'
import { context, GitHub } from '@actions/github'
import axios from 'axios'
import { OctoKitIssue } from '../api/octokit'
export const getInput = (name: string) => core.getInput(name) || undefined
export const getRequiredInput = (name: string) => core.getInput(name, { required: true })
export const normalizeIssue = (issue: {
body: string
title: string
}): { body: string; title: string; issueType: 'bug' | 'feature_request' | 'unknown' } => {
let { body, title } = issue
body = body ?? ''
title = title ?? ''
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body)
const isFeatureRequest =
body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body)
const cleanse = (str: string) => {
let out = str
.toLowerCase()
.replace(/<!--.*-->/gu, '')
.replace(/.* version: .*/gu, '')
.replace(/issue type: .*/gu, '')
.replace(/vs ?code/gu, '')
.replace(/we have written.*please paste./gu, '')
.replace(/steps to reproduce:/gu, '')
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
.replace(/\s+/gu, ' ')
.replace(/```[^`]*?```/gu, '')
while (
out.includes(`<details>`) &&
out.includes('</details>') &&
out.indexOf(`</details>`) > out.indexOf(`<details>`)
) {
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10)
}
return out
}
return {
body: cleanse(body),
title: cleanse(title),
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
}
}
export interface Release {
productVersion: string
timestamp: number
version: string
}
export const loadLatestRelease = async (quality: 'stable' | 'insider'): Promise<Release | undefined> =>
(await axios.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data
export const daysAgoToTimestamp = (days: number): number => +new Date(Date.now() - days * 24 * 60 * 60 * 1000)
export const daysAgoToHumanReadbleDate = (days: number) =>
new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '')
export const getRateLimit = async (token: string) => {
const usageData = (await new GitHub(token).rateLimit.get()).data.resources
const usage = {} as { core: number; graphql: number; search: number }
;(['core', 'graphql', 'search'] as const).forEach(async (category) => {
usage[category] = 1 - usageData[category].remaining / usageData[category].limit
})
return usage
}
export const errorLoggingIssue = (() => {
try {
const repo = context.repo.owner.toLowerCase() + '/' + context.repo.repo.toLowerCase()
if (repo === 'microsoft/vscode-cpptools') {
return { repo: 'vscode-cpptools', owner: 'Microsoft', issue: 6282 }
} else if (getInput('errorLogIssueNumber')) {
return { ...context.repo, issue: +getRequiredInput('errorLogIssueNumber') }
} else {
return undefined
}
} catch (e) {
console.error(e)
return undefined
}
})()
export const logErrorToIssue = async (message: string, ping: boolean, token: string): Promise<void> => {
// Attempt to wait out abuse detection timeout if present
await new Promise((resolve) => setTimeout(resolve, 10000))
const dest = errorLoggingIssue
if (!dest) return console.log('no error logging repo defined. swallowing error:', message)
return new OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue }, { readonly: !!getInput('readonly') })
.postComment(`
Workflow: ${context.workflow}
Error: ${message}
Issue: ${ping ? `${context.repo.owner}/${context.repo.repo}#` : ''}${context.issue.number}
Repo: ${context.repo.owner}/${context.repo.repo}
<!-- Context:
${JSON.stringify(context, null, 2)
.replace(/<!--/gu, '<@--')
.replace(/-->/gu, '--@>')
.replace(/\/|\\/gu, 'slash-')}
-->
`)
}
+1437
View File
File diff suppressed because it is too large Load Diff
+21
View File
@@ -0,0 +1,21 @@
{
"name": "vscode-cpptools-github-triage-actions",
"version": "1.0.0",
"description": "GitHub Actions used by VS Code cpptools for triaging issues",
"scripts": {
"build": "tsc",
"lint": "eslint -c .eslintrc --fix --ext .ts .",
"watch": "tsc --watch"
},
"keywords": [],
"author": "",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/github": "^2.1.1",
"axios": "^0.21.1"
},
"devDependencies": {
"eslint": "^6.8.0",
"typescript": "^3.8.3"
}
}
+18
View File
@@ -0,0 +1,18 @@
{
"compilerOptions": {
"target": "es2019",
"strict": true,
"module": "commonjs",
"moduleResolution": "node",
"removeComments": false,
"resolveJsonModule": true,
"sourceMap": true,
"lib": [
"es2020"
]
},
"exclude": [
"**/*.test.ts",
"**/vm-filesystem/**"
]
}
@@ -0,0 +1,26 @@
name: By Design closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: by design,debugger
ignoreLabels: language service,internal
closeDays: 0
closeComment: "This issue has been closed automatically because it's labeled as 'by design'."
+28
View File
@@ -0,0 +1,28 @@
name: By Design Closer
on:
schedule:
- cron: 0 12 * * * # Run at 12:00 PM UTC (4:00 AM PST, 5:00 AM PDT)
workflow_dispatch:
inputs:
readonly:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: by design
ignoreLabels: debugger,Feature Request,more info needed,internal
closeDays: 60
closeComment: "This issue has been closed automatically because it's labeled as 'by design' and has not had recent activity."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
+55
View File
@@ -0,0 +1,55 @@
name: CI (Linux)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 14.16.x
uses: actions/setup-node@v1
with:
node-version: 14.16.x
- name: Install Dependencies
run: yarn install
working-directory: Extension
- name: Generate hashes for runtime dependency packages
run: yarn run generatePackageHashes
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Validate Extension/package.json
run: yarn run pr-check
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
uses: GabrielBB/[email protected]
with:
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
uses: GabrielBB/[email protected]
with:
run: yarn run integrationTests
working-directory: Extension
+55
View File
@@ -0,0 +1,55 @@
name: CI (Mac)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 14.16.x
uses: actions/setup-node@v1
with:
node-version: 14.16.x
- name: Install Dependencies
run: yarn install --network-timeout 100000
working-directory: Extension
- name: Generate hashes for runtime dependency packages
run: yarn run generatePackageHashes
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Validate Extension/package.json
run: yarn run pr-check
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
uses: GabrielBB/[email protected]
with:
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
uses: GabrielBB/[email protected]
with:
run: yarn run integrationTests
working-directory: Extension
+51
View File
@@ -0,0 +1,51 @@
name: CI (Windows)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 14.16.x
uses: actions/setup-node@v1
with:
node-version: 14.16.x
- name: Install Dependencies
run: yarn install
working-directory: Extension
- name: Generate hashes for runtime dependency packages
run: yarn run generatePackageHashes
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Validate Extension/package.json
run: yarn run pr-check
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
run: yarn run integrationTests
working-directory: Extension
+28
View File
@@ -0,0 +1,28 @@
name: Duplicate Closer
on:
schedule:
- cron: 10 12 * * * # Run at 12:10 PM UTC (4:10 AM PST, 5:10 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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: duplicate
ignoreLabels: debugger,Feature Request,more info needed,by design,internal
closeDays: 60
closeComment: "This issue has been closed automatically because it's labeled as a 'duplicate' and has not had recent activity."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
@@ -0,0 +1,30 @@
name: Enhancement Closer (no milestone)
on:
schedule:
- cron: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4: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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: enhancement
ignoreLabels: debugger,internal,Feature Request
addLabels: more votes needed
closeDays: 60
maximumVotes: 2
closeComment: "This feature request is being closed due to insufficient upvotes. When enough upvotes are received, this issue will be eligible for our backlog."
setMilestoneId: 30
ignoreMilestoneNames: "*"
@@ -0,0 +1,30 @@
name: Enhancement Closer (Triage)
on:
schedule:
- cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: enhancement
ignoreLabels: debugger,internal,Feature Request
addLabels: more votes needed
closeDays: 60
maximumVotes: 2
closeComment: "This feature request is being closed due to insufficient upvotes. When enough upvotes are received, this issue will be eligible for our backlog."
milestoneName: Triage
milestoneId: 30
@@ -0,0 +1,31 @@
name: Enhancement Reopener
on:
schedule:
- cron: 20 12 * * * # Run at 12:20 PM UTC (4:20 AM PST, 5: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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Reopener
uses: ./.github/actions/Reopener
with:
readonly: ${{ github.event.inputs.readonly }}
alsoApplyToOpenIssues: true
reopenComment: This feature request has received enough votes to be added to our backlog.
labels: enhancement
minimumVotes: 3
ignoreLabels: debugger,internal,Feature Request
milestoneId: 30
milestoneName: Triage
setMilestoneId: 28
removeLabels: more votes needed
@@ -0,0 +1,26 @@
name: External closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: external,debugger
ignoreLabels: language service,internal
closeDays: 0
closeComment: "This issue has been closed automatically because it's labeled as 'external'."
@@ -0,0 +1,30 @@
name: Feature Request Closer (no milestone)
on:
schedule:
- cron: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4: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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: Feature Request
ignoreLabels: debugger,internal
addLabels: more votes needed
closeDays: 60
maximumVotes: 2
closeComment: "This feature request is being closed due to insufficient upvotes. When enough upvotes are received, this issue will be eligible for our backlog."
setMilestoneId: 30
ignoreMilestoneNames: "*"
@@ -0,0 +1,30 @@
name: Feature Request Closer (Triage)
on:
schedule:
- cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: Feature Request
ignoreLabels: debugger,internal
addLabels: more votes needed
closeDays: 60
maximumVotes: 2
closeComment: "This feature request is being closed due to insufficient upvotes. When enough upvotes are received, this issue will be eligible for our backlog."
milestoneName: Triage
milestoneId: 30
@@ -0,0 +1,31 @@
name: Feature Request Reopener
on:
schedule:
- cron: 20 12 * * * # Run at 12:20 PM UTC (4:20 AM PST, 5: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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Reopener
uses: ./.github/actions/Reopener
with:
readonly: ${{ github.event.inputs.readonly }}
alsoApplyToOpenIssues: true
reopenComment: This feature request has received enough votes to be added to our backlog.
labels: Feature Request
minimumVotes: 3
ignoreLabels: debugger,internal
milestoneId: 30
milestoneName: Triage
setMilestoneId: 28
removeLabels: more votes needed
@@ -0,0 +1,26 @@
name: Investigate closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: investigate,debugger
ignoreLabels: language service,internal
closeDays: 180
closeComment: "This issue has been closed automatically because it has not had recent activity."
@@ -0,0 +1,26 @@
name: Investigate Costing closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: "investigate: costing,debugger"
ignoreLabels: language service,internal
closeDays: 180
closeComment: "This issue has been closed automatically because it has not had recent activity."
+25
View File
@@ -0,0 +1,25 @@
name: Locker
on:
schedule:
- cron: 30 11 * * * # Run at 11:30 AM UTC (3:30 AM PST, 4:30 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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Locker
uses: ./.github/actions/Locker
with:
readonly: ${{ github.event.inputs.readonly }}
daysSinceClose: 45
daysSinceUpdate: 3
ignoreLabels: more votes needed,debugger,internal
@@ -0,0 +1,29 @@
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)
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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: more info needed,debugger
ignoreLabels: language service,internal
involves: wardengnaw,pieandcakes,calgagi
closeDays: 14
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity."
pingDays: 7
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
@@ -0,0 +1,28 @@
name: More Info Needed Closer
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
workflow_dispatch:
inputs:
readonly:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: more info needed
ignoreLabels: debugger,internal
closeDays: 60
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
@@ -0,0 +1,29 @@
name: Question Closer - debugger
on:
schedule:
- cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4: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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: question,debugger
ignoreLabels: language service,internal
involves: wardengnaw,pieandcakes,calgagi
closeDays: 14
closeComment: "This issue has been closed automatically because it's labeled as a 'question' and has not had recent activity."
pingDays: 7
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
+28
View File
@@ -0,0 +1,28 @@
name: Question Closer
on:
schedule:
- cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4: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
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: question
ignoreLabels: debugger,internal
closeDays: 60
closeComment: "This issue has been closed automatically because it's labeled as a 'question' and has not had recent activity."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
+2 -1
View File
@@ -6,7 +6,8 @@ browse*.db*
*.exe
*.ilk
# ignore exported localization xlf directory
# ignore exported localization xlf and LCL directories
Build/loc/LCL
vscode-extensions-localization-export
# ignore imported localization xlf directory
+1 -1
View File
@@ -6,7 +6,7 @@ variables:
llvm_additional_parameters: "-DLLDB_RELOCATABLE_PYTHON=1 -DLLDB_INCLUDE_TESTS=OFF -DLLDB_BUILD_FRAMEWORK=1"
# TODO: fix lldb_mi_repo and lldb_mi_branch (https://github.com/lldb-tools/lldb-mi/pull/37 and https://github.com/lldb-tools/lldb-mi/pull/39)
lldb_mi_repo: https://github.com/WardenGnaw/lldb-mi # TODO: Change to lldb-tools
lldb_mi_branch: release/cpptools # TODO: Change to master
lldb_mi_branch: release/cpptools # TODO: Change to main
lldb_mi_additional_parameters: "-DUSE_LLDB_FRAMEWORK=1"
jobs:
+14
View File
@@ -0,0 +1,14 @@
{
"Projects": [
{
"LanguangeSet": "VS_Main_Languages",
"LocItems": [
{
"SourceFile": "vscode-extensions-localization-export\\vscode-extensions\\vscode-cpptools.xlf",
"Languages": "cs;de;es;fr;it;ja;ko;pl;pt-BR;ru;tr;zh-Hans;zh-Hant",
"LclFile": "Build\\loc\\LCL\\{Lang}\\vscode-cpptools.xlf.lcl"
}
]
}
]
}
+55
View File
@@ -0,0 +1,55 @@
# ==================================================================================
# Pipeline for VsCodeExtension-Localization build definition
# Runs OneLocBuild task to localize xlf file
# ==================================================================================
resources:
repositories:
- repository: self
clean: true
trigger: none
pr: none
schedules:
- cron: "0 7 * * *"
displayName: Daily 7 AM
branches:
include:
- main
always: true
pool:
vmImage: 'windows-latest'
steps:
- task: CmdLine@2
inputs:
script: 'cd Extension && yarn install'
- 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'
- task: CmdLine@2
inputs:
script: 'cd Extension && node ./translations_auto_pr.js microsoft vscode-cpptools csigs $(csigsPat) csigs [email protected] "$(Build.ArtifactStagingDirectory)/loc" vscode-extensions-localization-export/vscode-extensions && cd ..'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
+8 -2
View File
@@ -1,3 +1,9 @@
## Microsoft Open Source Code of Conduct
# Microsoft Open Source Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact opencode@microsoft.com with any additional questions or comments.
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
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
+2 -2
View File
@@ -6,14 +6,14 @@
* File an [issue](https://github.com/Microsoft/vscode-cpptools/issues) and a [pull request](https://github.com/Microsoft/vscode-cpptools/pulls) with the change and we will review it.
* If the change affects functionality, add a line describing the change to [**CHANGELOG.md**](Extension/CHANGELOG.md).
* Try and add a test in [**test/extension.test.ts**](Extension/test/unitTests/extension.test.ts).
* Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/master/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging".
* Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging".
## About the Code
* Execution starts in the `activate` method in [**main.ts**](Extension/src/main.ts).
* `processRuntimeDependencies` handles the downloading and installation of the OS-dependent files. Downloading code exists in [**packageManager.ts**](Extension/src/packageManager.ts).
* `downloadCpptoolsJsonPkg` handles the **cpptools.json**, which can be used to enable changes to occur mid-update, such as turning the `intelliSenseEngine` to `"Default"` for a certain percentage of users.
* The debugger code is in the [**Debugger**](https://github.com/Microsoft/vscode-cpptools/tree/master/Extension/src/Debugger) folder.
* The debugger code is in the [**Debugger**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension/src/Debugger) folder.
* [**LanguageServer/client.ts**](Extension/src/LanguageServer/client.ts) handles various language server functionality.
* [**LanguageServer/configurations.ts**](Extension/src/LanguageServer/configurations.ts) handles functionality related to **c_cpp_properties.json**.
* [**telemetry.ts**](Extension/src/telemetry.ts): Telemetry data gets sent to either `logLanguageServerEvent` or `logDebuggerEvent`.
@@ -0,0 +1,20 @@
# Exception Settings
The Microsoft Windows C/C++ debugger (cppvsdbg) supports configuration options for if the debugger stops when exceptions are thrown. This is done with the 'All Exceptions' check box in the BREAKPOINTS section of the 'Run and Debug' view.
Note that the BREAKPOINTS section will be missing this entry until the first time that the folder has been debugged with the 'cppvsdbg' debugger.
Checking 'All Exceptions' will configure the debugger to stop when an exception is thrown.
##### Exception Conditions
The 'All Exceptions' checkbox support conditions to break on only selected exception types (C++ exceptions) or codes (Win32 exceptions). To edit the condition, click on the pencil icon or right click on the entry and invoke 'Edit Condition'. The condition is a comma-separated list of exception types and codes to break on, or if the list starts with '!', a list of exception types and codes to ignore.
Examples conditions:
| Example condition value | Result |
|-------------------------|--------|
| 0xC0000005, 0xC0000094 | Break on Win32 Access Violation exceptions and integer division by zero exceptions |
| std::out_of_range, 0xC0000005 | This will break on out-of-range exceptions, and access violation exceptions |
| !MyExceptionClass | This will break on all exceptions except C++ `MyExceptionClass` exceptions |
| !MyExceptionClass, 0x6831C815 | This will break on all exceptions except C++ `MyExceptionClass` exceptions and Win32 exceptions with custom code 0x6831C815 |
@@ -1,6 +1,6 @@
# How To Debug MIEngine
MIEngine is one of the components used to enable the C/C++ debugging scenario with the Microsoft C/C++ extension with VS Code. This document is to help enable users who want to debug and contribute to MIEngine to fix issues or extend functionality. MIEngine is used to communicate with `gdb`/`lldb` using the MI protocol.
MIEngine is one of the components used to enable the C/C++ debugging scenario with the Microsoft C/C++ extension with VS Code. This document is to help enable users who want to debug and contribute to MIEngine to fix issues or extend functionality. MIEngine is used to communicate with `gdb`/`lldb` using the MI protocol.
**Repository:** https://github.com/Microsoft/MIEngine
@@ -19,7 +19,7 @@ You can open the solution file **MIDebugEngine.sln** located under **src** and c
The symbol files are as follows:
**On Windows**
**On Windows**
* Microsoft.MICore.pdb
* Microsoft.MIDebugEngine.pdb
* vscode\OpenDebugAD7.pdb
@@ -37,7 +37,7 @@ On Windows, the easiest way to debug is to use Visual Studio. Locate the **src\D
If you are not building the extension, Locate the **out\src\Debugger\extension.ts** file in the **.vscode\extensions\ms-vscode.cpptools** folder and open it in an editor.
Locate the following lines:
Locate the following lines:
```json
return {
command: command
@@ -48,13 +48,13 @@ and add the following line to the object:
args: ["--pauseForDebugger"]
```
This will cause the debugger to look like it has hung once you start debugging, but in reality it is waiting for a debugger to attach. Set your breakpoints and attach your debugger to the `OpenDebugAD7.exe` process. Once the debugger is attached, VS Code should start debugging and you can reproduce your scenario.
This will cause the debugger to look like it has hung once you start debugging, but in reality it is waiting for a debugger to attach. Set your breakpoints and attach your debugger to the `OpenDebugAD7.exe` process. Once the debugger is attached, VS Code should start debugging and you can reproduce your scenario.
### Debugging MIEngine running on Linux or Mac OS X
### Debugging MIEngine running on Linux or macOS
#### With MonoDevelop
On Linux and Mac OS X, we use `mono` as our framework. You can download Xamarin Studio v5.10.1.6 and remotely attach to your Mac or Linux box to debug there.
On Linux and macOS, we use `mono` as our framework. You can download Xamarin Studio v5.10.1.6 and remotely attach to your Mac or Linux box to debug there.
##### Install Prerequisites
1. Install [GTK](http://www.mono-project.com/download/).
@@ -78,12 +78,12 @@ MonoDevelop.exe
##### Configure the extension to enable remote debugging
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from Xamarin Studio.
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from Xamarin Studio.
##### Attach the remote debugger
In MonoDevelop: Run -> Run With -> Custom Command Mono Soft Debugger.
Fill in the IP and port of the Linux/Mac OS X machine and hit "Connect" to start debugging.
Fill in the IP and port of the Linux/macOS machine and hit "Connect" to start debugging.
After you've done this once, you can hit the MonoDevelop "Play" button or <kbd>F5</kbd> to bring up the connect dialog again.
@@ -113,7 +113,7 @@ After you've done this once, you can hit the MonoDevelop "Play" button or <kbd>F
##### Configure the extension to enable remote debugging
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from VS Code.
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from VS Code.
##### Attach the remote debugger
+9 -2
View File
@@ -19,7 +19,14 @@ module.exports = {
"rules": {
"@typescript-eslint/adjacent-overload-signatures": "error",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/class-name-casing": "error",
"camelcase": "off",
"@typescript-eslint/naming-convention": [
"error",
{
"selector": "typeLike",
"format": ["PascalCase"]
}
],
"@typescript-eslint/indent": "error",
"@typescript-eslint/member-delimiter-style": [
"error",
@@ -71,7 +78,7 @@ module.exports = {
"no-fallthrough": "error",
"no-invalid-this": "error",
"no-irregular-whitespace": "error",
"no-multiple-empty-lines": "error",
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0 }],
"no-new-wrappers": "error",
"no-redeclare": "error",
"no-return-await": "error",
+1
View File
@@ -12,6 +12,7 @@ LLVM
bin/cpptools*
bin/*.dll
bin/.vs
bin/LICENSE.txt
# ignore lock files
install.lock
+1 -1
View File
@@ -98,7 +98,7 @@
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject",
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject/simpleCppProject.code-workspace",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer/index"
],
+6 -10
View File
@@ -20,9 +20,7 @@
"command": "yarn",
"args": [
"run",
"compile",
"--loglevel",
"silent"
"compile"
]
},
{
@@ -95,9 +93,7 @@
"command": "yarn",
"args": [
"run",
"compile-watch",
"--loglevel",
"silent"
"compile-watch"
],
"problemMatcher": [
{
@@ -121,10 +117,10 @@
"background": {
"activeOnStart": true,
"beginsPattern": {
"regexp": "Compilation (.*?)starting…"
"regexp": "asset"
},
"endsPattern": {
"regexp": "Compilation (.*?)finished"
"regexp": "webpack (.*?) compiled (.*?) ms"
}
}
}
@@ -162,10 +158,10 @@
"background": {
"activeOnStart": true,
"beginsPattern": {
"regexp": "Compilation (.*?)starting…"
"regexp": "asset"
},
"endsPattern": {
"regexp": "Compilation (.*?)finished"
"regexp": "webpack (.*?) compiled (.*?) ms"
}
}
}
+3
View File
@@ -41,3 +41,6 @@ translations_auto_pr.js
# ignore i18n language files
i18n/**
# ignore node_modules
node_modules/
+333 -10
View File
@@ -1,5 +1,328 @@
# C/C++ for Visual Studio Code Change Log
## Version 1.5.0-insiders2: June 21, 2021
### New Feature
* Add "Inline macro" code action. [#4183](https://github.com/microsoft/vscode-cpptools/issues/4183)
### Bug Fixes
* Fix code folding causing `} else if` lines to be hidden. [#5521](https://github.com/microsoft/vscode-cpptools/issues/5521)
* Fix Find All References on a global variable giving incorrect references to local variables. [#7702](https://github.com/microsoft/vscode-cpptools/issues/7702)
* Fix `vcFormat` not working near the end of the file with UTF-8 characters > 1 byte. [#7704](https://github.com/microsoft/vscode-cpptools/issues/7704)
* Fix configuration squiggle on a recursively resolved `forcedInclude`. [PR #7722](https://github.com/microsoft/vscode-cpptools/pull/7722)
* Fix `Build and Debug Active File` for certain file extensions (.cu, .cp, etc.).
* jogo- (@jogo-) [PR #7726](https://github.com/microsoft/vscode-cpptools/pull/7726)
* Fix an infinite loop when importing a module with a template.
## Version 1.5.0-insiders: June 14, 2021
### Enhancements
* Add "Symbol Options" for CppVsdbg to configure symbol settings [PR #7680](https://github.com/microsoft/vscode-cpptools/pull/7680)
* Update CppVsdbg to use newer CppEE and msdia.
### Bug Fixes
* Fix switch header/source not checking `files.exclude`. [#4429](https://github.com/microsoft/vscode-cpptools/issues/4429)
* Fix Find All References reporting certain references in headers as inactive. [#7609](https://github.com/microsoft/vscode-cpptools/issues/7609)
* Fix IntelliSense process crash and tag parser failure with columns > 65535. [#7621](https://github.com/microsoft/vscode-cpptools/issues/7621)
* Fix incorrect localization translations.
* jogo- (@jogo-) [PR #7625](https://github.com/microsoft/vscode-cpptools/pull/7625)
* Fix `autocompleteAddParentheses` for some template argument deduction cases. [#7626](https://github.com/microsoft/vscode-cpptools/issues/7626)
* Fix some incorrect IntelliSense errors. [#6639](https://github.com/microsoft/vscode-cpptools/issues/6639), [#7630](https://github.com/microsoft/vscode-cpptools/issues/7630)
* Change references of "OS X" to "macOS".
* Tyler Davis (@TylerADavis) [PR #7636](https://github.com/microsoft/vscode-cpptools/pull/7636)
* Prevent the root path from being added to the `browse.path`. [#7648](https://github.com/microsoft/vscode-cpptools/issues/7648)
* Fix configuration squiggle when `${workspaceFolder}` is used with `compilerPath`. [#7649](https://github.com/microsoft/vscode-cpptools/issues/7649)
* Fix an issue causing editorConfig not to be used or cached. [PR #7666](https://github.com/microsoft/vscode-cpptools/pull/7666)
* Fix document symbols nesting with templates. [#7673](https://github.com/microsoft/vscode-cpptools/issues/7673)
* Fix a duplicate IntelliSense update when a new C/C++ file is opened and after switching from a non-C/C++ file and back.
* Fix a potential IntelliSense process crash on shutdown.
## Version 1.4.1: June 8, 2021
* Fix the configuration UI sometimes not populating initially with VS Code 1.56 or later. [#7641](https://github.com/microsoft/vscode-cpptools/issues/7641)
## Version 1.4.0: May 27, 2021
### New Features
* Add a C++ walkthrough to the "Getting Started" page. [#7273](https://github.com/microsoft/vscode-cpptools/issues/7273)
* Note: VS Code may only make this available to a subset of users while they continue working on the feature.
### Enhancements
* Update to clang-format 12. [#6434](https://github.com/microsoft/vscode-cpptools/issues/6434)
* Add `private` or `protected` scope labels to class symbols. [#7120](https://github.com/microsoft/vscode-cpptools/issues/7120)
* Fix file:line path for $FILEPOS [#7193](https://github.com/microsoft/vscode-cpptools/issues/7193)
* [#1124](https://github.com/microsoft/MIEngine/pull/1124)
* Add `stopAtConnect` and `hardwareBreakpoints` launch options [PR #7449](https://github.com/microsoft/vscode-cpptools/pull/7449)
* `stopAtConnect` stops the debugger on connection to a remote target [PR MIEngine#1109](https://github.com/microsoft/MIEngine/pull/1109)
* `hardwareBreakpoints` controls usage and number of remote hardware breakpoints [PR MIEngine#1128](https://github.com/microsoft/MIEngine/pull/1128)
* Add support for loading Concord extensions to the cppvsdbg debug adapter (see [documentation](https://github.com/microsoft/ConcordExtensibilitySamples/wiki/Support-for-VS-Code-cppvsdbg-Scenarios) for more information)
* Add support for exception conditions to cppvsdbg (see [documentation](https://aka.ms/VSCode-Cpp-ExceptionSettings) for more information)
### Bug Fixes
* Fix an incorrect IntelliSense error with object initialization. [#3212](https://github.com/microsoft/vscode-cpptools/issues/3212)
* Fix IntelliSense errors with designated initializers. [#3491](https://github.com/microsoft/vscode-cpptools/issues/3491), [#5500](https://github.com/microsoft/vscode-cpptools/issues/5550)
* Fix IntelliSense configuration with cl.exe compiler args `/external:I`, `/Zc:preprocessor`, and others. [#4980](https://github.com/microsoft/vscode-cpptools/issues/4980), [#6531](https://github.com/microsoft/vscode-cpptools/issues/6531), [#7259](https://github.com/microsoft/vscode-cpptools/issues/7259)
* Switch to showing no document symbols instead of random symbols for `files.exclude`'d documents. [#5142](https://github.com/microsoft/vscode-cpptools/issues/5142)
* Fix macros getting undefined when duplicate `#include` are used. [#5182](https://github.com/microsoft/vscode-cpptools/issues/5182), [#7270](https://github.com/microsoft/vscode-cpptools/issues/7270)
* Fix provider failed error logging. [#5487](https://github.com/microsoft/vscode-cpptools/issues/5487)
* Fix an IntelliSense crash with `#pragma GCC target`. [#6698](https://github.com/microsoft/vscode-cpptools/issues/6698), [#7377](https://github.com/microsoft/vscode-cpptools/issues/7377)
* Fix bitness detection for compilers targeting esp32. [#7034](https://github.com/microsoft/vscode-cpptools/issues/7034)
* Fix -idirafter directories being included too early. [#7129](https://github.com/microsoft/vscode-cpptools/issues/7129)
* Fix issue with the cpptools process lingering when no longer needed. [#7262](https://github.com/microsoft/vscode-cpptools/issues/7262)
* Filter out C++ std when querying the compiler as C (and vice versa). [#7269](https://github.com/microsoft/vscode-cpptools/issues/7269)
* Fix `files.exclude` ending with `/folder/**` not excluding `/folder`. [#7331](https://github.com/microsoft/vscode-cpptools/issues/7331)
* Fix VS Code UI freezing when hovering over very large literals. [#7334](https://github.com/microsoft/vscode-cpptools/issues/7334), [#7577](https://github.com/microsoft/vscode-cpptools/issues/7577)
* Fix clang-format formatting bug when new lines are removed. [#7360](https://github.com/microsoft/vscode-cpptools/issues/7360)
* Change default cwd in launch.json to `${fileDirname}`. [#7362](https://github.com/microsoft/vscode-cpptools/issues/7362)
* Syed Ahmad (@HackintoshwithUbuntu) [PR #7363](https://github.com/microsoft/vscode-cpptools/pull/7363)
* Fix the compile commands entry not being used when -Werror is used. [#7388](https://github.com/microsoft/vscode-cpptools/issues/7388)
* Fix some potential race conditions during vsix installation. [#7405](https://github.com/microsoft/vscode-cpptools/issues/7405)
* Fix completion at the end of a file. [#7472](https://github.com/microsoft/vscode-cpptools/issues/7472)
* Fix completion of constructors. [#7505](https://github.com/microsoft/vscode-cpptools/issues/7505)
* Fix typos.
* jogo- (@jogo-) [PR #7509](https://github.com/microsoft/vscode-cpptools/pull/7509), [PR #7568](https://github.com/microsoft/vscode-cpptools/pull/7568), [PR #7573](https://github.com/microsoft/vscode-cpptools/pull/7573)
* Fix an IntelliSense crash with the arrow library. [#7518](https://github.com/microsoft/vscode-cpptools/issues/7518)
* Fix the configuration UI randomly being blank (more frequently when remote). [#7523](https://github.com/microsoft/vscode-cpptools/issues/7523)
* Fix IntelliSense mode switching from `linux` to `macos` if `__unix__` is defined but `__linux__` is not. [#7525](https://github.com/microsoft/vscode-cpptools/issues/7525)
* Fix enabling of the `ms_extensions` flag for clang on Windows. [#7529](https://github.com/microsoft/vscode-cpptools/issues/7529)
* Fix `autocompleteAddParentheses` with no argument const/non-const overloads and deduction guides. [#7540](https://github.com/microsoft/vscode-cpptools/issues/7540), [#7541](https://github.com/microsoft/vscode-cpptools/issues/7541)
* Fix the browse configuration not being preserved when the configuration provider is auto-detected. [#7542](https://github.com/microsoft/vscode-cpptools/issues/7542)
* Fix clang-format failure on macOS 10.13 or older. [#7561](https://github.com/microsoft/vscode-cpptools/issues/7561)
* Fix an IntelliSense crash with std::ranges::unique. [#7576](https://github.com/microsoft/vscode-cpptools/issues/7576)
* Prevent 'Configuration Warnings' output when a custom configuration provider omits optional fields.
* Prevent 'Configuration Warnings' caused by corrections to auto-detected default configuration values.
* Reduce IntelliSense memory and CPU usage in certain scenarios (e.g. large files).
* Fix a crash on Linux with a `/**` includePath.
## Version 1.3.1: April 19, 2021
### Bug Fixes
* Fix extension not activating when `/.vscode/c_cpp_properties.json` exists but no C/C++ file is open. [#7344](https://github.com/microsoft/vscode-cpptools/issues/7344)
* Fix logging for an invalid provider configuration.
* Yonggang Luo (@lygstate) [PR #7350](https://github.com/microsoft/vscode-cpptools/pull/7350)
* Fix extension activation with 32-bit Windows. [#7368](https://github.com/microsoft/vscode-cpptools/issues/7368)
## Version 1.3.0: April 13, 2021
### New Features
* Add language service support for CUDA.
* Add highlighting of matching conditional preprocessor statements. [#2565](https://github.com/microsoft/vscode-cpptools/issues/2565)
* Add commands for navigating to matching preprocessor directives in conditional groups. [#4779](https://github.com/microsoft/vscode-cpptools/issues/4779)
* Add native language service binaries for ARM64 Mac. [#6595](https://github.com/microsoft/vscode-cpptools/issues/6595)
### Enhancements
* Add parentheses to function calls when `C_Cpp.autocompleteAddParentheses` is `true`. [#882](https://github.com/microsoft/vscode-cpptools/issues/882)
* Add @retval support to the simplified view of doc comments. [#6816](https://github.com/microsoft/vscode-cpptools/issues/6816)
* Add auto-closing of include completion brackets. [#7054](https://github.com/microsoft/vscode-cpptools/issues/7054)
* Add support for nodeAddonIncludes with Yarn PnP.
* Mestery (@Mesterry) [PR #7123](https://github.com/microsoft/vscode-cpptools/pull/7123)
* Add a `C_Cpp.files.exclude` setting, which is identical to `files.exclude` except items aren't excluded from the Explorer view. [PR #7285](https://github.com/microsoft/vscode-cpptools/pull/7285)
### Bug Fixes
* Display integer values for char and unsigned char on hover instead of character symbols. [#1552](https://github.com/microsoft/vscode-cpptools/issues/1552)
* Fix directory iteration to check files.exclude and symlinks and use less memory. [#3123](https://github.com/microsoft/vscode-cpptools/issues/3123), [#4206](https://github.com/microsoft/vscode-cpptools/issues/4206), [#6864](https://github.com/microsoft/vscode-cpptools/issues/6864)
* Fix an issue with stale IntelliSense due to moving or renaming header files. [#3849](https://github.com/microsoft/vscode-cpptools/issues/3849)
* Fix go to definition on large macros. [#4306](https://github.com/microsoft/vscode-cpptools/issues/4306)
* Fix a spurious asterisk being inserted on a new line if the previous line starts with an asterisk. [#5733](https://github.com/microsoft/vscode-cpptools/issues/5733)
* Fix bug with placement new on Windows with gcc mode. [#6246](https://github.com/microsoft/vscode-cpptools/issues/6246)
* Fix size_t and placement new squiggles with clang on Windows. [#6573](https://github.com/microsoft/vscode-cpptools/issues/6573), [#7106](https://github.com/microsoft/vscode-cpptools/issues/7016)
* Fix an incorrect IntelliSense error squiggle when assigning to std::variant in clang mode. [#6623](https://github.com/microsoft/vscode-cpptools/issues/6623)
* Fix incorrect squiggle with range-v3 library. [#6639](https://github.com/microsoft/vscode-cpptools/issues/6639)
* Fix incorrect squiggle with auto parameters. [#6714](https://github.com/microsoft/vscode-cpptools/issues/6714)
* Fix (reimplement) nested document symbols. [#6830](https://github.com/microsoft/vscode-cpptools/issues/6830), [#7023](https://github.com/microsoft/vscode-cpptools/issues/7023), [#7024](https://github.com/microsoft/vscode-cpptools/issues/7024)
* Fix detection of bitness for compilers targeting esp32. [#7034](https://github.com/microsoft/vscode-cpptools/issues/7034)
* Fix include completion not working after creating a new header with a non-standard extension until a reload is done. [#6987](https://github.com/microsoft/vscode-cpptools/issues/6987), [#7061](https://github.com/microsoft/vscode-cpptools/issues/7061)
* Fix endless CPU/memory usage in cpptools-srv when certain templated type aliases are used. [#7085](https://github.com/microsoft/vscode-cpptools/issues/7085)
* Fix "No symbols found" sometimes occurring when a document first opens. [#7103](https://github.com/microsoft/vscode-cpptools/issues/7103)
* Fix vcFormat formatting after typing brackets and a newline. [#7125](https://github.com/microsoft/vscode-cpptools/issues/7125)
* Fix a performance bug after formatting a document. [#7159](https://github.com/microsoft/vscode-cpptools/issues/7159)
* Fix random crashes of cpptools-srv during shutdown. [#7161](https://github.com/microsoft/vscode-cpptools/issues/7161)
* Fix a bug with relative "." paths in compile commands. [#7221](https://github.com/microsoft/vscode-cpptools/issues/7221)
* Fix configuration issues with Unreal Engine projects. [#7222](https://github.com/microsoft/vscode-cpptools/issues/7222)
* Fix bug when `${workspaceFolder}` is used in `compileCommands`. [#7241](https://github.com/microsoft/vscode-cpptools/issues/7241)
* Aleksa Pavlovic (@aleksa2808) [PR #7242](https://github.com/microsoft/vscode-cpptools/pull/7242)
* Fix field requirements for custom configurations. [PR #7295](https://github.com/microsoft/vscode-cpptools/pull/7295)
* Fix integrity hash checking of downloaded packages for the extension. [PR #7300](https://github.com/microsoft/vscode-cpptools/pull/7300)
* Fix a bug preventing successful validation and receipt of browse configurations from custom configuration providers. [PR# 7131](https://github.com/microsoft/vscode-cpptools/pull/7313)
* Fix a potential crash when editing at the end of a document.
* Fix "Configure Task" selection to show root folder names for multiroot workspace [PR #7315](https://github.com/microsoft/vscode-cpptools/pull/7315)
## Version 1.2.2: February 25, 2021
### Bug Fixes
* Fix IntelliSense errors with variable length arrays with C Clang mode. [#6500](https://github.com/microsoft/vscode-cpptools/issues/6500)
* Fix for random IntelliSense communication failures on Mac. [#6809](https://github.com/microsoft/vscode-cpptools/issues/6809), [#6958](https://github.com/microsoft/vscode-cpptools/issues/6958)
* Fix an extension activation failure when a non-existent folder exists in the workspace. [#6981](https://github.com/microsoft/vscode-cpptools/issues/6981)
* Fix infinite loops during document symbol processing. [#6988](https://github.com/microsoft/vscode-cpptools/issues/6988), [#7012](https://github.com/microsoft/vscode-cpptools/issues/7012), [#7022](https://github.com/microsoft/vscode-cpptools/issues/7022), [#7025](https://github.com/microsoft/vscode-cpptools/issues/7025)
* Fix a regression with handling of -isysroot/--sysroot compiler arguments. [#6992](https://github.com/microsoft/vscode-cpptools/issues/6992)
* Fix issue querying certain compilers, including armclang and arm-poky-linux-musleabi-gcc. [7021](https://github.com/microsoft/vscode-cpptools/issues/7021)
* Fix invalid "console" property when generating a "cppdbg" task. [#7048](https://github.com/microsoft/vscode-cpptools/issues/7048)
## Version 1.2.1: February 16, 2021
### Bug Fixes
* Fix `Switch Header/Source` in two cases when symlinks are in the path. [#6855](https://github.com/microsoft/vscode-cpptools/issues/6855)
* Fix clang-format FixNamespaceComments default. [#6894](https://github.com/microsoft/vscode-cpptools/issues/6894)
* Fix an issue with querying certain compilers for system defines and system includes [#6898](https://github.com/microsoft/vscode-cpptools/issues/6898)
* Fix an issue preventing detection of default target and default language standard of Cygwin and WSL compilers. [#6902](https://github.com/microsoft/vscode-cpptools/issues/6902)
* Fix an issue with detection of Apple Clang. [#6916](https://github.com/microsoft/vscode-cpptools/issues/6916)
* Fix endless memory usage (or a crash) with certain code. [#6940](https://github.com/microsoft/vscode-cpptools/issues/6940)
* Fix "format after newline" with vcFormat. [#6942](https://github.com/microsoft/vscode-cpptools/issues/6942)
* Fix compiler querying with -Xclang and -include-pch arguments. [#6944](https://github.com/microsoft/vscode-cpptools/issues/6944)
* Switch to the signed LLDB-MI on Mac 10.14 or newer with the online vsix. [#6945](https://github.com/microsoft/vscode-cpptools/issues/6945)
## Version 1.2.0: February 2, 2021
### New Features
* Add support for cross-compilation configurations for IntelliSense. For example, `intelliSenseMode` value "linux-gcc-x64" could be used on a Mac host machine. [#1083](https://github.com/microsoft/vscode-cpptools/issues/1083)
### Enhancements
* Show configuration squiggles when configurations with the same name exist. [#3412](https://github.com/microsoft/vscode-cpptools/issues/3412)
* Add `C_Cpp.addNodeAddonIncludePaths` setting to add include paths from `nan` and `node-addon-api` when they're dependencies. [#4854](https://github.com/microsoft/vscode-cpptools/issues/4854)
* Bruce MacNaughton (@bmacnaughton) [PR #67331](https://github.com/microsoft/vscode-cpptools/pull/6731)
* Add command `Generate EditorConfig contents from VC Format settings`. [#6018](https://github.com/microsoft/vscode-cpptools/issues/6018)
* Update to clang-format 11.1. [#6326](https://github.com/microsoft/vscode-cpptools/issues/6326)
* Add clang-format built for Windows ARM64. [#6494](https://github.com/microsoft/vscode-cpptools/issues/6494)
* Add support for the `/await` flag with msvc IntelliSense. [#6596](https://github.com/microsoft/vscode-cpptools/issues/6596)
* Increase document/workspace symbol limit from 1000 to 10000. [#6766](https://github.com/microsoft/vscode-cpptools/issues/6766)
* Add new "console" launch config for cppvsdbg. [PR #6794](https://github.com/microsoft/vscode-cpptools/pull/6794)
### Bug Fixes
* Fix handling of `--sysroot` and `-isysroot` with `compileCommands`. [#1575](https://github.com/microsoft/vscode-cpptools/issues/1575)
* Fix IntelliSense not updating if a non-opened header is changed. [#1780](https://github.com/microsoft/vscode-cpptools/issues/1780)
* Fix IntelliSense involving overflow for unsigned int values. [#2202](https://github.com/microsoft/vscode-cpptools/issues/2202)
* Fix IntelliSense not switching the language mode after changing C versus C++ `files.associations`. [#2557](https://github.com/microsoft/vscode-cpptools/issues/2557)
* Fix Switch Header/Source not switching to an existing file in another column if it's not visible. [#2667](https://github.com/microsoft/vscode-cpptools/issues/2667), [#6749](https://github.com/microsoft/vscode-cpptools/issues/6749)
* Fix autocomplete not working with `for` loop variables with C code. [#2946](https://github.com/microsoft/vscode-cpptools/issues/2946)
* Fix `#include` completion not sorting _ last. [#3465](https://github.com/microsoft/vscode-cpptools/issues/3465)
* Fix completion not working for templates in gcc/clang mode. [#3501](https://github.com/microsoft/vscode-cpptools/issues/3501)
* Fix crash when certain JavaScript files are parsed as C++. [#3858](https://github.com/microsoft/vscode-cpptools/issues/3858)
* Fix IntelliSense squiggle about not being able to assign to an object of its own type. [#3883](https://github.com/microsoft/vscode-cpptools/issues/3883)
* Fix hover and Find All References for template function overloads. [#4044](https://github.com/microsoft/vscode-cpptools/issues/4044), [#4249](https://github.com/microsoft/vscode-cpptools/issues/4249)
* Fix the Outline view for nested namespaces. [#4456](https://github.com/microsoft/vscode-cpptools/issues/4456)
* Fix some IntelliSense parsing errors. [#4595](https://github.com/microsoft/vscode-cpptools/issues/4595), [#6362](https://github.com/microsoft/vscode-cpptools/issues/6362), [#6685](https://github.com/microsoft/vscode-cpptools/issues/6685)
* Fix Outline view with`"**/.*"` in `files.exclude`. [#4602](https://github.com/microsoft/vscode-cpptools/issues/4602)
* Fix build tasks errors in single file mode. [#4638](https://github.com/microsoft/vscode-cpptools/issues/4638), [#6764](https://github.com/microsoft/vscode-cpptools/issues/6764)
* Fix the Outline view for nested structs/classes. [#4781](https://github.com/microsoft/vscode-cpptools/issues/4871)
* Fix `files.exclude` not applying to watched files handlers. [#5141](https://github.com/microsoft/vscode-cpptools/issues/5141)
* Fix code folding incorrectly matching an inactive `}`. [#5429](https://github.com/microsoft/vscode-cpptools/issues/5429)
* Fix IntelliSense Clang version for Apple Clang. [#5500](https://github.com/microsoft/vscode-cpptools/issues/5500)
* Fix hover doc comments not working if there's a selection. [#5635](https://github.com/microsoft/vscode-cpptools/issues/5635), [#6583](https://github.com/microsoft/vscode-cpptools/issues/6583)
* Fix `#include` completion to include results for non-standard header file extensions. [#5698](https://github.com/microsoft/vscode-cpptools/issues/5698)
* Fix clang-format failing due to missing libtinfo5 on Linux ARM/ARM64. [#5958](https://github.com/microsoft/vscode-cpptools/issues/5958)
* Automatically configure to use a custom configuration provider if available and no other configuration exists. [#6150](https://github.com/microsoft/vscode-cpptools/issues/6150)
* Fix not being able to attach to cpptools and cpptools-srv on Mac (to get crash call stacks). [#6151](https://github.com/microsoft/vscode-cpptools/issues/6151), [#6736](https://github.com/microsoft/vscode-cpptools/issues/6736)
* Fix IntelliSense crashing with cl.exe with C++20 and span. [#6251](https://github.com/microsoft/vscode-cpptools/issues/6251)
* Stop querying unsupported compilers. [#6314](https://github.com/microsoft/vscode-cpptools/issues/6314)
* Fix an entry not found error for files in `compile_commands.json` that didn't initially exist. [#6311](https://github.com/microsoft/vscode-cpptools/issues/6311)
* Fix IntelliSense errors with C++20 std::ranges in gcc/clang modes. [#6342](https://github.com/microsoft/vscode-cpptools/issues/6342)
* Add a workaround for a missing compiler path for the `compile_commands.json` generated by Unreal Engine. [#6358](https://github.com/microsoft/vscode-cpptools/issues/6358)
* Fix IntelliSense crash with coroutines. [#6363](https://github.com/microsoft/vscode-cpptools/issues/6363)
* Add localized strings for `cppbuild` tasks. [#6436](https://github.com/microsoft/vscode-cpptools/issues/6436)
* Fix IntelliSense squiggle with C++20 non-type templates. [#6462](https://github.com/microsoft/vscode-cpptools/issues/6462)
* Fix `compilerArgs` processing with `-MF` and other multi-arg arguments. [#6478](https://github.com/microsoft/vscode-cpptools/issues/6478)
* Fix bug causing `Unable to read process.env.HOME`. [#6468](https://github.com/microsoft/vscode-cpptools/issues/6468)
* Fix gcc problem matcher when the column is missing.
* @guntern [PR #6490](https://github.com/microsoft/vscode-cpptools/pull/6490)
* Disable Insiders prompt for Codespaces. [#6491](https://github.com/microsoft/vscode-cpptools/issues/6491)
* Fix `compile_commands.json` not working correctly for `*.C` files. [#6497](https://github.com/microsoft/vscode-cpptools/issues/6497)
* Show an error message when gdb can't be found when generating a `launch.json` (instead of using an invalid `miDebuggerPath`). [#6511](https://github.com/microsoft/vscode-cpptools/issues/6511)
* Fix IntelliSense not supporting `__float128` (and `Q` literals) on x64 Linux. [#6574](https://github.com/microsoft/vscode-cpptools/issues/6574)
* Fix IntelliSense crash with a parenthesized type followed by an initializer list. [#6554](https://github.com/microsoft/vscode-cpptools/issues/6554), [#6624](https://github.com/microsoft/vscode-cpptools/issues/6624)
* Fix IntelliSense updating after pasting multi-line code. [#6565](https://github.com/microsoft/vscode-cpptools/issues/6565)
* Use "method" instead of "member" for semantic tokens. [#6569](https://github.com/microsoft/vscode-cpptools/issues/6569)
* Fix `__builtin_coro_*` methods not recognized by IntelliSense in gcc mode with `-fcoroutines`. [#6575](https://github.com/microsoft/vscode-cpptools/issues/6575)
* Fix the `else` snippet interfering with entering one line `else` statements. [#6582](https://github.com/microsoft/vscode-cpptools/issues/6582)
* Stop showing an "unknown error" message after canceling the creation of a `launch.json`. [#6608](https://github.com/microsoft/vscode-cpptools/issues/6608)
* Fix potential extension activation delay. [#6630](https://github.com/microsoft/vscode-cpptools/issues/6630)
* Fix the executed command not appearing with cppbuild tasks. [#6647](https://github.com/microsoft/vscode-cpptools/issues/6647)
* Fix IntelliSense crash on Mac due to IPCH file corruption. [#6673](https://github.com/microsoft/vscode-cpptools/issues/6673)
* Fix `_Debug` not being defined when `/MDd` or `/MTd` are used. [#6690](https://github.com/microsoft/vscode-cpptools/issues/6690)
* Fix infinite IntelliSense processing when C++20, gcc mode, and `-fcoroutines` and used. [#6709](https://github.com/microsoft/vscode-cpptools/issues/6709)
* Allow the extension to run on M1 Macs. [#6713](https://github.com/microsoft/vscode-cpptools/issues/6713)
* Xiangyi Meng (@xymeng16) [PR #6601](https://github.com/microsoft/vscode-cpptools/pull/6601)
* Fix IntelliSense errors when "module" is used as a variable name with C++20. [#6719](https://github.com/microsoft/vscode-cpptools/issues/6719)
* Fix `.` to `->` completion with multiple cursors. [#6720](https://github.com/microsoft/vscode-cpptools/issues/6720)
* Fix bug with configured cl.exe path not being used to choose appropriate system include paths, or cl.exe not being used at all if it's not also installed via the VS Installer. [#6746](https://github.com/microsoft/vscode-cpptools/issues/6746)
* Fix bugs with parsing of quotes and escape sequences in compiler args. [#6761](https://github.com/microsoft/vscode-cpptools/issues/6761)
* Fix the configuration not showing in the status bar when `c_cpp_properties.json` is active. [#6765](https://github.com/microsoft/vscode-cpptools/issues/6765)
* Fix compiler querying with compilers that do not output `__STD_VERSION__` by default (gcc <= 4.8.x). [#6792](https://github.com/microsoft/vscode-cpptools/issues/6792)
* Fix document symbols when nested symbols have the same name as a parent. [#6830](https://github.com/microsoft/vscode-cpptools/issues/6830)
* Fix automatic adding of header files to `files.associations` after `Go to Definition` on a `#include`. [#6845](https://github.com/microsoft/vscode-cpptools/issues/6845)
* Fix `"Insiders"` `updateChannel` for VS Code - Exploration. [#6875](https://github.com/microsoft/vscode-cpptools/issues/6875)
* Fix "D" command line warnings not appearing with cl.exe cppbuild build tasks.
* Fix cl.exe cppbuild tasks when `/nologo` is used (and make /nologo a default arg).
* Fix a cpptools crash and multiple deadlocks.
## Version 1.1.3: December 3, 2020
### Bug Fixes
* Disable the "join Insiders" prompt for Linux CodeSpaces. [#6491](https://github.com/microsoft/vscode-cpptools/issues/6491)
* Fix "shell" tasks giving error "Cannot read property `includes` of undefined". [#6538](https://github.com/microsoft/vscode-cpptools/issues/6538)
* Fix various task variables not getting resolved with `cppbuild` tasks. [#6538](https://github.com/microsoft/vscode-cpptools/issues/6538)
* Fix warnings not appearing with `cppbuild` tasks. [#6556](https://github.com/microsoft/vscode-cpptools/issues/6556)
* Fix endless CPU/memory usage if the cpptools process crashes. [#6603](https://github.com/microsoft/vscode-cpptools/issues/6603)
* Fix the default `cwd` for `cppbuild` tasks. [#6618](https://github.com/microsoft/vscode-cpptools/issues/6618)
## Version 1.1.2: November 17, 2020
### Bug Fix
* Fix resolution of `${fileDirname}` with `cppbuild` tasks. [#6386](https://github.com/microsoft/vscode-cpptools/issues/6386)
## Version 1.1.1: November 9, 2020
### Bug Fixes
* Fix cpptools binaries sometimes not getting installed on Windows. [#6453](https://github.com/microsoft/vscode-cpptools/issues/6453)
## Version 1.1.0: November 5, 2020
### New Features
* Add language server support for Windows ARM64 (no debugging yet). [#5583](https://github.com/microsoft/vscode-cpptools/issues/5583)
* [cppdbg] Debugger Protocol Updates:
* ReadMemoryRequest [PR MIEngine#1028](https://github.com/microsoft/MIEngine/pull/1028)
* ModulesRequest and ModuleEvent [PR MIEngine#1054](https://github.com/microsoft/MIEngine/pull/1054)
* [cppdbg] Support new SourceFileMap schema [PR #6319](https://github.com/microsoft/vscode-cpptools/pull/6319)
### Enhancements
* Add support to run c/cpp build tasks. [#3674](https://github.com/microsoft/vscode-cpptools/issues/3674), [#5270](https://github.com/microsoft/vscode-cpptools/issues/5270), [#5285](https://github.com/microsoft/vscode-cpptools/issues/5285)
* Tasks: Configure Task
* Tasks: Run Build Task
* C/C++: Build and debug active file.
* Add logging around compiler querying, and the "C/C++ Configuration Warnings" output channel. [#5259](https://github.com/microsoft/vscode-cpptools/issues/5259)
* Add compile commands info to Log Diagnostics. [#5761](https://github.com/microsoft/vscode-cpptools/issues/5761)
* Add `intelliSenseUpdateDelay` setting. [#6142](https://github.com/microsoft/vscode-cpptools/issues/6142)
* YuTengjing (@tjx666) [PR #6344](https://github.com/microsoft/vscode-cpptools/pull/6344)
* Enable support for specifying a compiler by only the filename if it's in the environment path. [#6179](https://github.com/microsoft/vscode-cpptools/issues/6179)
* Restart the IntelliSense process if its memory usage exceeds the `C_Cpp.intelliSenseMemoryLimit` setting. [#6230](https://github.com/microsoft/vscode-cpptools/issues/6230)
* [cppdbg] Stepping out of a function will display '$ReturnValue'.
* @Trass3r [PR MIEngine#1036](https://github.com/microsoft/MIEngine/pull/1036)
* [cppdbg] Support composite expressions in natvis ArrayItems
* @Trass3r [PR MIEngine#1044](https://github.com/microsoft/MIEngine/pull/1044)
* Add handling of the "-ansi" compiler arg when querying gcc/clang compilers.
* Add support for inferring the IntelliSenseMode based on the "--target" compiler arg.
* Add support for inferring the C standard based on new c11/c17 language standard args for cl.exe.
* Allow custom config providers to omit IntelliSenseMode and C/C++ language standard, enabling them to be inferred from the `compilerPath` and `compilerArgs`.
### Bug Fixes
* Change macOS Framework searching to only parse the "Current" framework folder when the "Headers" folder is not found. [#2046](https://github.com/microsoft/vscode-cpptools/issues/2046)
* Show the compiler path in the `Build and Debug Active File` dropdown. [#4278](https://github.com/microsoft/vscode-cpptools/issues/4278)
* Fix incorrect signature help active argument with multiple template parameters. [#4786](https://github.com/microsoft/vscode-cpptools/issues/4786)
* Fix bug with directories not getting created for browse.databaseFilename. [#5181](https://github.com/microsoft/vscode-cpptools/issues/5181)
* Allow the debug configuration to wait for the preLaunchTask to complete before continuing on and resolving environment variables or processes that may have been set in the 'tasks.json'. [#5287](https://github.com/microsoft/vscode-cpptools/issues/5287)
* Change the Windows SDK detection to require the shared, ucrt, and um folders. [#5817](https://github.com/microsoft/vscode-cpptools/issues/5817)
* Fix issues with IntelliSense for clang-cl.exe. [#6075](https://github.com/microsoft/vscode-cpptools/issues/6075)
* Fix "Comments are not permitted in JSON" error when `c_cpp_properties.json` is open but not active. [#6132](https://github.com/microsoft/vscode-cpptools/issues/6132)
* Rename the C language standard setting values from c18 and gnu18 to c17 and gnu17. [#6105](https://github.com/microsoft/vscode-cpptools/issues/6105)
* Add more IntelliSense support for std ranges, concepts, and modules exports (__cpp_lib_concepts is now enabled). [#6173](https://github.com/microsoft/vscode-cpptools/issues/6173)
* Add "-fnoblocks" when querying clang on Mac, as IntelliSense does not currently support blocks. [#6189](https://github.com/microsoft/vscode-cpptools/issues/6189)
* Fix clang-format on 32-bit Windows. [#6195](https://github.com/microsoft/vscode-cpptools/issues/6195)
* Fix incorrect formatting results when clang-format removes duplicate includes. [#6205](https://github.com/microsoft/vscode-cpptools/issues/6205)
* Fix a case where the main process could get stuck. [#6207](https://github.com/microsoft/vscode-cpptools/issues/6207)
* Fix C files being treated as C++ files with compile_commands.json. [#6279](https://github.com/microsoft/vscode-cpptools/issues/6279)
* Fix `Build and Debug Active File` race condition with EngineLogs. [#6304](https://github.com/microsoft/vscode-cpptools/pull/6304)
* Fix changes to some `c_cpp_properties.json` properties not taking effect (until a reload) if `compileCommands` is set. [#6332](https://github.com/microsoft/vscode-cpptools/issues/6332)
* Fix issue with compiler querying not handling various clang command line options correctly. [6359](https://github.com/microsoft/vscode-cpptools/issues/6356)
* Fix multiroot workspace tag parsing when `compileCommands` is set. [#6383](https://github.com/microsoft/vscode-cpptools/issues/6383)
* Fix mingw32 compilers not being detected. [#6394](https://github.com/microsoft/vscode-cpptools/issues/6394)
* Various bug fixes for vcFormat. [PR #6408](https://github.com/microsoft/vscode-cpptools/pull/6408)
* Fix issue causing zh-cn and zh-tw language files not to be used. [PR #6418](https://github.com/microsoft/vscode-cpptools/pull/6418)
* Fix the handling of various compiler arg pairs when querying compilers.
* Avoid parsing entries in compile_commands.json for file types that we do not support.
* Fixed an issue in which only C or C++ system headers were added to the browse path, rather than both.
* Fix issue causing some localized messages to be displayed incorrectly.
* Fixed issue with shipping an older version of vsdbg in offline packages.
### Other Contributions
* Refactoring provider classes.
* Abhishek Pal (@devabhishekpal) [PR #5998](https://github.com/microsoft/vscode-cpptools/pull/5998)
## Version 1.0.1: September 21, 2020
### Bug Fixes
* Fix "No IL available" IntelliSense error on Linux/macOS when `#error` directives are present in the source code. [#6009](https://github.com/microsoft/vscode-cpptools/issues/6009), [#6114](https://github.com/microsoft/vscode-cpptools/issues/6114)
@@ -45,7 +368,7 @@
* Fix bug with cl.exe flags /FU and /FI not being processed. [#5819](https://github.com/microsoft/vscode-cpptools/issues/5819)
* Fix `cStandard` being set to `c11` instead of `gnu18` with gcc. [#5834](https://github.com/microsoft/vscode-cpptools/issues/5834)
* Fix Doxygen parameterHint comment to display for a parameter name that is followed by colon. [#5836](https://github.com/microsoft/vscode-cpptools/issues/5836)
* Fix compiler probing when relative paths are used in `compile_commands.json`. [#5848](https://github.com/microsoft/vscode-cpptools/issues/5848)
* Fix compiler querying when relative paths are used in `compile_commands.json`. [#5848](https://github.com/microsoft/vscode-cpptools/issues/5848)
* Fix the compile commands compiler not being used if `C_Cpp.default.compilerPath` is set. [#5848](https://github.com/microsoft/vscode-cpptools/issues/5848)
* Fix Doxygen comment to escape markdown characters. [#5904](https://github.com/microsoft/vscode-cpptools/issues/5904)
* Remove keyword completion of C identifiers that are defined in headers and aren't keywords (e.g. `alignas`). [#6022](https://github.com/microsoft/vscode-cpptools/issues/6022)
@@ -138,7 +461,7 @@
## Version 0.28.0: May 12, 2020
### New Features
* Add C/C++ language-aware code folding. [#407](https://github.com/microsoft/vscode-cpptools/issues/407)
* Add GNU (and C18) language standard options. [#2782](https://github.com/microsoft/vscode-cpptools/issues/2782)
* Add GNU (and C17) language standard options. [#2782](https://github.com/microsoft/vscode-cpptools/issues/2782)
* Add ARM and ARM64 IntelliSense modes. [#4271](https://github.com/microsoft/vscode-cpptools/issues/4271), [PR #5250](https://github.com/microsoft/vscode-cpptools/pull/5250)
### Enhancements
@@ -231,7 +554,7 @@
* Fix `compile_commands.json` prompt appearing when a configuration provider is used. [#3972](https://github.com/microsoft/vscode-cpptools/issues/3972)
* Improve IntelliSense performance with range-v3. [#4414](https://github.com/microsoft/vscode-cpptools/issues/4414)
* Fix template members not being nested under the template type in the Outline view. [#4466](https://github.com/microsoft/vscode-cpptools/issues/4466)
* Fix an issue in which failure to invoke a compiler could result in a hang on Linux and Mac. [#4627](https://github.com/microsoft/vscode-cpptools/issues/4627)
* Fix an issue in which failure to invoke a compiler could result in a loss of functionality on Linux and Mac. [#4627](https://github.com/microsoft/vscode-cpptools/issues/4627)
* Fix custom configurations sometimes not being applied to headers. [#4649](https://github.com/microsoft/vscode-cpptools/issues/4649)
* Fix headers opening into header-only TU's instead of TU's for candidate source files. [#4696](https://github.com/microsoft/vscode-cpptools/issues/4696)
* Fix the missing description of `C_Cpp.clang_format_style`.
@@ -251,7 +574,7 @@
## Version 0.26.2: December 2, 2019
### Enhancements
* Reworked how a source file is selected for TU creation when opening a header file. [#2856](https://github.com/microsoft/vscode-cpptools/issues/2856)
* Updated the default value of the `C_Cpp.intelliSenseCachePath` setting to a path under `XDG_CACHE_HOME` on Linux, or `~/Library/Cache` on MacOS. [#3979](https://github.com/microsoft/vscode-cpptools/issues/3979)
* Updated the default value of the `C_Cpp.intelliSenseCachePath` setting to a path under `XDG_CACHE_HOME` on Linux, or `~/Library/Cache` on macOS. [#3979](https://github.com/microsoft/vscode-cpptools/issues/3979)
* Reset memory usage of the IntelliSense process if it grows beyond a threshold. [#4119](https://github.com/microsoft/vscode-cpptools/issues/4119)
* Add validation that the new symbol name provided to 'Rename Symbol' is a valid identifier. Add the setting `C_Cpp.renameRequiresIdentifier` to allow that verification to be disabled. [#4409](https://github.com/microsoft/vscode-cpptools/issues/4409)
* Enable setting of breakpoints in CUDA sources.
@@ -262,7 +585,7 @@
* Fix child process creation when the Windows code page is set to a language with non-ASCII characters and there are non-ASCII characters in the extension's install path. [#1560](https://github.com/microsoft/vscode-cpptools/issues/1560)
* Fix path canonicalization of UNC paths to avoid duplicate files opening with different casing. [#2528](https://github.com/microsoft/vscode-cpptools/issues/2528), [#3980](https://github.com/microsoft/vscode-cpptools/issues/3980)
* Fix header opening without IntelliSense due to creation of a TU from a source file that includes the header in an inactive region. [#4320](https://github.com/microsoft/vscode-cpptools/issues/4320)
* Fix a hang in the extension process that can occur when using a scope named 'interface'. [#4470](https://github.com/microsoft/vscode-cpptools/issues/4470)
* Fix an infinite loop in the extension process that can occur when using a scope named 'interface'. [#4470](https://github.com/microsoft/vscode-cpptools/issues/4470)
* Fix an issue with the Rename UI that could cause the rename to not be applied. [#4504](https://github.com/microsoft/vscode-cpptools/issues/4504)
* Show an error message when a Rename fails due to the symbol not being found. [#4510](https://github.com/microsoft/vscode-cpptools/issues/4510)
* Fix `launch.json` creation due to localized strings containing quotes. [#4526](https://github.com/microsoft/vscode-cpptools/issues/4526)
@@ -279,7 +602,7 @@
### Bug Fixes
* Fix `launch.json` creation when using non-English display languages. [#4464](https://github.com/microsoft/vscode-cpptools/issues/4464)
* Fix CHS translation. [#4422](https://github.com/microsoft/vscode-cpptools/issues/4422)
* Fix debugging hang when Windows 10 Beta Unicode (UTF-8) support is enabled. [#1527](https://github.com/microsoft/vscode-cpptools/issues/1527)
* Fix debugging not working when Windows 10 Beta Unicode (UTF-8) support is enabled. [#1527](https://github.com/microsoft/vscode-cpptools/issues/1527)
## Version 0.26.0: October 15, 2019
### New Features
@@ -379,7 +702,7 @@
## Version 0.24.0: July 3, 2019
### New Features
* Semantic colorization [Documentation](https://github.com/microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/colorization.md) [#230](https://github.com/microsoft/vscode-cpptools/issues/230)
* Semantic colorization [Documentation](https://github.com/microsoft/vscode-cpptools/blob/main/Documentation/LanguageServer/colorization.md) [#230](https://github.com/microsoft/vscode-cpptools/issues/230)
* Add `Rescan Workspace` command. [microsoft/vscode-cpptools-api#11](https://github.com/microsoft/vscode-cpptools-api/issues/11)
### Enhancements
@@ -685,7 +1008,7 @@
* Fix `Go to Definition` bug (missing symbols outside the workspace). [#2281](https://github.com/Microsoft/vscode-cpptools/issues/2281)
* Fix incorrect hover in enum definitions. [#2286](https://github.com/Microsoft/vscode-cpptools/issues/2286)
* Add a setting to silence configuration provider warnings. [#2292](https://github.com/Microsoft/vscode-cpptools/issues/2292)
* Fix debugging async Visual C++ causing debugger to hang.
* Fix debugging async Visual C++ causing the debugger to stop responding.
* Fix `main` snippet.
## Version 0.17.6: July 2, 2018
@@ -953,8 +1276,8 @@
* Add `Edit Configurations...` command to the `Select a Configuration...` dropdown.
* Update Microsoft Visual C++ debugger to Visual Studio 2017 released components.
* Fix issue with showing wrong thread. [#550](https://github.com/Microsoft/vscode-cpptools/issues/550)
* Fix issue with binaries compiled with /FASTLINK causing debugger to hang. [#484](https://github.com/Microsoft/vscode-cpptools/issues/484)
* Fix issue in MinGW/Cygwin debugging where stop debugging causes VS Code to hang. [PR Microsoft/MIEngine#636](https://github.com/Microsoft/MIEngine/pull/636)
* Fix issue with binaries compiled with /FASTLINK causing the debugger to stop responding. [#484](https://github.com/Microsoft/vscode-cpptools/issues/484)
* Fix issue in MinGW/Cygwin debugging where stop debugging causes VS Code to stop responding. [PR Microsoft/MIEngine#636](https://github.com/Microsoft/MIEngine/pull/636)
## Version 0.12.0: June 26, 2017
* The default IntelliSense engine now provides semantic-aware autocomplete suggestions for `.`, `->`, and `::` operators. [#13](https://github.com/Microsoft/vscode-cpptools/issues/13)
-203
View File
@@ -1,203 +0,0 @@
MICROSOFT PRE-RELEASE SOFTWARE LICENSE TERMS
MICROSOFT C/C++ EXTENSION FOR VISUAL STUDIO CODE
These license terms are an agreement between Microsoft Corporation (or
based on where you live, one of its affiliates) and you. They apply to
the pre-release software named above. The terms also apply to any
Microsoft services or updates for the software, except to the extent
those have additional terms.
IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW.
1. INSTALLATION AND USE RIGHTS. You may only use the C/C++ Extension
for Visual Studio Code with Visual Studio Code, Visual Studio or
Xamarin Studio software to help you develop and test your
applications.
2. TERMS FOR SPECIFIC COMPONENTS
a. Third Party Components. The software may include third party
components with separate legal notices or governed by other
agreements, as may be described in the ThirdPartyNotices file(s)
accompanying the software.
b. Package Managers. The software may include package managers, like
Nuget, that give you the option to download other Microsoft and third
party software packages to use with your application. Those packages
are under their own licenses, and not this agreement. Microsoft does
not distribute, license or provide any warranties for any of the third
party packages.
3. DATA.
a. Data Collection. The software may collect information about you and
your use of the software, and send that to Microsoft. Microsoft may
use this information to provide services and improve our products and
services. You may opt-out of many of these scenarios, but not all, as
described in the product documentation. There are also some features
in the software that may enable you and Microsoft to collect data from
users of your applications. If you use these features, you must comply
with applicable law, including providing appropriate notices to users
of your applications together with a copy of Microsofts privacy
statement. Our privacy statement is located at
https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more
about data collection and use in the help documentation and our
privacy statement. Your use of the software operates as your consent
to these practices.
b. Processing of Personal Data. To the extent Microsoft is a processor
or subprocessor of personal data in connection with the software,
Microsoft makes the commitments in the European Union General Data
Protection Regulation Terms of the Online Services Terms to all
customers effective May 25, 2018, at
http://go.microsoft.com/?linkid=9840733.
4. PRE-RELEASE SOFTWARE. This software is a pre-release version. It
may not work the way a final version of the software will. We may
change it for the final, commercial version. We also may not release a
commercial version.
5. FEEDBACK. If you give feedback about the software to Microsoft, you
give to Microsoft, without charge, the right to use, share and
commercialize your feedback in any way and for any purpose. You will
not give feedback that is subject to a license that requires Microsoft
to license its software or documentation to third parties because we
include your feedback in them. These rights survive this agreement.
6. SCOPE OF LICENSE. The software is licensed, not sold. This
agreement only gives you some rights to use the software. Microsoft
reserves all other rights. Unless applicable law gives you more rights
despite this limitation, you may use the software only as expressly
permitted in this agreement. In doing so, you must comply with any
technical limitations in the software that only allow you to use it in
certain ways. You may not
* work around any technical limitations in the software;
* reverse engineer, decompile or disassemble the software, or attempt
to derive the source code for the software, except and to the extent
required by third party licensing terms governing use of certain open
source components that may be included with the software;
* remove, minimize, block or modify any notices of Microsoft or its
suppliers in the software;
* use the software in any way that is against the law; or
* share, publish, rent, or lease the software, or provide the software
as a stand-alone hosted solution for others to use.
7. EXPORT RESTRICTIONS. You must comply with all domestic and
international export laws and regulations that apply to the software,
which include restrictions on destinations, end users and end use.
For further information on export restrictions, visit
(aka.ms/exporting).
8. SUPPORT SERVICES. Because this software is “as is,” we may not
provide support services for it.
9. ENTIRE AGREEMENT. This agreement, and the terms for supplements,
updates, Internet-based services and support services that you use,
are the entire agreement for the software and support services.
10. APPLICABLE LAW. If you acquired the software in the United
States, Washington law applies to interpretation of and claims for
breach of this agreement, and the laws of the state where you live
apply to all other claims. If you acquired the software in any other
country, its laws apply.
11. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes
certain legal rights. You may have other rights, including consumer
rights, under the laws of your state or country. Separate and apart
from your relationship with Microsoft, you may also have rights with
respect to the party from which you acquired the software. This
agreement does not change those other rights if the laws of your state
or country do not permit it to do so. For example, if you acquired the
software in one of the below regions, or mandatory country law
applies, then the following provisions apply to you:
a. Australia. You have statutory guarantees under the Australian
Consumer Law and nothing in this agreement is intended to affect those
rights.
b. Canada. If you acquired this software in Canada, you may stop
receiving updates by turning off the automatic update feature,
disconnecting your device from the Internet (if and when you re-
connect to the Internet, however, the software will resume checking
for and installing updates), or uninstalling the software. The product
documentation, if any, may also specify how to turn off updates for
your specific device or software.
c. Germany and Austria.
(i) Warranty. The properly licensed software will perform
substantially as described in any Microsoft materials that accompany
the software. However, Microsoft gives no contractual guarantee in
relation to the licensed software.
(ii) Limitation of Liability. In case of intentional conduct, gross
negligence, claims based on the Product Liability Act, as well as, in
case of death or personal or physical injury, Microsoft is liable
according to the statutory law.
Subject to the foregoing clause (ii), Microsoft will only be liable
for slight negligence if Microsoft is in breach of such material
contractual obligations, the fulfillment of which facilitate the due
performance of this agreement, the breach of which would endanger the
purpose of this agreement and the compliance with which a party may
constantly trust in (so-called "cardinal obligations"). In other cases
of slight negligence, Microsoft will not be liable for slight
negligence.
12. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU
BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES,
GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL
LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
13. LIMITATION ON AND EXCLUSION OF DAMAGES. YOU CAN RECOVER FROM
MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU
CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST
PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
This limitation applies to (a) anything related to the software,
services, content (including code) on third party Internet sites, or
third party applications; and (b) claims for breach of contract,
breach of warranty, guarantee or condition, strict liability,
negligence, or other tort to the extent permitted by applicable law.
It also applies even if Microsoft knew or should have known about the
possibility of the damages. The above limitation or exclusion may not
apply to you because your country may not allow the exclusion or
limitation of incidental, consequential or other damages.
Please note: As this software is distributed in Quebec, Canada, some
of the clauses in this agreement are provided below in French.
Remarque : Ce logiciel étant distribué au Québec, Canada, certaines
des clauses dans ce contrat sont fournies ci-dessous en français.
EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert
« tel quel ». Toute utilisation de ce logiciel est à votre seule
risque et péril. Microsoft naccorde aucune autre garantie
expresse. Vous pouvez bénéficier de droits additionnels en vertu du
droit local sur la protection des consommateurs, que ce contrat ne
peut modifier. La ou elles sont permises par le droit locale, les
garanties implicites de qualité marchande, dadéquation à un
usage particulier et dabsence de contrefaçon sont exclues.
LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ
POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses
fournisseurs une indemnisation en cas de dommages directs uniquement
à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune
indemnisation pour les autres dommages, y compris les dommages
spéciaux, indirects ou accessoires et pertes de bénéfices.
Cette limitation concerne:
* tout ce qui est relié au logiciel, aux services ou au contenu (y
compris le code) figurant sur des sites Internet tiers ou dans des
programmes tiers ; et
* les réclamations au titre de violation de contrat ou de garantie,
ou au titre de responsabilité stricte, de négligence ou dune
autre faute dans la limite autorisée par la loi en vigueur.
Elle sapplique également, même si Microsoft connaissait ou
devrait connaître l’éventualité dun tel dommage. Si votre pays
nautorise pas lexclusion ou la limitation de responsabilité
pour les dommages indirects, accessoires ou de quelque nature que ce
soit, il se peut que la limitation ou lexclusion ci-dessus ne
sappliquera pas à votre égard.
EFFET JURIDIQUE. Le présent contrat décrit certains droits
juridiques. Vous pourriez avoir dautres droits prévus par les lois
de votre pays. Le présent contrat ne modifie pas les droits que vous
confèrent les lois de votre pays si celles-ci ne le permettent pas.
+4 -2
View File
@@ -1,6 +1,6 @@
# C/C++ for Visual Studio Code
#### [Repository](https://github.com/microsoft/vscode-cpptools)&nbsp;&nbsp;|&nbsp;&nbsp;[Issues](https://github.com/microsoft/vscode-cpptools/issues)&nbsp;&nbsp;|&nbsp;&nbsp;[Documentation](https://code.visualstudio.com/docs/languages/cpp)&nbsp;&nbsp;|&nbsp;&nbsp;[Code Samples](https://github.com/microsoft/vscode-cpptools/tree/master/Code%20Samples)&nbsp;&nbsp;|&nbsp;&nbsp;[Offline Installers](https://github.com/microsoft/vscode-cpptools/releases)
#### [Repository](https://github.com/microsoft/vscode-cpptools)&nbsp;&nbsp;|&nbsp;&nbsp;[Issues](https://github.com/microsoft/vscode-cpptools/issues)&nbsp;&nbsp;|&nbsp;&nbsp;[Documentation](https://code.visualstudio.com/docs/languages/cpp)&nbsp;&nbsp;|&nbsp;&nbsp;[Code Samples](https://github.com/microsoft/vscode-cpptools/tree/main/Code%20Samples)&nbsp;&nbsp;|&nbsp;&nbsp;[Offline Installers](https://github.com/microsoft/vscode-cpptools/releases)
[![Badge](https://aka.ms/vsls-badge)](https://aka.ms/vsls)
@@ -54,8 +54,10 @@ The extension has platform-specific binary dependencies, therefore installation
`cpptools-linux.vsix` | Linux 64-bit
`cpptools-linux-armhf.vsix` | Linux ARM 32-bit
`cpptools-linux-aarch64.vsix` | Linux ARM 64-bit
`cpptools-osx.vsix` | macOS
`cpptools-osx.vsix` | macOS 64-bit
`cpptools-osx-arm64.vsix` | macOS ARM64
`cpptools-win32.vsix` | Windows 64-bit & 32-bit
`cpptools-win-arm64.vsix` | Windows ARM64
`cpptools-linux32.vsix` | Linux 32-bit ([available up to version 0.27.0](https://github.com/microsoft/vscode-cpptools/issues/5346))
## Contribution
File diff suppressed because it is too large Load Diff
+33
View File
@@ -0,0 +1,33 @@
{
"defaults": [
"cpfe",
"--wchar_t_keyword",
"--no_warnings",
"--rtti",
"--edge",
"--exceptions",
"--error_limit",
"25000",
"-D_EDG_COMPILER",
"-D_USE_DECLSPECS_FOR_SAL=1"
],
"source_file_format": "-f %s",
"expressions": [
{
"match": "^/I(.*)",
"replace": "-I\n$1"
},
{
"match": "^/D(.*)",
"replace": "-D$1"
},
{
"match": "^/AI(.*)",
"replace": "--using_directory\n$1"
},
{
"match": "^/dE--(.*)",
"replace": "--$1"
}
]
}
+15
View File
@@ -0,0 +1,15 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__arm__=1",
"-D__ARM_32BIT_STATE=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+15
View File
@@ -0,0 +1,15 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__aarch64__=1",
"-D__ARM_64BIT_STATE=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+15
View File
@@ -0,0 +1,15 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__x86_64=1",
"-D__x86_64__=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+15
View File
@@ -0,0 +1,15 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__i386=1",
"-D__i386__=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+15
View File
@@ -0,0 +1,15 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__arm__=1",
"-D__ARM_32BIT_STATE=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+15
View File
@@ -0,0 +1,15 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__aarch64__=1",
"-D__ARM_64BIT_STATE=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+15
View File
@@ -0,0 +1,15 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__x86_64=1",
"-D__x86_64__=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+15
View File
@@ -0,0 +1,15 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
"-D__i386=1",
"-D__i386__=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+14
View File
@@ -0,0 +1,14 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__arm__=1",
"-D__ARM_32BIT_STATE=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+14
View File
@@ -0,0 +1,14 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__aarch64__=1",
"-D__ARM_64BIT_STATE=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+14
View File
@@ -0,0 +1,14 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__x86_64=1",
"-D__x86_64__=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+14
View File
@@ -0,0 +1,14 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__i386=1",
"-D__i386__=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+14
View File
@@ -0,0 +1,14 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__arm__=1",
"-D__ARM_32BIT_STATE=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+14
View File
@@ -0,0 +1,14 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__aarch64__=1",
"-D__ARM_64BIT_STATE=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+14
View File
@@ -0,0 +1,14 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__x86_64=1",
"-D__x86_64__=1",
"-D__PTRDIFF_TYPE__=long int",
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
+14
View File
@@ -0,0 +1,14 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__i386=1",
"-D__i386__=1",
"-D__PTRDIFF_TYPE__=int",
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
+72 -15
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"operand * musí být ukazatel",
"Operand pro * musí být ukazatel, má ale typ %t.",
"argument v makru je prázdný",
"tato deklarace nemá třídu úložiště specifikátoru typu",
"deklarace parametru nesmí mít inicializátor",
@@ -130,8 +130,8 @@
"smyčka je nedosažitelná",
"funkce rozsahu bloku může mít jenom externí třídu úložiště",
"očekával se znak {",
"Výraz musí t typu ukazatel na třídu.",
"Výraz musí t typu ukazatel na strukturu nebo sjednocení.",
"Výraz musí t typ ukazatele na třídu, má ale typ %t.",
"Výraz musí t typ ukazatele na strukturu nebo sjednocení, má ale typ %t.",
"očekával se název člena",
"očekával se název pole",
"%n nemá žádného člena %sq",
@@ -141,7 +141,7 @@
"Převzetí adresy bitového pole není povolené.",
"příliš moc argumentů ve volání funkce",
"nepojmenované parametry prototypů nejsou dovolené, když se používá text",
"Výraz musí t typu ukazatel na objekt.",
"Výraz musí t typ ukazatele na objekt, má ale typ %t.",
"program je moc velký nebo komplikovaný k sestavení",
"Hodnota typu %t1 se nedá použít k inicializaci entity typu %t2.",
"%n se nedá inicializovat",
@@ -152,8 +152,8 @@
"Název typu se nedá znova deklarovat jako parametr.",
"Název typedef se nedá znova deklarovat jako parametr.",
"konverze nenulového celého čísla na ukazatel",
"výraz musí mít typ třídy",
"výraz musí mít typ struktury nebo jednoty",
"Výraz musí mít typ třídy, má ale typ %t.",
"Výraz musí mít typ struktury nebo sjednocení, má ale typ %t.",
"zastaralý operátor přiřazení",
"Zastaralý inicializátor",
"Výraz musí být výrazem integrální konstanty.",
@@ -392,7 +392,7 @@
"Funkce main se zřejmě nevolala nebo nedošlo k převzetí její adresy.",
"Nový inicializátor se nedá specifikovat pro pole.",
"Členská funkce %no se nemůže deklarovat mimo svoji třídu.",
"Ukazatel na nekompletní typ třídy není povolený.",
"Ukazatel na nekompletní typ třídy %t není povolený.",
"Odkaz na místní proměnnou vnější funkce není povolený.",
"Funkce s jedním argumentem se použila pro příponu %sq (anachronizmus).",
null,
@@ -1670,7 +1670,7 @@
"Kvalifikátor typu není povolený u konstruktoru nebo destruktoru.",
"Kvalifikátor typu není povolený u operátoru new a operátoru delete.",
"Kvalifikátor typu není povolený u nečlenské funkce.",
"Výraz __assume s vedlejšími účinky se zahodil.",
"Argument pro %s má vedlejší účinky, ale nevyhodnotil se.",
"nerozpoznaný druh zdroje Unicode (musí být jedním z UTF-8, UTF-16, UTF-16LE, UTF-16BE): %s",
"Znak Unicode se šestnáctkovou hodnotou %s se nedá prezentovat v předzpracovávaném výstupu.",
"Požadovaná priorita konstruktoru/destruktoru je rezervovaná pro interní použití.",
@@ -2207,7 +2207,7 @@
"Pole initonly se dá modifikovat jenom konstruktorem instance třídy, která ho obsahuje.",
"Statické pole initonly se dá modifikovat jenom statickým konstruktorem třídy, která ho obsahuje.",
"Členská funkce se vyvolá u kopie pole initonly.",
"Výraz musí t typu popisovač nebo typu ukazatel.",
"Výraz musí t typ ukazatele nebo popisovače, má ale typ %t.",
"Přenosový konstruktor nebo přenosový operátor přiřazení se tady použije ke zkopírování l-hodnoty. To může zničit zdrojový objekt.",
"Při výběru člena u obecné entity %[C++/CLI] se musí použít syntaxe \"->\", ne \".\".",
"Typ referenční třídy nemůže odvozovat od %t.",
@@ -2241,7 +2241,7 @@
"Nezabezpečený operátor reinterpret_cast popisovače",
"Argument šablony nemůže odkazovat na parametr obecného typu.",
"Seznam výrazů není u této operace dolního indexu povolený. (Operátor čárek nejvyšší úrovně uzavřete do závorek.)",
"Výraz musí být typu pointer-to-object nebo handle-to-%[C++/CLI]-array.",
"Výraz musí být typ ukazatele na objekt nebo popisovače pole %[C++/CLI], má ale typ %t.",
"Neznámý atribut",
"Člen třídy %[managed] nemůže být typu třídy, která není %[managed].",
"Člen třídy, která není %[managed], nemůže být typu referenční třídy nebo třídy rozhraní.",
@@ -2682,7 +2682,7 @@
"výraz co_await není povolený uvnitř klauzule catch",
"korutina nemůže mít parametr tři tečky",
"Povolení funkce constexpr stylu C++14 vyžaduje podporu logických hodnot.",
"funkce constexpr %nd není definovaná",
"Výraz constexpr %nd není definovaný.",
"toto volání nejde vyhodnotit, protože cílová funkce %nd není constexpr nebo ještě není úplně definovaná",
"poznámka",
"Poznámka",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"očekávalo se >>>",
"Nepovedlo se najít deklaraci __cudaPushCallConfiguration. Instalace sady nástrojů CUDA může být poškozená.",
"Inicializátor ve stylu C++17 je v tomto režimu nestandardní.",
"zachytávání *this je v tomto režimu nestandardní",
"Předpona atributu using ve stylu C++17 je v tomto režimu nestandardní.",
@@ -3300,7 +3300,7 @@
"Neplatné použití konceptu",
"Výchozí operátor porovnání členů nemůže být kvalifikovaný jako &&.",
"Výchozí funkce pro porovnání constexpr volá funkci %nd, která constexpr není.",
"Porovnání paměti constexpr se podporuje jen pro celé číslo nejvyšší úrovně nebo objekty polí celých čísel.",
"Porovnání paměti constexpr se podporuje jen pro celé číslo nebo objekty polí celých čísel.",
"Šablona konceptu nemůže mít přidružená omezení.",
"export se nepovoluje.",
"Export jednotlivých členů třídy se nepodporuje.",
@@ -3335,5 +3335,62 @@
"Porovnání je ve standardním C++20 nejednoznačné, protože implikovaný operátor porovnání se zaměněnými parametry je stejně dobrá shoda -- příčinou je obvykle chybějící kvalifikátor const u operátoru porovnání. Podívejte se na %nod.",
"Neplatné concept-id",
"Nepovedlo se nahradit argumenty %T pro klauzuli requires.",
"Omezení pro %nd se nesplnila."
"Omezení pro %nd se nesplnila.",
"typ proměnné %t ve funkci constexpr má virtuální základní třídy",
"konstantní výraz nemůže přidělit virtuální základní podobjekt (pro typ %t)",
"parametr šablony typu třídy musí být typu strukturální třídy",
"podpora pro literály UTF-8 vyžaduje podporu literálů u-literal.",
"mapování souborů modulu pro %s bylo zadané více než jednou",
"mapování jednotek záhlaví pro %s bylo zadané více než jednou",
"není zadané žádné mapování pro %s",
"mapování souborů modulu pro %s je neplatné",
"nejde najít záhlaví %s, které se má importovat",
"více než jeden soubor v seznamu souborů modulu odpovídá %s",
"soubor modulu, který se našel pro %s, je pro jiný modul",
"libovolný druh souboru modulu",
"nejde přečíst soubor modulu",
"předdefinovaná funkce není k dispozici, protože typ char8_t se nepodporuje s aktuálními možnostmi",
null,
"nestandardní použití explicitního konstruktoru %nod pro inicializaci výchozího agregačního elementu",
"zdroj nebo cíl vnitřní funkce memcpy-like neukazuje na objekt",
"vnitřní funkce memcpy-like se pokouší o kopírování reprezentačně odlišných typů %t1 a %t2",
"vnitřní funkce memcpy-like se pokouší o kopírování netriviálně kopírovatelného typu %t",
"vnitřní funkce memcpy-like se pokouší o kopírování částečného objektu",
"vnitřní funkce memcpy-like se pokouší o kopírování hranice za polem",
"vnitřní funkce memcpy-like se pokouší o kopírování překrývajících se bajtových rozsahů (místo toho se použije odpovídající operace memmove)",
"Deklarace typu friend s klauzulí requires na konci musí být definice.",
"Výraz musí mít aritmetický typ nebo typ ukazatele, má ale typ %t.",
"Výraz musí mít aritmetický typ, typ výčtu nebo typ ukazatele, má ale typ %t.",
"Výraz musí mít aritmetický typu, typ nevymezeného výčtu nebo typ ukazatele, má ale typ %t.",
"Výraz musí mít typ ukazatele, má ale typ %t.",
"Operátor -> nebo ->* se používá pro %t namísto typu ukazatele.",
"Nekompletní typ třídy %t není povolený.",
"Nepovedlo se interpretovat rozložení bitů pro tento cíl kompilace.",
"Žádný odpovídající operátor pro operátor IFC %sq",
"Žádná odpovídající konvence volání pro konvenci volání IFC %sq",
"Modul %sq obsahuje nepodporované konstrukce.",
"Nepodporovaná konstrukce IFC: %sq",
"__is_signed už není klíčové slovo.",
"Rozměr pole musí mít konstantní celočíselnou hodnotu bez znaménka.",
"Soubor IFC %sq má nepodporovanou verzi %d1.%d2.",
"Moduly se v tomto režimu nepovolily.",
"Název modulu nesmí obsahovat slovo import.",
"Název modulu nesmí obsahovat slovo module.",
null,
null,
"%n není výčtový typ.",
"Enumerátor %no2 je v konfliktu s %n1.",
"Enumerátor %no se už v tomto oboru %p deklaroval.",
"specifikace throw() není součástí standardu C++20 a novějších",
"více než jedna položka v mapě jednotky hlavičky odpovídá %s",
"Diagnostika #pragma musí mít buď argument push nebo pop.",
"Nenašel se žádný push diagnostiky #pragma, které by odpovídal tomuto popu diagnostiky.",
"%sq nemůže být makro, pokud se použije ve směrnici pro import nebo modul.",
"Tato direktiva se může vyskytovat jenom v rozsahu globálního oboru názvů.",
"Deklarace typu export se může vyskytovat jenom na úrovni globálního rozsahu (global) nebo rozsahu oboru názvů (namespace).",
"%sq se parsuje jako identifikátor, nikoli jako klíčové slovo, protože tokeny, které po něm následují, se neshodují s direktivou preprocesoru.",
"Vypadá to, že se jedná o začátek direktivy preprocesoru, ale chybějící znak „;“, po kterém ihned následuje nový řádek, tomu brání.",
"Vypadá to, že se jedná o direktivu předběžného zpracování modulů, ale tyto direktivy se nemůžou vyskytovat v rámci rozšíření makra.",
"Direktiva typu module se nemůže vyskytovat v oboru podmíněného zahrnutí (např. #if, #else, #elseif apod.).",
"Import %sq se přeskočil."
]
+72 -15
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"Der Operand von \"*\" muss ein Zeiger sein.",
"Der Operand \"*\" muss ein Zeiger sein, weist jedoch den Typ \"%t\" auf.",
"Das Argument für das Makro ist leer.",
"Diese Deklaration hat keine Speicherklasse oder keinen Typspezifizierer.",
"Eine Parameterdeklaration darf keinen Initialisierer aufweisen.",
@@ -130,8 +130,8 @@
"Die Schleife ist nicht erreichbar.",
"Eine Blockbereichsfunktion darf nur eine externe Speicherklasse aufweisen.",
"Es wurde eine \"{\" erwartet.",
"Der Ausdruck muss den Typ \"pointer-to-class\" aufweisen.",
"Der Ausdruck muss den Typ \"pointer-to-struct-or-union\" aufweisen.",
"Der Ausdruck muss vom Typ \"Zeiger auf Klasse\" sein, weist jedoch den Typ \"%t\" auf.",
"Der Ausdruck muss vom Typ \"Zeiger auf Struktur oder Union\" sein, weist jedoch den Typ \"%t\" auf.",
"Es wurde ein Membername erwartet.",
"Es wurde ein Feldname erwartet.",
"\"%n\" hat keinen Member \"%sq\".",
@@ -141,7 +141,7 @@
"Das Verwenden der Adresse eines Bitfelds ist nicht zulässig.",
"Zu viele Argumente im Funktionsaufruf.",
"Unbenannte Prototypparameter sind nicht zulässig, wenn Text vorhanden ist.",
"Der Ausdruck muss den Typ \"pointer-to-object\" aufweisen.",
"Der Ausdruck muss vom Typ \"Zeiger auf Objekt\" sein, weist jedoch den Typ \"%t\" auf.",
"Das Programm ist zu groß oder zu kompliziert zum Kompilieren.",
"Ein Wert vom Typ \"%t1\" kann nicht zum Initialisieren einer Entität vom Typ \"%t2\" verwendet werden.",
"%n darf nicht initialisiert werden.",
@@ -152,8 +152,8 @@
"Ein Typname darf nicht erneut als Parameter deklariert werden.",
"Ein typedef-Name darf nicht erneut als Parameter deklariert werden.",
"Konvertierung einer ganzen Zahl, die nicht Null ist, in einen Zeiger",
"Der Ausdruck muss einen Klassentyp aufweisen.",
"Der Ausdruck muss den Typ \"union\" oder \"struct\" aufweisen.",
"Der Ausdruck muss vom Typ \"Klasse\" sein, weist jedoch den Typ \"%t\" auf.",
"Der Ausdruck muss vom Typ \"Struktur\" oder \"Union\" sein, weist jedoch den Typ \"%t\" auf.",
"Veralteter Zuweisungsoperator.",
"Veralteter Initialisierer.",
"Der Ausdruck muss ein integraler Konstantenausdruck sein.",
@@ -392,7 +392,7 @@
"Die Main-Funktion darf nicht aufgerufen werden, und ihre Adresse darf nicht verwendet werden.",
"Für ein Array darf keine neue Initialisierung angegeben werden.",
"Die Memberfunktion \"%no\" darf nicht außerhalb ihrer Klasse neu deklariert werden.",
"Der Klassentyp \"pointer-to-incomplete\" ist nicht zulässig.",
"Der Typ eines Zeigers auf eine unvollständige Klasse (%t) ist nicht zulässig.",
"Ein Verweis auf eine lokale Variable der einschließenden Funktion ist nicht zulässig.",
"Für Postfix \"%sq\" wird eine Funktion mit einem Argument verwendet (Anachronismus).",
null,
@@ -1670,7 +1670,7 @@
"Ein Typqualifizierer ist in einem Konstruktor oder Destruktor nicht zulässig.",
"Im new- oder delete-Operator ist kein Typqualifizierer zulässig.",
"Ein Typqualifizierer ist in einer statischen Nichtmemberfunktion nicht zulässig.",
"Der __assume-Ausdruck mit Nebeneffekten wurde verworfen.",
"Das Argument für \"%s\" weist Nebenwirkungen auf, wird jedoch nicht ausgewertet.",
"Unbekannter Unicode-Quelltyp (muss UTF-8, UTF-16, UTF-16LE oder UTF-16BE sein): %s",
"Das Unicode-Zeichen mit Hexadezimalwert %s kann in der Vorverarbeitungsausgabe nicht dargestellt werden.",
"Die angeforderte Konstruktor-/Destruktorpriorität ist für die interne Verwendung reserviert.",
@@ -2207,7 +2207,7 @@
"ein initonly-Feld kann nur vom Instanzkonstruktor der enthaltenden Klasse geändert werden",
"ein statisches initonly-Feld kann nur vom statischen Konstruktor der enthaltenden Klasse geändert werden",
"die Memberfunktion wird für eine Kopie des initonly-Felds aufgerufen",
"Der Ausdruck muss einen Zeiger- oder Handletyp aufweisen.",
"Der Ausdruck muss einen Zeiger- oder Handletyp aufweisen, ist jedoch vom Typ \"%t\".",
"ein Bewegungskonstruktor oder Bewegungszuweisungsoperator wird verwendet, um einen lvalue hierhin zu kopieren, der das Quellobjekt möglicherweise zerstört",
"die Memberauswahl in einer generischen %[C++/CLI]-Entität muss die '->'-Syntax anstelle von '.' verwenden",
"ein Verweisklassentyp kann nicht von %t abgeleitet werden",
@@ -2241,7 +2241,7 @@
"unsicheres reinterpret_cast des Handle",
"ein Vorlagenargument darf nicht auf einen generischen Typparameter verweisen",
"in diesem Abonnementvorgang ist keine Ausdrucksliste zulässig (Klammern um Kommaoperatoren der obersten Ebene setzen)",
"der Ausdruck muss über einen \"pointer-to-object\"- oder \"handle-to-%[C++/CLI]-array\"-Typ verfügen",
"Der Ausdruck muss vom Typ \"Zeiger auf Objekt\" oder \"Handle für %[C++/CLI]-Array\" sein, weist jedoch den Typ \"%t\" auf.",
"unbekanntes Attribut",
"ein Member einer %[managed]-Klasse kann kein nicht-%[managed]-Klassentyp sein",
"ein Member einer nicht-%[managed]-Klasse kann keinen Verweis- oder Schnittstellenklassentyp aufweisen",
@@ -2682,7 +2682,7 @@
"Ein co_await-Ausdruck ist in einer catch-Klausel unzulässig.",
"Eine Coroutine darf keinen Parameter \"ellipsis\" aufweisen.",
"Für das Aktivieren von \"constexpr\" im C++14-Stil ist Unterstützung für \"bool\" erforderlich.",
"Die constexpr-Funktion \"%nd\" ist nicht definiert.",
"Constexpr \"%nd\" ist nicht definiert.",
"Dieser Aufruf kann nicht ausgewertet werden, weil die Zielfunktion \"%nd\" kein \"constexpr\" oder noch nicht vollständig definiert ist.",
"Hinweis",
"Hinweis",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"Es wurde \">>>\" erwartet.",
"Die __cudaPushCallConfiguration-Deklaration wurde nicht gefunden. Die CUDA Toolkit-Installation ist möglicherweise beschädigt.",
"Der Initialisierer im C++17-Stil ist in diesem Modus nicht standardisiert.",
"Das Erfassen von *this ist in diesem Modus nicht standardisiert.",
"Attributpräfix \"using\" im C++17-Stil ist in diesem Modus nicht standardisiert.",
@@ -3300,7 +3300,7 @@
"Ungültige Verwendung von \"concept\".",
"Ein standardmäßiger Membervergleichsoperator kann nicht &&-qualifiziert sein.",
"Die constexpr-Standardvergleichsfunktion ruft die Nicht-constexpr-Funktion \"%nd\" auf.",
"Der constexpr-Speichervergleich wird nur für integer-Objekte oder array-of-integer-Objekte oberster Ebene unterstützt.",
"Der constexpr-Speichervergleich wird nur für integer-Objekte oder array-of-integer-Objekte unterstützt.",
"Einer Konzeptvorlage können keine Einschränkungen zugeordnet sein.",
"\"export\" ist nicht zulässig.",
"Das Exportieren einzelner Klassenmember ist nicht zulässig.",
@@ -3335,5 +3335,62 @@
"Der Vergleich ist in standardmäßigem C++20 mehrdeutig, weil der implizite Vergleichsoperator mit umgekehrten Parametern eine gleichwertige Übereinstimmung darstellt. Dies wird normalerweise durch einen fehlenden const-Qualifizierer für den Vergleichsoperator ausgelöst. Siehe \"%nod\".",
"Ungültige concept-id",
"Fehler beim Ersetzen von Argumenten \"%T\" für requires-Klausel.",
"Einschränkungen für \"%nd\" sind nicht erfüllt."
"Einschränkungen für \"%nd\" sind nicht erfüllt.",
"Der Variablentyp \"%t\" in der constexpr-Funktion weist virtuelle Basisklassen auf.",
"Ein konstanter Ausdruck kann kein virtuelles Basisteilobjekt zuordnen (für den Typ \"%t\").",
"Ein Vorlagenparameter des Klassentyps muss einen strukturellen Klassentyp aufweisen.",
"Die Unterstützung für UTF-8-Literale erfordert Unterstützung für u-Literale.",
"Die Moduldateizuordnung für \"%s\" wurde mehrmals angegeben.",
"Die Zuordnung der Headereinheit für \"%s\" wurde mehrmals angegeben.",
"Für \"%s\" wurde keine Zuordnung angegeben.",
"Die Moduldateizuordnung für \"%s\" ist ungültig.",
"Der zu importierende Header \"%s\" wurde nicht gefunden.",
"Mehrere Dateien in der Moduldateiliste stimmen mit \"%s\" überein.",
"Die für \"%s\" gefundene Moduldatei ist für ein anderes Modul bestimmt.",
"Beliebige Art von Moduldatei",
"Die Moduldatei kann nicht gelesen werden.",
"Die integrierte Funktion ist nicht verfügbar, weil der char8_t-Typ mit den aktuellen Optionen nicht unterstützt wird.",
null,
"Nicht standardmäßige Verwendung des expliziten Konstruktors \"%nod\" für die standardmäßige Aggregatelementinitialisierung",
"Die Quelle oder das Ziel des memcpy-ähnlichen systeminternen Objekts verweist nicht auf ein Objekt.",
"Ein memcpy-ähnliches systeminternes Objekt versucht, die darstellerisch unterschiedlichen Typen %t1 und %t2 zu kopieren.",
"Ein memcpy-ähnliches systeminternes Objekt versucht, den nicht trivial kopierbaren Typ %t zu kopieren.",
"Ein memcpy-ähnliches systeminternes Objekt versucht, ein Teilobjekt zu kopieren.",
"Ein memcpy-ähnliches systeminternes Objekt versucht, einen Kopiervorgang über die Arraygrenze hinaus durchzuführen.",
"Ein memcpy-ähnliches systeminternes Objekt versucht, überlappende Bytebereiche (stattdessen mithilfe eines entsprechenden memmove-Vorgangs) zu kopieren.",
"Eine Frienddeklaration mit einer nachstehenden requires-Klausel muss eine Definition sein.",
"Der Ausdruck muss einen arithmetischen Typ oder einen Zeigertyp aufweisen, ist jedoch vom Typ \"%t\".",
"Der Ausdruck muss einen arithmetischen Typ, einen Enumerationstyp oder einen Zeigertyp aufweisen, ist jedoch vom Typ \"%t\".",
"Der Ausdruck muss einen arithmetischen Typ, einen Enumerationstyp ohne eigenen Gültigkeitsbereich oder einen Zeigertyp aufweisen, ist jedoch vom Typ \"%t\".",
"Der Ausdruck muss vom Typ \"Zeiger\" sein, weist jedoch den Typ \"%t\" auf.",
"Der Operator \"->\" oder \"->*\" wurde auf \"%t\" statt auf einen Zeigertyp angewendet.",
"Der unvollständige Klassentyp \"%t\" ist nicht zulässig.",
"Das Bitlayout für dieses Kompilierungsziel kann nicht interpretiert werden.",
"Kein entsprechender Operator für IFC-Operator \"%sq\".",
"Keine entsprechende Aufrufkonvention für IFC-Aufrufkonvention \"%sq\".",
"Das Modul \"%sq\" enthält nicht unterstützte Konstrukte.",
"Nicht unterstütztes IFC-Konstrukt: %sq",
"\"__is_signed\" kann ab jetzt nicht mehr als Schlüsselwort verwendet werden.",
"Eine Arraydimension muss einen konstanten ganzzahligen Wert ohne Vorzeichen aufweisen.",
"Die IFC-Datei \"%sq\" weist eine nicht unterstützte Version %d1.%d2 auf.",
"Module sind in diesem Modus nicht aktiviert.",
"\"Import\" ist in einem Modulnamen unzulässig.",
"\"Modul\" ist in einem Modulnamen unzulässig.",
null,
null,
"\"%n\" ist kein Enumerationstyp.",
"Der Enumerator \"%no2\" steht in Konflikt mit \"%n1\".",
"Der Enumerator \"%no\" wurde bereits in diesem Bereich (%p) deklariert.",
"Die Spezifikation \"throw()\" ist nicht in C++ 20 und höher enthalten.",
"Mehrere Einträge in der Headereinheitenzuordnung stimmen mit \"%s\" überein.",
"#pragma-Diagnose muss entweder das Argument \"push\" oder \"pop\" aufweisen",
"es wurde kein \"#pragma diagnostic push\" gefunden, um diesem \"diagnostic pop\" zu entsprechen",
"%sq kann kein Makro sein, wenn es in einer \"import\"- oder \"module\"-Direktive verwendet wird",
"diese Direktive darf nur im globalen Namespacebereich angezeigt werden",
"eine \"export\"-Deklaration kann nur im globalen oder Namespace-Gültigkeitsbereich auftreten.",
"%sq wird als Bezeichner und nicht als Schlüsselwort analysiert, da die nachfolgenden Token nicht mit denen einer Präprozessor-Direktive übereinstimmen",
"dies scheint der Anfang einer Präprozessor-Direktive zu sein, aber der Mangel an \";\", gefolgt von einem Zeilenumbruch, verhindert, dass",
"dies scheint eine Direktive für die Vorverarbeitung von Modulen zu sein, aber solche Direktiven dürfen nicht innerhalb einer Makroerweiterung auftreten",
"eine \"module\"-Direktive darf nicht im Bereich der bedingten Inklusion enthalten sein (z. B. #if, #else, #elseif usw.)",
"der Import von %sq wurde übersprungen"
]
+72 -15
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"un operando de '*' debe ser un puntero",
"el operando de \"*\" debe ser un puntero, pero tiene el tipo %t",
"el argumento para la macro está vacío",
"esta declaración no tiene ningún especificador de tipo o clase de almacenamiento",
"una declaración de parámetros no puede tener un inicializador",
@@ -130,8 +130,8 @@
"no se puede tener acceso al bucle",
"una función de ámbito de bloque solo puede tener una clase de almacenamiento extern",
"se esperaba '{'",
"la expresión debe tener un tipo de puntero a clase",
"la expresión debe tener un tipo de puntero a struct o union",
"la expresión debe tener un tipo de puntero a clase, pero tiene el tipo %t",
"la expresión debe tener un tipo de puntero a struct o union, pero tiene el tipo %t",
"se esperaba un nombre de miembro",
"se esperaba un nombre de campo",
"%n no tiene ningún miembro %sq",
@@ -141,7 +141,7 @@
"no se permite la aceptación de la dirección de un campo de bits",
"hay demasiados argumentos en la llamada a función",
"no se permiten parámetros de prototipos sin nombre si aparece un cuerpo",
"la expresión debe tener un tipo de puntero a objeto",
"la expresión debe tener un tipo de puntero a objeto, pero tiene el tipo %t",
"el programa es demasiado grande o complicado para compilarlo",
"no se puede usar un valor de tipo %t1 para inicializar una entidad de tipo %t2",
"%n no se puede inicializar",
@@ -152,8 +152,8 @@
"un nombre de tipo no se puede declarar de nuevo como parámetro",
"un nombre typedef no se puede declarar de nuevo como parámetro",
"conversión de un entero distinto de cero en puntero",
"la expresión debe tener un tipo de clase",
"la expresión debe tener un tipo struct o union",
"la expresión debe tener un tipo de clase, pero tiene el tipo %t",
"la expresión debe tener un tipo struct o union, pero tiene el tipo %t",
"operador de asignaciones anticuado",
"inicializador anticuado",
"la expresión debe ser de tipo constante integral",
@@ -392,7 +392,7 @@
"no se puede llamar a la función 'main' ni tomar su dirección",
"no se puede especificar un inicializador new para una matriz",
"la función miembro %no no se puede declarar de nuevo fuera de su clase",
"no se permite un puntero a un tipo de clase incompleta",
"no se permite un puntero a un tipo %t de clase incompleta",
"no se permite una referencia a una variable local de una función de inclusión",
"se usó una función de un solo argumento para %sq postfijo (anacronismo)",
null,
@@ -1670,7 +1670,7 @@
"no se permite un calificador de tipo en un constructor o destructor",
"no se permite un calificador de tipo en operator new u operator delete",
"no se permite un calificador de tipo en una función que no sea miembro",
"expresión __assume con efectos secundarios descartada",
"el argumento para %s tiene efectos secundarios, pero no se evalúa",
"tipo de código fuente Unicode no reconocido (debe ser uno de los siguientes: UTF-8, UTF-16, UTF-16LE o UTF-16BE): %s",
"el carácter Unicode con valor hexadecimal %s no se puede representar en la salida de preprocesamiento",
"la prioridad de constructor o destructor solicitada está reservada para uso interno",
@@ -2207,7 +2207,7 @@
"un campo initonly solo se puede modificar mediante el constructor de instancias de su clase contenedora",
"un campo initonly estático solo se puede modificar mediante el constructor estático de su clase contenedora",
"la función miembro se invocará en una copia del campo initonly",
"la expresión debe tener un tipo de puntero o identificador",
"la expresión debe tener un tipo de identificador o puntero, pero tiene el tipo %t",
"para copiar un valor L aquí, se usa un constructor de movimiento o de asignación de movimiento, lo cual puede destruir el objeto de origen",
"la selección de miembros en una entidad genérica de %[C++/CLI] debe usar la sintaxis '->', no '.'",
"un tipo de clase ref no se puede derivar de %t",
@@ -2241,7 +2241,7 @@
"reinterpret_cast de identificador no seguro",
"un argumento de plantilla no puede hacer referencia a un parámetro de tipo genérico",
"no se permite una lista de expresiones en esta operación de subíndice (use paréntesis para un operador de coma de nivel superior)",
"la expresión debe tener un tipo 'puntero a objeto' o 'identificador a tipo de matriz %[C++/CLI]'",
"la expresión debe tener un tipo de puntero a objeto o de identificador a tipo de matriz %[C++/CLI], pero tiene el tipo %t",
"atributo no reconocido",
"un miembro de una clase %[managed] no puede ser de un tipo de clase no %[managed]",
"un miembro de una clase no %[managed] no puede tener un tipo de clase ref o interface",
@@ -2682,7 +2682,7 @@
"no se permite una expresión co_await dentro de una cláusula catch",
"una corrutina no puede tener un parámetro de puntos suspensivos",
"para habilitar constexpr como en C++14, se requiere compatibilidad con \"bool\"",
"la función constexpr %nd no está definida",
"el valor constexpr %nd no está definido",
"esta llamada no se puede evaluar porque la función %nd de destino no es constexpr o no está totalmente definida aún",
"nota",
"Nota",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"se esperaba \">>>\"",
"no se encuentra la declaración __cudaPushCallConfiguration. La instalación del kit de herramientas de CUDA puede estar dañada.",
"El inicializador de estilo C++17 no es estándar en este modo",
"la captura de *this no es estándar en este modo",
"El prefijo del atributo \"using\" de estilo C++17 no es estándar en este modo",
@@ -3300,7 +3300,7 @@
"uso no válido del concepto",
"un operador de comparación de miembros con valores predeterminados no puede estar calificado con \"&&\"",
"la función de comparación constexpr predeterminada llama a una función %nd que no es constexpr",
"la comparación de memoria de constexpr solo se admite para objetos de matriz de enteros o enteros de nivel superior",
"la comparación de memoria de constexpr solo se admite para objetos de matriz de enteros o enteros",
"una plantilla de concepto no puede tener restricciones asociadas",
"no se permite \"export\"",
"no se permite la exportación de miembros de clases individuales",
@@ -3335,5 +3335,62 @@
"la comparación es ambigua en C++ 20 estándar porque el operador de comparación implicado con los parámetros inversos es una coincidencia igualmente buena. Esto suele deberse a que falta un calificador \"const\" en el operador de comparación; vea %nod",
"identificador de concepto no válido",
"error de sustitución de los argumentos %T para la cláusula requires",
"no se cumplen las restricciones de %nd"
"no se cumplen las restricciones de %nd",
"el tipo de variable %t de la función constexpr tiene clases base virtuales",
"una expresión constante no puede asignar un subobjeto base virtual (para el tipo %t)",
"un parámetro de plantilla de tipo de clase debe ser un tipo de clase estructural",
"la compatibilidad con los literales UTF-8 requiere compatibilidad con u-literal.",
"la asignación de archivos de módulo para \"%s\" se especificó más de una vez",
"la asignación de unidades de encabezado para \"%s\" se especificó más de una vez",
"no se especificó ninguna asignación para \"%s\"",
"la asignación del archivo de módulo para \"%s\" no es válida",
"no se encuentra el encabezado \"%s\" para importar",
"hay más de un archivo de la lista de archivos de módulo que coincide con \"%s\"",
"el archivo de módulo que se encontró para \"%s\" es para otro módulo",
"cualquier tipo de archivo de módulo",
"no se puede leer el archivo de módulo",
"la función integrada no está disponible porque no se admite el tipo char8_t con las opciones actuales",
null,
"uso no estándar de %nod de constructor explícito para la inicialización predeterminada del elemento de agregado",
"el origen o el destino del intento intrínseco de tipo memcpy no apunta a un objeto",
"intentos intrínsecos de tipo memcpy para copiar los tipos %t1 y %t2 diferentes de forma representativa",
"intentos intrínsecos de tipo memcpy para copiar el tipo %t que no se puede copiar de forma trivial",
"intentos intrínsecos de tipo memcpy para copiar el objeto parcial",
"intentos intrínsecos de tipo memcpy para copiar más allá del límite de matriz",
"intentos intrínsecos de tipo memcpy para copiar los intervalos de bytes solapados (con la operación memmove correspondiente en su lugar)",
"una declaración \"friend\" con una cláusula requires final debe ser una definición",
"la expresión debe tener un tipo aritmético o de puntero, pero tiene el tipo %t",
"la expresión debe tener un tipo aritmético, de enumeración o de puntero, pero tiene el tipo %t",
"la expresión debe tener un tipo aritmético, de enumeración sin ámbito o de puntero, pero tiene el tipo %t",
"la expresión debe tener un tipo de puntero, pero tiene el tipo %t",
"el operador -> o ->* se aplica a %t, en lugar de a un tipo de puntero",
"no se permite un tipo %t de clase incompleta",
"no se puede interpretar el diseño de bits de este destino de compilación",
"no hay ningún operador correspondiente al operador IFC %sq",
"no hay ninguna convención de llamada correspondiente a la convención de llamada IFC %sq",
"el módulo %sq contiene construcciones no admitidas",
"construcción IFC no admitida: %sq",
"__is_signed ya no es una palabra clave a partir de este punto",
"una dimensión de matriz debe tener un valor entero sin signo constante",
"El archivo IFC %sq tiene la versión no compatible %d1.%d2",
"los módulos no están habilitados en este modo",
"No se permite \"import\" en un nombre de módulo",
"No se permite usar \"módulo\" en un nombre de módulo",
null,
null,
"%n no es un tipo de enumeración",
"el enumerador %no2 entra en conflicto con %n1",
"el enumerador %no ya se ha declarado en el ámbito %p",
"la especificación \"throw()\" no forma parte de C++20 y versiones posteriores",
"más que la entrada en el mapa de la unidad del encabezado coincide con \"%s\"",
"el diagnóstico #pragma debe tener un argumento \"push\" o \"pop\"",
"no se encontró ninguna \"diagnóstico 'push' de #pragma\" que coincidiera con este \"diagnóstico 'pop'\"",
"%sq no puede ser una macro cuando se usa en una directiva \"import\" o \"module\"",
"esta directiva solo puede aparecer en el ámbito de espacio de nombres global",
"una declaración \"export\" solo puede aparecer en un ámbito global o de espacio de nombres",
"%sq se analiza como identificador en lugar de como palabra clave porque los tokens posteriores no coinciden con los de una directiva de preprocesador",
"parece ser el inicio de una directiva de preprocesador, pero la ausencia de un \";\" seguida inmediatamente por una nueva línea impide eso",
"parece que se trata de una directiva de preprocesamiento de módulos, pero estas directivas no pueden aparecer dentro de una expansión de macro",
"una directiva \"module\" no puede aparecer en el ámbito de la inclusión condicional (por ejemplo, #if, #else, #elseif, etc.)",
"se ha omitido la importación de %sq"
]
+74 -17
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"l'opérande de '*' doit être un pointeur",
"l'opérande de '*' doit être un pointeur mais il a le type %t",
"l'argument de la macro est vide",
"cette déclaration n'a pas de classe de stockage ou de spécificateur de type",
"une déclaration de paramètre ne peut pas avoir d'initialiseur",
@@ -130,8 +130,8 @@
"boucle inaccessible",
"une fonction avec portée de bloc ne peut avoir qu'une classe de stockage externe",
"'{' attendu",
"l'expression doit avoir un type pointeur vers classe",
"l'expression doit avoir un type pointeur vers struct ou union",
"l'expression doit avoir un type pointeur vers classe mais elle a le type %t",
"l'expression doit avoir un type pointeur vers struct ou union mais elle a le type %t",
"nom de membre attendu",
"nom de champ attendu",
"%n n'a pas de membre %sq",
@@ -141,7 +141,7 @@
"prise d'adresse d'un champ de bits non autorisée",
"trop d'arguments dans l'appel de fonction",
"paramètres prototypés sans nom non autorisés lorsque le corps est présent",
"l'expression doit avoir un type pointeur vers objet",
"l'expression doit avoir un type pointeur vers objet mais elle a le type %t",
"programme trop volumineux ou complexe pour être compilé",
"impossible d'utiliser une valeur de type %t1 pour initialiser une entité de type %t2",
"impossible d'initialiser %n",
@@ -152,8 +152,8 @@
"impossible de redéclarer un nom de type en tant que paramètre",
"impossible de redéclarer un nom de typedef en tant que paramètre",
"conversion d'entier non nul en pointeur",
"l'expression doit avoir un type classe",
"l'expression doit avoir un type struct ou union",
"l'expression doit avoir un type classe mais elle a le type %t",
"l'expression doit avoir un type struct ou union mais elle a le type %t",
"ancien opérateur d'assignation",
"ancien initialiseur",
"l'expression doit avoir une expression constante intégrale",
@@ -392,7 +392,7 @@
"impossible d'appeler la fonction 'main' ou de prendre son adresse",
"impossible de spécifier un new-initializer pour un tableau",
"impossible de redéclarer la fonction membre %no en dehors de sa classe",
"pointeur vers un type classe incomplète non autorisé",
"le pointeur vers le type classe incomplet %t n'est pas autorisé",
"référence à une variable locale de fonction englobante non autorisée",
"fonction à argument unique utilisée pour %sq suffixé (anachronisme)",
null,
@@ -1670,7 +1670,7 @@
"qualificateur de type non autorisé sur un constructeur ou un destructeur",
"qualificateur de type non autorisé sur un opérateur new ou un opérateur delete",
"qualificateur de type non autorisé sur une fonction non membre",
"expression __assume avec effets secondaires ignorée",
"l'argument de %s a des effets secondaires mais il n'est pas évalué",
"genre de source Unicode non reconnu (doit être UTF-8, UTF-16, UTF-16LE ou UTF-16BE) : %s",
"le caractère Unicode avec valeur hexadécimale %s n'est pas représentable dans la sortie de prétraitement",
"la priorité demandée pour le constructeur/destructeur est réservée pour usage interne",
@@ -1896,7 +1896,7 @@
"l'attribut 'hiding' spécifié sur une déclaration référencée par la déclaration using %p",
"l'attribut 'hiding' est requis sur une déclaration (dans une classe 'base_check') qui masque %nd",
"%n n'est pas défini dans cette unité de traduction, mais dépend d'un type local",
"%n n'est pas défini dans cette unité de traduction, mais dépend d'u n type sans liaison",
"%n n'est pas défini dans cette unité de traduction, mais dépend d'un type sans liaison",
"l'attribut %sq est manquant dans une autre unité de traduction",
"l'attribut %sq est en conflit avec une autre unité de traduction",
"l'option 'nonstd_gnu_keywords' est uniquement valide dans les modes C GNU et C++ GNU",
@@ -1904,7 +1904,7 @@
"un initialiseur ne peut pas être spécifié pour un membre de tableau flexible à durée de stockage automatique",
null,
"un type de classe 'final' ne peut pas être utilisé comme une classe de base",
"les modèles exportés ne sont pus en langage C++ standard",
"les modèles exportés ne sont plus en langage C++ standard",
"un désignateur dépendant du modèle n'est pas autorisé",
"le second opérande de offsetof ne peut pas être un champ avec type référence",
"les temporaires à durée de vie longue sont incompatibles avec les autres fonctionnalités de langage plus récentes demandées",
@@ -2207,7 +2207,7 @@
"un champ initonly peut uniquement être modifié par le constructeur d'instance de sa classe conteneur",
"un champ initonly statique peut uniquement être modifié par le constructeur statique de sa classe conteneur",
"la fonction membre sera appelée sur une copie du champ initonly",
"l'expression doit avoir le type pointeur ou handle",
"l'expression doit avoir un type pointeur ou descripteur mais elle a le type %t",
"un constructeur de déplacement ou un opérateur d'assignation de déplacement est utilisé pour copier une lvalue ici, ce qui peut détruire l'objet source",
"la sélection de membre sur une entité générique %[C++/CLI] doit utiliser la syntaxe '->', et non pas '.'",
"un type de classe ref ne peut pas dériver de %t",
@@ -2241,7 +2241,7 @@
"reinterpret_cast de handle non sécurisé",
"un argument template ne peut pas faire référence à un paramètre de type générique",
"une liste d'expressions n'est pas autorisée dans cette opération d'indice (utilisez des parenthèses autour d'un opérateur virgule de niveau supérieur)",
"l'expression doit avoir un type pointeur vers objet ou handle vers tableau %[C++/CLI]",
"l'expression doit avoir un type pointeur vers objet ou descripteur vers tableau %[C++/CLI] mais elle a le type %t",
"attribut non reconnu",
"un membre d'une classe %[managed] ne peut pas être d'un type de classe non %[managed]",
"un membre d'une classe non %[managed] ne peut pas avoir un type de classe ref ou un type de classe interface",
@@ -2682,7 +2682,7 @@
"une expression co_await n'est pas autorisée dans une clause catch",
"une coroutine ne peut pas comporter de paramètre ellipse",
"l'activation de constexpr en C++14 nécessite la prise en charge de 'bool'",
"la fonction constexpr %nd n'est pas définie",
"constexpr %nd non défini",
"impossible d'évaluer cet appel, car la fonction cible %nd n'est pas constexpr ou n'est pas encore complètement définie",
"remarque",
"Remarque",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"'>>>' attendu",
"la déclaration __cudaPushCallConfiguration est introuvable. L'installation du kit de ressources CUDA est peut-être endommagée.",
"l'initialiseur de style C++17 n'est pas standard dans ce mode",
"la capture de *this n'est pas standard dans ce mode",
"Le préfixe d'attribut 'using' de style C++17 n'est pas standard dans ce mode",
@@ -3300,7 +3300,7 @@
"utilisation non valide du concept",
"un opérateur de comparaison de membres par défaut ne peut pas être qualifié en tant que '&&'",
"la fonction de comparaison constexpr par défaut appelle la fonction non constexpr %nd",
"la comparaison de mémoire constexpr est prise en charge uniquement pour les objets d'entiers de niveau supérieur ou les objets de tableaux d'entiers",
"la comparaison de mémoire constexpr est prise en charge uniquement pour les objets d'entiers ou les objets de tableaux d'entiers",
"un modèle de concept ne peut pas avoir de contraintes associées",
"'export' n'est pas autorisé",
"l'exportation de membres de classe individuels n'est pas autorisée",
@@ -3335,5 +3335,62 @@
"la comparaison est ambiguë dans la norme C++20, car l'opérateur de comparaison implicite avec des paramètres inversés représente une correspondance tout aussi appropriée (cela est généralement dû à un qualificateur 'const' manquant sur l'opérateur de comparaison) ; consultez %nod",
"ID de concept non valide",
"échec de la substitution des arguments %T pour la clause requires",
"les contraintes pour %nd ne sont pas satisfaites"
"les contraintes pour %nd ne sont pas satisfaites",
"le type de variable %t dans la fonction constexpr a des classes de base virtuelles",
"une expression constante ne peut pas allouer un sous-objet de base virtuel (pour le type %t)",
"un paramètre de modèle de type classe doit être de type classe structurelle",
"la prise en charge des littéraux UTF-8 nécessite une prise en charge du littéral u.",
"mappage de fichier de module pour '%s' spécifié plusieurs fois",
"mappage d'unité d'en-tête pour '%s' spécifié plusieurs fois",
"aucun mappage spécifié pour '%s'",
"le mappage de fichier de module pour '%s' est non valide",
"l'en-tête '%s' à importer est introuvable",
"plusieurs fichiers dans la liste de fichiers de module correspondent à '%s'",
"le fichier de module trouvé pour '%s' est destiné à un autre module",
"n'importe quel genre de fichier de module",
"impossible de lire le fichier de module",
"la fonction intégrée n'est pas disponible, car le type char8_t n'est pas pris en charge avec les options actuelles",
null,
"utilisation non standard du constructeur explicite %nod pour l'initialisation de l'élément d'agrégation par défaut",
"la source ou la destination de l'intrinsèque de type memcpy ne pointe pas vers un objet",
"l'intrinsèque de type memcpy tente de copier les types représentatifs distincts %t1 et %t2",
"l'intrinsèque de type memcpy tente de copier le type non trivialement copiable %t",
"l'intrinsèque de type memcpy tente de copier un objet partiel",
"l'intrinsèque de type memcpy tente de copier au-delà de la limite du tableau",
"l'intrinsèque de type memcpy tente de copier des plages d'octets qui se chevauchent (en utilisant plutôt l'opération memmove correspondante)",
"une déclaration friend avec une clause requires de fin doit être une définition",
"l'expression doit avoir un type arithmétique ou pointeur mais elle a le type %t",
"l'expression doit avoir un type arithmétique, enum ou pointeur mais elle a le type %t",
"l'expression doit avoir un type arithmétique, enum non délimité ou pointeur mais elle a le type %t",
"l'expression doit avoir un type pointeur mais elle a le type %t",
"opérateur -> ou ->* appliqué à %t au lieu de l'être à un type pointeur",
"le type classe incomplet %t n'est pas autorisé",
"impossible d'interpréter la disposition des bits pour cette cible de compilation",
"aucun opérateur correspondant pour l'opérateur IFC %sq",
"aucune convention d'appel correspondante pour la convention d'appel IFC %sq",
"le module %sq contient des constructions non prises en charge",
"construction IFC non prise en charge : %sq",
"__is_signed n'est plus un mot clé à partir de ce point",
"une dimension de tableau doit avoir une valeur d'entier non signé constante",
"le fichier IFC %sq a une version non prise en charge : %d1.%d2",
"les modules ne sont pas activés dans ce mode",
"'import' n'est pas autorisé dans un nom de module",
"'module' n'est pas autorisé dans un nom de module",
null,
null,
"%n n'est pas un type énumération",
"l'énumérateur %no2 est en conflit avec %n1",
"l'énumérateur %no a déjà été déclaré dans cette étendue %p",
"la spécification 'throw()' ne fait pas partie de C++20 ni des versions ultérieures",
"plusieurs entrées dans le mappage d'unité d'en-tête correspondent à '%s'",
"#Le diagnostic pragma doit avoir un argument « push » ou « pop »",
"Aucun « #pragma diagnostic push » na été trouvé en correspondance à ce « diagnostic pop »",
"%sq ne peut pas être une macro quand il est utilisé dans une directive dimportation ou de module",
"cette directive ne peut apparaître que dans l’étendue de lespace de noms global",
"une déclaration « export » peut apparaître uniquement dans l’étendue globale ou de lespace de noms",
"Le %sq est ensuite analysé en tant quidentificateur plutôt quen tant que mot clé, car les jetons qui suivent ne correspondent pas à ceux dune directive de préprocesseur",
"cette directive semble être le début dune directive de préprocesseur, mais labsence de « ; » suivie immédiatement dune nouvelle ligne empêche",
"il sagit dune directive de prétraitement de modules, mais une telle directive ne peut pas apparaître dans une extension de macro",
"une directive « module » ne peut pas apparaître dans le cadre de linclusion conditionnelle (par exemple, #if, #else, #elseif, etc.)",
"limportation de %sq a été ignorée"
]
+72 -15
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"l'operando di '*' deve essere un puntatore",
"l'operando di '*' deve essere un puntatore ma il tipo è %t",
"l'argomento della macro è vuoto",
"questa dichiarazione non include classe di archiviazione o identificatore di tipo",
"una dichiarazione di parametro non può includere un inizializzatore",
@@ -130,8 +130,8 @@
"ciclo non raggiungibile",
"una funzione con ambito blocco può includere solo la classe di archiviazione extern",
"previsto '{'",
"l'espressione deve avere il tipo puntatore a classe",
"l'espressione deve avere il tipo puntatore a struttura o unione",
"l'espressione deve essere di tipo puntatore a classe ma il tipo è %t",
"l'espressione deve essere di tipo puntatore a struct o unione ma il tipo è %t",
"previsto un nome di membro",
"previsto un nome di campo",
"%n non include alcun membro %sq",
@@ -141,7 +141,7 @@
"impossibile accettare l'indirizzo di un campo di bit",
"troppi argomenti nella chiamata di funzione",
"impossibile utilizzare parametri con prototipo senza nome quando è presente il corpo",
"l'espressione deve avere il tipo puntatore a oggetto",
"l'espressione deve essere di tipo puntatore a oggetto ma il tipo è %t",
"programma troppo grande o complesso per essere compilato",
"impossibile utilizzare un valore di tipo %t1 per inizializzare un'entità di tipo %t2",
"impossibile inizializzare %n",
@@ -152,8 +152,8 @@
"impossibile dichiarare nuovamente un nome di tipo come parametro",
"impossibile dichiarare nuovamente un nome di typedef come parametro",
"conversione di un numero intero diverso da zero in un puntatore",
"l'espressione deve avere il tipo classe",
"l'espressione deve avere il tipo struttura o unione",
"l'espressione deve essere di tipo classe ma il tipo è %t",
"l'espressione deve essere di tipo struct o unione ma il tipo è %t",
"operatore di assegnazione obsoleto",
"inizializzatore obsoleto",
"l'espressione deve essere un'espressione di costante integrale",
@@ -392,7 +392,7 @@
"non è possibile chiamare la funzione 'main' o accettarne l'indirizzo",
"impossibile specificare l'inizializzatore new per una matrice",
"impossibile dichiarare nuovamente una funzione membro %no all'esterno della relativa classe",
"puntatore a tipo classe incompleto non consentito",
"il puntatore al tipo classe incompleto %t non è consentito",
"riferimento a variabile locale della funzione contenitore non consentito",
"utilizzata una funzione ad argomento singolo per aggiungere la forma suffissa a %sq (anacronismo)",
null,
@@ -1670,7 +1670,7 @@
"qualificatore di tipo non consentito in un costruttore o distruttore",
"qualificatore di tipo non consentito in operator new o operator delete",
"qualificatore di tipo non consentito in una funzione non membro",
"espressione __assume con effetti collaterali eliminata",
"l'argomento di %s ha effetti collaterali ma non è valutato",
"tipo di origine Unicode non riconosciuto. Deve essere uno tra UTF-8, UTF-16, UTF-16LE, UTF-16BE: %s",
"carattere Unicode con valore esadecimale %s non rappresentabile nell'output di pre-elaborazione",
"la priorità del costruttore/distruttore richiesta è riservata per uso interno",
@@ -2207,7 +2207,7 @@
"un campo initonly può essere modificato solo dal costruttore istanza della relativa classe che lo contiene",
"un campo initonly statico può essere modificato solo dal costruttore statico della relativa classe che lo contiene",
"la funzione membro verrà richiamata in una copia del campo initonly",
"l'espressione deve avere il tipo puntatore o handle",
"l'espressione deve essere di tipo puntatore o handle ma il tipo è %t",
"un costruttore di spostamento o un operatore di assegnazione spostamento è utilizzato per copiare un lvalue in questo punto; l'operazione potrebbe eliminare in modo permanente l'oggetto di origine",
"la selezione del membro in un'entità generica %[C++/CLI] deve utilizzare la sintassi '->' e non '.'",
"un tipo classe di riferimento non può derivare da %t",
@@ -2241,7 +2241,7 @@
"reinterpret_cast di handle non sicuro",
"un argomento del modello non può fare riferimento a un parametro di tipo generico",
"un elenco di espressioni non è consentito in questa operazione di pedice (racchiudere tra parentesi l'operatore virgola di primo livello)",
"l'espressione deve avere il tipo puntatore a oggetto o handle a matrice %[C++/CLI]",
"l'espressione deve essere di tipo puntatore a oggetto o handle a matrice %[C++/CLI] ma il tipo è %t",
"attributo non riconosciuto",
"il membro di una classe %[managed] non può essere di un tipo di classe non-%[managed]",
"il membro di una classe non-%[managed] non può avere un tipo di classe di riferimento o un tipo di classe di interfaccia",
@@ -2682,7 +2682,7 @@
"un'espressione co_await non è consentita in una clausola catch",
"una coroutine non può contenere un parametro con puntini di sospensione",
"per abilitare constexpr di tipo C++ 14, è richiesto il supporto per 'bool'",
"la funzione constexpr %nd non è definita",
"la constexpr %nd non è definita",
"non è possibile valutare questa chiamata perché la funzione di destinazione %nd non è constexpr oppure non è stata ancora completamente definita",
"nota",
"Nota",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"è previsto '>>>'",
"non è possibile trovare la dichiarazione di __cudaPushCallConfiguration. L'installazione del toolkit CUDA potrebbe essere danneggiata.",
"l'inizializzatore di tipo C++17 non è standard in questa modalità",
"l'acquisizione di *this non è standard in questa modalità",
"il prefisso dell'attributo di 'using' di tipo C++17 non è standard in questa modalità",
@@ -3300,7 +3300,7 @@
"uso del concetto non valido",
"un operatore di confronto membri impostato come predefinito non può essere qualificato con '&&'",
"la funzione di confronto constexpr predefinita chiama la funzione non constexpr %nd",
"il confronto di memoria constexpr è supportato solo per gli oggetti intero o matrice di intero di primo livello",
"il confronto di memoria constexpr è supportato solo per gli oggetti intero o matrice di interi",
"un modello di concetto non può avere vincoli associati",
"'export' non è consentito",
"l'esportazione di singoli membri di classe non è consentita",
@@ -3335,5 +3335,62 @@
"il confronto è ambiguo in C++20 standard perché l'operatore di confronto implicito con parametri invertiti è una corrispondenza altrettanto valida. In genere questo problema dipende dalla mancanza di un qualificatore 'const' nell'operatore di confronto. Vedere %nod",
"ID concetto non valido",
"la sostituzione degli argomenti %T per la clausola requires non è riuscita",
"i vincoli per %nd non sono soddisfatti"
"i vincoli per %nd non sono soddisfatti",
"il tipo di variabile %t nella funzione constexpr contiene classi di base virtuali",
"un'espressione costante non può allocare un sotto-oggetto di base virtuale (per il tipo %t)",
"un parametro di modello di tipo classe deve essere un tipo classe strutturale",
"per il supporto dei valori letterali UTF-8 è richiesto il supporto di valori letterali u",
"il mapping del file del modulo per '%s' è stato specificato più di una volta",
"il mapping dell'unità intestazione per '%s' è stato specificato più di una volta",
"non è stato specificato alcun mapping per '%s'",
"Il mapping del file del modulo per '%s' non è valido",
"non è possibile trovare l'intestazione '%s' da importare",
"più di un file nell'elenco file di modulo corrisponde a '%s'",
"il file di modulo trovato per '%s' è riferito a un modulo diverso",
"qualsiasi tipo di modulo",
"non è possibile leggere il file del modulo",
"la funzione predefinita non è disponibile perché il tipo char8_t non è supportato con le opzioni correnti",
null,
"uso non standard del costruttore esplicito %nod per l'inizializzazione dell'elemento di aggregazione predefinito",
"l'origine o la destinazione dell'intrinseco simile a memcpy non punta a un oggetto",
"l'intrinseco simile a memcpy prova a copiare i tipi distinti dal punto di vista della rappresentazione %t1 e %t2",
"l'intrinseco simile a memcpy prova a copiare il tipo non facilmente copiabile %t",
"l'intrinseco simile a memcpy prova a copiare l'oggetto parziale",
"l'intrinseco simile a memcpy prova a copiare oltre il limite della matrice",
"l'intrinseco simile a memcpy prova a copiare intervalli di byte sovrapposti (usando invece l'operazione memmove corrispondente)",
"una dichiarazione friend con una clausola requires finale deve essere una definizione",
"l'espressione deve essere di tipo puntatore o aritmetico ma il tipo è %t",
"l'espressione deve essere di tipo aritmetico, enumerazione o puntatore ma il tipo è %t",
"l'espressione deve essere di tipo aritmetico, enumerazione senza ambito o puntatore ma il tipo è %t",
"l'espressione deve essere di tipo puntatore ma il tipo è %t",
"a %t è stato applicato l'operatore -> o ->* invece di un tipo puntatore",
"il tipo classe incompleto %t non è consentito",
"non è possibile interpretare il layout di bit per questa destinazione di compilazione",
"non esiste alcun operatore corrispondente per l'operatore IFC %sq",
"non esiste alcuna convenzione di chiamata corrispondente per la convenzione di chiamata IFC %sq",
"il modulo %sq contiene costrutti non supportati",
"costrutto IFC non supportato: %sq",
"__is_signed non è più una parola chiave a partire da questo punto",
"una dimensione di matrice deve avere un valore intero senza segno costante",
"il file IFC %sq ha una versione %d1.%d2 non supportata",
"i moduli non sono abilitati in questa modalità",
"Il nome di un modulo non può contenere 'import'",
"Il nome di un modulo non può contenere 'module'",
null,
null,
"%n non è un tipo di enumerazione",
"l'enumeratore %no2 è in conflitto con %n1",
"l'enumeratore %no è già stato dichiarato in questo ambito %p",
"la specifica 'throw()' non fa parte di C++20 e versioni successive",
"più di una voce nel mapping dell'unità intestazione corrisponde a '%s'",
"la diagnostica #pragma deve avere l'argomento 'push' o 'pop'",
"nessun '#pragma diagnostic push' trovato che corrisponda a questo 'diagnostic pop'",
"%sq non può essere una macro se usata in una direttiva import o modulo",
"questa direttiva può essere visualizzata solo nell'ambito dello spazio dei nomi globale",
"una dichiarazione 'export' può essere visualizzata solo nell'ambito globale o dello spazio dei nomi",
"%sq viene analizzato come identificatore anziché come parola chiave perché i token che seguono non corrispondono a quelli di una direttiva preprocessore",
"sembra essere l'inizio di una direttiva preprocessore, ma la mancanza di ';' seguita immediatamente da una nuova riga lo impedisce",
"sembra essere una direttiva pre-elaborazione dei moduli, ma tali direttive non possono essere visualizzate all'interno di un'espansione delle macro",
"una direttiva 'module' non può comparire nell'ambito dell'inclusione condizionale (ad esempio, #if, #else, #elseif e così via)",
"l'importazione di %sq è stata ignorata"
]
+72 -15
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"'*' のオペランドはポインターである必要があります",
"オペランド '*' はポインターである必要がありますが、型 %t が指定されています",
"マクロの引数が空です",
"この宣言にはストレージ クラスまたは型指定子がありません",
"パラメーター宣言に初期化子があってはなりません",
@@ -130,8 +130,8 @@
"ループが到達不能です",
"block-scope 関数では extern ストレージ クラスのみを使用できます",
"'{' が必要です",
"式には pointer-to-class 型が必要です",
"式には pointer-to-struct-or-union 型が必要です",
"式には pointer-to-class 型を使用する必要がありますが、型 %t が使用されています",
"式には pointer-to-struct-or-union 型を使用する必要がありますが、型 %t が使用されています",
"メンバー名が必要です",
"フィールド名が必要です",
"%n にメンバー %sq がありません",
@@ -141,7 +141,7 @@
"ビット フィールドのアドレスの取得は許可されていません",
"関数呼び出しの引数が多すぎます",
"名前のないプロトタイプ パラメーターは、本体が存在する場合には使用できません",
"式には pointer-to-object 型が必要です",
"式には pointer-to-object 型を使用する必要がありますが、型 %t が使用されています",
"プログラムが大きすぎるか、複雑すぎてコンパイルできません",
"型 %t1 の値を使用して型 %t2 のエンティティを初期化することはできません",
"%n は初期化できません",
@@ -152,8 +152,8 @@
"型名はパラメーターとして再宣言できません",
"typedef 名はパラメーターとして再宣言できません",
"0 以外の整数からポインターへの変換",
"式にはクラス型が必要です",
"式には構造体または共用体型が必要です",
"式にはクラス型を使用する必要がありますが、型 %t が使用されています",
"式には構造体または共用体型を使用する必要がありますが、型 %t が使用されています",
"古い形式の代入演算子",
"古い形式の初期化子",
"式は整数定数式である必要があります",
@@ -392,7 +392,7 @@
"関数 'main' を呼び出すこと、またはそのアドレスを取得することはできません",
"配列に対して新しい初期化子を指定することはできません",
"メンバー関数 %no をそのクラスの外側で再宣言することはできません",
"不完全クラス型へのポインターは使用できません",
"不完全クラス型 %t へのポインターは使用できません",
"外側の関数のローカル変数への参照は許可されていません",
"単一引数関数が後置 %sq に使用されています (旧形式)",
null,
@@ -1670,7 +1670,7 @@
"コンストラクターまたはデストラクターでは型修飾子は使用できません",
"演算子 new または演算子 delete では型修飾子は使用できません",
"メンバー以外の関数では型修飾子は使用できません",
"副作用のある __assume 式は破棄されます",
"%s への引数には副作用がありますが未評価です",
"認識されない Unicode ソースの種類です (UTF-8、UTF-16、UTF-16LE、または UTF-16BE のいずれかである必要があります): %s",
"16 進数値 %s の Unicode 文字が出力の前処理において表示されません",
"要求されたコンストラクター/デストラクターの優先順位は内部使用のために予約済みです",
@@ -2207,7 +2207,7 @@
"initonly フィールドは、フィールドに含まれているクラスのインスタンス コンストラクターでのみ変更できます",
"静的な initonly フィールドは、フィールドに含まれているクラスの静的コンストラクターでのみ変更できます",
"initonly フィールドのコピー上でメンバー関数が呼び出されます",
"式にはポインターまたはハンドル型を使用する必要があります",
"式にはポインターまたはハンドル型を使用する必要がありますが、型 %t が使用されています",
"ムーブ コンストラクターまたはムーブ代入演算子により左辺値がここにコピーされるため、ソース オブジェクトが破棄される可能性があります",
"%[C++/CLI] ジェネリック エンティティでのメンバー選択には、'.' 構文ではなく '->' 構文を使用する必要があります",
"ref クラス型は %t から派生することはできません",
@@ -2241,7 +2241,7 @@
"ハンドルの安全でない reinterpret_cast",
"テンプレート引数はジェネリック型パラメーターを参照できません",
"式のリストはこの添字操作で使用できません (トップレベルのコンマ演算子をかっこで囲んでください)",
"式には pointer-to-object または handle-to-%[C++/CLI]-array 型が必要です",
"式には pointer-to-object または handle-to-%[C++/CLI]-array 型を使用する必要がありますが、型 %t が使用されています",
"識別できない属性です",
"%[managed] クラスのメンバーを非 %[managed] クラス型にすることはできません",
"非 %[managed] クラスのメンバーは ref クラス型またはインターフェイス クラス型を持つことができません",
@@ -2682,7 +2682,7 @@
"co_await 式は catch 句内では使用できません",
"コルーチンには省略記号のパラメーターを使用できません",
"C++14 スタイルの constexpr を有効にするには、'bool' へのサポートが必要です",
"constexpr 関数 %nd が定義されていません",
"constexpr %nd が定義されていません",
"ターゲット関数 %nd が constexpr でない、またはまだ完全に定義されていないため、この呼び出しを評価できません",
"メモ",
"メモ",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"'>>>' が必要です",
"__cudaPushCallConfiguration 宣言が見つかりません。CUDA Toolkit のインストールが破損しているおそれがあります。",
"C++17 スタイルの初期化子はこのモードでは非標準です",
"*this のキャプチャはこのモードでは非標準です",
"C++17 スタイルの 'using' 属性プレフィックスはこのモードでは非標準です",
@@ -3300,7 +3300,7 @@
"概念が正しく使用されていません",
"既定のメンバー比較演算子を '&&' で修飾することはできません",
"既定の constexpr 比較関数は、constexpr ではない関数 %nd を呼び出します",
"constexpr のメモリ比較は、トップレベルの整数または整数の配列オブジェクトでのみサポートされています",
"constexpr のメモリ比較は、整数または整数の配列オブジェクトでのみサポートされています",
"概念テンプレートに関連する制約を持たせることはできません",
"[エクスポート] は許可されていません",
"個別のクラス メンバーのエクスポートは許可されていません",
@@ -3335,5 +3335,62 @@
"標準 C++ 20 では、パラメーターが反転した暗黙的な比較演算子が同程度に適合するため、比較はあいまいです。これは通常、比較演算子の 'const' 修飾子がない場合に発生します。%nod を参照してください",
"無効な概念 ID",
"Requires 句の引数 %T の置換に失敗しました",
"%nd の制約が満たされていません"
"%nd の制約が満たされていません",
"constexpr 関数の変数の型 %t に仮想基底クラスが含まれています",
"定数式では、仮想ベースのサブオブジェクト (型 %t) の割り当てを行うことはできません",
"クラス型のテンプレート パラメーターは、構造クラス型である必要があります",
"UTF-8 リテラルのサポートには、u リテラルのサポートが必要です。",
"'%s' のモジュール ファイル マッピングが 2 回以上指定されました",
"'%s' のヘッダー単位のマッピングが 2 回以上指定されました",
"'%s' にマッピングが指定されていません",
"'%s' のモジュール ファイル マッピングが無効です",
"インポートするヘッダー '%s' が見つかりません",
"モジュール ファイル リスト内の複数のファイルが '%s' と一致しています",
"'%s' に対して見つかったモジュール ファイルは別のモジュール用です",
"あらゆる種類のモジュール ファイル",
"モジュール ファイルを読み取れません",
"現在のオプションで char8_t 型がサポートされていないので、ビルトイン関数を使用できません",
null,
"既定の集約要素の初期化における明示的なコンストラクター %nod の非標準的な使用",
"memcpy に似た組み込み関数のソースやターゲットでオブジェクトが指定されていません",
"memcpy に似た組み込み関数により、表現上個別の型である %t1 と %t2 のコピーが試行されます",
"memcpy に似た組み込み関数により、普通にコピーすることができない型 %t のコピーが試行されます",
"memcpy に似た組み込み関数により、部分的なオブジェクトのコピーが試行されます",
"memcpy に似た組み込み関数により、配列の境界を越えたコピーが試行されます",
"memcpy に似た組み込み関数により、重複しているバイト範囲のコピーが (対応する memmove 操作を代わりに使用して) 試行されます",
"後続の Requires 句を含む friend 宣言は定義である必要があります",
"式には算術またはポインター型を使用する必要がありますが、型 %t が使用されています",
"式には演算、列挙、またはポインター型を使用する必要がありますが、型 %t が使用されています",
"式には演算、対象範囲外の列挙、またはポインター型を使用する必要がありますが、型 %t が使用されています",
"式にはポインター型を使用する必要がありますが、型 %t が使用されています",
"演算子 -> または ->* は、ポインター型にではなく %t に適用されます",
"不完全なクラス型 %t は使用できません",
"このコンパイル ターゲットのビット レイアウトを解釈できません。",
"IFC 演算子 %sq に対応する演算子がありません",
"IFC 呼び出し規則 %sq に対応する呼び出し規則がありません",
"モジュール %sq にはサポートされていないコンストラクトが含まれています",
"サポートされていない IFC コンストラクト: %sq",
"__is_signed はこのポイントからキーワードではなくなりました",
"配列の次元には定数の符号なし整数値を指定する必要があります",
"IFC ファイル %sq は、サポートされていないバージョン %d1.%d2 です",
"このモードではモジュールは無効です",
"'import' は、モジュール名には使用できません",
"'module' は、モジュール名には使用できません",
null,
null,
"%n は列挙型ではありません",
"列挙子 %no2 が %n1 と競合しています",
"列挙子 %no はこのスコープ %p で既に宣言されています",
"'throw()' 仕様は C++20 以降に含まれていません",
"ヘッダー ユニット マップのエントリより多くが '%s' に一致しています",
"#pragma 診断には、' push ' または ' pop ' のいずれかの引数が必要です",
"' #pragma 診断プッシュ ' が見つからなかったため、この ' 診断 pop ' と一致しません",
"インポートまたはモジュール ディレクティブで使用する場合、%sq がマクロにならないようにすることはできません",
"このディレクティブは、グローバル名前空間スコープでのみ表示されます",
"' export ' 宣言はグローバルまたは名前空間スコープでのみ表示されます",
"%sq は、その後のトークンがプリプロセッサ ディレクティブのトークンと一致しないため、キーワードではなく識別子として解析されます",
"これはプリプロセッサ ディレクティブの先頭であるようですが、'; ' がなくなり、その直後に改行があるために",
"これはモジュールの前処理ディレクティブですが、このようなディレクティブはマクロの展開の中では使用できません",
"' module ' ディレクティブは、条件付き包含のスコープ内では使用できません (例: #if、#else、#elseif など)",
"%sq のインポートはスキップされました"
]
+72 -15
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"'*'의 피연산자는 포인터여야 합니다.",
"'*'의 피연산자는 포인터여야 하는데 %t 형식이 있음",
"매크로에 대한 인수가 비어 있습니다.",
"이 선언에는 스토리지 클래스 또는 형식 지정자가 없습니다.",
"매개 변수 선언은 이니셜라이저를 가질 수 없습니다.",
@@ -130,8 +130,8 @@
"루프에 접근할 수 없습니다.",
"블록 범위 함수에는 외부 스토리지 클래스를 하나만 사용할 수 있습니다.",
"'{'가 필요합니다.",
"식에 클래스 포인터 형식이 있어야 합니다.",
"식에 구조체 포인터 또는 공용 구조체 포인터 형식이 있어야 합니다.",
"식에 클래스 포인터 형식이 있어야 하는데 %t 형식이 있음",
"식에 구조체 포인터 또는 공용 구조체 포인터 형식이 있어야 하는데 %t 형식이 있음",
"멤버 이름이 필요합니다.",
"필드 이름이 필요합니다.",
"%n에 %sq 멤버가 없습니다.",
@@ -141,7 +141,7 @@
"비트 필드의 주소를 가져올 수 없습니다.",
"함수 호출에 인수가 너무 많습니다.",
"본문이 있는 경우 명명되지 않은 프로토타입 매개 변수를 사용할 수 없습니다.",
"식에 개체 포인터 형식이 있어야 합니다.",
"식에 개체 포인터 형식이 있어야 하는데 %t 형식이 있음",
"프로그램이 너무 크거나 복잡하여 컴파일할 수 없습니다.",
"%t1 형식의 값을 사용하여 %t2 형식의 엔터티를 초기화할 수 없습니다.",
"%n을(를) 초기화할 수 없습니다.",
@@ -152,8 +152,8 @@
"형식 이름을 매개 변수로 다시 선언할 수 없습니다.",
"typedef 이름을 매개 변수로 다시 선언할 수 없습니다.",
"0이 아닌 정수를 포인터로 변환",
"식에 클래스 형식이 있어야 합니다.",
"식에 구조체 또는 공용 구조체 형식이 있어야 합니다.",
"식에 클래스 형식이 있어야 하는데 %t 형식이 있음",
"식에 구조체 또는 공용 구조체 형식이 있어야 하는데 %t 형식이 있음",
"더 이상 사용되지 않는 대입 연산자",
"더 이상 사용되지 않는 이니셜라이저",
"식은 정수 계열 상수 식이어야 합니다.",
@@ -392,7 +392,7 @@
"함수 'main'을 호출할 수 없거나 해당 주소를 가져올 수 없습니다.",
"배열에 대해 새 이니셜라이저를 지정할 수 없습니다.",
"멤버 함수 %no을(를) 해당 클래스 외부에서 다시 선언할 수 없습니다.",
"불완전한 클래스 형식에 대한 포인터는 사용할 수 없습니다.",
"불완전한 클래스 형식 %t에 대한 포인터는 사용할 수 없",
"바깥쪽 함수의 지역 변수에 대한 참조를 사용할 수 없습니다.",
"후위 %sq에 단일 인수 함수가 사용되었습니다(오래된 구문).",
null,
@@ -1670,7 +1670,7 @@
"생성자 또는 소멸자에서 형식 한정자를 사용할 수 없습니다.",
"operator new 또는 operator delete에서 형식 한정자를 사용할 수 없습니다.",
"비멤버 함수에서 형식 한정자를 사용할 수 없습니다.",
"파생 효과가 있는 __assume 식이 무시되었습니다.",
"%s에 대한 인수는 파생 작업이 있지만 계산되지 않음",
"인식할 수 없는 유니코드 소스 종류(UTF-8, UTF-16, UTF-16LE, UTF-16BE 중 하나여야 함): %s",
"16진수 값 %s의 유니코드 문자를 전처리 출력에서 표현할 수 없습니다.",
"요청된 생성자/소멸자 우선 순위는 내부용으로 예약되어 있습니다.",
@@ -2207,7 +2207,7 @@
"initonly 필드는 포함하는 해당 클래스의 인스턴스 생성자에 의해서만 수정될 수 있습니다.",
"정적 initonly 필드는 포함하는 해당 클래스의 정적 생성자에 의해서만 수정될 수 있습니다.",
"멤버 함수는 initonly 필드의 복사본에서 호출됩니다.",
"식에 포인터 또는 핸들 형식이 있어야 합니다.",
"식에 포인터 또는 핸들 형식이 있어야 하는데 %t 형식이 있음",
"이동 생성자 또는 이동 대입 연산자를 사용하여 여기에서 lvalue를 복사할 수 있습니다. 이렇게 하면 소스 개체가 제거될 수 있습니다.",
"%[C++/CLI] 제네릭 엔터티의 멤버 선택에는 '.'가 아니라 '->' 구문을 사용해야 합니다.",
"ref 클래스 형식은 %t에서 파생될 수 없습니다.",
@@ -2241,7 +2241,7 @@
"핸들의 안전하지 않은 reinterpret_cast",
"템플릿 인수는 제네릭 형식 매개 변수를 참조할 수 없습니다.",
"이 구독 작업에서는 식 목록을 사용할 수 없습니다(최상위 쉼표 연산자를 괄호로 묶기).",
"식 개체 포인터 또는 %[C++/CLI] 배열 형식에 대한 핸들이어야 합니다.",
"식 개체 포인터 또는 %[C++/CLI] 배열 핸들 형식이 있어야 하는데 %t 형식이 있음",
"인식할 수 없는 특성",
"%[managed] 클래스의 멤버는 비 %[managed] 클래스 형식일 수 없습니다.",
"비 %[managed] 클래스의 멤버는 ref 클래스 형식 또는 인터페이스 클래스 형식일 수 없습니다.",
@@ -2682,7 +2682,7 @@
"co_await 식은 catch 절 내부에 허용되지 않습니다.",
"코루틴에는 가변 매개 변수(...)가 있을 수 없습니다.",
"C++14-style constexpr을 사용하려면 'bool'을 지원해야 합니다.",
"constexpr 함수 %nd이(가) 정의되지 않았습니다.",
"constexpr %nd이(가) 정의되지 않",
"대상 함수 %nd이(가) constexpr이 아니거나 아직 완전히 정의되지 않아 이 호출을 확인할 수 없습니다.",
"참고",
"참고",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"'>>>'가 필요함",
"__cudaPushCallConfiguration 선언을 찾을 수 없습니다. CUDA 도구 키트 설치가 손상되어 있을 수 있습니다.",
"C++17 스타일 이니셜라이저는 이 모드에서 표준이 아닙니다.",
"*this 캡처는 이 모드에서 표준이 아닙니다.",
"C++17 스타일 'using' 특성 접두사는 이 모드에서 표준이 아닙니다.",
@@ -3300,7 +3300,7 @@
"잘못된 개념 사용",
"기본 멤버 비교 연산자는 '&&'-qualified일 수 없습니다.",
"기본 constexpr 비교 함수에서 비 constexpr 함수 %nd 호출",
"constexpr 메모리 비교는 최상위 정수 또는 정수 배열 개체에 대해서만 지원됩니다.",
"constexpr 메모리 비교는 정수 또는 정수 배열 개체에 대해서만 지원됩니다.",
"개념 템플릿에는 관련된 제약 조건이 있을 수 없습니다.",
"'export'는 허용되지 않습니다.",
"개별 클래스 멤버를 내보낼 수 없습니다.",
@@ -3335,5 +3335,62 @@
"역 매개 변수를 사용하는 암시적 비교 연산자는 동일하게 적절한 일치 항목이므로 표준 C++20에서 비교는 모호합니다. 이 문제는 일반적으로 비교 연산자에 'const' 한정자가 없어서 발생합니다. %nod를 참조하세요.",
"잘못된 개념 ID",
"requires 절의 %T 인수를 대체하지 못했습니다.",
"%nd에 대한 제약 조건을 충족하지 않습니다."
"%nd에 대한 제약 조건을 충족하지 않습니다.",
"constexpr 함수의 변수 형식 %t에는 가상 기본 클래스가 있습니다.",
"상수 식은 가상 기본 하위 개체(%t 형식)를 할당할 수 없습니다.",
"클래스 형식의 템플릿 매개 변수는 구조적 클래스 형식이어야 합니다.",
"UTF-8 리터럴에 대한 지원에는 u-리터럴 지원이 필요합니다.",
"'%s'에 대한 모듈 파일 매핑이 두 번 이상 지정되었습니다.",
"'%s'에 대한 헤더 단위 매핑이 두 번 이상 지정되었습니다.",
"'%s'에 대한 매핑이 지정되지 않았습니다.",
"'%s'에 대한 모듈 파일 매핑이 잘못되었습니다.",
"가져올 '%s' 헤더를 찾을 수 없습니다.",
"모듈 파일 목록에 있는 두 개 이상의 파일이 '%s'과(와) 일치합니다.",
"'%s'에 대해 찾은 모듈 파일이 다른 모듈에 대한 것입니다.",
"모든 종류의 모듈 파일",
"모듈 파일을 읽을 수 없음",
"char8_t 형식이 현재 옵션에서 지원되지 않기 때문에 기본 제공 함수를 사용할 수 없습니다.",
null,
"기본 집계 요소 초기화에 명시적 생성자 %nod의 비표준 사용",
"memcpy 유사 내장의 소스 또는 대상이 개체를 가리키지 않음",
"memcpy 유사 내장이 대표적으로 차별화된 형식 %t1 및 %t2을(를) 복사하려고 시도함",
"memcpy 유사 내장이 중요하게 복사 가능한 형식 %t을(를) 복사하려고 시도함",
"memcpy 유사 내장이 부분 개체를 복사하려고 시도함",
"memcpy 유사 내장이 과거 배열 경계를 복사하려고 시도함",
"memcpy 유사 내장이 겹치는 바이트 범위를 복사하려고 시도함(대신 해당 memmove 작업 사용)",
"trailing-requires 절이 있는 friend 선언이 정의여야 함",
"식에 산술 또는 포인터 형식이 있어야 하는데 %t 형식이 있음",
"식에 산술, 열거형 또는 포인터 형식이 있어야 하는데 %t 형식이 있음",
"식에 산술, 범위가 지정되지 않은 열거형 또는 포인터 형식이 있어야 하는데 %t 형식이 있음",
"식에 포인터 형식이 있어야 하는데 %t 형식이 있음",
"연산자 -> 또는 ->*가 포인터 형식 대신 %t에 적용됨",
"불완전한 클래스 형식 %t을(를) 사용할 수 없음",
"이 컴파일 대상의 비트 레이아웃을 해석할 수 없음",
"IFC 연산자 %sq에 해당하는 연산자가 없음",
"IFC 호출 규칙 %sq에 해당하는 호출 규칙이 없음",
"모듈 %sq에 지원되지 않는 구문이 포함되어 있음",
"지원되지 않는 IFC 구문: %sq",
"__is_signed는 이 시점부터 더 이상 키워드가 아님",
"배열 차원에는 상수인 부호 없는 정수 값이 있어야 함",
"IFC 파일 %sq에 지원되지 않는 버전 %d1.%d2이(가) 있음",
"이 모드에서 모듈을 사용할 수 없음",
"'import'는 모듈 이름에 사용할 수 없습니다.",
"'module'은 모듈 이름에 사용할 수 없습니다.",
null,
null,
"%n은(는) 열거형 형식이 아닙니다.",
"열거자 %no2이(가) %n1과(와) 충돌합니다.",
"열거자 %no은(는) 이미 이 범위 %p에 선언되었습니다.",
"'throw()' 사양은 C++20 이상에 포함되지 않습니다.",
"헤더 단위 맵의 입력보다 많은 항목이 '%s'과(와) 일치합니다.",
"#pragma 진단에 'push' 또는 'pop' 인수가 있어야 합니다.",
"이 '진단 팝업'과 일치하는 '#pragma 진단 푸시'가 없음",
"가져오기 또는 모듈 지시문에 사용된 경우 %sq은(는) 매크로일 수 없습니다.",
"이 지시문은 전역 네임스페이스 범위에만 표시될 수 있습니다.",
"'내보내기' 선언은 전역 또는 네임스페이스 범위에만 나타날 수 있습니다.",
"%sq는 뒤에 오는 토큰이 전처리기 지시문의 토큰과 일치하지 않으므로 키워드가 아닌 식별자로 구문 분석됩니다.",
"이것은 전처리기 지시문의 시작인 것처럼 보이지만 ';'가 없습니다. 바로 뒤에 줄 바꿈이 있으면",
"이는 모듈 전처리기 지시문으로 보이지만 이러한 지시문은 매크로 확장 내에 나타날 수 없습니다.",
"'모듈' 지침은 조건부 포함 범위 내에 나타날 수 없습니다(예: #if, #else, #elseif 등).",
"%sq 가져오기를 건너뜀"
]
+71 -14
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"argument operacji „*” musi być wskaźnikiem",
"argument „*” musi być wskaźnikiem, ale ma typ %t",
"argument makra jest pusty",
"ta deklaracja nie zawiera klasy magazynu lub specyfikatora typu",
"deklaracja parametru nie może mieć inicjatora",
@@ -130,8 +130,8 @@
"pętla jest nieosiągalna",
"funkcja o zakresie bloku może mieć tylko klasę magazynu extern",
"oczekiwano znaku „{”",
"wyrażenie musi mieć typ wskaźnika do klasy",
"wyrażenie musi mieć typ wskaźnika do struktury lub związku",
"wyrażenie musi mieć typ wskaźnika do klasy, ale ma typ %t",
"wyrażenie musi mieć typ wskaźnika do struktury lub unii, ale ma typ %t",
"oczekiwano nazwy składowej",
"oczekiwano nazwy pola",
"element %n nie ma składowej %sq",
@@ -141,7 +141,7 @@
"pobieranie adresu pola bitowego jest niedozwolone",
"za dużo argumentów w wywołaniu funkcji",
"nienazwane parametry prototypowane są niedozwolone, jeśli występuje zawartość",
"wyrażenie musi mieć typ wskaźnika do obiektu",
"wyrażenie musi mieć typ wskaźnika do obiektu, ale ma typ %t",
"program jest za duży lub zbyt skomplikowany, aby go skompilować",
"nie można użyć wartości typu %t1 do zainicjowania jednostki typu %t2",
"nie można zainicjować elementu %n",
@@ -152,8 +152,8 @@
"nazwa typu nie może zostać ponownie zadeklarowana jako parametr",
"nazwa typu typedef nie może zostać ponownie zadeklarowana jako parametr",
"konwersja niezerowej liczby całkowitej na wskaźnik",
"wyrażenie musi mieć typ klasy",
"wyrażenie musi mieć typ struktury lub związku",
"wyrażenie musi mieć typ klasy, ale ma typ %t",
"wyrażenie musi mieć typ struktury lub unii, ale ma typ %t",
"starszy operator przypisania",
"przestarzały inicjator",
"wyrażenie musi być wyrażeniem stałej całkowitej",
@@ -392,7 +392,7 @@
"nie można wywołać funkcji „main” ani pobrać jej adresu",
"nie można określić inicjatora new dla tablicy",
"nie można ponownie zadeklarować funkcji składowej %no poza jej klasą",
"wskaźnik do niekompletnego typu klasy jest niedozwolony",
"wskaźnik do niekompletnego typu klasy %t jest niedozwolony",
"odwołanie do zmiennej lokalnej w otaczającej funkcji jest niedozwolone",
"użyto funkcji z jednym argumentem dla przyrostka %sq (anachronizm)",
null,
@@ -1670,7 +1670,7 @@
"kwalifikator typu jest niedozwolony w konstruktorze lub destruktorze",
"kwalifikator typu jest niedozwolony w operatorze new lub delete",
"kwalifikator typu jest niedozwolony w funkcji innej niż członkowska",
"odrzucono wyrażenie słowa kluczowego __assume z efektami ubocznymi",
"argument dla %s ma skutki uboczne, ale nie jest oceniony",
"nierozpoznany rodzaj źródła Unicode (jedna z następujących opcji: UTF-8, UTF-16, UTF-16LE, UTF-16BE): %s",
"znaku Unicode o wartości szesnastkowej %s nie można przedstawić w danych wyjściowych przetwarzania wstępnego",
"żądany priorytet konstruktora/destruktora jest zarezerwowany do użytku wewnętrznego",
@@ -2207,7 +2207,7 @@
"pole initonly może być modyfikowane tylko przez konstruktora wystąpień klasy, w której występuje",
"statyczne pole initonly może być modyfikowane tylko przez konstruktora statycznego klasy, w której występuje",
"funkcja składowa zostanie wywołana podczas kopiowania pola initonly",
"wyrażenie musi mieć typ wskaźnika lub typ dojścia",
"wyrażenie musi mieć typ wskaźnika lub dojścia, ale ma typ %t",
"konstruktor przenoszący lub przenoszący operator przypisania jest używany do skopiowania tutaj wartościowania lewostronnego, co może spowodować zniszczenie obiektu źródłowego",
"dla wyboru składowej na jednostce ogólnej %[C++/CLI] należy użyć składni „->”, a nie „.”",
"typ klasy referencyjnej nie może pochodzić od typu %t",
@@ -2241,7 +2241,7 @@
"niebezpieczna instrukcja reinterpret_cast dojścia",
"argument szablonu nie może odwoływać się do parametru typu ogólnego",
"lista wyrażeń nie jest dozwolona w tej operacji indeksów dolnych (użyj nawiasów wokół operatora przecinka najwyższego poziomu)",
"wyrażenie musi być typu wskaźnik-do-obiektu lub dojście-do-tablicy-%[C++/CLI]",
"wyrażenie musi mieć typ wskaźnika do obiektu lub dojścia do tablicy %[C++/CLI], ale ma typ %t",
"nierozpoznany atrybut",
"składowa klasy typu %[managed] nie może mieć klasy typu innego niż %[managed]",
"składowa klasy typu innego niż %[managed] nie może mieć typu klasy referencyjnej lub typu klasy interfejsu",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"oczekiwano elementu „>>>”",
"nie można odnaleźć deklaracji __cudaPushCallConfiguration. Instalacja zestawu narzędzi CUDA może być uszkodzona.",
"inicjator zgodny ze specyfikacją C++17 jest niestandardowy w tym trybie",
"przechwycenie wyrażenia *this jest niestandardowe w tym trybie",
"prefiks atrybutu „using” zgodny ze specyfikacją C++17 jest niestandardowy w tym trybie",
@@ -3300,7 +3300,7 @@
"nieprawidłowe użycie koncepcji",
"domyślny operator porównania elementu członkowskiego nie może być kwalifikowany przez element „&&”",
"domyślna funkcja porównywania constexpr wywołuje funkcję non-constexpr %nd",
"Porównywanie pamięci constexpr jest obsługiwane tylko w przypadku obiektów najwyższego poziomu w postaci liczby całkowitej lub obiektów typu tablica liczb całkowitych",
"Porównywanie pamięci constexpr jest obsługiwane tylko w przypadku obiektów będących liczbami całkowitymi lub tablicami liczb całkowitych",
"z szablonem koncepcji nie mogą być skojarzone ograniczenia",
"Polecenie „export” jest niedozwolone",
"eksportowanie pojedynczych elementów członkowskich klasy jest niedozwolone",
@@ -3335,5 +3335,62 @@
"porównanie jest niejednoznaczne w standardowym języku C++20, ponieważ implikowany operator porównania z odwróconymi parametrami jest równie dobrym dopasowaniem — jest to zwykle spowodowane brakującym kwalifikatorem „const” w operatorze porównania; zobacz %nod",
"nieprawidłowy identyfikator koncepcji",
"podstawianie argumentów %T dla klauzuli requires nie powiodło się",
"ograniczenia dla %nd nie są spełnione"
"ograniczenia dla %nd nie są spełnione",
"typ zmiennej %t w funkcji constexpr ma wirtualne klasy podstawowe",
"wyrażenie stałe nie może przydzielić wirtualnego podobiektu podstawowego (dla typu %t)",
"parametr szablonu typu klasy musi być typu klasy strukturalnej",
"obsługa literałów UTF-8 wymaga obsługi literału z prefiksem u.",
"mapowanie pliku modułu dla elementu „%s” zostało określone więcej niż raz",
"mapowanie jednostki nagłówka dla elementu „%s” zostało określone więcej niż raz",
"nie określono mapowania dla elementu „%s”",
"mapowanie pliku modułu dla elementu „%s” jest nieprawidłowe",
"nie można odnaleźć nagłówka „%s” do zaimportowania",
"więcej niż jeden plik na liście plików modułu pasuje do elementu „%s”",
"plik modułu znaleziony dla elementu „%s” jest dla innego modułu",
"dowolny rodzaj pliku modułu",
"nie można odczytać pliku modułu",
"wbudowana funkcja jest niedostępna, ponieważ typ char8_t nie jest obsługiwany z bieżącymi opcjami",
null,
"niestandardowe użycie konstruktora jawnego %nod dla domyślnej inicjalizacji elementu agregacji",
"element źródłowy lub docelowy funkcji wewnętrznej podobnej do memcpy nie wskazuje obiektu",
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować reprezentacyjnie odrębne typy %t1 i %t2",
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować typ %t, którego nie można skopiować w sposób trywialny",
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować częściowy obiekt",
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować dane spoza granicy tablicy",
"Funkcja wewnętrzna podobna do memcpy próbuje skopiować nakładające się na siebie zakresy bajtów (zamiast tego zostanie użyta odpowiednia operacja memmove)",
"deklaracja elementu zaprzyjaźnionego z klauzulą trailing-requires-clause musi być definicją",
"wyrażenie musi mieć typ arytmetyczny lub typ wskaźnika, ale ma typ %t",
"wyrażenie musi mieć typ arytmetyczny, typ wyliczeniowy lub typ wskaźnika, ale ma typ %t",
"wyrażenie musi mieć typ arytmetyczny, typ wyliczenia niewystępującego w zakresie lub typ wskaźnika, ale ma typ %t",
"wyrażenie musi mieć typ wskaźnika, ale ma typ %t",
"operator -> lub ->* zastosowane do typu %t zamiast do typu wskaźnika",
"niekompletny typ klasy %t jest niedozwolony",
"nie można zinterpretować układu bitowego dla tego elementu docelowego kompilacji",
"brak odpowiedniego operatora dla operatora IFC %sq",
"brak odpowiedniej konwencji wywoływania dla konwencji wywoływania IFC %sq",
"moduł %sq zawiera nieobsługiwane konstrukcje",
"nieobsługiwana konstrukcja IFC: %sq",
"Od tego punktu __is_signed nie jest już słowem kluczowym",
"wymiar tablicy musi mieć stałą wartość całkowitą bez znaku",
"Plik IFC %sq ma nieobsługiwaną wersję %d1.%d2",
"moduły nie są włączone w tym trybie",
"Ciąg „import” nie jest dozwolony w nazwie modułu",
"Ciąg „module” nie jest dozwolony w nazwie modułu",
null,
null,
"Element %n nie jest typem wyliczenia",
"moduł wyliczający %no2 powoduje konflikt z elementem %n1",
"moduł wyliczający %no został już zadeklarowany w tym zakresie %p",
"Specyfikacja „throw()” nie jest częścią języka C++20 i nowszych",
"więcej niż wpis na mapie jednostek nagłówka pasuje do „%s”",
"Diagnostyka #pragma musi mieć argument \"push\" lub \"pop\"",
"nie znaleziono instrukcji \"#pragma diagnostic push\" pasującej do tego argumentu \"diagnostic pop\"",
"Element %sq nie może być makrem, gdy jest używany w dyrektywie importu lub modułu",
"ta dyrektywa może występować tylko w zakresie globalnej przestrzeni nazw",
"Deklaracja \"export\" może występować tylko w zakresie globalnym lub przestrzeni nazw",
"Element %sq jest analizowany jako identyfikator, a nie słowo kluczowe, ponieważ tokeny po nim występujące nie pasują do tych, które obowiązują w dyrektywie preprocesora",
"wydaje się, że jest to początek dyrektywy preprocesora, ale brak elementu \";\", po którym niezwłocznie występuje nowy wiersz to uniemożliwia",
"wydaje się, że jest to dyrektywa przetwarzania wstępnego modułów, ale takie dyrektywy nie mogą występować w rozszerzeniu makra",
"Dyrektywa \"module\" nie może pojawiać się w zakresie dołączania warunkowego (np. #if, #else, #elseif itp.)",
"import elementu %sq został pominięty"
]
+72 -15
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"o operando de '*' deve ser um ponteiro",
"o operando de '*' precisa ser um ponteiro, mas tem o tipo %t",
"o argumento da macro está vazio",
"essa declaração não possui classe de armazenamento ou especificador de tipo",
"uma declaração de parâmetro pode não possuir um inicializador",
@@ -130,8 +130,8 @@
"laço é inalcançável",
"uma função de escopo de bloco pode possuir apenas a classe de armazenamento extern",
"esperado um '{'",
"expressão deve possuir tipo ponteiro-para-classe",
"expressão deve possuir tipo ponteiro-para-struct-ou-union",
"a expressão precisa ter um tipo de ponteiro-para-classe, mas tem o tipo %t",
"a expressão precisa ter o tipo de ponteiro-para-struct-ou-união, mas tem o tipo %t",
"esperado um nome de membro",
"esperado um nome de campo",
"%n não possui membro %sq",
@@ -141,7 +141,7 @@
"não é permitido capturar o endereço de um campo de bit",
"muitos argumentos na chamada da função",
"parâmetros prototipados sem nome não são permitidos quando o corpo está presente",
"a expressão deve possuir tipo ponteiro-para-objeto",
"a expressão precisa ter o tipo de ponteiro-para-objeto, mas tem o tipo %t",
"programa muito grande ou complicado para compilar",
"um valor de tipo %t1 não pode ser utilizado para inicializar uma entidade do tipo %t2",
"%n pode não ser inicializado",
@@ -152,8 +152,8 @@
"um nome de tipo pode não ser declarado novamente como um parâmetro",
"um nome de typedef pode não ser declarado novamente como um parâmetro",
"conversão de inteiro não zero para ponteiro",
"a expressão deve possuir tipo de classe",
"a expressão deve possuir tipo de struct ou union",
"a expressão precisa ter tipo de classe, mas tem o tipo %t",
"a expressão precisa ter tipo struct ou de união, mas tem o tipo %t",
"operador de atribuição antigo",
"inicializador antigo",
"a expressão deve ser uma expressão constante integral",
@@ -392,7 +392,7 @@
"a função 'main' pode não ser chamada ou ter seu endereço capturado",
"um inicializador new pode não ser especificado para uma matriz",
"a função membro %no pode não ser declarada novamente fora da sua classe",
"ponteiro para tipo de classe incompleta não é permitido",
"o ponteiro para o tipo de classe incompleta %t não é permitido",
"referência para variável local de função não é permitido",
"função com um único argumento utilizada como sufixo %sq (anacronismo)",
null,
@@ -1670,7 +1670,7 @@
"um qualificador de tipo não é permitido em um construtor ou destruidor",
"um qualificador de tipo não é permitido em operador new ou operador delete",
"um qualificador de tipo não é permitido em uma função não membro",
"expressão __assume com efeitos colaterais descartada",
"o argumento para %s tem efeitos colaterais, mas não é avaliado",
"tipo de origem de Unicode não reconhecido (deve ser UTF-8, UTF-16, UTF-16LE ou UTF-16BE): %s",
"Caractere Unicode com valor hex %s não representável na saída de pré-processamento",
"a prioridade solicitada do construtor/destruidor é reservada para uso interno",
@@ -2207,7 +2207,7 @@
"um campo initonly só pode ser modificado pelo construtor de instância da classe que o contém",
"um campo estático initonly só pode ser modificado pelo construtor estático da classe que o contém",
" a função de membros será invocada em uma cópia do campo initonly",
"a expressão deve ter um tipo de apontador ou identificador",
"a expressão precisa ter um tipo de ponteiro ou de identificador, mas tem o tipo %t",
"um construtor move ou um operador de atribuição de movimento é usado para copiar um lvalue aqui, o que pode destruir o objeto fonte",
"a seleção de membros em uma entidade %[C++/CLI] genérica deve usar a sintaxe '->', e não '.'",
"um tipo de classe ref não pode derivar de %t",
@@ -2241,7 +2241,7 @@
"reinterpret_cast do identificador não seguro",
"modelos de argumentos não podem fazer referência a parâmetros de tipo genéricos",
"listas de expressões não são permitidas nesta operação subscrita (use parênteses ao redor de um operador de vírgula de nível superior)",
"a expressão deve ter tipo pointer-to-object ou handle-to-%[C++/CLI]-array",
"a expressão precisa ter tipo de matriz ponteiro-para-objeto ou identificador-para-%[C++/CLI], mas tem tipo o %t",
"atributo não reconhecido",
"membros de classes %[managed] não podem ser de um tipo de classe não %[managed]",
"membros de classes não %[managed] não podem ter tipo de classe de referência ou de interface",
@@ -2682,7 +2682,7 @@
"uma expressão co_await não é permitida dentro de uma cláusula catch",
"uma corrotina não pode conter um parâmetro de reticências",
"habilitar o constexpr estilo C++14 exige suporte para 'bool'",
"a função constexpr %nd não está definida",
"o constexpr %nd não está definido",
"esta chamada não pode ser avaliada porque a função de destino %nd não é constexpr ou ainda não está completamente definida",
"observação",
"Observação",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"esperado um '>>>'",
"não é possível localizar a declaração de __cudaPushCallConfiguration. A instalação do kit de ferramentas CUDA pode estar corrompida.",
"O inicializador de estilo C++17 está fora do padrão neste modo",
"a captura de *this está fora do padrão neste modo",
"O atributo 'using' de estilo C++17 está fora do padrão neste modo",
@@ -3300,7 +3300,7 @@
"uso inválido do conceito",
"um operador de comparação de membros usado como padrão não pode ser qualificado por '&&'",
"a função de comparação constexpr padrão chama a função não constexpr %nd",
"só há suporte para a comparação de memória constexpr para os objetos inteiros de nível superior ou matriz de inteiro",
"Só há suporte para a comparação de memória constexpr para os objetos inteiros ou matriz de inteiro",
"um modelo de conceito não pode ter restrições associadas",
"'export' não é permitido",
"a exportação de membros de classe individuais não é permitida",
@@ -3335,5 +3335,62 @@
"a comparação é ambígua no padrão de C++20 porque o operador de comparação implícito com parâmetros invertidos é uma correspondência igualmente boa. Isso geralmente é causado por um qualificador 'const' ausente no operador de comparação. Confira %nod",
"ID do conceito inválida",
"falha na substituição de argumentos %T da cláusula requires",
"as restrições de %nd não estão satisfeitas"
"as restrições de %nd não estão satisfeitas",
"o tipo de variável %t na função constexpr tem classes base virtuais",
"uma expressão de constante não pode alocar um subobjeto base virtual (para o tipo %t)",
"um parâmetro de modelo de tipo de classe precisa ser do tipo de classe estrutural",
"o suporte para literais UTF-8 exige o suporte para o literal u.",
"o mapeamento de arquivo de módulo de '%s' foi especificado mais de uma vez",
"o mapeamento de unidade de cabeçalho de '%s' foi especificado mais de uma vez",
"não foi especificado nenhum mapeamento para '%s'",
"o mapeamento de arquivo de módulo de '%s' é inválido",
"não é possível localizar o cabeçalho '%s' a ser importado",
"mais de um arquivo na lista de arquivos de módulo corresponde a '%s'",
"o arquivo de módulo encontrado para '%s' é de um módulo diferente",
"qualquer tipo de arquivo de módulo",
"não é possível ler o arquivo de módulo",
"a função interna não está disponível porque não há suporte para o tipo char8_t com as opções atuais",
null,
"o uso não padrão do construtor explícito %nod para inicialização do elemento de agregação padrão",
"a origem ou o destino do intrínseco similar a memcpy não aponta para um objeto",
"tentativas intrínsecas similares a memcpy de copiar tipos representacionalmente distintos %t1 e %t2",
"tentativas intrínsecas similares a memcpy de copiar o tipo não trivialmente copiável %t",
"tentativas intrínsecas similares a memcpy de copiar objetos parciais",
"tentativas intrínsecas similares a memcpy de copiar o limite de matriz passado",
"tentativas intrínsecas similares a memcpy de copiar intervalos de bytes sobrepostos (usando a operação de memmove correspondente, em vez disso)",
"uma declaração de friend com uma cláusula requires à direita precisa ser uma definição",
"a expressão precisa ter tipo aritmético ou de ponteiro, mas tem o tipo %t",
"a expressão precisa ter tipo aritmético, de enumeração ou de ponteiro, mas tem o tipo %t",
"expressão precisa ter o tipo aritmético, de enumeração sem escopo ou de ponteiro, mas tem o tipo %t",
"a expressão precisa ter um tipo de ponteiro, mas tem o tipo %t",
"operador -> ou ->* aplicado a %t em vez de a um tipo de ponteiro",
"o tipo de classe incompleta %t não é permitido",
"não é possível interpretar o layout de bit para este destino de compilação",
"nenhum operador correspondente para o operador IFC %sq",
"não há convenção de chamada correspondente para a convenção de chamada IFC %sq",
"o módulo %sq contém constructos sem suporte",
"constructo IFC sem suporte: %sq",
"__is_signed não é mais uma palavra-chave deste ponto",
"uma dimensão de matriz precisa ter um valor inteiro sem sinal constante",
"O arquivo IFC %sq tem uma versão sem suporte %d1.%d2",
"os módulos não estão habilitados neste modo",
"'import' não é permitido em um nome de módulo",
"'module' não é permitido em um nome de módulo",
null,
null,
"O %n não é um tipo de enumeração",
"o enumerador %no2 entra em conflito com %n1",
"o enumerador %no já foi declarado neste escopo %p",
"a especificação 'throw()' não faz parte de C++ 20 e posteriores",
"mais de uma entrada no mapa de unidades de cabeçalho corresponde a '%s'",
"diagnóstico #pragma deve ter argumento 'push' ou 'pop'",
"nenhum 'diagnóstico push #pragma' foi encontrado para corresponder a esse 'pop de diagnóstico'",
"o %sq não pode ser uma macro quando for usado em uma diretiva de importação ou módulo",
"essa diretiva só pode aparecer no escopo de namespace global",
"uma declaração 'exportar' só pode aparecer no escopo global ou de namespace",
"%sq é analisado como um identificador em vez de uma palavra-chave porque os tokens que o seguem não correspondem aos de uma diretiva de pré-processador",
"parece que esse é o início de uma diretiva de pré-processador, mas a falta de um '; ' seguido imediatamente por uma nova linha evita que",
"parece ser uma diretiva de pré-processamento de módulos, mas essas diretivas não podem aparecer dentro de uma expansão de macro",
"uma diretriz 'módulo' não pode aparecer dentro do escopo de inclusão condicional (por exemplo, #if, #else, #elseif, etc.)",
"a importação de %sq foi ignorada"
]
+72 -15
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"операнд * должен быть указателем",
"операнд \"*\" должен быть указателем, но имеет тип %t",
"пустой аргумент макроса",
"это объявление не содержит класс хранения или спецификатор типа",
"объявление параметра не может содержать инициализатор",
@@ -130,8 +130,8 @@
"недостижимый цикл",
"функция с областью видимости в пределах блока может содержать только внешний класс хранения",
"требуется фигурная скобка \"{\"",
"выражение должно иметь тип указателя на класс",
"выражение должно иметь тип указателя на структуру или объединение",
"выражение должно иметь тип указателя на класс, но имеет тип %t",
"выражение должно иметь тип указателя на структуру или объединение, но имеет тип %t",
"требуется имя члена",
"требуется имя поля",
"%n не содержит члена %sq",
@@ -141,7 +141,7 @@
"получение адреса битового поля не допускается",
"слишком много аргументов в вызове функции",
"при наличии тела не допускается использование неименованных параметров с прототипом",
"выражение должно иметь тип указателя на объект",
"выражение должно иметь тип указателя на объект, но имеет тип %t",
"слишком большая или сложная для компиляции программа",
"значение типа %t1 нельзя использовать для инициализации сущности типа %t2",
"%n не может быть инициализировано",
@@ -152,8 +152,8 @@
"имя типа не может быть повторно объявлено как параметр",
"определение типа не может быть повторно объявлено как параметр",
"преобразование ненулевого целочисленного значения в указатель",
"выражение должно иметь тип класса",
"выражение должно иметь тип структуры или объединения",
"выражение должно иметь тип класса, но имеет тип %t",
"выражение должно иметь тип структуры или объединения, но имеет тип %t",
"устаревший оператор назначения",
"устаревший инициализатор",
"необходимо использовать целое константное выражение",
@@ -392,7 +392,7 @@
"не удается вызвать функцию \"main\" или получить ее адрес",
"невозможно указать новый инициализатор для массива",
"функция-член %no не может быть повторно объявлена вне соответствующего класса",
"использование указателя на тип неполного класса не допускается",
"использование указателя на неполный тип класса %t не допускается",
"использование ссылок на локальные переменные включающей функции не допускается",
"используется постфиксная форма функции с одним аргументом %sq (устаревший элемент)",
null,
@@ -1670,7 +1670,7 @@
"квалификатор типа не разрешен на конструкторе или деструкторе",
"квалификатор типа не разрешается на операторах new или delete",
"квалификатор типа не разрешен на функции не элементам",
"выражение __assume с отмененными побочными эффектами",
"аргумент для %s имеет побочные эффекты, но не вычислен",
"нераспознанный вид источника Юникода (должен быть одним из следующих: UTF-8, UTF-16, UTF-16LE, UTF-16BE): %s",
"символ Unicode с шестнадцатеричным значением %s не может быть представлен в выводных данных до обработки",
"запрошенный приоритет конструктора/деструктора зарезервирован для внутреннего использования",
@@ -2207,7 +2207,7 @@
"поле initonly может изменяться только конструктором экземпляра или содержащим его классом",
"статическое поле initonly может изменяться только статическим конструктором или содержащим его классом",
"функция-член будет вызываться для копии поля initonly",
"выражение должно иметь тип указателя или дескриптора",
"выражение должно иметь тип указателя или дескриптора, но имеет тип %t",
"конструктор перемещения или оператор назначения перемещения используется для копирования сюда значения lvalue, что может привести к потере исходного объекта",
"для выбора члена в универсальной сущности %[C++/CLI] должен использоваться синтаксис \"->\", а не \".\"",
"тип ссылочного класса не может быть производным от %t",
@@ -2241,7 +2241,7 @@
"небезопасный оператор reinterpret_cast дескриптора",
"аргумент шаблона не может ссылаться на параметр универсального типа",
"в этом операторе подстрочного знака не разрешен список выражений (заключите в скобки оператор запятой верхнего уровня)",
"выражение должно содержать тип указателя на объект или дескриптора массива %[C++/CLI]",
"выражение должно иметь тип указателя на объект или дескриптора массива %[C++/CLI], но имеет тип %t",
"нераспознанный атрибут",
"член класса %[managed] не может относиться к типу класса не %[managed]",
"член класса не %[managed] не может содержать тип ссылочного класса или класса интерфейса",
@@ -2682,7 +2682,7 @@
"выражение co_await запрещено использовать внутри предложения catch",
"Сопрограмма не может иметь параметр-многоточие.",
"для включения constexpr в стиле C++ 14 требуется поддержка bool",
"функция constexpr %nd не определена",
"constexpr %nd не определено",
"невозможно вычислить этот вызов, так как целевая функция %nd не является функцией constexpr или пока еще не определена полностью",
"примечание",
"Примечание",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"требуется \">>>\"",
"не удается найти объявление __cudaPushCallConfiguration. Установка набора инструментов CUDA может быть повреждена.",
"Инициализатор в стиле C++17 является нестандартным в этом режиме",
"захват значения *this является нестандартным в этом режиме",
"Префикс атрибута using в стиле C++17 является нестандартным в этом режиме",
@@ -3300,7 +3300,7 @@
"недопустимое использование концепции",
"оператор сравнения элемента по умолчанию не может быть квалифицирован как \"&&\"",
"функция сравнения constexpr по умолчанию вызывает функцию %nd, не являющуюся constexpr",
"Сравнение памяти с помощью constexpr поддерживается только для целочисленных объектов верхнего уровня или массивов целых чисел",
"сравнение памяти с помощью constexpr поддерживается только для целых чисел и для массивов целых чисел",
"шаблон концепции не может иметь связанные ограничения",
"использование \"export\" запрещено",
"экспорт отдельных членов класса запрещен",
@@ -3335,5 +3335,62 @@
"cравнение является неоднозначным в стандартном C++ 20, поскольку подразумеваемый оператор сравнения с обратными параметрами является в той же степени подходящим соответствием — как правило, это вызвано отсутствием квалификатора \"const\" в операторе сравнения; см. %nod",
"недопустимый идентификатор концепции",
"не удалось подставить аргументы %T для предложения requires",
"ограничения для %nd не удовлетворены"
"ограничения для %nd не удовлетворены",
"тип переменной %t в функции constexpr содержит виртуальные базовые классы",
"константное выражение не может выделить виртуальный базовый подобъект (для типа %t)",
"параметр шаблона для типа класса должен иметь тип структурного класса",
"для поддержки литералов UTF-8 требуется поддержка u-literal.",
"сопоставление файла модуля для \"%s\" указано несколько раз",
"сопоставление блока заголовка для \"%s\" указано несколько раз",
"сопоставление для \"%s\" не указано",
"сопоставление файла модуля для \"%s\" является недопустимым",
"не удается найти заголовок \"%s\" для импорта",
"несколько файлов в списке файлов модулей соответствуют \"%s\"",
"файл модуля, обнаруженный для \"%s\", относится к другому модулю",
"любой тип файла модуля",
"не удалось прочитать файл модуля",
"встроенная функция недоступна, так как тип char8_t не поддерживается с текущими параметрами.",
null,
"нестандартное использование явного конструктора %nod для агрегатной инициализации элементов по умолчанию.",
"источник или назначение встроенной функции, похожей на memcpy, не указывает на объект",
"Встроенная функция, похожая на memcpy, пытается скопировать различные с точки зрения представления типы %t1 и %t2",
"Встроенная функция, похожая на memcpy, пытается скопировать нетривиально копируемый тип %t",
"Встроенная функция, похожая на memcpy, пытается скопировать частичный объект",
"Встроенная функция, похожая на memcpy, пытается выполнить копирование за границей массива",
"Встроенная функция, похожая на memcpy, пытается скопировать перекрывающиеся диапазоны байтов (вместо использования соответствующей операции memmove)",
"дружественное объявление с завершающим предложением requires должно быть определением",
"выражение должно иметь арифметический тип или тип указателя, но имеет тип %t",
"выражение должно иметь арифметический тип, тип перечисления или тип указателя, но имеет тип %t",
"выражение должно иметь арифметический тип, тип перечисления без области или тип указателя, но имеет тип %t",
"выражение должно иметь тип указателя, но имеет тип %t",
"оператор -> или ->* применяется к %t, а не к типу указателя",
"недопустимый неполный тип класса %t",
"не удается интерпретировать битовый макет для этого целевого объекта компиляции",
"отсутствует соответствующий оператор для оператора IFC %sq",
"отсутствует соответствующее соглашение о вызовах для соглашения о вызовах IFC %sq",
"модуль %sq содержит неподдерживаемые конструкции",
"неподдерживаемая конструкция IFC: %sq",
"__is_signed больше не является ключевым словом из этой точки",
"измерение массива должно иметь постоянное целочисленное значение без знака",
"файл IFC %sq имеет неподдерживаемую версию %d1.%d2",
"модули не включены в этом режиме",
"слово \"import\" не допускается в имени модуля",
"слово \"module\" не допускается в имени модуля",
null,
null,
"%n не является типом перечисления",
"перечислитель %no2 конфликтует с %n1",
"перечислитель %no уже объявлен в этой области %p",
"спецификация \"throw()\" не входит в C++20 и более поздние версии",
"несколько записей в карте блока заголовка соответствуют \"%s\"",
"диагностика #pragma должна иметь аргумент \"push\" или \"pop\"",
"не найден параметр \"#pragma diagnostic push\", соответствующий этому \"diagnostic pop\"",
"%sq не может быть макросом при использовании в директиве \"import\" или \"module\"",
"эта директива может использоваться только в области глобального пространства имен",
"объявление \"export\" может использоваться только в глобальной области или области пространства имен",
"%sq анализируется как идентификатор, а не как ключевое слово, поскольку следующие токены не соответствуют токенам директивы препроцессора",
"это выглядит как начало директивы препроцессора, однако должен присутствовать знак \";\", за которым идет переход на новую строку",
"по-видимому, это директива препроцессора модулей, но такие директивы не могут присутствовать в расширении макроса",
"директива \"module\" не может находиться в области условного включения (например, #if, #else, #elseif и т. д.)",
"импорт %sq был пропущен"
]
+72 -15
View File
@@ -74,7 +74,7 @@
null,
null,
null,
"'*' işleneni bir işaretçi olmalı",
"'*' işleneni bir işaretçi olmalıdır ancak %t türüne sahip",
"makroya ait bağımsız değişken boş",
"bu bildirimin depolama sınıfı veya tür tanımlayıcısı yok",
"bir parametre bildiriminde başlatıcı bulunamaz",
@@ -130,8 +130,8 @@
"döngüye erişilemiyor",
"bir blok-kapsam işlevi, yalnızca dış depolama sınıfına sahip olabilir",
"'{' bekleniyor",
"ifade, class'a işaretçi türünde olmalıdır",
"ifade, struct veya union'a işaretçi türünde olmalı",
"ifade sınıf işaretçisi türüne sahip olmalıdır ancak %t türüne sahip",
"ifade yapı veya birleşim işaretçisi türüne sahip olmalıdır ancak %t türüne sahip",
"üye adı bekleniyor",
"alan adı bekleniyor",
"%n, %sq üyesine sahip değil",
@@ -141,7 +141,7 @@
"bir bit alanının adresini almaya izin verilmiyor",
"işlev çağrısında fazla sayıda bağımsız değişken var",
"gövde mevcutken adlandırılmamış prototip parametrelerine izin verilmiyor",
"ifade, nesneye işaretçi türünde olmalı",
"ifade nesne işaretçisi türüne sahip olmalıdır ancak %t türüne sahip",
"program, derlemek için çok büyük veya çok karmaşık",
"%t2 türünde bir varlığı başlatmak için %t1 türünde bir değer kullanılamaz",
"%n başlatılamaz",
@@ -152,8 +152,8 @@
"bir tür adı, parametre olarak yeniden tanımlanamaz",
"bir typedef adı, parametre olarak yeniden tanımlanamaz",
"sıfır olmayan tamsayı - işaretçi dönüşümü",
"ifade, class türünden olmalı",
"ifade, struct veya union türünden olmalı",
"ifade sınıf türüne sahip olmalıdır ancak %t türüne sahip",
"ifade yapı veya birleşim türüne sahip olmalıdır ancak %t türüne sahip",
"eski tip atama işleci",
"eski tip başlatıcı",
"ifade, bir sabit tam sayı ifadesi olmalı",
@@ -392,7 +392,7 @@
"'main' işlevinin adresi alınamaz veya işleve çağrı yapılamaz",
"bir dizi için 'new' başlatıcısı belirtilemez",
"%no üye işlevi, kendi sınıfının dışında tekrar bildirilemez",
"tamamlanmamış sınıf türüne işaretçiye izin verilmiyor",
"tamamlanmamış %t sınıf türüne yönelik işaretçiye izin verilmiyor",
"kapsayan işlevin yerel değişkenine başvuru yapılmasına izin verilmiyor",
"sonek %sq için tek bağımsız değişkenli işlev kullanılmış (anakronizm)",
null,
@@ -1670,7 +1670,7 @@
"bir tür niteleyicisine, bir oluşturucu veya yıkıcı üzerinde izin verilmiyor",
"bir tür niteleyicisine new veya delete işleçlerinde izin verilmiyor",
"üye olmayan bir işlev üzerinde tür niteleyicisine izin verilmiyor",
"yan etkileri atılan __assume ifadesi",
"%s bağımsız değişkeni yan etkilere sahip ancak değerlendirilmedi",
"tanınmayan Unicode kaynak türü (UTF-8, UTF-16, UTF-16LE, UTF-16BE türlerinden biri olmalıdır): %s",
"ön işleme çıkışında, onaltılık %s değerine sahip Unicode karakter gösterilebilir değil",
"talep edilen oluşturucu/yıkıcı önceliği, iç kullanım için ayrılmış durumda",
@@ -2207,7 +2207,7 @@
"initonly alanı yalnızca kendi içerilen sınıfının örnek oluşturucusu tarafından değiştirilebilir",
"Statik initonly alanı yalnızca kendi içerilen sınıfının statik oluşturucusu tarafından değiştirilebilir",
"initonly alanının kopyasında üye işlevi çağrılacak",
"ifade, işaretçi veya işleyici türünde olmalıdır",
"ifade işaretçi veya tanıtıcı türüne sahip olmalıdır ancak %t türüne sahip",
"Taşıma oluşturucusu veya taşıma ataması operatörü buraya bir lvalue kopyalamak için kullanılır ve bu işlem kaynak nesneyi yok edebilir",
"%[C++/CLI] genel varlığındaki üye seçimi '.' yerine '->' söz dizimini kullanmalıdır",
"Başvuru sınıfı türü %t üzerinden türetilemez",
@@ -2241,7 +2241,7 @@
"tanıtıcıya ait güvenli olmayan reinterpret_cast",
"Şablon bağımsız değişkeni bir genel tür parametresine başvuramaz",
"Bu alt simge işleminde ifade listesine izin verilmez (üst düzey virgül operatörü etrafında parantez kullanın)",
"İfade nesne işaretçisi veya %[C++/CLI] dizisi tanıtıcısı türüne sahip olmalıdır",
"ifade nesne işaretçisi veya %[C++/CLI] dizisi tanıtıcısı türüne sahip olmalıdır ancak %t türüne sahip",
"Öznitelik tanınmadı",
"%[managed] sınıfının üyesi %[managed] olmayan sınıf türünde olamaz",
"%[managed] olmayan sınıfın üyesi, başvuru sınıfı türü veya arabirim sınıfı türüne sahip olamaz",
@@ -2682,7 +2682,7 @@
"catch yan tümcesinin içinde co_await ifadesine izin verilmez",
"bir eş yordamın üç nokta parametresi olamaz",
"C++14 stili constexpr öğesinin etkinleştirilmesi için 'bool' desteği gereklidir",
"%nd constexpr işlevi tanımlı değil",
"constexpr %nd tanımlanmamış",
"%nd hedef işlevi constexpr olmadığı veya henüz tamamen tanımlanmadığı için bu çağrı değerlendirilemiyor",
"not",
"Not",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"'>>>' bekleniyor",
"__cudaPushCallConfiguration bildirimi bulunamıyor. CUDA araç seti yüklemesi bozuk olabilir.",
"C++17 stili başlatıcı bu modda standart dışı",
"* yakalama bu modda standart dışı",
"C++17 stili 'using' öznitelik ön eki bu modda standart dışı",
@@ -3300,7 +3300,7 @@
"kavram kullanımı geçersiz",
"varsayılan olarak ayarlanan üye karşılaştırma işleci tam '&&' ile nitelenemez",
"varsayılan constexpr karşılaştırma işlevi constexpr olmayan %nd işlevini çağırıyor",
"constexpr bellek karşılaştırması yalnızca üst düzey tamsayı veya tamsayı dizisi nesneleri için desteklenir",
"constexpr bellek karşılaştırması yalnızca tamsayı veya tamsayı dizisi nesneleri için desteklenir",
"kavram şablonunda ilişkili kısıtlamalar olamaz",
"'export'a izin verilmiyor",
"sınıf üyelerini tek tek dışarı aktarmaya izin verilmiyor",
@@ -3335,5 +3335,62 @@
"ters çevrilmiş parametrelere sahip örtük karşılaştırma işleci eşit olarak iyi bir eşleşme olduğundan karşılaştırma, standart C++20'de belirsizdir; bu genellikle karşılaştırma işlecinde eksik 'const' niteleyicisinden kaynaklanır; bkz. %nod",
"kavram kimliği geçersiz",
"requires yan tümcesi için %T bağımsız değişkenleri değiştirilemedi",
"%nd için kısıtlamalar karşılanmadı"
"%nd için kısıtlamalar karşılanmadı",
"constexpr işlevindeki %t değişken türü, sanal temel sınıflara sahip",
"sabit ifade bir sanal temel alt nesneyi ayıramaz (%t türü için)",
"sınıf türündeki bir şablon parametresi yapısal sınıf türünde olmalıdır",
"UTF-8 sabit değerleri desteği için u-literal desteği gerekir.",
"'%s' için modül dosyası eşlemesi birden çok kez belirtildi",
"'%s' için üst bilgi birimi eşlemesi birden çok kez belirtildi",
"'%s' için eşleme belirtilmedi",
"'%s' için modül dosyası eşlemesi geçersiz",
"içeri aktarılacak '%s' üst bilgisi bulunamıyor",
"modül dosyası listesinde birden fazla dosya '%s' ile eşleşiyor",
"'%s' için bulunan modül dosyası farklı bir modüle yönelik",
"herhangi bir türde modül dosyası",
"modül dosyası okunamıyor",
"char8_t türü geçerli seçeneklerle desteklenmediği için yerleşik işlev kullanılamıyor",
null,
"varsayılan toplama öğesi başlatma için açık oluşturucu %nod için standart olmayan kullanım",
"memcpy benzeri iç öğenin kaynağı veya hedefi bir nesneye işaret etmiyor",
"memcpy benzeri iç öğe, temsili olarak farklı %t1 ve %t2 türlerini kopyalamaya çalışıyor",
"memcpy benzeri iç öğe, önemsiz olarak kopyalanabilir %t türünü kopyalamaya çalışıyor",
"memcpy benzeri iç öğe, kısmi nesneyi kopyalamaya çalışıyor",
"memcpy benzeri iç öğe, geçmiş dizi sınırını kopyalamaya çalışıyor",
"memcpy benzeri iç öğe, çakışan bayt aralıklarını kopyalamaya çalışıyor (bunun yerine karşılık gelen memmove işlemini kullanarak)",
"sonunda requires yan tümcesi içeren arkadaş bildirimi bir tanım olmalıdır",
"ifade aritmetik veya işaretçi türüne sahip olmalıdır ancak %t türüne sahip",
"ifade aritmetik, sabit listesi veya işaretçi türüne sahip olmalıdır ancak %t türüne sahip",
"ifade aritmetik, kapsamlı olmayan sabit listesi veya işaretçi türüne sahip olmalıdır ancak %t türüne sahip",
"ifade işaretçi türüne sahip olmalıdır ancak %t türüne sahip",
"-> veya ->* operatörü işaretçi türü yerine %t türüne uygulandı",
"tamamlanmamış %t sınıf türüne izin verilmiyor",
"bu derleme hedefi için bit düzeni yorumlanamıyor",
"%sq IFC operatörüne karşılık gelen operatör yok",
"%sq IFC çağırma kuralına karşılık gelen çağırma kuralı yok",
"%sq modülü desteklenmeyen yapılar içeriyor",
"desteklenmeyen IFC yapısı: %sq",
"__is_signed şu andan itibaren bir anahtar sözcük değil",
"dizi boyutu sabit bir işaretsiz tamsayı değerine sahip olmalıdır",
"%sq IFC dosyasının sürümü desteklenmiyor: %d1.%d2",
"modüller bu modda etkin değil",
"'import', modül adında kullanılamaz.",
"Modül adında 'module' kullanılmasına izin verilmez",
null,
null,
"%n sabit listesi türü değil",
"%no2 numaralandırıcısı %n1 ile çakışıyor",
"%no numaralandırıcısı bu %p kapsamında zaten bildirildi",
"'throw ()' belirtimi C++ 20 ve üzeri sürümlerin bir parçası değil",
"üst bilgi birimi eşlemesindeki giriş sayısı '%s' ile eşleşiyor:",
"#pragma tanılamasının 'push' ya da 'pop' bağımsız değişkeni olmalıdır",
"bu 'tanılama pop' ile eşleşen '#pragma tanı push' bulunamadı",
"%sq, içeri aktarma veya modül yönergesinde kullanıldığında makro olamaz",
"bu yönerge yalnızca genel ad alanı kapsamında yer görünebilir",
"'Export' bildirimi yalnızca genel veya ad alanı kapsamında görünebilir",
"%sq, bir anahtar sözcük yerine tanımlayıcı olarak ayrıştırıldı çünkü kendisini izleyen belirteçler bir önişlemci yönergesiyle eşleşmiyor",
"bu bir önişlemci yönergesinin başlangıcı gibi görünüyor, ancak yeni bir satırın hemen ardından gelen '; ' bulunmaması bunu engelliyor",
"bu bir modül ön işleme yönergesi gibi görünüyor, ancak bu yönergeler makro genişlemesi içinde görünemez",
"koşullu ekleme kapsamında bir 'modül' yönergesi görünemez (örneğin #if, #else, #elseif vb.)",
"%sq içeri aktarma işlemi atlandı"
]
@@ -74,7 +74,7 @@
null,
null,
null,
"“*”的操作数必须是指针",
"\"*\" 的操作数必须是指针,但它具有类型 %t",
"宏参数为空",
"此声明没有存储类或类型说明符",
"参数声明不能包含初始值设定项",
@@ -130,8 +130,8 @@
"循环无法访问",
"block-scope 函数只能包含外部存储类",
"应输入“{”",
"表达式必须包含指向类的指针类型",
"表达式必须包含指向结构或联合的指针类型",
"表达式必须包含指向类的指针类型,但它具有类型 %t",
"表达式必须包含指向结构或联合的指针类型,但它具有类型 %t",
"应输入成员名",
"应输入字段名",
"%n 没有成员 %sq",
@@ -141,7 +141,7 @@
"不允许采用位域的地址",
"函数调用中的参数太多",
"存在正文时不允许未命名的原型参数",
"表达式必须包含指向对象的指针类型",
"表达式必须包含指向对象的指针类型,但它具有类型 %t",
"程序过大或过于复杂,无法编译",
"%t1 类型的值不能用于初始化 %t2 类型的实体",
"未能初始化 %n",
@@ -152,8 +152,8 @@
"类型名称不能重新声明为参数",
"typedef 名称不能重新声明为参数",
"非零整数到指针的转换",
"表达式必须包含类类型",
"表达式必须包含结构或联合类型",
"表达式必须具有类类型,但它具有类型 %t",
"表达式必须具有结构或联合类型,但它具有类型 %t",
"旧式的赋值运算符",
"旧式的初始值设定项",
"表达式必须为整型常量表达式",
@@ -392,7 +392,7 @@
"不能调用函数“main”或提取其地址",
"不能为数组指定新的初始值设定项",
"不能在成员函数 %no 的类外部重新声明该函数",
"不允许指针指向不完整的类类型",
"不允许指针指向不完整的类类型 %t",
"不允许引用封闭函数的局部变量",
"对后缀 %sq 使用了单参数函数(计时错误)",
null,
@@ -1670,7 +1670,7 @@
"构造函数或析构函数上不允许使用类型限定符",
"运算符 new 或运算符 delete 上不允许使用类型限定符",
"非成员函数上不允许使用类型限定符",
"有副作用的 __assume 表达式已丢弃",
"%s 的参数具有负面影响,但它未进行计算",
"无法识别的 Unicode 源种类 (必须为 UTF-8、UTF-16、UTF-16LE、UTF-16BE 中的一个): %s",
"带有十六进制值 %s 的 Unicode 字符不能在预处理输出中表示",
"已将请求的构造函数/析构函数优先级保留为供内部使用",
@@ -2207,7 +2207,7 @@
"initonly 字段只能由其包含类的实例构造函数进行修改",
"静态 initonly 字段只能由其包含类的静态构造函数进行修改",
"将对 initonly 字段的副本调用成员函数",
"表达式必须包含指针或句柄类型",
"表达式必须具有指针或句柄类型,但它具有类型 %t",
"移动构造函数或移动赋值运算符用于在此处复制左值,这可能会破坏源对象",
"%[C++/CLI] 泛型实体上的成员选择必须使用“->”语法,而不是使用“.”",
"ref 类类型不能从 %t 派生",
@@ -2241,7 +2241,7 @@
"句柄的 reinterpret_cast 不安全",
"模板参数不能引用泛型类型参数",
"此下标操作中不允许使用表达式列表(用括号括起顶级逗号操作符)",
"表达式必须具有指针到对象或句柄到 %[C++/CLI] 数组类型",
"表达式必须包含指向对象的指针类型或指向 %[C++/CLI] 数组的句柄类型,但它具有类型 %t",
"无法识别的特性",
"%[managed] 类的成员不能是非 %[managed] 类类型",
"非 %[managed] 类的成员不能有 ref 类类型或接口类类型",
@@ -2682,7 +2682,7 @@
"catch 子句中不允许 co_await 表达式",
"协同例程不能具有省略号参数",
"要具备对 \"bool\" 的支持才能启用 C++14 样式的 constexpr",
"未定义 constexpr 函数 %nd",
"未定义 constexpr %nd",
"无法计算此调用,因为目标函数 %nd 不为 constexpr 或尚未完全定义",
"注释",
"注释",
@@ -2790,7 +2790,7 @@
"矢量元素类型必须是整型、枚举或真浮点类型",
"内置函数无法使用,因为不支持 128 位整数",
"内置函数无法使用,因为不支持矢量类型",
"两个连续的左方括号始终引入一个属性列表,但此处不能出现属性列表",
"两个连续的左方括号必然会引入一个属性列表,但此处不能出现属性列表",
"无法识别的 \"target\" 特性将使解析程序例程无法使用此例程",
"%t 不是矢量类型",
"适量类型 %t1 和 %t2 长度必须相同",
@@ -3116,8 +3116,8 @@
null,
null,
null,
null,
null,
"应使用 \">>>\"",
"找不到 __cudaPushCallConfiguration 声明。CUDA 工具包安装可能已损坏。",
"C++17 样式初始值设定项在此模式中是非标准的",
"正在捕获 *这在此模式中是非标准的",
"C++17 样式 \"using\" 属性前缀在此模式中是非标准的",
@@ -3300,7 +3300,7 @@
"概念的使用无效",
"默认成员比较运算符不能是 \"&&\" 限定",
"默认的 constexpr 比较函数会调用非 constexpr 函数 %nd",
"只有顶级整数或数组整数对象支持 constexpr 内存比较",
"只有整数或数组整数对象支持 constexpr 内存比较",
"概念模板不能具有关联约束",
"不允许使用 \"export\"",
"不允许导出单个类成员",
@@ -3335,5 +3335,62 @@
"标准 C++20 中的比较不明确,因为连接反向参数的隐式比较运算符的比较结果表示了同等好的匹配--这通常是由于比较运算符中缺少 \"const\" 限定符造成的; 请参阅 %nod",
"concept-id 无效",
"requires-clause 的参数 %T 替换失败",
"不满足 %nd 的约束"
"不满足 %nd 的约束",
"constexpr 函数中变量类型 %t 具有虚拟基类",
"常数表达式无法为类型 %t 分配虚拟基子对象",
"类类型的模板参数必须是结构类类型",
"对 UTF-8 文本的支持需要 u 文本支持。",
"多次为“%s”指定了模块文件映射",
"多次为“%s”指定了标头单元映射",
"未为“%s”指定映射",
"“%s”的模块文件映射无效",
"找不到要导入的标头“%s”",
"模块文件列表中有多个文件与“%s”匹配",
"为“%s”找到的模块文件用于其他模块",
"任何类型的模块文件",
"无法读取模块文件",
"内置函数不可用,因为当前选项不支持 char8_t 类型",
null,
"对默认聚合元素初始化使用显式构造函数 %nod 不是标准做法",
"与 memcpy 类似的固有项的源或目标不指向对象",
"与 memcpy 类似的固有项尝试复制在表达上不同的类型 %t1 和 %t2",
"与 memcpy 类似的固有项尝试复制非平凡可复制类型 %t",
"与 memcpy 类似的固有项尝试复制部分对象",
"与 memcpy 类似的固有项尝试复制过去的数组边界",
"与 memcpy 类似的固有项尝试复制重叠的字节范围(改为使用相应的 memmove 操作)",
"带有尾随 requires 子句的 friend 声明必须是一个定义",
"表达式必须包含算术或指针类型,但它具有类型 %t",
"表达式必须包含算术、枚举或指针类型,但它具有类型 %t",
"表达式必须包含算术、未区分范围的枚举或指针类型,但它具有类型 %t",
"表达式必须包含指针类型,但它具有类型 %t",
"运算符 -> 或 ->* 应用于 %t 而不是指针类型",
"不允许使用不完整的类类型 %t",
"无法解释此编译目标的位布局",
"IFC 运算符 %sq 没有对应的运算符",
"IFC 调用约定 %sq 没有相应的调用约定",
"模块 %sq 包含不受支持的构造",
"不支持的 IFC 构造: %sq",
"__is_signed 不再是从此点开始的关键字",
"数组维度必须具有常量无符号整数值",
"IFC 文件 %sq 具有不受支持的版本 %d1。%d2",
"此模式中没有启用模块",
"模块名称中不允许使用 \"import\"",
"模块名称中不允许使用 \"module\"",
null,
null,
"%n 不是枚举类型",
"枚举器 %no2 与 %n1 冲突",
"枚举器 %no 已在此范围 %p 中进行声明",
"\"throw()\" 规范不是 C++20 及更高版本的一部分",
"标头单元映射中的多个条目与“%s”匹配",
"#pragma 诊断必须具有 '推送' 或 'pop' 参数",
"未找到 '#pragma 诊断推送' 匹配此 '诊断 pop'",
"用于导出或模块指令时,%sq 不能是宏",
"此指令只能出现在全局命名空间范围内",
"'导出' 声明只能出现在全局或命名空间范围内",
"将 %sq 分析为标识符而不是关键字,因为其后续标记与预处理器指令的标记不匹配",
"这似乎只是预处理器指令的开始,但缺少后面紧跟换行符的 ';' 阻止了该指令",
"这看起来是预处理指令的模块,但此类指令出现在宏扩展内。",
"'模块' 指令不能出现在条件包含范围内(例如,#if、#else、#elseif 等)",
"已跳过 %sq 导入"
]

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