Compare commits

...
1330 Commits
Author SHA1 Message Date
Colen Garoutte-Carson ad5d6de4ea Merge pull request #12123 from microsoft/coleng/cherry_pick_1.19.9.x2 2024-03-19 16:40:47 -07:00
Colen Garoutte-Carson 153e232f2d Update changelog for 1.19.9 again (#12122) 2024-03-19 16:16:21 -07:00
Colen Garoutte-Carson bcd4a7f025 Merge pull request #12118 from microsoft/coleng/cherry_pick_1.19.9 2024-03-18 15:00:41 -07:00
Colen Garoutte-Carson 3c3d463a81 Update changelog 1.19.9 (#12117) 2024-03-18 13:22:40 -07:00
Colen Garoutte-Carson 92691929ed Merge pull request #12100 from microsoft/coleng/merge_release_1.19.8.try2 2024-03-13 17:16:25 -07:00
Colen Garoutte-Carson 86a41c9021 Update changelog for 1.19.8 again (#12099) 2024-03-13 17:12:21 -07:00
Colen Garoutte-Carson a71c90c140 Merge pull request #12093 from microsoft/coleng/cherry_pick_1.19.8 2024-03-12 19:16:35 -07:00
Colen Garoutte-Carson 1d28851ef7 Update changelog for 1.19.8 (#12092) 2024-03-12 19:11:20 -07:00
Colen Garoutte-Carson 1aced54699 Merge pull request #12090 from microsoft/coleng/cherry_pick_3_11_2024 2024-03-11 14:17:04 -07:00
Bob Brown a8cf39c8b4 Prevent the status bar from updating too quickly (#12088) 2024-03-11 13:32:50 -07:00
Colen Garoutte-Carson e037b95926 Merge pull request #12087 from microsoft/coleng/cherry_pick_to_release_again 2024-03-08 15:09:53 -08:00
Colen Garoutte-Carson af7f6ce52e Update changelog again for 1.19.7 (#12086) 2024-03-08 15:01:37 -08:00
Colen Garoutte-Carson 9a18982440 Merge pull request #12083 from microsoft/coleng/cherry_pick_release_1.19.7 2024-03-08 11:09:55 -08:00
Colen Garoutte-Carson 35bf4c8b0f Update changelog for 1.19.7 (#12081) 2024-03-08 10:32:50 -08:00
Colen Garoutte-Carson 23446558cf Merge pull request #12065 from microsoft/main 2024-03-05 18:22:19 -08:00
Colen Garoutte-Carson 6ccc588d69 Merge branch 'release' into main 2024-03-05 17:13:14 -08:00
Colen Garoutte-Carson 81071ba4f5 Update changelog for 1.19.6 (#12064) 2024-03-05 17:12:32 -08:00
Sean McManus e12c7c28d1 Merge pull request #12054 from microsoft/main
Update changelog (again) (#12053)
2024-03-04 12:57:53 -08:00
Sean McManus 724b47922e Update changelog (again) (#12053) 2024-03-04 12:56:08 -08:00
Sean McManus b3911bf88a Merge pull request #12046 from microsoft/main
Update date (#12045)
2024-03-01 18:41:51 -08:00
Sean McManus 802f94560d Update date (#12045)
* Update date.
2024-03-01 13:50:12 -08:00
Sean McManus 5573667b95 Merge pull request #12038 from microsoft/main
Update changelog. (#12037)
2024-02-29 17:14:10 -08:00
Sean McManus dd5d161991 Update changelog. (#12037) 2024-02-29 17:12:48 -08:00
Colen Garoutte-Carson a005307a60 Merge pull request #12034 from microsoft/main 2024-02-28 13:38:45 -08:00
Colen Garoutte-Carson dcb4b8501d Merge branch 'release' into main 2024-02-28 12:53:08 -08:00
Colen Garoutte-Carson 1e65cbf65d Update changelog for 1.19.5 (#12033) 2024-02-28 12:52:03 -08:00
Sean McManus cdc9dd8584 Fix inlay hint tests. And reapply inlay hint settings if they're changed (#12014)
* Fix inlay hint tests. And reapply inlay hint settings if they're changed.
* Make updating work without scrolling.
2024-02-27 14:45:19 -08:00
Sean McManus 93f4337576 Fix error handling when HostName is not available (#12022)
* Fix error handling when the HostName isn't available.
2024-02-27 14:26:19 -08:00
Colen Garoutte-Carson 69338b814b Update cppbuild task behavior for args and command fields to match VS Code's shell task type (#12026) 2024-02-27 13:07:40 -08:00
dependabot[bot] af6287f1ca Bump es5-ext from 0.10.62 to 0.10.64 in /Extension (#12028)
Bumps [es5-ext](https://github.com/medikoo/es5-ext) from 0.10.62 to 0.10.64.
- [Release notes](https://github.com/medikoo/es5-ext/releases)
- [Changelog](https://github.com/medikoo/es5-ext/blob/main/CHANGELOG.md)
- [Commits](https://github.com/medikoo/es5-ext/compare/v0.10.62...v0.10.64)

---
updated-dependencies:
- dependency-name: es5-ext
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-27 10:37:23 -08:00
Colen Garoutte-Carson 1868f99cad Merge pull request #11996 from microsoft/main 2024-02-21 12:32:11 -08:00
Colen Garoutte-Carson ef3472d8f5 Merge branch 'release' into main 2024-02-21 12:08:28 -08:00
Sean McManus 347a1fac67 Update changelog for 1.19.4 (#11976)
* Update changelog for 1.19.4
2024-02-21 19:47:55 +00:00
[email protected] 239d6a036b [Auto] Localization - Translated Strings (#11948) 2024-02-21 11:47:00 -08:00
dependabot[bot] d1da368537 Bump ip from 2.0.0 to 2.0.1 in /.github/actions (#11990)
Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](https://github.com/indutny/node-ip/compare/v2.0.0...v2.0.1)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-20 19:36:49 -08:00
browntarik 38c16a5888 Update shell quote E2E test (#11977)
* resolve e2e test
2024-02-20 16:04:46 -08:00
Trond Einar Snekvik 8b9960c603 Silence console.logs (#11973)
Removes the console.log messages that show up during normal execution.
Leaves console.logs in exception handlers the way they are.

Signed-off-by: Trond Einar Snekvik <[email protected]>
2024-02-16 18:05:33 -08:00
jogo- 0c937511c7 Fix typo in CHANGELOG.md (#11968) 2024-02-15 13:42:23 -08:00
browntarik 36ea516731 Fix E2E Shell Quoting Test (#11975)
* resolve e2e test

* Resolve prompt regression and tests

* Fix lint issue

* resolve e2e test

* add double quotes

* only escape baskslash

* resolve e2e test

* Add backslash
2024-02-15 11:40:42 -08:00
browntarik 54314feab5 Fix shell quoting e2e test (#11969)
* resolve e2e test

* Resolve prompt regression and tests

* Fix lint issue

* resolve e2e test

* add double quotes

* only escape baskslash
2024-02-14 15:27:10 -08:00
browntarik 286a5c590a Resolve prompt regression + fix e2e tests (#11964)
* resolve e2e test

* Resolve prompt regression and tests

* Fix lint issue
2024-02-13 15:01:59 -08:00
browntarik ce202f3549 resolve e2e test (#11961) 2024-02-13 12:08:42 -08:00
Colen Garoutte-Carson c7882e941c Update changelog for 1.19.3, to mention C_Cpp.experimentalFeatures (#11946) 2024-02-09 15:43:18 -08:00
[email protected] c5da16771a [Auto] Localization - Translated Strings (#11635) 2024-02-09 15:38:30 -08:00
browntarik 98c6222154 change ping interval to 14 days and close interval to 30 (#11943) 2024-02-09 09:17:53 -08:00
Colen Garoutte-Carson 33dce288dd Update changelog and version for 1.19.3 (#11941) 2024-02-08 16:50:48 -08:00
Sean McManus 406f1d62df Update TPN. (#11940) 2024-02-08 15:48:18 -08:00
Garrett SerackandSean McManus 674148fb07 Perf-boost - fast query symbols (#11785)
* Perf-boost - fast query symbols

* Rebased, updated (moved to node 18.15.0+)

* quick cleanup

* remove unused linter directive

* Delete Extension/cpp.hint

That wasn't supposed to be here.

* restore file

---------

Co-authored-by: Sean McManus <[email protected]>
2024-02-08 14:37:29 -08:00
browntarik aa5601041c Remove whitespace if the includePath exists + minor fix (#11911)
* Remove whitespace if the includePath exists + minor fix

* fix lint issues

* Move includePath validation to config.ts

* fix lint issues

* small fixes

* fix lint issues
2024-02-05 16:15:01 -08:00
Colen Garoutte-Carson 62d167aeb3 Change default intelliSenseUpdateDelay to 1s (#11932) 2024-02-05 15:44:59 -08:00
browntarik b742a191ee Validate Compiler Paths Against PATH Environment Variable in Configuration UI (#11913)
* resolve compiler against envrionment variables

* fix lint issue
2024-02-01 13:36:09 -08:00
Sean McManus 9229952cd9 Update TPN for musl (#11912) 2024-01-31 18:01:57 -08:00
Sean McManus 389cfdd583 Improve crash logging (#11899)
* Improve crash logging.
2024-01-26 13:01:06 -08:00
Sean McManus 3f1e851152 Log cpptools crash call stacks. (#11858)
* Log cpptools crash call stacks.
2024-01-19 17:51:01 -08:00
Colen Garoutte-Carson 6b1fe63294 Update changelog for 1.19.2 (#11885) 2024-01-19 15:30:00 -08:00
browntarik 821fbb3566 update changelog (#11878) 2024-01-19 15:03:15 -08:00
Sean McManus 3670564712 Fix broken edtior.wordBasedSuggestions setting. (#11773) 2024-01-18 10:29:43 -08:00
Sean McManus ced402ad5d Update ThirdPartyNotices.txt (#11873) 2024-01-16 17:29:06 -08:00
Colen Garoutte-Carson 5f8d072b86 Update CHANGELOG for 1.19.2 (#11871) 2024-01-16 17:22:55 -08:00
Sean McManus f84f285db3 Fix EACCES error when using include wildcards. (#11870) 2024-01-16 16:41:16 -08:00
Tobias Obermayer 44194c000d fix german translation for RunCodeAnalysis (#11845) 2024-01-16 15:49:38 -08:00
dependabot[bot]andSean McManus c61bd07bb5 Bump follow-redirects from 1.15.1 to 1.15.4 in /.github/actions (#11849)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.1 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.1...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sean McManus <[email protected]>
2024-01-09 10:36:24 -08:00
dependabot[bot] 3df0a0f796 Bump follow-redirects from 1.15.3 to 1.15.4 in /Extension (#11850)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 10:30:20 -08:00
Colen Garoutte-Carson f16dfc92b2 Add permissions field to bot actions (#11847) 2024-01-08 16:40:51 -08:00
Bob Brown 96faf18d96 Address issues reported by compliance tooling (#11841) 2024-01-08 16:14:54 -08:00
browntarik 6393210a31 update shell quote baseline (#11827) 2024-01-03 10:48:29 -08:00
Sean McManus 7151847d1f Fix C_Cpp.autocomplete description. (#11816) 2023-12-29 14:33:57 -08:00
Sean McManus d5ffbd86f3 Fix extract to function formatting. (#11804)
* Fix extract to function formatting.
2023-12-27 15:04:04 -08:00
Sean McManus ab8b90b187 Stop clearing code analysis problems in updateCustomConfigurations. (#11798) 2023-12-21 17:35:51 -08:00
Sean McManus 8d42c49b77 Fix configuration provider handling with intelliSenseEngine "disabled". (#11797) 2023-12-21 12:27:41 -08:00
Colen Garoutte-Carson 0e24296f67 Enable progressive IntelliSense updates (#11735) 2023-12-19 18:24:05 -08:00
browntarik 7f87dc49f8 Fix shell quoting for command line arguments (#11734)
* Add shell quoting for command line arguments

* add shell escape logic from native

* resolve lint issues

* Refactor quoteArgument and getTask

* Add os specific shell quoting

* Correctly apply shell-quotes on Unix

* Fix lint

* fix lint

* Refactor quoteArgument logic
2023-11-30 10:01:19 -08:00
Sean McManus cc4177b096 Update for 1.19.1 (#11724) 2023-11-21 14:58:42 -08:00
Sean McManus a25b309ac7 Update for 1.19.0 (#11688)
* Update for 1.19.0
2023-11-16 17:01:15 -08:00
Sean McManus e7cb0a7c6a Merge pull request #11698 from microsoft/main
Merge for 1.18.5
2023-11-16 16:55:09 -08:00
Sean McManus b6f48cd1fe Update changelog and version for 1.18.5 (#11697) 2023-11-16 16:39:31 -08:00
Sean McManus ea391a3a17 Fix default Linux cache path. (#11696) 2023-11-16 15:46:03 -08:00
Sean McManus 4ba260c486 Merge pull request #11687 from microsoft/main
Merge for 1.18.4
2023-11-14 17:25:29 -08:00
Sean McManus 7cb9f88f6c Switch to a static import. Add telemetry. (#11686)
* Switch to a static import. Add telemetry.
2023-11-14 16:39:18 -08:00
Sean McManus 203823a6af Fix 'Extract to function' header selection state. (#11677)
* Fix 'Extract to function' header selection state.
* Update changelog.
2023-11-14 14:58:42 -08:00
Sean McManus 10564f909a Update changelog. 2023-11-14 14:41:00 -08:00
Sean McManus 383579dba3 Fix fetch call for VS Code before 1.82.0. (#11683) 2023-11-14 14:29:52 -08:00
Sean McManus e896231d88 Merge pull request #11671 from microsoft/main
Merge for 1.18.3 (4th time)
2023-11-13 15:15:12 -08:00
Sean McManus 5325b379c5 Open the modified header for 'Extract to function'. (#11670)
* Open the modified header for 'Extract to function'.
2023-11-13 15:13:09 -08:00
Sean McManus 1af06e1dd5 Update GitHub actions dependencies. (#11667) 2023-11-13 11:36:48 -08:00
Sean McManus 23fcef6dd8 Merge pull request #11661 from microsoft/main
Merger for 1.18.3 (3rd time)
2023-11-13 11:36:36 -08:00
Sean McManus c68caae1e7 Update TPN. (#11660) 2023-11-10 17:46:22 -08:00
Sean McManus 3dc4b8f626 Update vscode-tas-client. (#11658) 2023-11-10 16:12:44 -08:00
Sean McManus df5c16bddf Merge pull request #11654 from microsoft/seanmcm/1_18_3_release
Merge for 1.18.3
2023-11-10 11:06:38 -08:00
dependabot[bot] b008f1a1cc Bump axios from 0.27.2 to 1.6.0 in /.github/actions (#11651)
Bumps [axios](https://github.com/axios/axios) from 0.27.2 to 1.6.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.27.2...v1.6.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-10 01:45:18 -08:00
Sean McManus 3a3a31b9b8 Merge branch 'main' into seanmcm/1_18_3_release 2023-11-09 18:03:16 -08:00
Sean McManus 5504bdf63d Update changelog for 1.18.3 (#11648)
* Update changelog for 1.18.3
2023-11-09 17:55:43 -08:00
Sean McManus 7d051394e6 Remove the 'Extract to function' experimentalFeatures requirement. (#11638) 2023-11-08 12:29:01 -08:00
Sean McManus 468149a9ad Update changelog/version for 1.18.2 (#11628)
* Update changelog.
* Update version.
2023-11-07 15:46:27 -08:00
[email protected] 6ec1d81ef0 [Auto] Localization - Translated Strings (#11290) 2023-11-07 08:55:54 -08:00
Sean McManus 6b5d3ee985 Fix 'Extract to function' formatting/selection bugs. (#11621)
* Fix 'Extract to function' formatting/selection bugs.
2023-11-06 14:45:18 -08:00
Spencer Bloom 5b3c4c70b5 Add error catching on await calls and a persistent bool tracking if the user is on the pre-release channel (or has been while there's been a pre-release available) (#11613) 2023-11-03 12:07:03 -07:00
Sean McManus 6d5e4c4114 Fix 'Extract to function' switching to the header. (#11616)
* Fix 'Extract to function' switching to the header.
2023-11-03 10:10:32 -07:00
Sean McManus c26054a1a6 Update version (#11606) 2023-11-01 16:46:13 -07:00
Sean McManus a20a3f2781 Update changelog for 1.18.1 (#11604) 2023-11-01 16:34:18 -07:00
Sean McManus e7f5d1731d Fix formatting bug with multiple changes. (#11599) 2023-11-01 14:07:29 -07:00
Sean McManus 16f6cf91c7 Change Extract to Function to name earlier. (#11568)
* Change Extract to Function to name earlier.
2023-10-31 11:56:52 -07:00
browntarik 45addfddb3 Add Missing Include Code Action (#11488)
* Add loc string and Add Missing Include handler

* Add AddMissingInclude Command and resolve lint

* Refactor codeActionProvider

* resolve formatting and append newline to includes

* Only apply new line to Add Missing Include

* Resolve lint issue

* Add new line specific to OS

* Resolve newline
2023-10-27 10:58:45 -07:00
Spencer Bloom 6f80226e88 Update walkthrough text for the customize debugging step. (#11580) 2023-10-25 14:56:11 -07:00
Spencer Bloom 8fbc56a688 Notify users if there's a pre-release version available. (#11569)
* Notify users if there's a pre-release version available
2023-10-24 16:10:21 -07:00
Bob Brown fecfc08451 update changelog (#11532) 2023-10-16 11:30:46 -07:00
Sean McManus 62a03c2b21 Update changelog (2nd time) (#11527)
* Update changelog (2nd time).
2023-10-12 17:12:41 -07:00
Sean McManus 7273d6112b Update changelog for 1.18.0 (#11521) 2023-10-12 14:37:41 -07:00
Michelle Matias 74bddb82e5 Reuse workflow for CI builds (#11503) 2023-10-11 18:40:01 -07:00
Sean McManus 4af6ca9db0 Extract to function (#11467)
* Extract to function.
2023-10-11 17:27:36 -07:00
Michelle Matias 7e4ee25c48 remove CreateDeclDefnCommandArguments (#11517) 2023-10-10 12:31:23 -07:00
Sean McManus 6da9a49652 Updates for clang-tidy 17.0.1 (#11491) 2023-10-10 12:09:32 -07:00
Michelle Matias 51d88dbb24 Increase timeout for E2E tests (#11516) 2023-10-09 16:12:47 -07:00
Michelle Matias cd8ecf9060 Handle undefined environment variable (#11480) 2023-10-06 11:50:26 -07:00
Sean McManus 847ea0b73c Fix prepublish. (#11469) 2023-09-29 17:41:31 -07:00
Michelle Matias 68c7be9d9e Fix loading UI (#11486) 2023-09-29 13:06:38 -07:00
Michelle Matias 1bde544458 Add Include Header setting for refactoring actions (#11449) 2023-09-27 10:51:53 -07:00
Sean McManus f62cad6a2f Fix Initializing in the status bar instead of Indexing. (#11471) 2023-09-26 16:37:57 -07:00
Garrett Serack eec372a186 force module to node16 for ts-node (#11468) 2023-09-26 11:40:51 -07:00
Michelle Matias b98bb40a89 Update language server loc strings (#11445) 2023-09-25 17:29:54 -07:00
Colen Garoutte-Carson 4d1a2a0e90 Change how logging level is passed to native process (#11438) 2023-09-18 13:57:25 -07:00
Michelle Matias dec50598bc Remove obsolete experimental configuration code (#11427) 2023-09-14 17:12:03 -07:00
browntarik c5c64ad831 Update localized intellisense crash string (#11356)
* update localized intellisense crash string

* resolve string

* update hint

* resolve loc string

* resolve string locs

* resolve spelling error
2023-09-13 14:45:35 -07:00
Bob Brown 27153190e2 Compiler acquisition (#11286) 2023-09-13 11:54:29 -07:00
Sean McManus 2cc55ea6eb Add keyboard support for Inline Macro. (#11261)
* Add keyboard support for Inline Macro.
* Enable inline macro without hover.
* Standardize localize string naming.
* Fix spelling errors involving strings types.
2023-09-11 09:56:16 -07:00
Garrett Serack 121a657acb make translations export work correctly in CI (#11415) 2023-09-08 07:53:49 -07:00
dependabot[bot] 6a54986b3f Bump mongodb from 4.8.1 to 4.17.0 in /.github/actions (#11413)
Bumps [mongodb](https://github.com/mongodb/node-mongodb-native) from 4.8.1 to 4.17.0.
- [Release notes](https://github.com/mongodb/node-mongodb-native/releases)
- [Changelog](https://github.com/mongodb/node-mongodb-native/blob/v4.17.0/HISTORY.md)
- [Commits](https://github.com/mongodb/node-mongodb-native/compare/v4.8.1...v4.17.0)

---
updated-dependencies:
- dependency-name: mongodb
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-07 09:52:11 -07:00
Garrett Serack b4a70dfc0a Make yarn tasks imply yarn install where appropriate (#11394)
* made sure that yarn install gets called before compile

* Add some nice messages

* better detection

* cleaned up more

* more tweaks

* remove old checks

* let unit tests run without binaries

* turn off scenario tests until binaries can be installed

* add another rule
2023-09-06 07:47:36 -07:00
browntarik efa5c2244b Rework Database Storage Path Logic (#11309)
* Fix typo (#11275)

* rework database logic

* resolve PR

* fix lint issues

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* update names

* resolve PR

* resolve PR

* fix lint error

* resolve PR

* resolve PR
2023-09-05 13:35:11 -07:00
Sean McManus 4199155228 Update TPN. (#11393) 2023-08-31 12:56:15 -07:00
Garrett Serack d949d93924 Apply strict eslint rule (#11389) 2023-08-31 09:26:55 -07:00
Marcin Strzyz 44e2a0ec4c added enforcement of no array constructor. (#11385) 2023-08-30 13:12:41 -07:00
Marcin Strzyz 0cd369c603 Incremental. (#11383) 2023-08-30 13:04:01 -07:00
Marcin Strzyz 76fce67276 Added typing guards. (#11382) 2023-08-29 18:05:33 -07:00
Marcin Strzyz f3e0f0bb05 Added enforcement. (#11381) 2023-08-29 16:54:14 -07:00
Garrett Serack 628301be37 Test restructuring and cleanup (#11262)
* updated files

* queue and ready are now separate

* checkpoint

* found it! fixed missing call

* cleaned up and refactored a bit

* cleanup

* whoops. make sure linter runs!

* Make the queue itself static

* addressed formatting issues, added more rules to eslint

* more formatting, made ready Promise/void

* checkpoint

* checkpoint

* checkpoint

* checkpoint (linting)

* checkpoint

* checkpoint

* checkpoint

* checkpoint

* renamed path to filepath.

* checkpoint

* checkpoint

* so close...

* checkpoint again

* before making doc

* checkpoint

* checkpoint

* Checkpoint

* renamed awaiters

* eslint

* fix format on generated native strings

* add dummy pretest task back in for the moment

* change unit test runing

* posix calc test failure

* make signal dispose better

* add 	est regen script

* missed file

* checkpoint

* Improve scripts a bit

* remove hooks for now

* remove unused script

* remove unused script

* filter out files

* ensure that eslint works for scripts too

* fix build oses to specific version

* cleanups and tweaking

* adjusted for cosmetic feedback

* more

* add eslint rule to fix space before/after semicolon

* remove tba/tbd

* cleanup

* Added space-infix-ops rule

* cleanup

* resolve comments

* resolve comments

* add simple debug task

* spelling fixes

* cleanup more

* More changes. yay

* remove the extra whitespace from before comments

* add eslint rule to ensure that there are never extra spaces

* adding another eslint rule to ensure that there isn't spacing around unary operators, which we all know is dangerous. Or weird. I forget which

* added a space between vs and code because a space is the desired format

* removed all mentions of transpiler which was removed

* removed an extra comma

* removed a trailing slash

* removed useless lines

* missed as file

* reconfigure no-extra-parens rule

* added note about yarn install

* whatever

* more fun

* FIx it so that it webpacks correctly

* remove refernces to attic

* restore line to correct check

* fix whitespace

* added blank yarn install

* removed
2023-08-29 16:08:07 -07:00
browntarik 6efaafef60 place markdownInComments setting under code doc (#11380) 2023-08-29 14:53:18 -07:00
Michelle Matias f387815749 Fix tag parse language status item UI (#11354) 2023-08-25 15:50:03 -07:00
Michelle Matias ef04f022d2 Merge pull request #11366 from microsoft/dev/mimatias/r-17-5
1.17.5 merge
2023-08-25 13:53:11 -07:00
Michelle Matias 1efac2736a 1.17.5 changelog (#11363) 2023-08-25 13:50:58 -07:00
Michelle Matias c873aa18bd 1.17.5 changelog (#11363) 2023-08-25 13:50:14 -07:00
Colen Garoutte-Carson 9299e8df95 Disable AutoPCH early on platforms that don't support it (#11362) 2023-08-25 12:53:37 -07:00
Michelle Matias 97363a3e57 Reset FAR UI if no results returned (#11359) 2023-08-25 12:53:33 -07:00
Colen Garoutte-Carson 78a8ff3bb3 Disable AutoPCH early on platforms that don't support it (#11362) 2023-08-24 18:29:52 -07:00
Michelle Matias 3033657a19 Reset FAR UI if no results returned (#11359) 2023-08-23 18:03:44 -07:00
Sean McManus ac118f453b Fix formatting for IntelliSense loc strings. (#11348)
* Fix formatting for loc strings.
2023-08-22 15:04:23 -07:00
Sean McManus 28d5715dd5 Merge pull request #11347 from microsoft/seanmcm/1_17_4_release
Three cherry-picks for 1.17.4
2023-08-21 11:29:08 -07:00
Sean McManus 8466888bc8 Update changelog and version for 1.17.4 (#11340)
* Update changelog and version for 1.17.4
* Add a missed entry.
2023-08-21 11:11:07 -07:00
Sean McManus 741e1ed78a Fix crash called by missing IntelliSense loc strings. (#11339) 2023-08-21 11:10:55 -07:00
Garrett Serack e02b0a33a6 Enqueue the call to sendDidOpen (#11337)
* enqueue the call to sendDidOpen
2023-08-21 11:10:42 -07:00
Sean McManus 9e10a71ffb Update changelog and version for 1.17.4 (#11340)
* Update changelog and version for 1.17.4
* Add a missed entry.
2023-08-21 11:08:15 -07:00
Sean McManus 4525bd0ed5 Fix crash called by missing IntelliSense loc strings. (#11339) 2023-08-21 10:40:35 -07:00
Garrett Serack 89d0a7a01f Enqueue the call to sendDidOpen (#11337)
* enqueue the call to sendDidOpen
2023-08-21 10:32:47 -07:00
Colen Garoutte-Carson 27cd52a1b9 Replace use of yauzl with node-stream-zip (#11304) 2023-08-17 18:42:56 -07:00
Colen Garoutte-Carson 47785c4f98 Merge pull request #11331 from microsoft/main 2023-08-16 18:16:18 -07:00
Colen Garoutte-Carson e020a75bb7 Merge branch 'release' into main 2023-08-16 17:55:19 -07:00
Colen Garoutte-Carson c8a7776222 Update version and changelog for 1.17.3 (#11330) 2023-08-16 17:50:39 -07:00
Bob Brown 3934ef89ea Fix bug introduced by #11175 (#11329) 2023-08-16 16:46:17 -07:00
Michelle Matias d60499f793 Merge pull request #11319 from microsoft/mimatias/r-17
1.17.2 release merge
2023-08-14 12:54:16 -07:00
Michelle Matias 9b359ff73b Merge branch 'main' into mimatias/r-17 2023-08-14 12:45:28 -07:00
Michelle Matias fc9c45c34f 1.17.2 changelog (#11317) 2023-08-14 12:23:09 -07:00
Bob Brown 212fff2828 log machine id mappings for VS to VS Code (#11308)
* log machine id mappings for VS to VS Code

* update comment

* in case execChildProcess throws
2023-08-11 16:13:33 -07:00
browntarik 44e3bbe773 Update Changelog (#11302) 2023-08-08 17:35:02 -07:00
Bob Brown 90f922d651 default to c++14 on mac for build and run active file (#11300) 2023-08-08 14:52:42 -07:00
Colen Garoutte-Carson 408051429d Fix issue with currently selected compiler being listed last in task list (#11299) 2023-08-07 16:28:58 -07:00
Bob Brown ae904ec330 Fix the build getting stuck when /link /out: is used to specify the program name (#11281)
* Also make sure the mkdir command works
2023-08-03 13:13:03 -07:00
[email protected] 3bde088a06 [Auto] Localization - Translated Strings (#11118) 2023-08-03 12:08:50 -07:00
browntarik 9d28ba1e06 Prevent vcpkg code action from appearing in all unrelated code action menus (#11280)
* prevent vcpkg code action from appearing

* resolve PR

* resolve PR
2023-08-02 14:11:42 -07:00
melody 514e60863d Fix typo (#11275) 2023-08-01 15:05:50 -07:00
Michelle Matias 98af6a4888 Show relative path for call hierarchy item if available (#11265) 2023-07-31 18:00:59 -07:00
Michelle Matias b740f603ec Use selectionRange for call hierarchy request input (#11264) 2023-07-31 17:12:19 -07:00
Sean McManus 6b2099471d Clean up the command palette. (#11259)
* Clean up the command palette.
2023-07-28 14:45:31 -07:00
Sean McManus c76105e28e Add vscode.d.ts to .eslintignore. (#11258)
* Add vscode.d.ts to .eslintignore.
2023-07-28 09:03:18 -07:00
Michelle Matias 70ff2a296a Update compilerPath if c_cpp_properties.json exists (#11257) 2023-07-27 12:51:31 -07:00
Michelle Matias c3e3bd306f "Select IntelliSense Configuration" updates compilerPath in c_cpp_properties.json (#11255) 2023-07-27 11:40:04 -07:00
Sean McManus 4f805c4263 Update changelog (again) for 1.17.0 (#11251)
* Update changelog.
2023-07-26 16:26:40 -07:00
Michał Mąka a7870fc1b2 Added support for Toybox to remote process picker (#11175)
* Added separate remote process command for ToyBox
2023-07-26 16:08:07 -07:00
Michelle Matias d48fd4343b fix merge (#11249) 2023-07-26 14:11:18 -07:00
Michelle Matias 9ce7b5a87c update change log (#11240) 2023-07-24 16:35:29 -07:00
Michelle Matias 460aee5971 'Create Declaration / Definition' command via 'Quick Fix...' hover (#11239) 2023-07-24 15:49:19 -07:00
Sean McManus 0e309a7e7f Fix config provider ordering. (#11237) 2023-07-24 11:48:18 -07:00
Sean McManus 27f9fafc73 Fix console logging. (#11233) 2023-07-24 10:38:26 -07:00
Sean McManus 72ea4d5eb9 Update ThirdPartyNotices.txt. (#11232) 2023-07-21 13:52:52 -07:00
Michelle Matias 3c63457e38 changelog 17 (#11227) 2023-07-21 13:19:32 -07:00
Garrett Serack 477eb06f2b Fix out-of-order message handling (#11212) 2023-07-21 12:44:14 -07:00
dependabot[bot] 62b27eadce Bump word-wrap from 1.2.3 to 1.2.4 in /.github/actions (#11213) 2023-07-18 15:25:09 -07:00
browntarik 668499169e Add Setting to Enable Markdown Comment Formatting (#11177)
* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR
2023-07-18 14:34:25 -07:00
Bob Brown 2133b871be Remove walkthrough experiment and update the Help links to point to it (#11191) 2023-07-18 15:46:52 +00:00
Bob Brown d6370f3dcf compliance: update dependencies to remove usage of fsevents 1.2.7 (#11206) 2023-07-17 12:54:43 -07:00
Sean McManus 4589c6a731 Update IntelliSense loc strings. (#11193) 2023-07-14 15:50:57 -07:00
Sean McManus c4ea718dd5 Update ThirdPartyNotices.txt again. (#11184) 2023-07-11 17:58:15 -07:00
dependabot[bot] f26308c09f Bump semver from 5.7.1 to 5.7.2 in /.github/actions (#11183) 2023-07-11 16:44:36 -07:00
Sean McManus 420b479896 Update package.json/yarn.lock (#11181)
* Update yarn.lock.
* Clean up old/unneeded resolutions.
2023-07-11 16:34:49 -07:00
Colen Garoutte-Carson 2dfbeb16b2 Add license for SoftFloat to ThirdPartyNotices.txt (#11168) 2023-07-07 11:24:36 -07:00
Sean McManus f293e59478 Update IntelliSense loc strings. (#11166) 2023-07-06 18:55:15 -07:00
browntarik b747b98cde resolve paths with /, /*, /** and \\** (#11136)
* resolve paths with '/', '/*', '/**' and '\\**'

* resolve multiple path parsing

* create generalized approach for wildcard support

* Add windows conditional for backslashes

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve variables for globs

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR
2023-07-06 16:25:22 -07:00
Sean McManus 094596961a Update ThirdPartyNotices.txt (#11144) 2023-06-30 11:38:36 -07:00
Garrett Serack 503f95b085 Modernize packages, code patterns (#11085)
Modernize packages, code patterns
2023-06-29 13:18:48 -07:00
3612c02d07 Add wildcard support for includeDir (#10388)
For example, using the following tree:

  rootUri
  - sources
    - main
      - main.c
    - vendor
      - khash.h
  - headers
    - C001
      - a.h
    - C002
      - b.h

The following directory paths works:

- `sources/**`  for plain old recursive path
- `headers/C*/` dynamic path
- `missing/`    reported as "not found"
- `missing/*`   expanded as empty result (silent fail)

Note: bakslash paths need to be slash-converted to avoid be considered as "Dynamic"

Co-authored-by: Sean McManus <[email protected]>
Co-authored-by: browntarik <[email protected]>
2023-06-27 09:53:35 -07:00
Michelle Matias 93cc277311 Merge pull request #11126 from microsoft/mimatias/patch
1.16.3 changelog (#11125)
2023-06-23 17:07:38 -07:00
Michelle Matias 9d84cad54b 1.16.3 changelog (#11125) 2023-06-23 17:03:09 -07:00
Michelle Matias ddbc92a990 1.16.3 changelog (#11125) 2023-06-23 16:55:56 -07:00
Colen Garoutte-Carson ce587c6f06 Fix possible race condition that could lead to multiple didOpen's (#11120) 2023-06-22 19:26:13 -07:00
Michelle Matias 82671ea293 Merge pull request #11114 from microsoft/mimatias/1_16 2023-06-21 15:21:22 -07:00
Michelle Matias 605015c8af Merge branch 'main' into mimatias/1_16 2023-06-21 15:07:50 -07:00
Michelle Matias baa93534f0 update log (#11115) 2023-06-21 15:05:31 -07:00
Michelle Matias e5f74bc638 Merge branch 'main' into mimatias/1_16 2023-06-21 13:31:08 -07:00
[email protected] 68777f9873 [Auto] Localization - Translated Strings (#10992) 2023-06-21 13:28:59 -07:00
browntarik 4037db9783 remove extra adjustments to textEdit for CDD (#11110)
* remove extra adjustments to textEdit

* combine conditionals
2023-06-21 12:23:02 -07:00
Michelle Matias 67565fe0a7 Merge branch 'main' into mimatias/1_16 2023-06-21 11:02:35 -07:00
Michelle Matias a67c6610a7 1.16.2 changelog (#11111) 2023-06-21 10:57:55 -07:00
browntarik 4f5ec73173 Add configuration telemetry (#11093) 2023-06-19 16:44:44 -07:00
Bob Brown 79f4e8ded0 Update LICENSE.md (#11102) 2023-06-16 12:05:56 -07:00
Michelle Matias 7544de0b47 1.16.1 changelog (#11094) 2023-06-15 17:34:45 -07:00
Michelle Matias 491456e8de Fix references cancellation and preview (#11056) 2023-06-15 17:02:46 -07:00
Caio Hamamura 5b51db1999 configurationProvider.ts: default cppvsdbg integratedTerminal (#11035) 2023-06-15 16:41:32 -07:00
Chang-Yen Tseng 46eaddc411 include miDebuggerArgs in attach option (#11066) 2023-06-15 16:35:31 -07:00
Michelle Matias 71c6cb6c6c add file path to call hierarchy details (#11095) 2023-06-15 15:04:44 -07:00
Colen Garoutte-Carson 0452f0aad9 Remove line preventing Don't Show Again (#11076) 2023-06-12 14:54:29 -07:00
Sean McManus 478ccb6abd Update vscode/dts (#11047)
* Update vscode/dts
2023-06-05 15:40:29 -07:00
browntarik 7504532e58 Removed LanguageStatus experiment code and merged ui.ts and ui_new.ts (#11030)
* merge ui and ui_new, finsih status experiment

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR
2023-06-02 05:56:18 -07:00
Sean McManus 9621430533 Make sure empty non-enum string settings are equivalent to undefined. (#11031)
* Make sure empty non-enum string settings are equivalent to undefined.
* Check for null. Remove null default for "string" setting.
2023-05-31 17:42:33 -07:00
Sean McManus 3ef10f294e Stop using vcFormat for non-formatting editorconfig settings. (#11015) 2023-05-31 13:57:31 -07:00
Sean McManus e394edb630 Fix Other References not getting cleared for Call Hierarchy. (#10989) 2023-05-22 17:53:00 -07:00
Alex Hsu e65e602bab [Auto] Localization - Translated Strings (#10889) 2023-05-22 12:59:30 -07:00
Michelle Matias 65ec5abb72 Changelog 1.16.0 (#10973) 2023-05-19 15:25:36 -07:00
Sean McManus fc909f88ba Fix incorrect workspace parsing status. (#10974) 2023-05-19 15:03:01 -07:00
Sean McManus c22d13af30 Fix addTrustedCompiler. (#10961)
* Fix addTrustedCompiler.
* Fix build tasks not updating after a compilerPath change.
2023-05-19 11:46:54 -07:00
Michelle Matias 290a53e934 call hierarchy telemetry (#10971) 2023-05-19 09:40:05 -07:00
Colen Garoutte-Carson 4b20f32c39 Support server-side cancellation/error in CDD (#10966) 2023-05-18 12:43:12 -07:00
Michelle Matias 5ce976f322 Call hierarchy incoming calls fix return (#10962) 2023-05-17 12:40:54 -07:00
Sean McManus 352e0bf2ff Update IntelliSense strings loc (#10950)
* Update IntelliSense loc strings.
* Update msvc versions.
2023-05-15 14:24:53 -07:00
browntarik 684404f29c Add copy to clipboard support for CDD (#10835)
* Add copy to clipboard support for CDD

* Fix lint issues

* latest changes

* refactor PR

* add localization

* rename variables

* remove copy CDD from package.json

* resolve PR

* resolve PR

* resolve PR

* resolve json

* resolve PR

* resolve PR

* refactor error handling

* resolve PR

* resolve PR

* resolve PR

* remove awaits

* remove more awaits

* resolve PR
2023-05-12 14:42:53 -07:00
Michelle Matias 478fb3c245 Call Hierarchy Callers Of - add progress and cancellation (#10936) 2023-05-12 14:27:34 -07:00
Colen Garoutte-Carson c3cfd55762 Add server-originated notification to cancel reference (#10929) 2023-05-09 14:27:31 -07:00
Colen Garoutte-Carson b2d989f85f Always add workspaceFolder to browse.path if unset (#10916)
* Fix skipped tag parse with empty compiler path
* Always add workspaceFolder to browse path if unset
2023-05-04 15:46:49 -07:00
Sean McManus bb3d290d6b Fix C/C++ Configurations loc. (#10908) 2023-05-04 13:57:46 -07:00
Sean McManus 33bdb7f425 Fix code analysis command strings. (#10906) 2023-05-01 14:35:38 -07:00
Sean McManus 0c9d89787c Remove a fix. (#10903) 2023-04-28 18:20:34 -07:00
Sean McManus 94c12812e0 Fix some spelling errors and formatting. (#10901)
* Fix some spelling errors and formatting.
* Fix loc comments.
2023-04-28 14:07:52 -07:00
Michelle Matias 3144d82fb4 Call hierarchy feature (#10697) 2023-04-27 19:34:54 -07:00
Sean McManus dc7651af75 Merge pull request #10898 from microsoft/seanmcm/1_15_4_release
Merge for 1.15.4
2023-04-27 15:27:40 -07:00
Sean McManus 9215fbe9b0 Merge branch 'main' into seanmcm/1_15_4_release 2023-04-27 14:29:27 -07:00
Sean McManus 5a56dfc749 Update changelog for 1.15.4. (#10896)
* Update changelog for 1.15.4.
2023-04-27 14:25:07 -07:00
Sean McManus bddb1ba342 Fix the configurationselection telemetry for the prompt sender. (#10895)
* Fix the configurationselection telemetry for the prompt sender.
2023-04-27 11:45:59 -07:00
Sean McManus cafce7c050 Prevent the status bar from flickering when switching docs. (#10888)
* Prevent the status bar from flickering when switching docs.
2023-04-26 09:48:40 -07:00
Sean McManus 324cd1bd59 Fix status bar UI for user settings.json. (#10887) 2023-04-25 17:46:04 -07:00
Sean McManus ad5fe867c5 Fix custom browse config not getting cleared. (#10886) 2023-04-25 17:24:37 -07:00
Sean McManus cc862b039e Fix status UI state after pause/cancel of code analysis. (#10885) 2023-04-25 14:22:39 -07:00
Michelle Matias 446eb16e7a Fix localization IDs (#10873) 2023-04-25 14:04:02 -07:00
Alex Hsu e09702e5dc [Auto] Localization - Translated Strings (#10767) 2023-04-25 13:38:34 -07:00
Sean McManus 48000bdbda Fix status bar buttons missing for settings.json in C++ projects (#10876)
* Fix status bar for C++ settings.json.
2023-04-25 11:57:13 -07:00
Sean McManus f8b8e094f9 Fix initial code analysis status loc. (#10883) 2023-04-25 11:35:36 -07:00
Sean McManus 5780e18487 Fix a couple Configure IntelliSense bugs with config providers (#10861)
* Fix a couple more Configure IntelliSense bugs.
2023-04-21 18:58:10 -07:00
Michelle Matias 3c6f603aea remove old loc (#10857) 2023-04-21 17:15:33 -07:00
Sean McManus 35ab3eb26d Add Configure IntelliSense tooltip (#10858)
* Add Configure IntelliSense tooltip.
2023-04-21 16:51:00 -07:00
Sean McManus 302f4226cf Fix configuration status not appearing. (#10852)
* Fix configuration status not appearing.
* Update changelog date.
2023-04-21 14:13:44 -07:00
Sean McManus 13893fbfb2 Update the package.json version. (#10845) 2023-04-20 18:31:47 -07:00
Sean McManus d603786a13 Set user scope compiler path if no trusted compiler is set. (#10844)
* Set user scope compiler path if no trusted compiler is set.
* Fix missing await.
* Add "@typescript-eslint/no-misused-promises" linter rule.
2023-04-20 18:29:20 -07:00
Sean McManus 407342f482 Add collapsing to an icon. Fix a major bug. (#10838)
* Add collapsing to an icon. Fix a major bug.
2023-04-18 19:02:21 -07:00
Sean McManus 5c8b812075 Various fixes related to my previous PRs. (#10836)
* Various fixes related to my previous PRs.
2023-04-18 14:33:18 -07:00
Sean McManus 2a2d928075 Fix configure IntelliSense UI bugs with non-C/C++ files (and other small fixes) (#10829)
* Fix configure IntelliSense UI bugs with non-C/C++ files.
* Fix "Configure IntelliSense" not going away until reload window.
* Move location to the left of the config.
* Refactor isCpp
2023-04-17 17:28:18 -07:00
Sean McManus e160229500 Fix bug with Configure IntelliSense appearing when it shouldn't. (#10826) 2023-04-14 16:53:16 -07:00
Sean McManus 60cfb9998d Fix undefined reference of trustedCompilerFound. (#10824) 2023-04-13 17:15:40 -07:00
Sean McManus 6ec8c14a98 Revert previous incorrect changes. Remove pevents. (#10823) 2023-04-13 13:44:51 -07:00
Sean McManus a395b8492a Merge pull request #10821 from microsoft/seanmcm/1_15_3_preliminary
Preliminary merge for 1.15.3
2023-04-13 11:21:55 -07:00
Sean McManus 17e337c874 Merge branch 'main' into seanmcm/1_15_3_preliminary 2023-04-13 10:35:11 -07:00
Bob Brown 7b3ac0a22e Don't put the compiler selection in the global settings if using the configure IntelliSense command (#10814) 2023-04-12 17:29:42 -07:00
Colen Garoutte-Carson 04b0be0452 Revert walkthrough doc links until walkthrough is published (#10812) 2023-04-12 15:26:50 -07:00
Bob Brown (DEVDIV) b0e7500bcb Update third party notices 2023-04-12 10:36:10 -07:00
Sean McManus 296bee8000 Switch to Select IntelliSense Configuration (#10771)
* Switch to Select IntelliSense Configuration
* Update version and changelog for 1.15.2
2023-04-12 03:24:27 -07:00
Colen Garoutte-Carson ec4977971e Add sender to walkthrough commands (#10809) 2023-04-11 17:39:13 -07:00
Colen Garoutte-Carsonandbrowntarik 71684e0f90 Update github actions to use nodejs 16 (#10443)
* Update github actions to use nodejs 16

* Upgrade GabrielBB/xvfb-action from 1.4 to 1.6

---------

Co-authored-by: browntarik <[email protected]>
2023-04-11 15:30:27 -07:00
Colen Garoutte-Carson 7a99678e6f Disable Walkthrough when clause by default (#10802) 2023-04-11 15:19:54 -07:00
Colen Garoutte-Carson 8bf5d6e9aa Address some issues where spread operator was used but deep copy needed (#10803) 2023-04-11 15:12:42 -07:00
Sean McManus 6fbf4df21d Fix xml2js (#10806) 2023-04-11 15:06:05 -07:00
dependabot[bot]andSean McManus 5cc9930813 Bump xml2js, applicationinsights and @azure/storage-blob (#10805)
Bumps [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) to 0.5.0 and updates ancestor dependencies [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js), [applicationinsights](https://github.com/microsoft/ApplicationInsights-node.js) and [@azure/storage-blob](https://github.com/Azure/azure-sdk-for-js). These dependencies need to be updated together.


Updates `xml2js` from 0.4.23 to 0.5.0
- [Release notes](https://github.com/Leonidas-from-XIV/node-xml2js/releases)
- [Commits](https://github.com/Leonidas-from-XIV/node-xml2js/commits/0.5.0)

Updates `applicationinsights` from 2.3.1 to 2.5.1
- [Release notes](https://github.com/microsoft/ApplicationInsights-node.js/releases)
- [Commits](https://github.com/microsoft/ApplicationInsights-node.js/compare/2.3.1...2.5.1)

Updates `@azure/storage-blob` from 12.11.0 to 12.13.0
- [Release notes](https://github.com/Azure/azure-sdk-for-js/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/Changelog-for-next-generation.md)
- [Commits](https://github.com/Azure/azure-sdk-for-js/compare/@azure/storage-blob_12.11.0...@azure/storage-blob_12.13.0)

---
updated-dependencies:
- dependency-name: xml2js
  dependency-type: indirect
- dependency-name: applicationinsights
  dependency-type: direct:production
- dependency-name: "@azure/storage-blob"
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sean McManus <[email protected]>
2023-04-11 14:38:56 -07:00
Sean McManus 5aa8b56cb7 Fix change "eg." to "e.g.". (#10804) 2023-04-11 14:22:48 -07:00
Colen Garoutte-Carson 4dfb2a39a6 Fixes to walkthrough MD files (#10799) 2023-04-10 16:52:21 -07:00
dependabot[bot] cc11b68e20 Bump xml2js from 0.4.23 to 0.5.0 in /Extension (#10798)
Bumps [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) from 0.4.23 to 0.5.0.
- [Release notes](https://github.com/Leonidas-from-XIV/node-xml2js/releases)
- [Commits](https://github.com/Leonidas-from-XIV/node-xml2js/commits/0.5.0)

---
updated-dependencies:
- dependency-name: xml2js
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-10 15:17:07 -07:00
Colen Garoutte-Carson 5e327771ef Fix regression that resulted in compilerPath shown in settings UI (#10797) 2023-04-10 14:50:49 -07:00
Bob Brown 0ec40d9000 Update walkthrough (#10707) 2023-04-07 17:35:09 -07:00
browntarik dbfa0c5ed5 Add call to resolveVariables (#10787) 2023-04-07 17:07:56 -07:00
Colen Garoutte-Carson 9b20549cef Prefix all cpptools-specific context vars (#10780) 2023-04-07 13:17:31 -07:00
Colen Garoutte-Carson ce2fcf0c62 Ensure configs are reprocessed after every call to parsePropertiesFile (#10774) 2023-04-05 16:36:57 -07:00
Colen Garoutte-Carson 605c8032f8 Fix auto provider detection (#10772) 2023-04-05 16:02:14 -07:00
Sean McManus bfdcba4449 Fix ui undefined reference. (#10770) 2023-04-05 11:43:44 -07:00
browntarik fc9209f55a Revert to StatusBarItem for select configuration (#10769) 2023-04-04 18:14:03 -07:00
browntarik 5a337901a6 Remove compiler status when configProver/compile_commands is updated (#10753)
* change description for natvisDiagnostics

* add timer to allow for configprovider to configure

* resolve PR

* add sender logic again

* readd logic

* resolve PR

* resolve PR

* hide compiler status

* resolve PR

* resolve PR

* remove timer, check configProvider

* resolve PR
2023-04-04 15:29:32 -07:00
Luca Boccassi 6cabb390fd remote attach: use absolute /bin/sh path on Linux (#10765)
When using machinectl as a transport to connect the debugger to
a nspawn container, we need to pass full paths when running commands,
as that's what machinectl expects. Use /bin/sh when running on Linux.
This allows connecting VSCode to nspawn containers.

https://www.freedesktop.org/software/systemd/man/machinectl.html
https://www.freedesktop.org/software/systemd/man/systemd-nspawn.html
2023-04-04 10:33:49 -07:00
Alex Hsu 4efc47f955 [Auto] Localization - Translated Strings (#10521) 2023-03-31 16:16:20 -07:00
Bob Brown 8334b15f4e Further consolidate experiment logic (#10758) 2023-03-29 12:32:26 -07:00
Sean McManus 84343d04d3 Set a default cwd for cppbuild tasks. (#10747) 2023-03-28 18:58:11 -07:00
Sean McManus e2c0f014dd Prevent launching lots of IntelliSense processes from find/replace. (#10748)
* Prevent launching lots of IntelliSense processes from find/replace.
2023-03-28 18:57:42 -07:00
Sean McManus e2bddc1901 Update for clang-tidy 16. (#10737) 2023-03-24 15:15:01 -07:00
browntarik c417da6ed4 Add "Configure Intellisense" Status Bar Item (#10690)
* change description for natvisDiagnostics

* Add "Configure Intellisense" Status Bar Item

* resolve PR
2023-03-23 17:22:36 -07:00
Colen Garoutte-Carson 2ad0a95bd4 Fix issue with cached browse config not being removed (#10735) 2023-03-23 15:44:14 -07:00
Sean McManus e5b80da312 Fix IntelliSense casing. (#10730) 2023-03-22 11:43:35 -07:00
Sean McManus 10125dfb08 Update changelog for 1.15.1, 2nd time. (#10726) 2023-03-22 08:06:48 -07:00
Michelle Matias 6f4403cf05 1.14.5 patch (#10724) 2023-03-22 02:51:27 -07:00
Sean McManus 3b7755a4d2 Updates for the multirootDeadlock test. (#10723)
* Updates for the multirootDeadlock test.
2023-03-21 18:48:33 -07:00
Bob Brown f0bef8dca6 Refactor experiment variable (#10717)
* Refactor experiment variable

* address feedback.

* fix lint
2023-03-21 18:35:46 -07:00
Sean McManus fec8a4e07f Update changelog for 1.15.1. (#10708) 2023-03-21 09:30:29 -07:00
dependabot[bot] e201d7905e Bump webpack from 5.75.0 to 5.76.0 in /Extension (#10683)
Bumps [webpack](https://github.com/webpack/webpack) from 5.75.0 to 5.76.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.75.0...v5.76.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-15 10:10:19 -07:00
Sean McManus 32b9947b57 Don't show the 'select a compiler' code action if the default compiler is already set (and other quick fixes) (#10670)
* Stop showing the code action if the default compiler is already set.
* Multiple other fixes.
* Fix clang-tidy 'clang-analyzer-' documentation links not working.
2023-03-14 18:07:33 -07:00
browntarik 7b03e025a7 update descrition for clangtidy.runAutomatically (#10676)
* change description for natvisDiagnostics

* update description for clangtidy.runAutomatically

* resolve description
2023-03-14 14:59:09 -07:00
Sean McManus a81c4645c0 Fix a couple clang-tidy checks. (#10668)
* Fix a couple clang-tidy checks.
* Update changelog.
2023-03-13 18:57:13 -07:00
Sean McManus 675720d466 Fix random failures when adding or removing workspace folders (#10665)
* Fix random failures when adding/removing workspace folders.
* Update changelog.
2023-03-13 15:44:12 -07:00
Sean McManus 646d9cfd6a Fix bugs with the "You do not have IntelliSense configured" prompt. (#10660)
* Fix bugs with the "You do not have IntelliSense configured" prompt.
* Update changelog.
2023-03-13 11:57:07 -07:00
Sean McManus d1e7326f4d Fix Select Default Compiler command. (#10657) 2023-03-10 16:13:00 -08:00
Sean McManus 0fd0adad84 1.15.0 changelog (#10652)
* Update changelog for 1.15.0.
2023-03-10 13:12:37 -08:00
gc46 aef2fa974e Support multiple natvis files in visualizerFile (#10487)
* Support multiple Natvis files for Cppdbg Launch
2023-03-09 16:37:59 -08:00
browntarik 001b3a5721 Add an additional message to the #include error and also add a code action (fixit) for the squiggle to run the "Select Default Compiler" command. (#10574)
* change description for natvisDiagnostics

* add telemetry for compiler notification and #

* update event name

* telemetry if user browsed to configure compiler

* resolve PR

* refactor to add try/catch logic

* resolve PR

* resolve PR

* change wording

* resolve PR

* add localized strings

* resolve casing

* fix german translation

* resolve loc

* resolve PR
2023-03-06 12:51:15 -08:00
Colen Garoutte-Carson 350c1c3890 Fix an uncaught exception (#10629) 2023-03-03 15:15:17 -08:00
Sean McManus 64c1327716 Fix possible undefined ui, wrong experimentalFeatures scope access, and duplicate DiagnosticCollection name (#10620)
* Fix possible undefined ui and wrong experimentalFeatures scope access.
* Fix DiagnosticCollection warning
2023-03-02 10:34:28 -08:00
Sean McManus ec47886d72 Merge pull request #10609 from microsoft/main
Merge for 1.14.4 (2nd time)
2023-02-27 17:51:11 -08:00
Sean McManus 40fe35c8e2 Merge branch 'release' into main 2023-02-27 17:18:48 -08:00
Sean McManus 532eee96fe Update changelog for 1.14.4 (2nd time). (#10606)
* Update changelog for 1.14.4 (2nd time).
2023-02-27 17:15:43 -08:00
Colen Garoutte-Carson febcf11215 Dispose of cached browse config on dispose if no longer registered. (#10608) 2023-02-27 16:50:21 -08:00
Colen Garoutte-Carson 7a76ee1ec5 Auto-configure a default custom configuration provider even if default.compilerPath is set (#10607) 2023-02-27 16:44:39 -08:00
Sean McManus 81a026435d Fix aiKey and changelog in the release branch. (#10604) 2023-02-27 14:21:17 -08:00
Sean McManus 9f2d17d40c Merge pull request #10603 from microsoft/seanmcm/1_14_4_release
Merge for 1.14.4
2023-02-27 14:03:21 -08:00
Sean McManus 2e66dc794b Merge branch 'main' into seanmcm/1_14_4_release 2023-02-27 13:22:18 -08:00
Sean McManus 3644b94ee9 Update version. (#10601) 2023-02-27 13:21:41 -08:00
Sean McManus cf2a1112f4 Merge branch 'main' into seanmcm/1_14_4_release 2023-02-27 13:06:11 -08:00
Sean McManus bcc7d61266 1.14.4 changelog (#10590) 2023-02-27 13:02:56 -08:00
Bob Brown 3c5e7e260e Report the origin of the CreateDeclaration/Definition commands (#10582) 2023-02-24 16:30:44 -08:00
Bob Brown b137b7c3ed Report the origin of commands for the UI experiment telemetry (#10581) 2023-02-23 15:29:19 -08:00
Bernardin-MSandColen Garoutte-Carson 67118593b8 Accepting c2x compilers (#10456)
* Add c2x compilers as acceptable arguments

* Update config UI with new c stds

* Remove c20

* Remove gnu20

* Fix typo

* Remove c20

* Remove gnu20

---------

Co-authored-by: Colen Garoutte-Carson <[email protected]>
2023-02-23 10:49:25 -05:00
Colen Garoutte-Carson 85514f21bc Try forcing pipeline to use node 16 (#10572) 2023-02-22 14:33:30 -08:00
Sean McManus fa774544ea Merge pull request #10517 from microsoft/seanmcm/1_14_3_release
Merge for 1.14.3
2023-02-14 04:58:54 -08:00
Sean McManus a45c8f8670 Update changelog for 1.14.3 2023-02-13 18:22:45 -08:00
Sean McManus a014fe80bd Update changelog for 1.14.3 2023-02-13 16:39:06 -08:00
Alex Hsu b9bd78e64e [Auto] Localization - Translated Strings (#10204) 2023-02-13 15:00:09 -08:00
browntarik 21bc17ac6e Add telemetry for compiler notification and # in default compiler selection (#10513)
* change description for natvisDiagnostics

* add telemetry for compiler notification and #

* update event name

* telemetry if user browsed to configure compiler

* resolve PR

* refactor to add try/catch logic

* resolve PR

* resolve PR

* change wording

* resolve PR
2023-02-13 13:04:12 -08:00
Sean McManus d03f2d48fa Remove unnecessary activation events. (#10512) 2023-02-13 11:28:24 -08:00
Sean McManus 82b8f261a8 Fix 2nd compiler prompt when the command is used. (#10503)
* Fix 2nd compiler prompt when the command is used.
* Fix 2nd prompt not appearing after the 1st time.
2023-02-09 16:21:44 -08:00
browntarik 1e779a5a3c add basic compiler selection telemetry (#10502)
* change description for natvisDiagnostics

* add telemtry

* resolve telemtry
2023-02-09 15:42:25 -08:00
Sean McManus e4696c5dec Update changelog for 1.14.2. (#10499)
* Update changelog for 1.14.2.
2023-02-09 14:10:50 -08:00
browntarik 9bf1c1d5a5 Add reload prompt when changing hover setting (#10498)
* change description for natvisDiagnostics

* add reload prompt when hover setting is changed
2023-02-09 13:47:03 -08:00
Sean McManus 34745e0b10 Fix blank status after a cpptools pause. (#10493) 2023-02-09 10:25:50 -08:00
Anthony Leonardo Gracio 5e96765467 Add Ada to the list of supported languages (#10475) (#10476)
To allow debugging Ada projects with GDB.
2023-02-08 17:41:03 -08:00
Sean McManus 9b49182355 Fix Indexing state not showing as busy. (#10492) 2023-02-08 15:34:42 -08:00
browntarik 88f419fc11 Remove the full path for the cl.exe compilerPath generated for c_cpp_properties.json (#10485)
* change description for natvisDiagnostics

* update natvisDiagnostics

* update compiler logic to only set "cl.exe"

* fix lint errors

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR

* resolve PR
2023-02-08 11:26:55 -08:00
Bernardin-MS fc4fc00803 Follow up issues for Language Status Bar (#10437)
* Fix file parsing ending not being displayed during pause

* Fix logic

* Remove redundant line

* Condense unpaused parser text

* Introduced parser indexing phase to UI

* Use lookupString() for parse status logic

* Update UI check logic

* Remove log

* Fix logic

* Seperate initializing from indexing in UI

* Change parser initalized text

* Remove extra new line

* Remove missed code

* Add uiOverride parameter to telemetry
2023-02-08 11:22:02 -05:00
browntarik 4b9ca430ba change description for natvisDiagnostics (#10483) 2023-02-07 14:15:31 -08:00
Colen Garoutte-Carson 885b4c0a61 Update webpack for node 18 compatibility (#10447) 2023-02-06 15:25:58 -08:00
Michelle Matias 79a78ba994 Fix localized strings (#10472) 2023-02-06 13:38:27 -08:00
Sean McManus 982c4fb9cf Add path back to cl.exe compiler selection. (#10471) 2023-02-06 10:31:04 -08:00
Michelle Matias 9b7f7deb4d Error messages for create declaration definition (#10393) 2023-02-03 17:44:47 -08:00
Colen Garoutte-Carson a6f535fd54 Support use of file paths in uri field of custom configuration (#10470) 2023-02-03 16:44:38 -08:00
Colen Garoutte-Carson edb810aa3d Pass multiple URI's to provideConfigurations (#10469) 2023-02-03 16:27:19 -08:00
Colen Garoutte-Carson 42b3c28ab1 Fix issue with settings changes not handled properly in multiroot (#10458) 2023-02-03 11:38:12 -08:00
Michelle Matias 6b6c16e378 changelog 1.14.1 (#10452) 2023-02-01 14:06:01 -08:00
browntarik 8f55a2e8d2 add second prompt for when a compiler needs config (#10419)
* add second prompt for when a compiler needs config
* fix other bugs
Co-authored-by: Sean McManus <[email protected]>
2023-02-01 12:11:59 -08:00
Colen Garoutte-Carson 5f68e6a868 Fix issues with didOpen synchronization (#10442) 2023-01-31 13:18:29 -08:00
Sean McManus 93dc3737fb Fix an unstrusted compilerPath being used without a c_cpp_properties.json. (#10440) 2023-01-30 15:55:57 -08:00
Sean McManus 6f2714bfbb Fix empty intelliSenseMode being generated. (#10441) 2023-01-30 15:48:13 -08:00
Colen Garoutte-Carson fafca55335 Fix loc issue with handling of ReportTagParseStatus (#10438) 2023-01-30 15:00:48 -08:00
Colen Garoutte-Carson 2605cac2a9 Address issues with request cancelation (#10296) 2023-01-27 15:01:12 -08:00
browntarik 98a9b0cabe add ChangeCppPropertiesRequest and remove Notification. (#10420) 2023-01-26 17:51:28 -08:00
browntarik dc0a7af0aa resolve compiler undefined message (#10418) 2023-01-25 17:30:41 -08:00
Michelle Matias 3adcec81a4 edge strings (#10416) 2023-01-25 12:53:44 -08:00
browntarik b96737a919 Add support for selecting a default compiler (#10165) 2023-01-24 21:02:47 -08:00
Colen Garoutte-Carson c4d68fd859 Disable auto-kill of extension when debugging (#10415) 2023-01-24 16:44:44 -08:00
Bernardin-MS 2d3cac0dea Move status bar icons into the Language Status (#10126) 2023-01-20 13:25:50 -08:00
xisui-MSFT 0fcc415231 Improve info os processes match (#10398) 2023-01-19 13:24:15 -08:00
Colen Garoutte-Carson 8431b37201 Await in protocol filter (#10306) 2023-01-19 12:30:42 -08:00
Colen Garoutte-Carson 23f3b47e6f Fix a crash in extractArgs (#10394) 2023-01-18 12:52:54 -08:00
jogo- 7d73a3124d Fix typo in CHANGELOG.md (#10384) 2023-01-18 11:16:41 -08:00
Sean McManus 2041315910 Update changelog for 1.14.0. (#10376)
* Update changelog for 1.14.0.
2023-01-11 19:00:42 -08:00
Sean McManus 04f822ab92 IntelliSense string update. (#10352) 2023-01-11 18:27:41 -08:00
xisui-MSFT 5a486fc8cd SSH output improvements (#10292) 2023-01-04 17:04:54 -08:00
Michelle Matias 62fb757bb3 Update json5 to 1.0.2 and minimist to 1.2.7 (#10356) 2023-01-04 16:03:02 -08:00
Sean McManus b79a965613 Update compilerArgs description. (#10339) 2023-01-04 15:54:33 -08:00
Sean McManus 148a709e0e Fix recursive includes regression. (#10337) 2023-01-04 15:37:31 -08:00
Sean McManus 4916b2f361 Prevent looping between C and C++. (#10309)
* Prevent looping between C and C++.
2023-01-04 14:21:01 -08:00
Sean McManus f7c2cc869a Merge pull request #10355 from microsoft/seanmcm/1_13_9_cherrypick
Update changelog for 1.13.9 (#10324)
2023-01-04 13:39:59 -08:00
Sean McManus 79c8d1d64a Update changelog for 1.13.9 (#10324)
* Update changelog for 1.13.9
* Add a couple 1.13.6 debugger fixes.
2023-01-04 12:39:58 -08:00
Sean McManus 54c73eaade Update changelog for 1.13.9 (#10324)
* Update changelog for 1.13.9
* Add a couple 1.13.6 debugger fixes.
2023-01-04 12:37:33 -08:00
Sean McManus a397a4731a Merge pull request #10287 from microsoft/seanmcm/1_13_8_release
Update changelog and version for 1.13.8. (#10286)
2022-12-15 16:33:40 -08:00
Michelle Matias 4dfea3b68c revert rename config.yml (#10288) 2022-12-15 16:22:47 -08:00
Michelle Matias 384b33386b update issue templates (#10285) 2022-12-15 16:05:59 -08:00
Sean McManus 1a3afd10fc Update changelog and version for 1.13.8. (#10286) 2022-12-15 15:53:09 -08:00
Sean McManus a2a0297ae9 Update changelog and version for 1.13.8. (#10286) 2022-12-15 15:50:35 -08:00
Bob Brown 8cf332baba Fix the message for restarting the language client. (#10259) 2022-12-13 08:07:28 -08:00
Sean McManus 77af87e92e Update IntelliSense loc strings. (#10248) 2022-12-08 17:52:12 -08:00
Sean McManus 01a747ad35 Merge pull request #10255 from microsoft/seanmcm/1_13_7_release
Cherry-pick for 1.13.7.
2022-12-08 12:16:50 -08:00
Sean McManus c8cbf6c0ba Update changelog for 1.13.7. 2022-12-08 12:14:15 -08:00
Sean McManus edaf6dce78 Update changelog for 1.13.7. (#10246) 2022-12-08 09:33:36 -08:00
Bernardin-MS 58e184fdc0 Fixes include "header" issue with multi-root workspaces (#10138)
* Resolve includePath before sending config notification

* Ensure all configuration paths are absolute

* Optimize implentation of resolution of arrays

* Move the resolving of config paths

* Reuse win32 check for all resolvePath's

* add explict type to isWin32
2022-12-08 09:24:22 -05:00
Sean McManus 07efeb4c6c Merge pull request #10233 from microsoft/seanmcm/1_13_6_release_2
Cherry-picks for 1.13.6
2022-12-06 11:15:25 -08:00
Sean McManus 3555e2f1ab Update changelog for 1.13.6 (again). (#10228) 2022-12-06 07:17:01 -08:00
Sean McManus cf2ebd75fe Update decode-uri-component. (#10226) 2022-12-06 07:16:55 -08:00
Colen Garoutte-Carson ac74b5b6a3 Fix document corruption due to delayed evaluation in protocolFilter (#10227) 2022-12-06 07:16:38 -08:00
Michelle Matias c22c28d0c6 Create declaration/definition - handle #include edits (#10219) 2022-12-06 07:16:30 -08:00
Sean McManus 399daf9b27 Update changelog for 1.13.6 (again). (#10228) 2022-12-06 06:58:30 -08:00
Sean McManus b3a337aad0 Update decode-uri-component. (#10226) 2022-12-05 18:10:35 -08:00
Colen Garoutte-Carson ed1a1ca57e Fix document corruption due to delayed evaluation in protocolFilter (#10227) 2022-12-05 17:50:07 -08:00
Michelle Matias cae6c42928 Create declaration/definition - handle #include edits (#10219) 2022-12-02 11:28:47 -08:00
Sean McManus 4abec441f9 Merge pull request #10211 from microsoft/seanmcm/1_13_6_release
Merge and cherry-pick for 1.13.6
2022-11-30 16:53:37 -08:00
Sean McManus 8e23df99d8 Check for the file version before formatting after CDD. (#10210)
* Check for the file version before formatting after CDD.
2022-11-30 16:32:13 -08:00
Sean McManus abe65b5879 Merge branch 'insiders' into seanmcm/1_13_6_release 2022-11-30 16:29:32 -08:00
Sean McManus 20e220354d Update changelog for 1.13.6. (#10200)
* Update changelog for 1.13.6.
2022-11-30 16:25:11 -08:00
Sean McManus bc6bfac71a Check for the file version before formatting after CDD. (#10210)
* Check for the file version before formatting after CDD.
2022-11-30 16:14:38 -08:00
Michelle Matias f40e9bc569 remove reformat after cdd (#10208) 2022-11-30 15:03:12 -08:00
Sean McManus fa3e927011 Add quotes to CDD strings. (#10202) 2022-11-30 10:34:53 -08:00
Alex Hsu 9f9bfddd47 [Auto] Localization - Translated Strings (#10043) 2022-11-29 15:40:16 -08:00
Sean McManus 7fec8ba15f Merge pull request #10196 from microsoft/seanmcm/cherrypick_1_13_5
Cherry-picks for 1.13.5
2022-11-28 13:21:00 -08:00
Andrew Wang 24f5fdd122 Change engine logging and add natvis diagnostics (#10171)
* Change engine logging and add natvis diagnostics

This PR adds logging categories to engineLogging and adds
in the option for natvisDiagnostics with different categories.

* change nls nativisDiagnostics to category
2022-11-28 13:18:22 -08:00
Sean McManus 6a063be33f Update changelog for 1.13.5. (#10187)
* Update changelog for 1.13.5.
2022-11-28 13:18:10 -08:00
Sean McManus 150c7aaf84 Fix selection and formatting for CDD (and extra newlines with clang-format) (#10177)
* Fix selection and formatting for CDD.
* Fix multiple edit at the same spot case.
2022-11-28 13:17:50 -08:00
Andrew Wang bbf2832356 Change engine logging and add natvis diagnostics (#10171)
* Change engine logging and add natvis diagnostics

This PR adds logging categories to engineLogging and adds
in the option for natvisDiagnostics with different categories.

* change nls nativisDiagnostics to category
2022-11-28 13:14:15 -08:00
Sean McManus e2e6662bae Update changelog for 1.13.5. (#10187)
* Update changelog for 1.13.5.
2022-11-28 13:03:56 -08:00
Sean McManus da3a4382dd Fix selection and formatting for CDD (and extra newlines with clang-format) (#10177)
* Fix selection and formatting for CDD.
* Fix multiple edit at the same spot case.
2022-11-28 12:55:54 -08:00
Colen Garoutte-Carson eca31aa8a1 Send initialization after lsp init (#10182) 2022-11-23 17:04:03 -08:00
Sean McManus 186ace28e0 Update IntelliSense localized strings and msvc versions. (#10145)
* Update IntelliSense localized strings.
* Also update msvc versions.
2022-11-17 10:58:58 -08:00
Sean McManus c549c07fa6 Merge pull request #10153 from microsoft/main
Merge for 1.13.4 (again)
2022-11-16 18:11:45 -08:00
Sean McManus 340c00dc92 Update date. (#10152) 2022-11-16 17:52:33 -08:00
Sean McManus 53b6bb29ec Update loader-utils. (#10150) 2022-11-16 11:25:41 -08:00
Michelle Matias ed51a08388 Merge pull request #10148 from microsoft/main
update version 1.13.4 (#10147)
2022-11-14 15:25:57 -08:00
Michelle Matias 140eb83f73 update version 1.13.4 (#10147) 2022-11-14 15:23:55 -08:00
Sean McManus f1d9211b92 Merge pull request #10146 from microsoft/main
Merge for 1.13.4
2022-11-14 14:14:02 -08:00
Michelle Matias 64b429c9a0 1.13.4 change log (#10144) 2022-11-14 13:12:25 -08:00
Michelle Matias 8a81837bd4 Create declaration or definition feature (#10123) 2022-11-14 10:18:33 -08:00
Bernardin-MS 716979e1e3 Prepending workspace path to relative paths from CppProperties (#10045)
* Relative paths of compileCommands to workspacePath

* Address issue

* Fix lint

* Change rootUri for undefined

* Minor fix
2022-11-11 13:28:37 -05:00
Sean McManus 117ec80611 Update loader-utils. (#10122) 2022-11-08 16:12:37 -08:00
Andrew Wang 6379d6e799 Fix buffer size exceeded with NativeAttach (#10119)
* Fix BufferOverflow with NativeAttach

This PR migrates the nativeAttach child_process calls to use 'spawn'
instead of 'exec'. This allows the extension to deal with large process
listing output via input/output streams instead of using a single
hardcoded buffer.

Added support for canceling and timeout if the spawned process does not
exit within 30 seconds.
2022-11-08 10:26:01 -08:00
Michael 373e7face5 Added IAR problem matcher (#10054) (#10085) 2022-11-01 14:18:38 -07:00
Michael 50eb6f94dd Added ARMCC problem matcher (#10054) (#10101) 2022-11-01 14:16:56 -07:00
Sean McManus 801c8dd5d4 Fix doxygen generation with a selection. (#10079) 2022-10-31 10:10:57 -07:00
Bernardin-MS 27abc63d1c Adding subheaders to Extension settings (#9985) 2022-10-28 11:34:58 -07:00
Colen Garoutte-Carson 0a23125ae5 Remove direct WSL support in favor of the WSL extension (#10066) 2022-10-27 13:55:51 -07:00
Colen Garoutte-Carson e8a33ff410 Fix issue with call to cpptools-wordexp with invalid arguments (#10070) 2022-10-26 15:10:12 -07:00
Sean McManus 25162597e1 Merge pull request #10067 from microsoft/main
Merge for 1.13.3
2022-10-25 22:40:38 -07:00
Sean McManus 6502f27963 Update changelog. (#10048)
* Update changelog.
2022-10-25 19:14:04 -07:00
browntarik 13e0bd2cff add setting to disable hover from cpp extension (#10057) 2022-10-25 17:10:26 -07:00
browntarik 591242ab5f Update handleconfiguration() calls to only update cpp_properties.json when a document is saved not just edited (#10026)
* update handleconfiguration() calls

* fix indent

* add active editor logic

* fix yarn error

* fix lint

* resolve PR

* fix paren

* resolve PR

* resolve PR

* resolve PR

* fix build issue

* resolve PR

* resolve PR

* fix build issue
2022-10-25 09:57:06 -07:00
Colen Garoutte-Carson 93e633490a Merge pull request #10056 from microsoft/coleng/fix_theme_image_paths 2022-10-24 14:38:19 -07:00
Colen Garoutte-Carson 250b5ca064 Fix theme image paths 2022-10-24 12:50:31 -07:00
Sean McManus f0ae9b3a12 Update minimatch. (#10041) 2022-10-21 15:07:16 -07:00
Sean McManus edb0af19c4 Fix exception doxygen tag. (#10042) 2022-10-21 12:30:38 -07:00
Colen Garoutte-Carson 6329ba4091 Merge pull request #9789 from microsoft/localization 2022-10-20 20:42:54 -07:00
Colen Garoutte-Carson ef48323a9b Merge branch 'main' of https://github.com/microsoft/vscode-cpptools into localization 2022-10-20 20:37:19 -07:00
Colen Garoutte-Carson 87a1e507ac More loc fixes 2022-10-20 20:37:14 -07:00
Colen Garoutte-Carson 0e3114a252 Loc fixes 2022-10-20 20:12:04 -07:00
Sean McManus 21f6ea640f Merge pull request #10040 from microsoft/main
Merge for 1.13.3
2022-10-20 13:15:11 -07:00
Sean McManus 03ebaf8783 Update changelog for 1.13.3 (#10038)
* Update changelog.
2022-10-20 12:34:34 -07:00
Sean McManus d575335ade Resolve variables on headerFilter. (#10004) 2022-10-20 06:03:06 -07:00
csigs 31abc1847f Localization - Translated Strings 2022-10-20 07:11:04 +00:00
Sean McManus 0b08fc9bac Fix string. (#10033) 2022-10-19 14:51:41 -07:00
Sean McManus 2bb1462f10 Fix autocompleteAddParentheses CHS translation. (#10015) 2022-10-17 08:50:54 -07:00
Sean McManus 0ab9f770ea Fix showDisable translation for CHS. (#10014)
* Fix showDisable translation for CHS.
* Also fix formatFixes
2022-10-14 15:08:44 -07:00
Sean McManus 4416479d1c Add .gitignore (#10005) 2022-10-14 15:02:56 -07:00
Sean McManus 6231202374 Fix Korean translations. (#10003) 2022-10-14 14:55:43 -07:00
Sean McManus 6542b63660 Disable Generate Doxygen Comment from context menu if intelliSenseEngine is "disabled" (#10007)
* Switch to just disabling Generate Doxygen Comment.
2022-10-14 14:01:41 -07:00
BlueStag fcab84cf6a Visual Studio 2019 Themes (#9730)
* Visual Studio 2019 Themes
2022-10-14 09:27:48 -07:00
Sean McManus e2e350883e Resolve variables for clangTidy.args (#10000)
* Resolve variables for clangTidy.args
2022-10-14 06:22:10 -07:00
Ben McMorranandAndrew Wang 47353932a1 Add unknownBreakpointHandling to launch schema (#9990)
Co-authored-by: Andrew Wang <[email protected]>
2022-10-13 14:29:29 -07:00
Sean McManus 850c61dc76 Fix codeFolding setting access. (#9999)
* Fix codeFolding setting access.
2022-10-13 12:24:13 -07:00
Sean McManus 84bacd7edc Remove stopOnEntry. (#9997) 2022-10-13 12:04:50 -07:00
Sean McManus 773e60e31e Update for clang-tidy 15. (#9979) 2022-10-13 07:23:50 -07:00
browntarik 9bce9d7a5d Add a setting to select which Doxygen sections appear in the hover tooltip (#9955)
* plumb up doxygentags

* merge Colen's changes

* merge all

* update tag setting

* add hint for exceptions

* resolve PR

* resolve PR
2022-10-10 14:04:51 -07:00
Bernardin-MS f1457ecffc Retrieve value of editor.parameterHints.enabled (#9961) 2022-10-07 11:11:07 -07:00
Sean McManus 8c284037c9 Add error code to intellisense_spawn_failed (#9960)
* Add error code to intellisense_spawn_failed
2022-10-07 05:43:17 -07:00
Sean McManus f2311d7dba Make array settings give a warning for duplicates. (#9959) 2022-10-06 07:51:13 -07:00
Colen Garoutte-Carson 3b4092f1ac Merge pull request #9935 from microsoft/coleng/update_actions_close_state
Update github actions to use 'not_planned' close state
2022-10-04 16:36:42 -07:00
Colen Garoutte-Carson 2608f1a47c Merge branch 'coleng/update_actions_close_state' of https://github.com/microsoft/vscode-cpptools into coleng/update_actions_close_state 2022-10-04 16:31:05 -07:00
Colen Garoutte-Carson 656018a440 Merge branch 'main' of https://github.com/microsoft/vscode-cpptools into coleng/update_actions_close_state 2022-10-04 16:30:57 -07:00
Colen Garoutte-Carson 70637aeb69 Some cleanup. Fix wrong ID for Reopener. 2022-10-04 16:30:44 -07:00
Colen Garoutte-Carson 543aa5e3bb Merge branch 'main' into coleng/update_actions_close_state 2022-10-04 16:20:49 -07:00
Colen Garoutte-Carson 119a06f807 Merge pull request #9949 from microsoft/main 2022-10-03 18:58:48 -07:00
Colen Garoutte-Carson cb5b588711 Fix issue with Generate Doxygen Comment context menu (#9950) 2022-10-03 18:02:22 -07:00
Sean McManus adb9a4112c Update changelog for 1.13.2. (#9948) 2022-10-03 16:24:31 -07:00
xisui-MSFT 48653c0854 Don't throw when parsing SSH config (#9933) 2022-10-03 15:56:22 -07:00
Sean McManus 49e5dfdc24 Update IntelliSense strings for 1.13.2. (#9946) 2022-10-03 14:46:45 -07:00
Colen Garoutte-Carson 35ebdb302a Merge branch 'main' into coleng/update_actions_close_state 2022-10-03 12:10:49 -07:00
Sean McManus 58f15d95d4 Update ThirdPartyNotices.txt. (#9944) 2022-10-03 11:38:34 -07:00
Colen Garoutte-Carson 17db1d5970 Ensure workspaceFolderUri contains a uri and not a file path (#9934) 2022-09-30 10:56:31 -07:00
Colen Garoutte-Carson 0b97bea982 Update github actions to use 'not_planned' close state 2022-09-29 19:27:12 -07:00
Colen Garoutte-Carson f054ffe9c8 Update settings JSON objects, and various related bug fixes (#9897) 2022-09-29 13:54:53 -07:00
Sean McManus 2855600b5b Merge pull request #9924 from microsoft/main
Fix vcFormat. (#9923)
2022-09-27 10:43:44 -07:00
Sean McManus ebb24763bd Fix vcFormat. (#9923) 2022-09-27 09:16:17 -07:00
Sean McManus 0c0f78d915 Merge pull request #9922 from microsoft/main
Merge for 1.13.1
2022-09-26 23:06:31 -07:00
Sean McManus b0182fdd9a Update 1.13.1 changelog. (#9921) 2022-09-26 22:04:28 -07:00
xisui-MSFT 378e37adc9 Add an SSH logging channel (#9901)
* Add an SSH logging channel
2022-09-26 11:17:52 -07:00
xisui-MSFT 3612c22adf SSH terminal for targets (#9895)
* SSH terminal for targets
2022-09-23 12:00:03 -07:00
browntarik 230bce9864 Merge pull request #9862 from microsoft/browntarik/changePascalCase
change to camelCase for Default, Enabled, Disabled
2022-09-20 14:13:32 -07:00
Tarik Brown f611df293f change intellisense engine values 2022-09-20 10:46:59 -07:00
Tarik Brown 46944da663 Merge branch 'browntarik/changePascalCase' of https://github.com/Microsoft/vscode-cpptools into browntarik/changePascalCase 2022-09-20 10:39:58 -07:00
Tarik Brown 518ea5bc31 support experimentalFeatures 2022-09-20 10:39:54 -07:00
Bob Brown (DEVDIV) 3ee264015a missed one 2022-09-19 17:09:22 -07:00
Tarik Brown 65fcb15c09 change intellisense engine to lowercase not bool 2022-09-19 16:19:56 -07:00
Tarik Brown 304a336b57 Merge branch 'browntarik/changePascalCase' of https://github.com/Microsoft/vscode-cpptools into browntarik/changePascalCase 2022-09-19 16:02:01 -07:00
Tarik Brown 28762c4be2 resolve PR 2022-09-19 16:01:57 -07:00
browntarik c2ca699e39 Merge branch 'main' into browntarik/changePascalCase 2022-09-16 14:50:49 -07:00
Tarik Brown a8694b59a0 fix build errors 2022-09-16 12:33:23 -07:00
Tarik Brown f0ecdd4862 refactor enabled/disabled to booleans and casing 2022-09-16 12:27:26 -07:00
Tarik Brown 98bfb54efc resolve PR 2022-09-16 09:45:56 -07:00
xisui-MSFT 3a8e920a0d Show SSH Targets View Conditionally (#9856)
* Show SSH Targets View conditionally
2022-09-15 17:42:45 -07:00
Sean McManus ba0cc65530 Update IntelliSense strings. (#9874) 2022-09-13 23:16:43 -07:00
Tarik Brown 320d355e5d resolve PR 2022-09-13 14:47:41 -07:00
Tarik Brown feae362cc3 address all comparison issues and refs to Default 2022-09-08 11:32:13 -07:00
Tarik Brown 66b0dbb945 address all comparison issues and refs to Default 2022-09-08 11:30:59 -07:00
Tarik Brown 14f2cc2bf4 change to camelCase for Default, Enabled, Disabled 2022-09-08 09:36:39 -07:00
Sean McManus c2fdf75c8c Merge pull request #9860 from microsoft/main
Merge for 1.13.0
2022-09-07 15:31:00 -07:00
Sean McManus 281d04feaf Update changelog for 1.13.0. (#9859) 2022-09-07 11:43:16 -07:00
Elaheh Rashedi 3526f5092c check if the compiler path and debugger path exist. (#9813) 2022-09-07 09:38:08 -07:00
browntarik 2be467ed68 add caseSensitiveFileSupport (#9809)
* add caseSensitiveFileSupport
2022-09-06 17:03:38 -07:00
Sean McManus 38ed24f6a0 Fix format fixes markdown (#9839)
* Fix formatFixes mardown description.
2022-09-02 15:13:39 -07:00
Jamie MageeandSean McManus b56711ff6c Add $schema to cgmanifest.json (#9832)
Co-authored-by: Sean McManus <[email protected]>
2022-09-01 19:11:22 -07:00
Sean McManus 379d1c8472 Fix ,, in the generated gdb attach lauch.json. (#9819) 2022-09-01 18:17:55 -07:00
xisui-MSFT 03b3995e19 SSH Target Selector (#9760)
* SSH Target Selector
2022-09-01 16:53:18 -07:00
xisui-MSFT 466fb3b6bc rsync support in deploySteps (#9808) 2022-09-01 16:19:14 -07:00
Colen Garoutte-Carson 08fd6214c9 Remove HttpsProxyAgent (#9833) 2022-09-01 15:58:19 -07:00
browntarik feb70a3680 update extension pack (#9830) 2022-09-01 12:56:55 -07:00
Michelle Matias 093757d182 Merge pull request #9824 from microsoft/mimatias/12-4changes 2022-08-31 15:11:13 -07:00
Michelle Matias a51209e051 Update version to 1.12.4 2022-08-31 14:55:23 -07:00
Michelle Matias 4f86df6fa2 changelog 1.12.4 (#9823) 2022-08-31 14:49:57 -07:00
Bob Brown 479368da95 Revert "Switch to new key format since AIF is retired (#9769)" (#9822) 2022-08-31 14:49:44 -07:00
Michelle Matias 9e9430e9b4 changelog 1.12.4 (#9823) 2022-08-31 14:48:08 -07:00
Bob Brown b38e9ef00a Revert "Switch to new key format since AIF is retired (#9769)" (#9822) 2022-08-31 14:42:38 -07:00
Sean McManus 58cce1a996 Update clang_format_style description. (#9788)
* Update clang_format_style scope and description.
2022-08-30 18:45:38 -07:00
Sean McManus ddc3857e36 Merge pull request #9812 from microsoft/main
Update date. (#9811)
2022-08-29 18:12:16 -07:00
Sean McManus 0806b5774c Merge branch 'release' into main 2022-08-29 18:11:57 -07:00
Sean McManus 3ff67ac89a Update date. (#9811) 2022-08-29 18:11:05 -07:00
Sean McManus 5d358dc8de Merge pull request #9797 from microsoft/main
Merge for 1.12.3
2022-08-26 15:17:45 -07:00
Sean McManus 2832e546e0 Update changelog for 1.12.3. (#9794)
* Update changelog for 1.12.3.
2022-08-26 13:58:23 -07:00
Alex Hsu 5669aeb26a [Auto] Localization - Translated Strings (#9572) 2022-08-25 19:20:28 -07:00
Sean McManus c846e8106d Merge pull request #9779 from microsoft/main
Merge for 1.12.2
2022-08-23 20:40:34 -07:00
Sean McManus 35c55c2555 Change changelog date. (#9781) 2022-08-23 18:49:04 -07:00
Sean McManus 065454194a Update changelog and version for 1.12.2 (#9754)
* Update changelog and version for 1.12.2
2022-08-23 15:08:55 -07:00
Sean McManus 9e5237fa99 Fix debug with IntelliSense engine disabled when there's no existing launch.json. (#9771) 2022-08-23 14:56:24 -07:00
Logan Ramos 7d7ff29911 Switch to new key format since AIF is retired (#9769) 2022-08-22 18:52:00 -07:00
dependabot[bot] 5e019a77da Bump @actions/core from 1.2.6 to 1.9.1 in /.github/actions (#9752)
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.6 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
...

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-18 17:02:32 -07:00
Colen Garoutte-Carson 68c9cb9236 Merge pull request #9731 from microsoft/main 2022-08-12 16:47:26 -07:00
Colen Garoutte-Carson 36f04f0fce Change doxygen style default from /** to ///, due to lack of auto-close support. (#9733) 2022-08-12 16:30:15 -07:00
Colen Garoutte-Carson 168eba4e28 Rename doxygen settings (#9734) 2022-08-12 16:21:21 -07:00
Colen Garoutte-Carson 39366406c5 Merge pull request #9729 from microsoft/coleng/add_to_changelog 2022-08-12 13:27:59 -07:00
Colen Garoutte-Carson 9b1bf3b238 Remove blank line 2022-08-12 11:25:19 -07:00
Colen Garoutte-Carson 8eb5e9cd0e update 2022-08-12 11:24:50 -07:00
Colen Garoutte-Carson effd140a87 Update changelog for 1.12.1 2022-08-12 11:24:19 -07:00
Colen Garoutte-Carson 2afbce5b28 Merge pull request #9724 from microsoft/main 2022-08-11 18:53:15 -07:00
Colen Garoutte-Carson 0c2b40b22f Merge pull request #9723 from microsoft/coleng/fix_changelog2 2022-08-11 18:23:12 -07:00
Colen Garoutte-Carson b590e097dc Add changelog entry for additional bug fix 2022-08-11 17:49:01 -07:00
Colen Garoutte-Carson 2f3f444b17 Address PR feedback 2022-08-11 17:41:20 -07:00
Colen Garoutte-Carson d04085e017 Address PR feedback 2022-08-11 17:39:23 -07:00
Colen Garoutte-Carson 3eff13967a Fix duplicate lines 2022-08-11 17:32:09 -07:00
Colen Garoutte-Carson cba220883b Fix order 2022-08-11 16:59:43 -07:00
Colen Garoutte-Carson 423f838ce8 Update changelog for 1.12.1 2022-08-11 16:58:37 -07:00
Michelle Matias 20f9990784 Add pre-requisites to readme (#9722) 2022-08-11 15:56:31 -07:00
Colen Garoutte-Carson d6574c6d3f Merge pull request #9714 from microsoft/main 2022-08-10 16:37:41 -07:00
Colen Garoutte-Carson f5d711bd0b Minor fixes to changelog (#9715) 2022-08-10 16:12:02 -07:00
Colen Garoutte-Carson bd3102ad91 Add changelog content for 1.11.5 (#9713) 2022-08-10 15:54:55 -07:00
Colen Garoutte-Carson 9005aca568 Update version and changelog for 1.12.1 (#9712) 2022-08-10 15:25:35 -07:00
Jiefang Li 54c6227d89 Adding doxygen comment generation (#9656) 2022-08-10 12:33:37 -07:00
xisui-MSFT 41303ed8cc Adding PID to the extended remote process picker (#9673) 2022-08-04 17:19:18 -07:00
xisui-MSFT b885e2c39a Cache and reuse SSH passwords in the current session (#9654)
* Cache and reuse SSH passwords in the current session
2022-08-04 17:03:47 -07:00
Sean McManus 853a4f3582 Code analysis fix formatting. (#9661)
* Code analysis fix formatting.
2022-08-02 20:44:00 -07:00
Sean McManus 6ee27f5716 Update IntelliSense translations. (#9671) 2022-08-02 18:37:02 -07:00
Colen Garoutte-Carson d8c3426058 Enable colorized output in tasks for clang (#9655) 2022-07-28 12:45:24 -07:00
Sean McManus 886d3c58e9 Merge pull request #9642 from microsoft/main
Merge for 1.12.0
2022-07-26 22:52:45 -07:00
Sean McManus ae17dab804 Fix hover E2E test on Windows. (#9648) 2022-07-26 19:38:33 -07:00
Colen Garoutte-Carson 9fd2438d4c Fix bug introduced by use of new language-client (#9649) 2022-07-26 18:33:40 -07:00
Michelle Matias 1ac61ed3b6 Revert ignoring failures in E2E tests (#9647) 2022-07-26 16:13:25 -07:00
Sean McManus 6bd2bb5fdb Update changelog and version. (#9639)
* Update changelog and version.
2022-07-25 22:36:27 -07:00
Colen Garoutte-Carson ac1e3274ec Display warning for commands when IntelliSenseEngine is Disabled (#9640) 2022-07-25 18:56:03 -07:00
Colen Garoutte-Carson 14be9092a1 Update to latest vscode-languageclient (#9524) 2022-07-25 16:28:49 -07:00
Michelle Matias 5dfb14f86e fix spelling (#9638) 2022-07-25 15:41:42 -07:00
kouhe3 b42091e660 fix inlay hints chinese translate bug. (#9624) 2022-07-25 12:05:45 -07:00
Sean McManus 646f40b8b5 Add .vs exclusion. (#9629) 2022-07-25 11:47:50 -07:00
Michelle Matias c357584ec0 Add inlay hint tests, fix setting update of autoDeclarationTypes.showOnLeft (#9622) 2022-07-22 15:22:32 -07:00
Sean McManus 5d736cc6c8 Merge pull request #9621 from microsoft/main
Merge for 1.11.4
2022-07-21 15:36:54 -07:00
Sean McManus 304858c0cb Merge branch 'release' into main 2022-07-21 15:18:40 -07:00
Sean McManus fa32357231 Update changelog. (#9620) 2022-07-21 15:14:44 -07:00
Sean McManus 8879e4e399 Fix empty inlay hint error. (#9617)
* Fix empty inlay hint error.
2022-07-21 14:40:00 -07:00
Sean McManus f1712ca20b Update terser dependency. (#9608) 2022-07-21 10:00:32 -07:00
Sean McManus 0445fc4207 Merge pull request #9603 from microsoft/main
Merge for 1.11.3
2022-07-19 14:14:52 -07:00
Sean McManus 34c3835151 Merge branch 'insiders' into main 2022-07-19 13:51:11 -07:00
xisui-MSFT f38f551cda Extended remote support (#9569)
* Extended remote support
2022-07-19 13:49:30 -07:00
Sean McManus 93fcc05944 Changelog for 1.11.3. (#9591)
* Changelog for 1.11.3.
2022-07-19 13:39:40 -07:00
ChaseKnowlden 12dbf2cd68 Convert Language Service issue template to github issue forms template (#9578) 2022-07-13 16:05:00 -07:00
Alex Hsu 6a97dd8c93 [Auto] Localization - Translated Strings (#9420) 2022-07-11 21:32:37 -07:00
Sean McManus 16b4710f8c Merge pull request #9561 from microsoft/seanmcm/revert2DeploySteps
Revert deploy steps
2022-07-08 12:54:25 -07:00
Sean McManus 3d58b640f0 Fix changelog version. 2022-07-08 11:45:23 -07:00
Sean McManus a5b573dbcd Update changelog for 1.11.2 2022-07-08 11:43:49 -07:00
Sean McManus 9360987d31 Revert "Revert "Add deploySteps and variables to cppdbg (#9418)""
This reverts commit 8914e28c26.
2022-07-08 11:42:09 -07:00
Sean McManus 08776b77f7 Merge pull request #9557 from microsoft/seanmcm/revertDeplaySteps
revert deploy steps
2022-07-07 18:55:50 -07:00
Sean McManus b34766054b Remove changelog entry. 2022-07-07 18:48:05 -07:00
Sean McManus 8914e28c26 Revert "Add deploySteps and variables to cppdbg (#9418)"
This reverts commit b55a98c697.
2022-07-07 18:46:31 -07:00
Sean McManus 2a39dc402a Merge pull request #9550 from microsoft/main
Merge for 1.11.1
2022-07-07 15:55:09 -07:00
xisui-MSFT b55a98c697 Add deploySteps and variables to cppdbg (#9418)
* Add deploySteps and variables to cppdbg
2022-07-06 19:55:39 -07:00
Sean McManus fe9cfe318a Merge pull request #9518 from microsoft/seanmcm/1_10_8_release
1.10.8 release
2022-07-06 18:07:58 -07:00
Sean McManus 08b9c995bd Update changelog for 1.11.1 (#9549) 2022-07-06 17:56:43 -07:00
Colen Garoutte-Carson 6da34e4236 Display a log message when intelliSenseMode is Disabled (#9543) 2022-07-06 17:50:34 -07:00
Colen Garoutte-Carson 2080e28813 Fix issue in which duplicate compiler args might be used in compiler query (#9532) 2022-07-06 17:19:16 -07:00
Sean McManus 79e846844f Update changelog. 2022-07-06 17:19:06 -07:00
Sean McManus e172440607 Fix cl.exe being excluded for .c files and c/cpp caching. (#9544)
* Fix cl.exe being excluded for .c files and c/cpp caching.
2022-07-06 15:23:30 -07:00
Colen Garoutte-Carson 996453b3a8 Fix issue in which duplicate compiler args might be used in compiler query (#9532) 2022-07-01 11:44:44 -07:00
Colen Garoutte-Carson 0eb68d22a0 Update changelog to reflect reverted change (#9523) 2022-06-29 12:39:40 -07:00
Colen Garoutte-Carson a2a8d77445 Revert "Reduce default C++ inlay hint font size 12 to match VS and potentially reduce confusion (#9480)" (#9522)
This reverts commit a2683630e0.
2022-06-29 12:35:05 -07:00
Sean McManus 032d9a288e Update changelog for 1.11.1 (#9517) 2022-06-28 21:19:40 -07:00
Sean McManus 3a74d10317 Update changelog for 1.10.8 2022-06-28 21:15:10 -07:00
Sean McManus ef637af801 Change C_Cpp.debugShortcut to resource scope (#9514)
Make C_Cpp.debugShortcut resource scope.
2022-06-28 21:12:12 -07:00
Sean McManus 833795da79 Update ThirdPartyNotices.txt (#9516)
* Update ThirdPartyNotices.txt
2022-06-28 21:11:50 -07:00
Chuck Ries 68bc9642f4 Contribute breakpoints for the "rust" language (#9484)
* Contribute breakpoints for the "rust" language

Since rust code can be debugged with this extension, contribute breakpoints for the "rust" language such that the workaround of "allow breakpoints in all files" is no longer required.
2022-06-28 21:11:03 -07:00
Sean McManus a8bae9e3a6 Update yarn.lock. (#9513) 2022-06-28 21:10:32 -07:00
Andrew Wang fe2c5ef04b Update VSCode Telemetry Package to v0.6.2 (#9512)
* Update VSCode Telemetry Package to v0.6.2
2022-06-28 21:10:10 -07:00
Elaheh Rashedi 83521bc682 rename "success" to "succeeded" in telemetry (#9509) 2022-06-28 21:09:32 -07:00
Sean McManus 59ea146b6e Change C_Cpp.debugShortcut to resource scope (#9514)
Make C_Cpp.debugShortcut resource scope.
2022-06-28 20:57:31 -07:00
Sean McManus 09a1ce1e8a Update ThirdPartyNotices.txt (#9516)
* Update ThirdPartyNotices.txt
2022-06-28 19:18:23 -07:00
Colen Garoutte-Carson 58a9ec846f Fix issue preventing building with the latest nodejs (#9515) 2022-06-28 16:49:19 -07:00
Sean McManus 6f3ae65833 Add setting to hide leading underscores for inlay hints. (#9500)
* Add setting to hide leading underscores for inlay hints.
2022-06-28 16:25:03 -07:00
Sean McManus a8e6695b55 Add setting to show inlay hints on the left. (#9506) 2022-06-28 14:48:06 -07:00
Chuck Ries c7edc9981f Contribute breakpoints for the "rust" language (#9484)
* Contribute breakpoints for the "rust" language

Since rust code can be debugged with this extension, contribute breakpoints for the "rust" language such that the workaround of "allow breakpoints in all files" is no longer required.
2022-06-28 14:12:20 -07:00
Sean McManus 4d0912eb9d Update yarn.lock. (#9513) 2022-06-28 12:15:52 -07:00
Andrew Wang 7747ac6226 Update VSCode Telemetry Package to v0.6.2 (#9512)
* Update VSCode Telemetry Package to v0.6.2
2022-06-28 11:34:09 -07:00
Elaheh Rashedi 13155149ea rename "success" to "succeeded" in telemetry (#9509) 2022-06-28 10:56:55 -07:00
Sean McManus d3fffbad7b Add setting for & space in inlay hints. (#9502)
* Add setting for & space in inlay hints.
2022-06-24 12:06:36 -07:00
Sean McManus 6fe98d2f54 Add left padding to "auto" inlay hints with no spaces on the left (#9499)
* Add left padding to inlay hint.
2022-06-24 11:13:33 -07:00
Sean McManus a2683630e0 Reduce default C++ inlay hint font size 12 to match VS and potentially reduce confusion (#9480)
* Reduce default inlay hint font size to 12 match VS and reduce confusion.
2022-06-23 17:33:37 -07:00
Sean McManus 590923ca99 Fix remove diagnostics for the disable case. (#9495) 2022-06-23 13:42:44 -07:00
Sean McManus 2a5198ed9d Merge pull request #9477 from microsoft/main
Change inlayHint defaults settings. (#9476)
2022-06-20 11:42:18 -07:00
Sean McManus 4a85594360 Change inlayHint defaults settings. (#9476) 2022-06-20 11:18:16 -07:00
Sean McManus 3d7f5ea0ca Merge pull request #9470 from microsoft/main
Show or hide commands based on C_Cpp.intelliSenseEngine value (#9469)
2022-06-17 16:46:44 -07:00
Michelle Matias 982314db80 Show or hide commands based on C_Cpp.intelliSenseEngine value (#9469) 2022-06-17 16:18:57 -07:00
Sean McManus 3abe8a564b Merge pull request #9468 from microsoft/main
Merge for 1.11.0
2022-06-17 14:03:31 -07:00
Sean McManus 2dc0a86605 Update changelog for 1.11.0. (#9462)
* Update changelog for 1.11.0.
2022-06-17 13:26:40 -07:00
Sean McManus 84f5f6505d Update extension pack readme. (#9456) 2022-06-17 13:17:37 -07:00
Sean McManus cc685c8d7f Fix translations (#9467) 2022-06-17 12:41:52 -07:00
Michelle Matias 9b07d494c6 Add settings for inlay hints feature (#9460) 2022-06-17 11:52:04 -07:00
Sean McManus 3263fab54f Merge pull request #9455 from microsoft/seanmcm/1_10_7_cherrypick
Update version and changelog for 1.10.7. (#9454)
2022-06-15 14:10:00 -07:00
Sean McManus 145a1aa470 Update IntelliSense loc strings. (#9450) 2022-06-15 14:05:41 -07:00
Sean McManus 3254d7db33 Update version and changelog for 1.10.7. (#9454) 2022-06-15 13:52:15 -07:00
Sean McManus 5d4867e0ab Update version and changelog for 1.10.7. (#9454) 2022-06-15 13:46:29 -07:00
Michelle Matias a665cb1329 Add InlayHintsProvider and Display hints (#9392) 2022-06-14 23:12:29 -07:00
Sean McManus 77bdf4b028 Merge pull request #9449 from microsoft/seanmcm/1_10_6_cherryPick2
1.10.6 another cherry-pick
2022-06-14 16:40:59 -07:00
Elaheh Rashedi ca16d85890 resolve tasks when IntelliSense is disabled (#9448) 2022-06-14 16:38:11 -07:00
Elaheh Rashedi b29d5e8d33 resolve tasks when IntelliSense is disabled (#9448) 2022-06-14 16:33:48 -07:00
Sean McManus 74f12d8071 Merge pull request #9447 from microsoft/seanmcm/1_10_6_cherryPick
Merge for 1.10.6
2022-06-14 14:30:26 -07:00
Sean McManus dc6b33eda2 Update version and changelog. (#9440)
* Update version and changelog.
2022-06-14 14:09:36 -07:00
Sean McManus bde931bc3a Remove legacyCompilerArgsBehavior deprecation. (#9439) 2022-06-14 14:09:07 -07:00
Sean McManus 81827f6536 Update version and changelog. (#9440)
* Update version and changelog.
2022-06-14 14:07:35 -07:00
Sean McManus 8e5f3af858 Remove legacyCompilerArgsBehavior deprecation. (#9439) 2022-06-14 13:49:54 -07:00
Sean McManus 9397ddb725 Code analysis refactor (#9402)
* Refactor code analysis code.
2022-06-08 15:47:39 -07:00
Sean McManus 872c86ad20 Fix error that occurred when resolving a merge conflict. (#9424) 2022-06-08 10:47:07 -07:00
Sean McManus 6736b6771f Merge pull request #9421 from microsoft/seanmcm/1_10_5_release
Merge for 1.10.5
2022-06-08 10:07:33 -07:00
Sean McManus 4b4ea51138 Merge branch 'release' into seanmcm/1_10_5_release 2022-06-07 21:48:48 -07:00
Sean McManus a5de3a5c11 Update changelog for 1.10.5. (#9417) 2022-06-07 21:43:04 -07:00
Colen Garoutte-Carson 14e31e0d1d Corrected localized strings (#9419) 2022-06-07 21:25:50 -07:00
Sean McManus 8bff10f1cb Fix resolve variable with non-string. (#9403)
* Fix resolve variable with non-string.
* Fix spelling errors.
2022-06-07 10:40:36 -07:00
Bob Brown baf58c847e Add telemetry for configuration provider usage (#9412) 2022-06-06 12:20:40 -07:00
Colen Garoutte-Carson 4fc18a7eb4 Merge pull request #9400 from microsoft/main 2022-06-03 14:48:59 -07:00
Colen Garoutte-Carson 40821ed32c Remove stray .DS_Store file (#9401) 2022-06-03 14:27:49 -07:00
Colen Garoutte-Carson 3aa99e6cc8 Update changelog for 1.10.4 (#9399) 2022-06-03 14:14:14 -07:00
Elaheh Rashedi d6469bfd33 Add telemetry for playButton (#9398) 2022-06-03 14:08:17 -07:00
Elaheh Rashedi 83c08306f9 resolve "user" and "workspace" debug configs (#9373) 2022-06-01 15:34:16 -07:00
Colen Garoutte-Carson 6735b644c2 Always report Dyld error message with crash stack info (#9383) 2022-06-01 10:56:14 -07:00
Sean McManus b16d0f9f42 Fix bug with Mac crash telemetry. (#9357) 2022-05-24 14:47:09 -07:00
Sean McManus c3dd4405a6 Merge pull request #9344 from microsoft/main
Merge for 1.10.3
2022-05-20 17:07:19 -07:00
Sean McManus 617261dc52 Add a missed change. (#9343) 2022-05-20 16:24:18 -07:00
Sean McManus 1120cb7280 Update changelog. (#9342) 2022-05-20 16:14:54 -07:00
Sean McManus 969f2c1db2 Update IntelliSense loc strings. (#9334)
* Update IntelliSense loc strings.
2022-05-20 16:03:09 -07:00
Colen Garoutte-Carson 2238e7347f Prevent language service activation for macOS older than 10.12 (#9328) 2022-05-20 11:47:00 -07:00
Elaheh Rashedi feb8a6421a Make Play Button available to all users (#9311) 2022-05-19 13:45:15 -07:00
Sean McManus bf2674fd0c Add code analysis code action fixes (#9202)
* Add code analysis code action fixes
2022-05-18 16:10:20 -07:00
microsoft-github-policy-service[bot] 9cc30c2ccd Microsoft mandatory file (#9326)
Co-authored-by: microsoft-github-policy-service[bot] <77245923+microsoft-github-policy-service[bot]@users.noreply.github.com>
2022-05-18 15:31:15 -07:00
Sean McManus b294eb7a9c Remove [Log] editor.wordWrap "off" default. (#9313) 2022-05-18 10:59:19 -07:00
Sean McManus b25fb3fd0e Update Mac crash telemetry for cpptools-wordexp. (#9308)
* Update Mac crash telemetry for cpptools-wordexp.
2022-05-16 17:56:51 -07:00
Sean McManus 32ba555dee Merge pull request #9304 from microsoft/main
Update changelog and version. (#9303)
2022-05-12 17:08:36 -07:00
Sean McManus f3b60f296d Update changelog and version. (#9303) 2022-05-12 16:22:31 -07:00
Michelle Matias f31caa30f4 Merge pull request #9290 from microsoft/main
1.10.1 insiders
2022-05-09 17:52:14 -07:00
Michelle Matias 04eeb03292 1.10.1 changelog (#9289) 2022-05-09 16:38:34 -07:00
Elaheh Rashedi 7b7effbe81 add compiler path to debug configs details (#9264) 2022-05-09 15:48:00 -07:00
Sean McManus 0d0b9ee120 Fix spelling. (#9270)
* Fix spelling.
2022-05-05 11:01:27 -07:00
Elaheh Rashedi 62ac866bbc fail the tasks, if there is a fatal link error (#9211) 2022-05-03 13:11:59 -07:00
Elaheh Rashedi fc69d50751 use /Fe<file> for older cl.exe version (#9252) 2022-05-03 09:43:43 -07:00
Elaheh Rashedi 7f21a55337 remove quote from folder path (#9249) 2022-05-03 09:43:11 -07:00
Michelle Matias 85c9b30c05 Update messages of issue closers (#9251) 2022-04-29 23:40:05 -07:00
Elaheh Rashedi 91380b3f58 add "add configuration" feature (ready) (#9226) 2022-04-29 13:51:05 -07:00
Colen Garoutte-Carson fab35332eb Merge pull request #9213 from microsoft/main 2022-04-20 16:52:16 -07:00
Colen Garoutte-Carson f0d43ce102 Update changelog and version for 1.10.0 insiders (#9212) 2022-04-20 16:29:15 -07:00
Elaheh Rashedi 08ab287ff7 check for failed tasks (#9205) 2022-04-20 11:42:48 -07:00
Colen Garoutte-Carson 380dcbbb58 Fix changelog release date for 1.9.8 (#9210) 2022-04-20 11:26:20 -07:00
Colen Garoutte-Carson 3c98246141 Fix changelog release date for 1.9.8 (#9210) 2022-04-20 11:25:47 -07:00
Colen Garoutte-Carson 0a002db1e5 Merge pull request #9206 from microsoft/coleng/1.9.8-cherry-picks 2022-04-19 17:12:24 -07:00
Colen Garoutte-Carson b5b1c2b9df Update changelog for 1.9.8 (#9207) 2022-04-19 17:10:46 -07:00
Colen Garoutte-Carson 0428ebddb0 Update changelog for 1.9.8 (#9207) 2022-04-19 16:58:59 -07:00
Colen Garoutte-Carson dd8f358076 Fix exception when IntelliSenseEngine is Diabled (#9178) 2022-04-19 16:34:07 -07:00
Andrew Wang 34cd49174e Add back 'aiKey' in package.json (#9183)
* Add back 'aiKey' in package.json

* Add _aiKeyComment
2022-04-19 16:33:47 -07:00
Elaheh Rashedi 7810d7cb34 resolve Debug configuration (#9179) 2022-04-19 16:33:46 -07:00
Colen Garoutte-Carson 3243e39c4f Fix an edge string (#9193) 2022-04-15 11:36:25 -07:00
Colen Garoutte-Carson e60ae9290c Updated edge strings for VS FI (#9190) 2022-04-14 17:46:25 -07:00
Colen Garoutte-Carson 00274d5090 Address shell escaping issues (#8970) 2022-04-14 13:31:41 -07:00
Colen Garoutte-Carson 56c1a6314f Fix exception when IntelliSenseEngine is Diabled (#9178) 2022-04-13 15:32:19 -07:00
Andrew Wang 23038f4477 Add back 'aiKey' in package.json (#9183)
* Add back 'aiKey' in package.json

* Add _aiKeyComment
2022-04-13 13:56:20 -07:00
Michelle Matias 9f7d7fd997 Convert debugger issue form to yaml (#9180) 2022-04-13 12:37:39 -07:00
Michelle Matias 982255d45c Convert "general extension" and "feature request" templates from markdown to yaml (#9158) 2022-04-12 20:50:52 -07:00
Colen Garoutte-Carson a28a456aee Add support for c++23 language standard arg (#9177) 2022-04-12 15:56:33 -07:00
Sean McManus 6d53961493 Update minimist dependencies. (#9169) 2022-04-11 15:26:40 -07:00
Elaheh Rashedi b93b58cb49 making debugger platform specific (#9157) 2022-04-08 11:01:20 -07:00
Elaheh Rashedi 3cb4a9078c get the default build task for F5 (#9145) 2022-04-06 13:32:07 -07:00
Sean McManus 504800336c Replace substr with substring. (#9129)
* Replace substr with substring.
2022-04-04 19:42:19 -07:00
dependabot[bot] dda36530cd Bump plist from 3.0.4 to 3.0.5 in /Extension (#9125)
Bumps [plist](https://github.com/TooTallNate/node-plist) from 3.0.4 to 3.0.5.
- [Release notes](https://github.com/TooTallNate/node-plist/releases)
- [Changelog](https://github.com/TooTallNate/plist.js/blob/master/History.md)
- [Commits](https://github.com/TooTallNate/node-plist/commits)

---
updated-dependencies:
- dependency-name: plist
  dependency-type: direct:production
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-31 17:18:26 -07:00
Sean McManus ffd59ee3c8 Add clangTidy.useBuildPath setting (#9104)
* Add useBuildPath setting.
2022-03-31 16:25:29 -07:00
Elaheh Rashedi e3365bbfe4 Run and Debug button updates (#9110) 2022-03-29 16:50:08 -07:00
Michelle Matias 71e9d239e3 add string for old default std version (#9090) 2022-03-25 15:28:20 -07:00
Sean McManus 2874fd2600 Merge pull request #9070 from microsoft/main
Merge for 1.9.7
2022-03-22 18:52:16 -07:00
Sean McManus 56db55a3dc Update minimist. (#9071) 2022-03-22 18:35:26 -07:00
Sean McManus 8b9e009fc9 Merge branch 'release' into main 2022-03-22 14:48:13 -07:00
Sean McManus 23720f5fd8 1.9.7 changelog (#9069)
* Update changelog.
* Update version.
2022-03-22 14:44:35 -07:00
Sean McManus 8bea1ecb35 Merge pull request #9061 from microsoft/main
Merge for 1.9.6
2022-03-21 11:48:55 -07:00
Michelle Matias dd3938c934 Fix periods to descriptions and title (#9052) 2022-03-21 10:34:36 -07:00
Sean McManus cf9b2565d0 Update changelog. (#9047)
* Update changelog.
2022-03-18 20:21:31 -07:00
Sean McManus caecbf9532 Merge pull request #9045 from microsoft/main
Merge for 1.9.5
2022-03-17 12:42:42 -07:00
Sean McManus a250a53361 Fix typo in changelog. (#9044) 2022-03-17 12:09:47 -07:00
Sean McManus 375d62c335 Update changelog. (#9042) 2022-03-17 11:26:31 -07:00
Sean McManus c3312d3fba Merge pull request #9030 from microsoft/main
Merge for 1.9.4
2022-03-15 21:46:09 -07:00
Sean McManus df9469ca4e Update changelog. (#9029) 2022-03-15 18:08:12 -07:00
Sean McManus a07c8fd6c0 Undo detached. (#9026)
* Undo detached.
* Update changelog.
2022-03-14 17:11:44 -07:00
Colen Garoutte-Carson e41ead271e Update a loc strings for tag_parsing_error (#9027) 2022-03-14 17:02:19 -07:00
Sean McManus c1e3843bcf Update changelog. (#9016)
* Update changelog.
2022-03-11 17:29:16 -08:00
Sean McManus 7886ac0e98 Merge pull request #9002 from microsoft/main
Merge for 1.9.3
2022-03-09 13:49:43 -08:00
Sean McManus af38a6c7c8 Update version. 2022-03-09 13:24:33 -08:00
Sean McManus 9fb4ce53a5 Update changelog for 1.9.3 (#8999)
* Update changelog.
2022-03-09 13:17:02 -08:00
Michelle Matias 1f7204baac Remove debugger M1 workaround (#9001) 2022-03-09 12:39:36 -08:00
Andrew Wang f3932b797b Update lldb-mi.yml to support building ARM64 (#8997)
* Update lldb-mi build

Hardcode llvm/lldb-mi commits to match the ones in cgmanifest.
Added parameters to support building for different arch and on
different machines.

* Refactor
2022-03-09 12:18:49 -08:00
Bob Brown 24d7926bc7 update extension pack to be hidden from web environment (#8991) 2022-03-08 23:55:22 -08:00
Sean McManus f4db8e996a Change to run detached. (#8969) 2022-03-08 23:46:05 -08:00
Sean McManus fa91e7d113 change tag parse string (#8909)
* Update tag parse string.
2022-03-08 23:35:13 -08:00
Colen Garoutte-Carson 5889017c02 Revert "Localization - Translated Strings (#8994)"
This reverts commit ad8278a3ae.
2022-03-08 19:38:17 -08:00
csigs ad8278a3ae Localization - Translated Strings (#8994) 2022-03-08 17:54:10 -08:00
csigs 79c2319c16 [Auto] Localization - Translated Strings (#8688) 2022-03-08 17:09:50 -08:00
Colen Garoutte-Carson e36cb639f2 Fix issue with updateCustomConfigurations failing to refresh config of active file (#8984) 2022-03-08 14:44:18 -08:00
Sean McManus 23823e650a Fix problemMatcher relative path. (#8993) 2022-03-08 14:28:11 -08:00
Sean McManus 7fdddf23fe Fix bugs with code analysis status icons with multi-root (#8967)
* Fix incorrect "Running clang-tidy" status with multi-root.
2022-03-03 10:07:14 -08:00
Sean McManus 8eea7fb23e Merge pull request #8957 from microsoft/main
Merge for 1.9.2
2022-03-01 14:02:57 -08:00
Sean McManus 03c9918b58 Update changelog for 1.9.2. (#8950)
* Update changelog for 1.9.2.
2022-03-01 13:47:53 -08:00
Elaheh Rashedi 2cbe7d6313 add launch config (#8949) 2022-03-01 13:06:07 -08:00
Bob Brown ffb1b832f6 Update extension pack (#8954)
* Remove the remote extensions from the pack as remote is considered "advanced"
* Mark the pack to not be compatible with "web" so that it is not offered as a recommendation.
2022-03-01 10:55:50 -08:00
Colen Garoutte-Carson d56135ea82 Add localized MD/HTML file for guidance when incompatible VSIX (#8920) 2022-02-28 15:48:08 -08:00
Sean McManus 7216af8981 Update IntelliSense strings. (#8936) 2022-02-28 14:50:56 -08:00
Sean McManus b8eb77a61a Revert "add launch.json configs" (#8948) 2022-02-28 14:42:58 -08:00
elrashed ed1fd8077c Merge branch 'main' of https://github.com/microsoft/vscode-cpptools into main 2022-02-28 13:53:40 -08:00
elrashed 94e02c78a1 add launch.json configs 2022-02-28 13:53:33 -08:00
Colen Garoutte-Carson e6558706b8 Minor code cleanup in useVcFormat (#8933) 2022-02-25 17:35:27 -08:00
elrashed ec511b941d Merge branch 'main' into insiders 2022-02-24 11:50:54 -08:00
Elaheh Rashedi accd0fb4af single mode file f5 (#8927) 2022-02-24 11:45:36 -08:00
Colen Garoutte-Carson 17140a9fde Merge pull request #8923 from microsoft/main 2022-02-23 19:23:56 -08:00
Colen Garoutte-Carson d0d269b61f Update changelog for 1.9.1 (#8921) 2022-02-23 19:02:12 -08:00
Colen Garoutte-Carson f7adfc83e8 Fix a formatting bug (#8922) 2022-02-23 17:50:03 -08:00
Colen Garoutte-Carson 125b6576a4 Add compatibility check of VSIX TargetPlatform (#8910) 2022-02-23 14:45:57 -08:00
Colen Garoutte-Carson 67669b497e Fix loc string key casing (#8911) 2022-02-23 12:12:37 -08:00
Elaheh Rashedi f809a81829 Dynamic debug config + Telemetry (#8876) 2022-02-23 10:06:01 -08:00
InLAnn 9ea7328ab4 Fix bug: !err && stats && stats.isFile will always return true. Fix typos (#8897) 2022-02-23 09:53:08 -08:00
Colen Garoutte-Carson ef5926422a Update initialization order in activate (#8906) 2022-02-22 14:46:36 -08:00
Joel Smith 111a6534e1 Make SwitchHeaderSource use workbench.editor.revealIfOpen setting (#8857)
Make SwitchHeaderSource use workbench.editor.revealIfOpen setting
2022-02-18 14:04:57 -08:00
Hamir Mahal fcd74cb13c clarify how to get binaries if F5 results in error (#8788)
* clarify how to get binaries if F5 results in error
2022-02-18 13:30:17 -08:00
Sean McManus 49720023bd Ignore failing error code from VS Code (#8872) 2022-02-16 10:30:42 -08:00
Sean McManus 96a12da3a3 Switch loc pipeline. (#8870) 2022-02-15 12:07:50 -08:00
Matheus Castello 67eea35d8f Add dotconfig property for c_cpp_properties.json (#7845)
* Add dotConfig property for c_cpp_properties.json
2022-02-15 10:15:38 -08:00
Sean McManus 9d6ea035a9 Update dependencies. (#8862) 2022-02-14 12:51:13 -08:00
dependabot[bot] fcd8f25e8b Bump follow-redirects from 1.14.7 to 1.14.8 in /.github/actions (#8856)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-14 12:01:12 -08:00
Colen Garoutte-Carson 5f888eef30 Fix issue with cpptools restarting when it should not (#8850) 2022-02-11 16:58:21 -08:00
jogo- c02440cfe1 Update CHANGELOG.md (#8844)
Fix trailing '.' after links
2022-02-11 10:49:39 -08:00
Colen Garoutte-Carson e5abfbca71 Prevent error from being logged due to custom configuration processing prior to the provider being ready (#8841) 2022-02-10 18:06:43 -08:00
Michelle Matias b30c098dc1 Merge pull request #8839 from microsoft/main
Insiders 1.9.0 #3
2022-02-10 15:59:16 -08:00
Colen Garoutte-Carson b4625c7c30 Fix casing in changlog (#8838) 2022-02-10 15:49:52 -08:00
Colen Garoutte-Carson b960aecb76 Add comment to changelog referring to rename/remove of Build and Debug Active File feature (#8837) 2022-02-10 15:43:42 -08:00
Elaheh Rashedi 2ebc31b273 fix warning if cl.exe is not available (#8835) 2022-02-10 15:05:11 -08:00
Michelle Matias e135b011bc Merge pull request #8833 from microsoft/mimatias/insiders1-9
Insiders 1.9.0 #2
2022-02-10 13:38:38 -08:00
Michelle Matias 2913721755 Merge branch 'main' into mimatias/insiders1-9 2022-02-10 13:30:18 -08:00
Michelle Matias 7a83d8d76a Merge pull request #8831 from microsoft/mimatias/insiders1_9
Insiders 1.9.0
2022-02-10 13:20:21 -08:00
Michelle Matias db67ca332c remove extra === 2022-02-10 13:17:26 -08:00
Michelle Matias 69cf11512a Merge branch 'main' into mimatias/insiders1_9 2022-02-10 13:11:50 -08:00
Elaheh Rashedi 4ea422f34e resolve task (#8826) 2022-02-10 13:08:29 -08:00
Colen Garoutte-Carson 5c44eec26e Fix issue with recovery from cpptools crash when using multiroot (#8810) 2022-02-10 13:02:43 -08:00
Michelle Matias 99ac776dbb changelog for 1.9 (#8822) 2022-02-10 11:11:09 -08:00
Michelle Matias 41f2cd70ed Build and debug as x86_64 on Apple Silicon (macOS ARM64) by default (#8820) 2022-02-09 19:12:53 -08:00
Colen Garoutte-Carson 485dbdeb33 Fix issue with invoking commands before cpptools is activated (#8821) 2022-02-09 18:23:56 -08:00
Elaheh Rashedi 1772769c6d add telemetry for debug and Run button (#8819) 2022-02-09 16:28:23 -08:00
Sean McManus 7393ba3b6b Add scope to debugShortcut. (#8806) 2022-02-09 08:07:49 -08:00
Sean McManus af71bc0cd1 Remove duplicate "in" in comment. (#8795) 2022-02-07 12:44:20 -08:00
Colen Garoutte-Carson a3b79dc06d Add loc for 3 strings (#8784) 2022-02-07 11:26:14 -08:00
Colen Garoutte-Carson 011b5c12a9 Merge pull request #8783 from microsoft/coleng/merge_insiders_1_8_4 2022-02-04 17:14:12 -08:00
Colen Garoutte-Carson d4df455dc0 Merge pull request #8782 from microsoft/coleng/merge_release_1_8_4 2022-02-04 17:14:09 -08:00
Colen Garoutte-Carson 025ab76ca6 Update changelog for 1.8.4 (#8778) 2022-02-04 16:39:38 -08:00
Sean McManus 1613298710 Remove offline installation from ReadMes. (#8769) 2022-02-04 16:39:34 -08:00
Colen Garoutte-Carson bcd6c9ef50 Suppress incorrect warnings on Mac M1 (#8757) 2022-02-04 16:39:29 -08:00
Sean McManus 6f62c61bb4 Update changelog. (#8754)
* Update changelog.
2022-02-04 16:39:25 -08:00
Colen Garoutte-Carson b5c13664a6 Update changelog for 1.8.4 (#8778) 2022-02-04 16:37:54 -08:00
Sean McManus f95b1cebf7 Remove offline installation from ReadMes. (#8769) 2022-02-04 16:37:50 -08:00
Colen Garoutte-Carson 4813194480 Suppress incorrect warnings on Mac M1 (#8757) 2022-02-04 16:37:45 -08:00
Sean McManus 97fd5b6bb9 Update changelog. (#8754)
* Update changelog.
2022-02-04 16:37:38 -08:00
Colen Garoutte-Carson 2cbc5f4b7b Update changelog for 1.8.4 (#8778) 2022-02-04 16:28:57 -08:00
Elaheh Rashedi 0ba3df9253 Add Debug and Run button (#8651) 2022-02-03 14:24:42 -08:00
Sean McManus f33afd0379 Remove offline installation from ReadMes. (#8769) 2022-02-03 12:00:07 -08:00
Sean McManus f15c635167 Update changelog. (#8754)
* Update changelog.
2022-02-02 09:45:14 -08:00
Colen Garoutte-Carson ec5044da85 Suppress incorrect warnings on Mac M1 (#8757) 2022-02-01 16:58:31 -08:00
Colen Garoutte-Carson 5818e888f1 Rework how cancelation is processed for semantic tokens and folding operations (#8739) 2022-02-01 13:07:03 -08:00
Sean McManus 3b4c8e71e7 Merge pull request #8746 from microsoft/main
Merge for 1.8.2
2022-01-31 14:09:54 -08:00
Sean McManus 75d131d3ea Merge pull request #8747 from microsoft/main
Merge for 1.8.3 (insiders)
2022-01-31 12:28:29 -08:00
Sean McManus 6ad565886b Changelog for 1.8.2. (#8737)
* Changelog for 1.8.2.
2022-01-31 11:24:52 -08:00
Sean McManus abc3c11cab Merge pull request #8731 from microsoft/main
Merge for 1.8.1
2022-01-27 13:46:46 -08:00
Sean McManus 30991405b1 Update changelog for 1.8.1. (#8719)
* Update changelog for 1.8.1.
2022-01-27 13:22:23 -08:00
dependabot[bot]andSean McManus 6e325b1eb1 Bump node-fetch from 2.6.1 to 2.6.7 in /.github/actions (#8730)
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.1 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.1...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sean McManus <[email protected]>
2022-01-27 13:04:17 -08:00
Sean McManus f2834da643 Fix Error: selectionRange must be contained in fullRange (#8727) 2022-01-27 12:53:55 -08:00
Sean McManus 13345e3f85 Update nanoid and @octokit/rest (#8718) 2022-01-27 12:14:35 -08:00
Colen Garoutte-Carson 4092a12895 Remove Offline Installation section from README.md (#8714) 2022-01-24 14:33:15 -08:00
Colen Garoutte-Carson c694184fea Mitigate issue with migrating Insiders to Prerelease (#8705) 2022-01-20 15:17:08 -08:00
Sean McManus 2d1f8e09ac Fix regression with environment variable defines. (#8700)
* Fix regression with environment variable defines.
2022-01-20 12:52:23 -08:00
Colen Garoutte-Carson 32e2c38fc4 Add targetPopulation field to telemetry (#8703) 2022-01-20 12:09:17 -08:00
csigs d0ffef78f1 [Auto] Localization - Translated Strings (#8506) 2022-01-18 19:35:52 -08:00
Colen Garoutte-Carson 88f0bbebb9 Merge pull request #8669 from microsoft/main 2022-01-13 13:39:55 -08:00
Colen Garoutte-Carson 75fc2a842c Move existing insiders to new mechanism without prompting (#8665) 2022-01-13 13:25:50 -08:00
Sean McManus c0ff0efbed Update follow-redirects. (#8668)
* Update follow-redirects.
2022-01-13 13:19:22 -08:00
Sean McManus 01290a44fb Update dependencies. (#8627)
* Update dependencies.
2022-01-13 12:56:59 -08:00
Colen Garoutte-Carson 7b175d4ab4 Merge pull request #8663 from microsoft/main 2022-01-12 13:48:16 -08:00
Colen Garoutte-Carson 4f2b7e2d68 Merge pull request #8662 from microsoft/coleng/prerelease_version_dependency 2022-01-12 13:28:21 -08:00
Colen Garoutte-Carson 01c3b227a2 Update minimum version of VS Code 2022-01-12 13:20:28 -08:00
Sean McManus 144845c0b4 Stop splitting ; or : in defines and compilerArgs. (#8661) 2022-01-12 12:45:37 -08:00
Colen Garoutte-Carson 29e8ff6f3b Merge pull request #8658 from microsoft/main 2022-01-11 18:10:18 -08:00
Colen Garoutte-Carson 2b44312fe4 Update changelog for 1.8.0 insiders3 (#8657) 2022-01-11 17:52:45 -08:00
Colen Garoutte-Carson d0985f5c82 Merge main into insiders branch (#8656) 2022-01-11 16:28:17 -08:00
Colen Garoutte-Carson ff4cdc8d31 Fix to display updateChannel deprecation messages when using VS Code Insiders (#8655) 2022-01-11 11:54:14 -08:00
Elaheh Rashedi b4c1b9dced add cl.exe error (#8630) 2022-01-11 08:48:48 -08:00
Colen Garoutte-Carson 8d097048e8 Remove support for 'online' binary downloads (#8505) 2022-01-10 18:37:51 -08:00
Andrew Wang 14592c4b37 .vscodeignore cgmanifest.json (#8641) 2022-01-06 13:54:47 -08:00
Sean McManus a333ee19e3 Add NOLINTBEGIN/END. (#8591) 2022-01-05 19:32:51 -08:00
Andrew Wang 49fcfad692 Add cgmanifest for debugger components (#8637)
This PR adds in a cgmanifest.json file to comply with Component
Governance Compliance.

This adds two registrations to llvm-project and lldb-mi as components as
they are packaged and published with the macOS version of the VS Code
C/C++ Extension.
2022-01-05 13:29:54 -08:00
Yash Singh 62f052a36c Add repository info to extension pack (#8598) 2022-01-05 08:22:14 -08:00
Sean McManus 1bd76ebd2d Fix "Command '' not found" error. (#8609)
* Fix "Command '' not found" error.
* Remove unneeded initialization.
2021-12-27 14:13:11 -08:00
Bob Brown 6d99657dc0 Don't block running a task if it doesn't use the active file (#8608) 2021-12-27 12:41:40 -08:00
Sean McManus e6003fe683 Fix 3 settings not getting variables resolved on settings update. (#8538) 2021-12-14 12:18:09 -08:00
Colen Garoutte-Carson 58e1a78191 More misc loc fixes (#8537) 2021-12-14 11:46:24 -08:00
Colen Garoutte-Carson cfd43015c6 Set code page to UTF8 when processing build task output (#8519) 2021-12-13 17:24:52 -08:00
Colen Garoutte-Carson aa4c8647ba Remove redundant cl.exe instances from build list (#8517) 2021-12-13 14:00:41 -08:00
Colen Garoutte-Carson 6f39f3b2cf A few more loc string fixes (#8513) 2021-12-09 18:08:11 -08:00
csigs af6a56ff5a [Auto] Localization - Translated Strings (#8466) 2021-12-08 15:53:35 -08:00
Sean McManus 7f996068d4 Merge pull request #8503 from microsoft/main
Merge for 1.8.0-insiders2
2021-12-07 13:40:33 -08:00
Sean McManus 6a60262bd6 Update changelog. (#8495)
* Update changelog.
2021-12-07 13:23:09 -08:00
Sean McManus 50e3a2f40d Proactively handle exclude settings. (#8492) 2021-12-07 13:00:37 -08:00
Sean McManus ed98521ba6 Merge pull request #8494 from microsoft/seanmcm/updateIntelliSenseStringsDec6
Update/fix IntelliSense strings.
2021-12-07 11:27:12 -08:00
Sean McManus a3be300f42 Update/fix IntelliSense strings. 2021-12-06 12:36:30 -08:00
Bob Brown 1ebb6aaef3 Update description for references.maxCachedProcesses (#8468) 2021-12-02 08:49:12 -08:00
Michelle Matias 8815aa5d83 Add periods to end of sentences. (#8472) 2021-12-01 13:37:06 -08:00
Colen Garoutte-Carson 14b197149b Make semantic token setting hover text localizable (#8464) 2021-11-29 17:22:58 -08:00
Sean McManus 27d1ac3897 Merge pull request #8463 from microsoft/main
Merge for 1.8.0-insiders
2021-11-29 17:06:40 -08:00
csigs 74030963f4 [Auto] Localization - Translated Strings (#8385) 2021-11-29 14:11:44 -08:00
Sean McManus 83df072462 Update changelog for 1.8.0-insiders. (#8439)
* Update changelog for 1.8.0-insiders.
2021-11-29 13:35:03 -08:00
Colen Garoutte-Carson cdfe77f798 Revert XLoc tools to working version (#8462) 2021-11-29 11:19:29 -08:00
Sean McManus bf25e3ddb7 Fix F5 debug configuration JSON parse error. (#8437) 2021-11-23 15:01:28 -08:00
Sean McManus c5d64e06c8 Update headerFilter description. (#8435)
* Update headerFilter description.
2021-11-23 12:54:43 -08:00
Sean McManus e4e40ef38e Fix references.maxConcurrentThreads not working. (#8422) 2021-11-19 13:18:54 -08:00
Sean McManus ed60b9c77b Update codeAnalysis.maxConcurrentThreads description. (#8418) 2021-11-19 10:32:26 -08:00
Sean McManus 2bdbdebd29 Update a couple clang-tidy descriptions (#8410)
* Update header filter description.

* Update codeAnalysis.exclude description.
2021-11-16 22:08:51 -08:00
Colen Garoutte-Carson 6c4049fe6a Update edge strings for FI (#8406) 2021-11-16 17:43:55 -08:00
Sean McManus 4b85228811 Add clang-tidy support (#7816) 2021-11-16 13:28:09 -08:00
Bob Brown 25eb322aba Update version for extension pack (#8403) 2021-11-16 08:39:32 -08:00
Andrew Wang aa53c7181b Include setupCommand to set intel flavor (#8368)
This PR adds an additional setupCommand for launch.json to set the
default disassembly flavor to intel since it is preferred over
att.
2021-11-15 11:50:33 -08:00
Julia Reid 91ce65c312 Removing non-C++ specific extensions (#8395) 2021-11-15 10:42:04 -08:00
Colen Garoutte-Carson 400ef22046 Update to latest XLoc package version for OneLocBuild (#8394) 2021-11-12 14:28:37 -08:00
Colen Garoutte-Carson c735a48f37 A couple loc string fixes (#8393) 2021-11-12 14:16:48 -08:00
Colen Garoutte-Carson 081bf843d5 Merge pull request #8388 from microsoft/coleng/fix_deactivate_race 2021-11-11 15:08:13 -08:00
Colen Garoutte-Carson 33e16e8ff8 Fix test failure 2021-11-11 14:47:10 -08:00
Colen Garoutte-Carson f6d1bd8dc5 Fix issue with deactivation when not real-activated 2021-11-11 14:13:04 -08:00
Colen Garoutte-Carson 80161f19a0 Merge pull request #8268 from microsoft/localization 2021-11-10 14:32:32 -08:00
Colen Garoutte-Carson 4c48a2b997 Add a missed file 2021-11-10 14:20:44 -08:00
Colen Garoutte-Carson b57e66d238 Fix loc issues 2021-11-10 14:15:00 -08:00
csigs 36e3707eee Localization - Translated Strings 2021-11-10 20:11:22 +00:00
Colen Garoutte-Carson b2f2a4c088 Merge pull request #8383 from microsoft/coleng/fix_onelocbuild
Add OneLocBuild to .gitignore
2021-11-10 12:04:20 -08:00
Colen Garoutte-Carson f379a7e4d2 Add OneLocBuild to .gitignore 2021-11-10 11:53:57 -08:00
Colen Garoutte-Carson 61de515ba9 Merge pull request #8374 from microsoft/coleng/add_config_warning 2021-11-05 15:03:17 -07:00
Colen Garoutte-Carson d66e3b1d1d Add a configuration warning string 2021-11-05 11:17:17 -07:00
Sean McManus 64aed44a59 update packages (#8357)
* Update packages.
2021-11-03 10:42:46 -07:00
Garrett Campbell 25b73da64a Add svdPath field to OptionsSchema (#8316) 2021-10-28 09:02:21 -07:00
Zuo Zongyuan 4016be17d0 Deprecate WMIC in favor of Get-CimInstance (#8329)
* use `Get-CimInstance` to retrieve processes

* Add unit test

* Fix bugs

* Parse JSON output
2021-10-27 10:59:52 -07:00
Colen Garoutte-Carson a18b91b864 Merge pull request #8303 from microsoft/main 2021-10-19 14:56:40 -07:00
Colen Garoutte-Carson 6b003436e3 Merge pull request #8301 from microsoft/coleng/changelog_171 2021-10-19 14:52:15 -07:00
Colen Garoutte-Carson 2b4a82d17e Remove a space 2021-10-19 14:51:52 -07:00
Colen Garoutte-Carson cd8aa4750c Address PR feedback 2021-10-19 14:30:21 -07:00
Colen Garoutte-Carson b69581ce7a Empty commit to trigger checks 2021-10-19 13:59:08 -07:00
Colen Garoutte-Carson 8b7ad9ecad Update changelog and version for 1.7.1 2021-10-19 13:46:06 -07:00
Colen Garoutte-Carson ee7b2f1efa Merge pull request #8298 from microsoft/coleng/fix_auto_config_provider 2021-10-19 13:15:44 -07:00
Colen Garoutte-Carson 48b120cf0b Fix issue with default configs 2021-10-18 13:02:50 -07:00
Colen Garoutte-Carson b0a82a8bdc Merge pull request #8281 from microsoft/coleng/fix_no_folder_multiroot_install_failure 2021-10-15 13:21:29 -07:00
Colen Garoutte-Carson a10a6d28ad Fix a couple more cases 2021-10-15 13:08:03 -07:00
Colen Garoutte-Carson 2cbba0be71 Fix another instance of the same issue 2021-10-15 11:56:00 -07:00
Colen Garoutte-Carson 4f03cfdcbe Fix an issue causing install failures 2021-10-14 18:15:25 -07:00
AlexanderandAlexander Sergeev 0b94fdefe9 Remove trailing whitespaces (#8254)
Co-authored-by: Alexander Sergeev <[email protected]>
2021-10-14 10:47:28 -07:00
Bob Brown e68b898a14 Fix code elements (#8271) 2021-10-13 16:48:28 -07:00
Colen Garoutte-Carson a06d8e601b Merge pull request #8267 from microsoft/main 2021-10-12 17:53:30 -07:00
Colen Garoutte-Carson b54dbce505 Merge pull request #8266 from microsoft/coleng/Update_links_hashes 2021-10-12 17:52:54 -07:00
Colen Garoutte-Carson 6216e3f87b Update links and hashes for 1.7.0 2021-10-12 17:52:08 -07:00
Colen Garoutte-Carson e792d23cbc Merge pull request #8265 from microsoft/main
Merge main into release again for 1.7.0
2021-10-12 17:35:17 -07:00
Colen Garoutte-Carson b388523e2e Merge pull request #8155 from microsoft/localization 2021-10-12 17:34:31 -07:00
Colen Garoutte-Carson 242d69ad55 Merge branch 'localization' of https://github.com/microsoft/vscode-cpptools into localization 2021-10-12 17:33:52 -07:00
Colen Garoutte-Carson 23b370ba7b More string fixes 2021-10-12 17:33:45 -07:00
Bob Brown (DEVDIV) 1fb046518a Merge branch 'localization' of https://github.com/microsoft/vscode-cpptools into localization 2021-10-12 17:07:32 -07:00
Bob Brown (DEVDIV) 6a8b0ede01 last changes 2021-10-12 17:07:21 -07:00
Bob Brown (DEVDIV) 2fa28a4645 Last languages 2021-10-12 17:07:05 -07:00
Colen Garoutte-Carson 23c07aa017 Fix more strings 2021-10-12 17:06:28 -07:00
Colen Garoutte-Carson adca369b9f Merge branch 'main' into localization 2021-10-12 16:58:44 -07:00
Bob Brown (DEVDIV) f086e5cd5b Merge branch 'localization' of https://github.com/microsoft/vscode-cpptools into localization 2021-10-12 16:57:38 -07:00
Colen Garoutte-Carson 9b398b11d7 Merge pull request #8243 from microsoft/jureid-patch-2 2021-10-12 16:57:27 -07:00
Bob Brown (DEVDIV) 740b98b660 Spanish and German 2021-10-12 16:57:09 -07:00
Colen Garoutte-Carson ef339a4322 Merge branch 'main' into jureid-patch-2 2021-10-12 16:56:18 -07:00
Colen Garoutte-Carson 75289ad75f Merge pull request #8264 from microsoft/coleng/fix_schema_loc 2021-10-12 16:53:18 -07:00
Colen Garoutte-Carson 75f6870919 Merge branch 'localization' of https://github.com/microsoft/vscode-cpptools into localization 2021-10-12 16:51:56 -07:00
Colen Garoutte-Carson 309a6d899e Some loc fixed related to env:variable 2021-10-12 16:50:54 -07:00
Bob Brown (DEVDIV) b785c76714 Italian, Korean, Japanese 2021-10-12 16:46:59 -07:00
Colen Garoutte-Carson 89d3daeb53 Merge branch 'main' into localization 2021-10-12 16:44:44 -07:00
Colen Garoutte-Carson f74049089b Merge branch 'localization' of https://github.com/microsoft/vscode-cpptools into localization 2021-10-12 16:43:12 -07:00
Colen Garoutte-Carson b8b26bb7bf Work in progress 2021-10-12 16:38:23 -07:00
Colen Garoutte-Carson 640df0fe06 Fix issue with markdownDescription not getting localized properly in schema files 2021-10-12 16:31:03 -07:00
Bob Brown (DEVDIV) 2015521a64 Fix some incorrect markdown changes 2021-10-12 16:29:58 -07:00
Colen Garoutte-Carson e24c264f89 Merge pull request #8263 from microsoft/main 2021-10-12 14:42:11 -07:00
Colen Garoutte-Carson c0b216c888 Merge branch 'release' into main 2021-10-12 14:37:28 -07:00
Colen Garoutte-Carson 212ba53ec6 Merge pull request #8262 from microsoft/coleng/update_version_170 2021-10-12 14:36:06 -07:00
Colen Garoutte-Carson ee0052f953 Update version in package.json to 1.7.0 2021-10-12 14:28:34 -07:00
Colen Garoutte-Carson 937026ccad Merge pull request #8261 from microsoft/main 2021-10-12 14:21:01 -07:00
Colen Garoutte-Carson f1f339ee10 Merge pull request #8260 from microsoft/coleng/update_changelog_1.7.0 2021-10-12 14:15:20 -07:00
Colen Garoutte-Carson d5e77d82aa Fix spacing 2021-10-12 14:07:46 -07:00
Colen Garoutte-Carson 9f7d45363f Update changelog for 1.7.0 release 2021-10-12 14:06:25 -07:00
csigs bc0557718c Localization - Translated Strings 2021-10-12 07:04:28 +00:00
Julia Reid 91aa923203 Update telemetry.ts
checking for undefined suffix, not just empty string
2021-10-08 14:48:48 -07:00
Julia Reid 791832845d Update telemetry.ts
it looks like in [package.json line 5](https://github.com/microsoft/vscode-cpptools/blob/a62acdb5a52438540c266b409a0ee7f8e64f7a9b/Extension/package.json#L5), we add a suffix, "main", to the version. When we assign customers to target populations for experiments, we were trying to assign customers without any suffix to Public, which resulted in no one being included. Instead, I think we should be checking if the suffix is "main" and assign those customers to Public.
2021-10-08 13:18:08 -07:00
Thomas Willson a62acdb5a5 Allow merge of C_Cpp_Properties & configuration provider. (#8174)
* Allow merge of C_Cpp_Properties & configuration provider.
2021-10-04 17:28:41 -07:00
jogo- cd949b9ced Various fixes to CHANGELOG.md (#8211) 2021-10-01 22:08:06 -07:00
Colen Garoutte-Carson 7a9d0aae08 Merge pull request #8215 from microsoft/coleng/fix_inactive_regions
Fix issue with inactive regions disappearing when switching files
2021-10-01 15:31:06 -07:00
Colen Garoutte-Carson a5f4a5a734 Fix issue with inactive regions disappearing when switching files 2021-10-01 14:54:39 -07:00
Colen Garoutte-Carson 999f28bf83 Merge pull request #8205 from microsoft/main 2021-09-29 16:28:41 -07:00
Colen Garoutte-Carson dfdb047546 Merge pull request #8204 from microsoft/coleng/update_changelog_for_1.7.0-insiders 2021-09-29 16:22:21 -07:00
Colen Garoutte-Carson e58ea779db Update changelog 2021-09-29 16:06:40 -07:00
Colen Garoutte-Carson f7d0b1bf22 Merge pull request #8187 from microsoft/main 2021-09-24 14:13:41 -07:00
Colen Garoutte-Carson 979d86f8b9 Merge pull request #8185 from microsoft/coleng/update_changelog_for_1.7.0-insiders 2021-09-24 13:11:48 -07:00
Colen Garoutte-Carson f052b4e2d5 Update changelog 2021-09-24 10:47:20 -07:00
Colen Garoutte-Carson 2ec6d5a1f6 Update changelog for 1.7.0-insiders 2021-09-23 19:14:44 -07:00
Elaheh Rashedi 32ac8ae30d Restart Language Server for active file (#8128) 2021-09-23 12:37:57 -07:00
Colen Garoutte-Carson 2f78e86da4 Merge pull request #7933 from microsoft/bobbrow/telemetryUpdate 2021-09-23 12:26:04 -07:00
Colen Garoutte-Carson f814414502 Merge branch 'main' into bobbrow/telemetryUpdate 2021-09-23 12:19:52 -07:00
Colen Garoutte-Carson 0e3dd7a275 Merge pull request #8165 from microsoft/coleng/add_gcc_colors 2021-09-16 17:02:56 -07:00
Colen Garoutte-Carson ecaf985ae6 Add to gcc compiler args for generated build tasks, to display colors in gcc output 2021-09-16 16:37:50 -07:00
Colen Garoutte-Carson 4f137fe9de Merge pull request #8159 from microsoft/coleng/add_error_string 2021-09-15 15:56:58 -07:00
Colen Garoutte-Carson 1b323b6b58 Merge branch 'main' into coleng/add_error_string 2021-09-15 15:56:22 -07:00
Andrew Wang 8efa45e649 Update Debugger Packages (#8138) 2021-09-15 15:22:26 -07:00
Colen Garoutte-Carson 5ae826c117 Add error string 2021-09-15 14:55:49 -07:00
Sean McManus 26dff27224 Localization (#8154)
* Various loc fixes.
2021-09-14 19:15:34 -07:00
Sean McManus 05b0934e79 Update loc hints. Modify one string. (#8153)
* Update loc hints. Other string fixes.
2021-09-14 18:43:51 -07:00
Colen Garoutte-Carson 89251c7796 Merge pull request #8013 from microsoft/localization 2021-09-14 18:04:29 -07:00
Colen Garoutte-Carson 9e0c520ded More fixes 2021-09-14 17:18:07 -07:00
Colen Garoutte-Carson 391acc849a Merge branch 'localization' of https://github.com/microsoft/vscode-cpptools into localization 2021-09-14 17:17:58 -07:00
Colen Garoutte-Carson 3c260b59e4 Most misc fixes 2021-09-14 17:16:21 -07:00
Sean McManus e0898fa949 Merge branch 'localization' of https://github.com/Microsoft/vscode-cpptools into localization 2021-09-14 17:09:02 -07:00
Sean McManus bc84cdb538 One fix. 2021-09-14 17:08:33 -07:00
Colen Garoutte-Carson a0912abebd Fixes 2021-09-14 17:06:22 -07:00
Colen Garoutte-Carson 1826ebc362 Loc fixes 2021-09-14 16:55:11 -07:00
Sean McManus 61d288db52 Merge branch 'main' into localization 2021-09-14 16:19:15 -07:00
Sean McManus dd3479425b Upgrade set-value dependency. (#8147) 2021-09-14 13:14:03 -07:00
csigs 5b361fa8e5 Localization - Translated Strings 2021-09-14 07:05:11 +00:00
Sean McManus 8bac39c35f Fix TypeScript 4.4.3 errors. (#8146)
* Fix TypeScript 4.4.3 errors.
Co-authored-by: Bob Brown (DEVDIV) <[email protected]>
2021-09-13 15:46:37 -07:00
Bob Brown d31eff278b Merge branch 'main' into bobbrow/telemetryUpdate 2021-09-13 12:17:37 -07:00
Sean McManus f28b78931d Fix string. (#8145) 2021-09-13 11:03:41 -07:00
Sean McManus 88040d5d35 String/settings fixes (#8129)
* Fix strings, settings, etc.
* Add hints. Fix settings bug.
* Fix typos.
* Fix failure with GenerateOptionsSchema.
2021-09-10 15:55:51 -07:00
Michelle Matias 4e216cf144 Fix hover test for normal comment (#8136) 2021-09-10 10:48:48 -07:00
Elaheh Rashedi 7516eefb4f parse arguments in tasks.json (#7895) 2021-09-09 13:37:05 -07:00
Sean McManus 1db3e20d72 Update dependency (#8119)
* Update axios.
2021-09-08 18:38:04 -07:00
Sean McManus 3f81cc0838 Move the scope of document symbols to the details. (#8111) 2021-09-08 15:37:38 -07:00
Elaheh Rashedi f26f88b8e1 detect c/c++ source files when running a build a task (#8095) 2021-09-07 09:57:11 -07:00
Elaheh Rashedi 6f4ce8fe3d skip relative paths in forceInclude (#8081) 2021-09-07 09:50:09 -07:00
Sean McManus db9ef1fa46 Update plist. (#8089) 2021-09-02 13:24:08 -07:00
Alan Leung 26022ba2b0 Add postRemoteConnectCommands to schema (#8088) 2021-09-01 17:45:57 -07:00
Elaheh Rashedi e86fd97d71 add ${execpath} and ${pathSeparator} (#8077) 2021-08-31 12:22:01 -07:00
Bob Brown 1aa22b8124 Merge branch 'main' into bobbrow/telemetryUpdate 2021-08-25 08:52:24 -07:00
Michelle Matias 19b55199d4 Remove executable check for OpenDebugAD7 (#8046) (#8047) 2021-08-24 14:47:44 -07:00
Michelle Matias 5dcb3081e5 Remove executable check for OpenDebugAD7 (#8046) 2021-08-24 14:36:29 -07:00
Colen Garoutte-Carson 60aa015a2b Merge pull request #8038 from microsoft/main 2021-08-23 17:15:41 -07:00
Colen Garoutte-Carson 353d03a152 Merge branch 'release' into main 2021-08-23 17:14:20 -07:00
Colen Garoutte-Carson 6ce2b28b80 Update links and hashes for 1.6.0 (#8037) 2021-08-23 16:43:57 -07:00
Colen Garoutte-Carson ae7fa0d500 Update changelog and version for 1.6.0 (#8035) 2021-08-23 15:10:23 -07:00
Sean McManus f5d1567440 Fix old cached updateChannel default being used after package.json modification. (#8032)
* Fix old cached extension being used after package.json modification.
* Limit it to when updateChannel is changed.
2021-08-23 13:22:04 -07:00
Andrew Wang ccfc40a47c Update Debugger Packages (#8021) 2021-08-23 12:59:37 -07:00
Sean McManus 5436cbbb6d Some translation fixes. (#8019) 2021-08-23 12:35:30 -07:00
Colen Garoutte-Carson 6610004132 Add support for localization hints in schema files (#8016) 2021-08-23 12:25:03 -07:00
Sean McManus 5623d1ecf5 Fix "env" translations. (#8018) 2021-08-20 11:15:57 -07:00
Colen Garoutte-Carson 49d4b82330 A couple more translation fixes (#8015) 2021-08-19 18:38:51 -07:00
Sean McManus 3e1266e3de Some translation fixes. (#8014) 2021-08-19 17:49:22 -07:00
Colen Garoutte-Carson 35964e0756 Merges rewrite of package.json so it's only done once (#8012) 2021-08-19 15:05:26 -07:00
csigsandColen Garoutte-Carson d6b9003f6f [Auto] Localization - Translated Strings (#8010)
* Localization - Translated Strings

* Fix loc issues

* More corrections

Co-authored-by: Colen Garoutte-Carson <[email protected]>
2021-08-19 12:25:50 -07:00
Colen Garoutte-Carson eede66558e Merge pull request #8007 from microsoft/main 2021-08-18 16:00:20 -07:00
Colen Garoutte-Carson f7ab54c951 Update changelog for 1.6.0-insiders3 (#8006) 2021-08-18 15:56:47 -07:00
Julia Reid 62acfc8d90 Update install-compiler-windows.md (#7998) 2021-08-18 15:56:12 -07:00
Colen Garoutte-Carson f02661a472 Fix rewrite of updateChannel for remote VS Code insiders (#8003) 2021-08-18 14:14:13 -07:00
Colen Garoutte-Carson 1ed96026ae Revert scopes for updateChannel and intelliSenseUpdateDelay back to "application" (#8004) 2021-08-18 13:45:03 -07:00
csigsandSean McManus 4cb51b72e1 [Auto] Localization - Translated Strings (#7935)
* Localization - Translated Strings

* Fix regressions.

Co-authored-by: Sean McManus <[email protected]>
2021-08-18 11:19:21 -07:00
Charles Milette 928a5d4b03 Update Theme extension image previews to work in the store (#7977) 2021-08-17 14:54:10 -07:00
Colen Garoutte-Carson a9890f62ae Merge pull request #7988 from microsoft/main 2021-08-16 18:26:31 -07:00
Colen Garoutte-Carson 93b14d5744 Merge pull request #7989 from microsoft/coleng/fix_changelong_160i2 2021-08-16 18:20:10 -07:00
Colen Garoutte-Carson 4ea5a278c0 Fix a couple typos in changelog 2021-08-16 18:13:47 -07:00
Colen Garoutte-Carson 86f1a0977d Merge pull request #7987 from microsoft/coleng/update_changelog_1.6.0-insiders2 2021-08-16 17:05:04 -07:00
Colen Garoutte-Carson d726367408 Fix typo 2021-08-16 16:54:31 -07:00
Colen Garoutte-Carson a213d227a5 Update text 2021-08-16 16:41:46 -07:00
Colen Garoutte-Carson e921604cea Add debugger issue 2021-08-16 16:38:43 -07:00
Colen Garoutte-Carson 7034b4b5a4 Remove blank line 2021-08-16 15:20:57 -07:00
Colen Garoutte-Carson 1a2c37a2db Update changelog for 1.6.0-insiders2 2021-08-16 15:20:05 -07:00
Andrew Wang 1d10e0446e Update Links (#7984) 2021-08-16 13:28:28 -07:00
Bob Brown b7a8a07a39 Merge branch 'main' into bobbrow/telemetryUpdate 2021-08-16 12:06:05 -07:00
Sean McManus 45e5d6caa7 Fix some setting scopes. (#7973) 2021-08-13 18:17:22 -07:00
Colen Garoutte-Carson c98303bd2c Merge pull request #7967 from microsoft/main 2021-08-12 13:20:55 -07:00
Colen Garoutte-Carson c7945e8509 Merge pull request #7966 from microsoft/coleng/update_changelog_08122021 2021-08-12 13:14:35 -07:00
Colen Garoutte-Carson df6bd14d70 Update changelog 2021-08-12 13:02:45 -07:00
Bob Brown c788dd02c0 Merge branch 'main' into bobbrow/telemetryUpdate 2021-08-12 08:32:32 -07:00
Colen Garoutte-Carson c658673abb Merge pull request #7963 from microsoft/main
Merge main to insiders branch
2021-08-11 18:52:59 -07:00
Andrew Wang 3917fc4f08 Update Debugger Packages (#7964) 2021-08-11 18:39:05 -07:00
Colen Garoutte-Carson c916e8d930 Fix code folding bug (#7962) 2021-08-11 14:54:43 -07:00
Colen Garoutte-Carson 7230cf3954 Fix placement in changelog (#7956) 2021-08-11 11:14:01 -07:00
Colen Garoutte-Carson 4c3b402925 Update changelog for 1.6.0-insiders (#7952) 2021-08-10 18:38:15 -07:00
Sean McManus 36dd2d2458 Fix dependency issue. 2021-08-10 18:22:51 -07:00
Colen Garoutte-Carson a4c1e6a5be Add conditional use of vcFormat when formatting is set to Default (#7941) 2021-08-10 18:13:35 -07:00
Colen Garoutte-Carson ed64b7cbf2 Add support for most standard .editorconfig settings (#7927) 2021-08-06 19:57:27 -07:00
Bob Brown (DEVDIV) a0b665b9c7 Telemetry tweaks 2021-08-06 15:47:01 -07:00
Sean McManus 4d76f74f59 Fix architecture not supported check. (#7924) 2021-08-06 10:55:56 -07:00
Sean McManus 377c126a4a Merge pull request #7915 from microsoft/localization
[Auto] Localization - Translated Strings
2021-08-06 10:39:25 -07:00
Sean McManus 3bcc88e4a5 Fix another case. 2021-08-06 10:33:49 -07:00
Sean McManus 9c62fce293 Fix space in settings. 2021-08-06 10:24:36 -07:00
csigs 9f25573e73 Localization - Translated Strings 2021-08-06 07:04:06 +00:00
csigs d562206309 Localization - Translated Strings (#7896) 2021-08-03 18:02:33 -07:00
Colen Garoutte-Carson 590dd677e3 Use new modal w/ detail dialog for compiler list in Walkthrough (#7887) 2021-07-29 15:06:59 -07:00
Colen Garoutte-Carson bdbbfd3786 Enable localization of walkthrough MD files (provided they are actually HTML) (#7894) 2021-07-29 15:02:04 -07:00
Sean McManus d3a38d9f28 Fix It translation crash. (#7893) 2021-07-28 14:23:34 -07:00
csigs c5a7a01889 Localization - Translated Strings (#7885) 2021-07-28 00:16:42 -07:00
Sean McManus 604a2b7d87 Update IntelliSense string translations. (#7884)
* Update IntelliSense string translations.
2021-07-27 23:19:11 -07:00
Elaheh Rashedi d1372f928b change C_Cpp.default.compilerPath scope (#7873) 2021-07-27 14:09:36 -07:00
Sean McManus c7e99415e0 Reduce retry delay. (#7883) 2021-07-27 13:49:15 -07:00
Sean McManus bc4457c957 Retry more. (#7880) 2021-07-26 19:34:26 -07:00
Sean McManus ecdb08ec8c Fix clang-format used for multi-root. (#7871) 2021-07-26 17:15:52 -07:00
Sean McManus 3afa6206ff Remove .darwin from clang-format. (#7866) 2021-07-26 16:56:36 -07:00
csigs f2d4dec5a6 Localization - Translated Strings (#7852) 2021-07-26 11:10:48 -07:00
Andrew Wang 62fff2b37b Update Debugger Packages (#7858)
Debugger now ships using .NET 5 Runtime to run OpenDebugAD7.

Supports:
- win7-x86
- win-x64
- win10-arm64
- linux-x64
- linux-musl-x64
- linux-arm
- linux-arm64
- osx-x64

Cleaned up unused setup files.
Updated packageManager to download alpine dependencies.
Removed 'removeUnnecessaryFile' step since that removed windows
configurations for OpenDebugAD7.
2021-07-22 11:47:14 -07:00
Sean McManus fe2064d5b9 String fixes. (#7855)
* String fixes.
2021-07-21 16:28:09 -07:00
csigs c2419ad58d [Auto] Localization - Translated Strings (#7819)
* Localization - Translated Strings
2021-07-20 16:33:41 -07:00
Sean McManus 6b99f44475 Enable code analysis status with pause/cancel, add open file parsing status (#7831)
* Enable clang-tidy status to appear (with pause/resume commands), part of https://github.com/microsoft/vscode-cpptools/issues/2908.
* Enable file parsing status to appear, addressing some issues of https://github.com/microsoft/vscode-cpptools/issues/4117
* Enable status icons to be enabled/disabled: https://github.com/microsoft/vscode-cpptools/issues/7700 .
2021-07-20 16:21:02 -07:00
ChenLei eee5aa3060 chore: replace deprecated vscode-test with @vscode/test-electron (#7844) 2021-07-20 16:07:50 -07:00
Sean McManus 948bc0e138 Fix search not finding results in package.nls.json. (#7850) 2021-07-20 15:55:05 -07:00
Colen Garoutte-Carson deb7a7da46 Fix issue with compilerPathIsExplicit not being set properly (#7839) 2021-07-19 10:07:31 -07:00
Colen Garoutte-Carson 90fb9919f4 Provide separate semantic token fallback scopes for each supported language (#7829) 2021-07-14 17:53:28 -07:00
Colen Garoutte-Carson 11ed061136 Add logging of loggingLevel (#7807) 2021-07-14 11:58:27 -07:00
Sean McManus c98d437c0d Fix code folding bug. (#7818)
* Fix code folding bug.
2021-07-13 12:00:55 -07:00
kiron1andSean McManus 9c53c7090e Rename jason.files.missing to json.files.missing (#7820)
Co-authored-by: Sean McManus <[email protected]>
2021-07-13 10:09:30 -07:00
csigs a86d713e8a [Auto] Localization - Translated Strings (#7760)
* Localization - Translated Strings
Co-authored-by: Sean McManus <[email protected]>
2021-07-12 17:50:27 -07:00
Sean McManus 92384bf0c6 Merge pull request #7812 from microsoft/main
Merge for 1.5.1
2021-07-09 01:55:08 -07:00
Andrew Wang bbe5c42e64 Update Windows Debugger Packages (#7811)
* Fix vsdbg crash on windows x64

Addresses #7808

* Update package version and add CHANGELOG
2021-07-09 01:52:36 -07:00
Sean McManus 9791061ca2 Add localization hint. (#7799) 2021-07-08 21:46:24 -07:00
Colen Garoutte-Carson f87d7a735e Fix issue causing a squiggle in package.json (#7806) 2021-07-08 18:11:11 -07:00
Sean McManus 14055547fa Merge pull request #7805 from microsoft/main
Update package hashes for new packages (#7804)
2021-07-08 14:43:46 -07:00
Andrew Wang 9843f739db Update package hashes for new packages (#7804) 2021-07-08 14:39:36 -07:00
Sean McManus 3a3a3453e7 Merge pull request #7801 from microsoft/main
Merge for 1.5.0
2021-07-07 19:33:29 -07:00
Sean McManus 0228b9725e Merge branch 'release' into main 2021-07-07 19:22:36 -07:00
Sean McManus 385a267208 Update changelog for 1.5.0. (#7797)
* Update changelog for 1.5.0.
* Update fwlinks.
2021-07-07 19:20:03 -07:00
Austen OttandAndrew Wang bbf217f090 Add Windows ARM64 Debugger Packages (#7798)
* Add arm64 vsdbg package and update to newer versions.

* Remove arm64 block.

Co-authored-by: Andrew Wang <[email protected]>
2021-07-07 16:44:53 -07:00
Sean McManus f474c284f4 Fix code foldering with nested ifs. (#7793) 2021-07-07 15:30:52 -07:00
Sean McManus 7ad30dae85 Merge pull request #7766 from microsoft/main
Merge for 1.5.0-insiders3 (2nd time)
2021-07-01 14:25:47 -07:00
Elaheh Rashedi 3967429440 fix debugger for clang compilers (#7765) 2021-07-01 13:31:51 -07:00
Sean McManus 29b0b0611a Fix debug configuration selection cancellation. (#7763) 2021-07-01 12:05:23 -07:00
Sean McManus 2ab63a451a Merge pull request #7758 from microsoft/main
Merge for 1.5.0-insiders3
2021-06-30 17:46:54 -07:00
Sean McManus 2a9afe8046 Update changelog. (#7757) 2021-06-30 17:39:50 -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 857bce91ee Merge pull request #7734 from microsoft/main
Merge for 1.5.0-insiders2
2021-06-21 15:49:31 -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 49b8160a58 Merge pull request #7695 from microsoft/main
Fix settings UI. (#7694)
2021-06-14 15:21:58 -07:00
Sean McManus 6dba4f60ff Fix settings UI. (#7694) 2021-06-14 15:21:22 -07:00
Sean McManus 4d80ef39cb Merge pull request #7691 from microsoft/main
Minor changes. (#7690)
2021-06-14 11:31:53 -07:00
Sean McManus 8e0074e580 Minor changes. (#7690) 2021-06-14 11:30:51 -07:00
Sean McManus 8ea76a7d8b Merge pull request #7683 from microsoft/1_5_0_insiders
1 5 0 insiders
2021-06-11 19:36:17 -07:00
Sean McManus 046821112b Merge branch 'main' into 1_5_0_insiders 2021-06-11 17:47:43 -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
Sean McManus 54bf446cbc Merge pull request #7658 from microsoft/1_4_1
1.4.1
2021-06-07 18:02:47 -07:00
Sean McManus ecfe50be26 Update changelog for 1.4.1. (#7657)
* Update changelog for 1.4.1.
2021-06-07 17:43:28 -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 623029cc62 Better fix for settings UI not getting updated. (#7656)
* Better fix for settings UI not getting updated.
2021-06-07 16:23:16 -07:00
Sean McManus 4076edd843 Workaround for webViewPanel.postMessage getting dropped. (#7647)
* Workaround for webViewPanel.postMessage getting dropped.
2021-06-07 16:23:10 -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
Sean McManus 1ad52f98b1 Merge pull request #7612 from microsoft/main
Fix Walkthrough property (#7611)
2021-05-27 15:08:21 -07:00
Colen Garoutte-Carson 934a8563df Fix Walkthrough property (#7611) 2021-05-27 15:06:09 -07:00
Sean McManus 034390f36c Merge pull request #7608 from microsoft/seanmcm/1_4_0_release
1.4.0-release
2021-05-27 13:09:10 -07:00
Sean McManus 6d85f9cdf9 Merge branch 'main' into seanmcm/1_4_0_release 2021-05-27 13:03:49 -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 1d0a886ec6 Merge branch 'main' into seanmcm/1_4_0_release 2021-05-27 11:57:43 -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 18ac98a353 Merge pull request #7591 from microsoft/seanmcm/1_4_0_insiders3_2
1.4.0-insiders3 2nd time
2021-05-25 15:27:47 -07:00
Sean McManus fad828ed78 Merge branch 'main' into seanmcm/1_4_0_insiders3_2 2021-05-25 14:37:44 -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 f675d7ece3 Merge pull request #7566 from microsoft/seanmcm/1_4_0_insiders3
1.4.0-insiders3
2021-05-20 18:44:01 -07:00
Sean McManus 213799975c Merge branch 'main' into seanmcm/1_4_0_insiders3 2021-05-20 18:39:44 -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 3512a088d6 Merge pull request #7537 from microsoft/seanmmc/1_4_0_insiders2
1.4.0-insiders2
2021-05-17 14:09:30 -07:00
Sean McManus 8ec3dfa3fd Merge branch 'main' into seanmmc/1_4_0_insiders2 2021-05-17 12:58:47 -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
Sean McManus 905f8dc216 Merge pull request #7504 from microsoft/seanmcm/1_4_0_insidersMerge2
1.4.0-insiders merge2
2021-05-10 11:55:49 -07:00
Sean McManus 6464f55fcf Merge branch 'main' into seanmcm/1_4_0_insidersMerge2 2021-05-10 09:54:57 -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 dba4a28d88 Merge pull request #7480 from microsoft/seanmcm/1_4_0_insiders
1.4.0-insiders
2021-05-06 19:39:23 -07:00
Sean McManus bcc256ec16 Update version. (#7481) 2021-05-06 19:00:14 -07:00
Sean McManus 53a3864fdc Update version. 2021-05-06 18:46:06 -07:00
Sean McManus 0ea25159d4 Merge branch 'main' into seanmcm/1_4_0_insiders 2021-05-06 18:41:47 -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 1246f5a62c Merge pull request #7392 from microsoft/main
Merge for 1.3.1
2021-04-19 15:07:20 -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 52f7999233 Merge pull request #7352 from microsoft/mimatias/r1-3-0
1.3.0 release
2021-04-12 22:45:17 -07:00
Michelle Matias 173f79ca4e Merge branch 'main' into mimatias/r1-3-0 2021-04-12 22:38:09 -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
Colen Garoutte-Carson 143207aadb Merge to insiders (#7320) 2021-04-08 15:22:46 -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
Michelle Matias 0edf6c3ea7 Merge pull request #7304 from microsoft/mimatias/insiders4-2
1.3.0-insiders4 (#2)
2021-04-06 16:39:09 -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 4e22b6577f Merge pull request #7302 from microsoft/mimatias/insiders4
1.3.0-insiders4
2021-04-06 11:48:40 -07:00
Michelle Matias 1ab60bc247 Merge branch 'insiders' into mimatias/insiders4 2021-04-06 11:45:09 -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 33eb2f6abe Add some files missed when merging to Insiders branch (#7271) 2021-04-01 12:15:23 -07:00
Colen Garoutte-Carson 11262438e3 Merge main into insiders (#7266) 2021-03-31 19:16:40 -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 673a68d4cc Merge to insiders (#7236) 2021-03-25 14:05:32 -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 437d9b333a Merge pull request #7223 from microsoft/1_3_0_insiders2
1.3.0-insiders2 merge
2021-03-24 12:10:49 -07:00
Sean McManus 0139274856 Change date. 2021-03-24 12:09:28 -07:00
Sean McManus 87cfa702bc Update changelog. 2021-03-24 06:04:49 -07:00
Sean McManus 47b502b965 Update changelog. 2021-03-24 05:57:45 -07:00
Sean McManus 013bff267e Merge branch 'insiders' into 1_3_0_insiders2 2021-03-24 05:53:35 -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 d942d64b7b Merge main to insiders (#7186) 2021-03-16 20:56:48 -07:00
Colen Garoutte-Carson 63dbbb8b38 Update changelog date (#7183) 2021-03-16 20:44:21 -07:00
Colen Garoutte-Carson 1a2bf6fc4c Merge main into insiders (#7180) 2021-03-16 17:44:59 -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 7bac5a7101 Merge pull request #7053 from microsoft/mimatias/main122
Merge main to release for 1.2.2
2021-02-25 14:38:00 -08:00
Michelle Matias 736cf279c3 Merge branch 'release' into mimatias/main122 2021-02-25 14:36:54 -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 32c1d6bf52 Merge pull request #6997 from microsoft/main
Merge for 1.2.2-insiders2
2021-02-18 18:13:59 -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
Sean McManus ebd5314b48 Merge pull request #6986 from microsoft/seanmcm/1_2_2_insiders
1.2.2-insiders
2021-02-17 15:01:04 -08:00
Sean McManus 5c7f551dba Merge. 2021-02-17 14:57:49 -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
Elaheh Rashedi 8401086544 Merge pull request #6977 from microsoft/release1.2.1_2
remove main from version
2021-02-16 17:59:36 -05:00
Elaheh Rashedi 5b44545fd2 remove main from version 2021-02-16 17:54:34 -05:00
csigs 71a1005720 Localization - Translated Strings (#6970) 2021-02-16 11:44:06 -08:00
Elaheh Rashedi 52b2b8f6df Merge pull request #6961 from microsoft/release1.2.1
Release1.2.1
2021-02-12 14:00:28 -05:00
Elaheh Rashedi 67345e0e6d Merge branch 'main' into release1.2.1 2021-02-12 13:44:10 -05: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
Sean McManus 6ccea3878b Merge pull request #6853 from microsoft/seanmcm/1_2_0_insiders3
1.2.0-insiders3
2021-01-26 18:22:11 -08:00
Sean McManus e5fd036af9 Update changelog. 2021-01-26 17:40:57 -08:00
Sean McManus 4254419e76 Merge branch 'main' into seanmcm/1_2_0_insiders3 2021-01-26 17:27:51 -08:00
Sean McManus f9ecc9c6f9 Merge pull request #6820 from microsoft/seanmcm/1_2_0_insiders2
1.2.0-insiders2
2021-01-19 20:26:53 -08:00
Sean McManus 9405f41521 Merge branch 'main' into seanmcm/1_2_0_insiders2 2021-01-19 18:22:49 -08:00
Sean McManus 37cca41225 Merge pull request #6785 from microsoft/seanmcm/1_2_0_insiders_updates
1 2 0 insiders updates
2021-01-14 18:22:43 -08:00
Sean McManus ed584b23e2 Merge branch 'main' into seanmcm/1_2_0_insiders_updates 2021-01-14 18:21:56 -08:00
Sean McManus f7cab674a4 Merge branch 'main' into seanmcm/1_2_0_insiders_updates 2021-01-14 17:31:47 -08:00
Sean McManus 42586081fa Merge pull request #6777 from microsoft/seanmcm/1_2_0_insiders
Merge latest changes for 1.2.0-insiders
2021-01-13 18:56:37 -08:00
Sean McManus c49e51d386 Fix extra space. 2021-01-13 18:53:52 -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
971 changed files with 69913 additions and 24380 deletions
@@ -0,0 +1,79 @@
name: Bug Report - Language Service
description: Create a bug report for IntelliSense, code editing, code navigation, code completion, code formatting, semantic colorization, etc.
body:
- type: markdown
attributes:
value: |
### Is there an existing issue for this?
Please search our [existing issues](https://github.com/microsoft/vscode-cpptools/issues) to see if an issue already exists for the bug you encountered.
Please also review our [documentation](https://code.visualstudio.com/docs/languages/cpp) and [FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp).
- type: textarea
attributes:
label: Environment
description: |
Please provide the information for the following:
- OS and Version
- VS Code Version
- C/C++ Extension Version
- If using SSH remote, specify OS of remote machine
value: |
- OS and Version:
- VS Code Version:
- C/C++ Extension Version:
- If using SSH remote, specify OS of remote machine:
validations:
required: true
- type: textarea
attributes:
label: Bug Summary and Steps to Reproduce
description: |
Please describe the language service issue or language service feature that is not working as expected. Include information about the actual workspace project (for example, is the workspace a single project or multiple projects, size of the project, etc).
Include clear steps on how to reproduce the issue and a description of what you expected to happen.
value: |
Bug Summary:
Steps to reproduce:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
Expected behavior:
validations:
required: true
- type: textarea
attributes:
label: Configuration and Logs
description: |
Please provide your c_cpp_properties.json and logs:
- 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)
render: shell
validations:
required: true
- type: textarea
attributes:
label: Other Extensions
description: If applicable, please list other extensions installed and if the issue persists after disabling other extensions.
validations:
required: false
- type: textarea
attributes:
label: Additional context
description: |
Optionally provide other information that will give us more context about the issue you are encountering, such as code sample, screenshots, screen recording of the issue, call stacks, etc.
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.
validations:
required: false
+78
View File
@@ -0,0 +1,78 @@
name: Bug Report - Debugger
description: Create a bug report for debugging such as call stack, breakpoints, watch window, launching or attaching to a debuggee.
body:
- type: markdown
attributes:
value: |
### Is there an existing issue for this?
Please search our [existing issues](https://github.com/microsoft/vscode-cpptools/issues) to see if an issue already exists for the bug you encountered.
Please also review our [documentation](https://code.visualstudio.com/docs/languages/cpp) and [FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp).
- type: textarea
attributes:
label: Environment
description: |
Please provide the information for the following:
- OS and version
- VS Code version
- C/C++ extension version
- OS and version of remote machine (if applicable)
- GDB / LLDB version
value: |
- OS and version:
- VS Code:
- C/C++ extension:
- OS and version of remote machine (if applicable):
- GDB / LLDB version:
validations:
required: true
- type: textarea
attributes:
label: Bug Summary and Steps to Reproduce
description: |
Please describe the debugging issue or debugger feature that is not working as expected.
Include clear steps on how to reproduce the issue.
value: |
Bug Summary:
Steps to reproduce:
1. In this environment...
2. With this config...
3. Do '...'
4. See error...
validations:
required: true
- type: textarea
attributes:
label: Debugger Configurations
description: Please provide the debugger configurations from the **tasks.json** and **launch.json** files.
render: shell
validations:
required: true
- type: textarea
attributes:
label: Debugger Logs
description: |
If applicable, please include [logging for the debugger adapter](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-debug-adapter) by adding `"logging": { "engineLogging": true, "trace": true, "traceResponse": true }` in the **launch.json** file.
Include logs or error messages from the Debug Console or Output windows.
render: shell
validations:
required: true
- type: textarea
attributes:
label: Other Extensions
description: If applicable, please list other extensions installed and if the issue persists after disabling other extensions.
validations:
required: false
- type: textarea
attributes:
label: Additional Information
description: |
Optionally provide other information that will give us more context about the issue you are encountering, such as a code sample, screenshots, or screen recording of the issue.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
@@ -0,0 +1,15 @@
name: Feature Request
description: Suggest an idea for the C/C++ extension.
body:
- type: markdown
attributes:
value: |
### Is there an existing request for this feature?
Prior to creating a new feature request, please review our [existing feature requests](https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22) to avoid duplicates.
- type: textarea
attributes:
label: Feature Request
description: |
Describe the feature you'd like.
validations:
required: true
+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.
-38
View File
@@ -1,38 +0,0 @@
---
name: Debugger
about: Issues pertaining to debugging such as call stack, breakpoints, watch window,
launching or attaching to a debuggee.
title: ''
labels: ''
assignees: ''
---
Type: Debugger
<!----- Input information below ----->
<!--
**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
-->
**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):
- 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:
1. Go to '...'
2. Click on '....'
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.
@@ -1,42 +0,0 @@
---
name: General Extension
about: Issues pertaining to downloading, installing, or building the extension.
title: ''
labels: ''
assignees: ''
---
Type: General
<!----- Input information below ----->
<!--
**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
-->
**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):
- 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:
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.
**Screenshots**
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.
@@ -1,58 +0,0 @@
---
name: Language Service
about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
title: ''
labels: ''
assignees: ''
---
**Type: LanguageService**
<!----- Input information below ----->
<!--
**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
-->
**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?:
- 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* -->
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>
**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".
-->
+5 -5
View File
@@ -15,8 +15,8 @@ class Locker extends ActionBase_1.ActionBase {
this.daysSinceUpdate = daysSinceUpdate;
}
async run() {
const closedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceClose);
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceUpdate);
const closedTimestamp = (0, utils_1.daysAgoToHumanReadbleDate)(this.daysSinceClose);
const updatedTimestamp = (0, 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) => {
@@ -24,15 +24,15 @@ class Locker extends ActionBase_1.ActionBase {
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
// TODO: Verify closed and updated timestamps
) {
console.log(`Locking issue ${hydrated.number}`);
(0, utils_1.safeLog)(`Locking issue ${hydrated.number}`);
await issue.lockIssue();
}
else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is already locked. Ignoring`);
(0, utils_1.safeLog)(`Issue ${hydrated.number} is already locked. Ignoring`);
}
else if (hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`);
(0, utils_1.safeLog)(`Issue ${hydrated.number} is open. Ignoring`);
}
}
}));
+10 -10
View File
@@ -3,9 +3,9 @@
* 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'
import { GitHub, Issue } from '../api/api';
import { daysAgoToHumanReadbleDate, safeLog } from '../common/utils';
import { ActionBase } from '../common/ActionBase';
export class Locker extends ActionBase {
constructor(
@@ -26,26 +26,26 @@ export class Locker extends ActionBase {
}
async run() {
const closedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceClose)
const updatedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceUpdate)
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()
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()
safeLog(`Locking issue ${hydrated.number}`);
await issue.lockIssue();
} else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is already locked. Ignoring`)
safeLog(`Issue ${hydrated.number} is already locked. Ignoring`);
} else if (hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`)
safeLog(`Issue ${hydrated.number} is open. Ignoring`);
}
}
}),
+1 -1
View File
@@ -13,7 +13,7 @@ class LockerAction extends Action_1.Action {
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();
await new Locker_1.Locker(github, +(0, utils_1.getRequiredInput)('daysSinceClose'), +(0, utils_1.getRequiredInput)('daysSinceUpdate'), (0, utils_1.getInput)('labels') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999)).run();
}
}
new LockerAction().run(); // eslint-disable-line
+7 -7
View File
@@ -3,13 +3,13 @@
* 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'
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'
id = 'Locker';
async onTriggered(github: OctoKit) {
await new Locker(
@@ -24,8 +24,8 @@ class LockerAction extends Action {
getInput('ignoreMilestoneIds') || undefined,
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999)
).run()
).run();
}
}
new LockerAction().run() // eslint-disable-line
new LockerAction().run(); // eslint-disable-line
+9 -8
View File
@@ -5,6 +5,7 @@
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Reopener = void 0;
const utils_1 = require("../common/utils");
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) {
@@ -19,7 +20,7 @@ class Reopener extends ActionBase_1.ActionBase {
async run() {
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
console.log(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
(0, utils_1.safeLog)(`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) => {
@@ -28,17 +29,17 @@ class Reopener extends ActionBase_1.ActionBase {
// TODO: Verify closed and updated timestamps
) {
if (hydrated.open === false) {
console.log(`Reopening issue ${hydrated.number}`);
(0, utils_1.safeLog)(`Reopening issue ${hydrated.number}`);
await issue.reopenIssue();
}
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
(0, utils_1.safeLog)(`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}`);
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
@@ -46,22 +47,22 @@ class Reopener extends ActionBase_1.ActionBase {
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`);
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
if (this.reopenComment) {
console.log(`Posting comment to issue ${hydrated.number}.`);
(0, utils_1.safeLog)(`Posting comment to issue ${hydrated.number}.`);
await issue.postComment(this.reopenComment);
}
}
else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is locked. Ignoring`);
(0, utils_1.safeLog)(`Issue ${hydrated.number} is locked. Ignoring`);
}
else if (!this.alsoApplyToOpenIssues && hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`);
(0, utils_1.safeLog)(`Issue ${hydrated.number} is open. Ignoring`);
}
}
}));
+17 -16
View File
@@ -3,8 +3,9 @@
* 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'
import { GitHub, Issue } from '../api/api';
import { daysAgoToHumanReadbleDate, safeLog } from '../common/utils';
import { ActionBase } from '../common/ActionBase';
export class Reopener extends ActionBase {
constructor(
@@ -31,50 +32,50 @@ export class Reopener extends ActionBase {
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
console.log(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
safeLog(`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()
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()
safeLog(`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)
safeLog(`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)
safeLog(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
}
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`)
await issue.addLabel(addLabel)
safeLog(`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)
safeLog(`Posting comment to issue ${hydrated.number}.`);
await issue.postComment(this.reopenComment);
}
} else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is locked. Ignoring`)
safeLog(`Issue ${hydrated.number} is locked. Ignoring`);
} else if (!this.alsoApplyToOpenIssues && hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`)
safeLog(`Issue ${hydrated.number} is open. Ignoring`);
}
}
}),
+3 -3
View File
@@ -10,11 +10,11 @@ const Action_1 = require("../common/Action");
class ReopenerAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'Locker';
this.id = 'Reopener';
}
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();
const alsoApplyToOpenIssues = (0, utils_1.getInput)('alsoApplyToOpenIssues');
await new Reopener_1.Reopener(github, alsoApplyToOpenIssues != undefined && alsoApplyToOpenIssues.toLowerCase() == 'true', (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('reopenComment') || '', (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('labels') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999)).run();
}
}
new ReopenerAction().run(); // eslint-disable-line
+7 -7
View File
@@ -3,13 +3,13 @@
* 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'
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'
id = 'Reopener';
async onTriggered(github: OctoKit) {
const alsoApplyToOpenIssues: string | undefined = getInput('alsoApplyToOpenIssues');
@@ -28,8 +28,8 @@ class ReopenerAction extends Action {
getInput('ignoreMilestoneIds') || undefined,
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999)
).run()
).run();
}
}
new ReopenerAction().run() // eslint-disable-line
new ReopenerAction().run(); // eslint-disable-line
+14 -14
View File
@@ -21,8 +21,8 @@ class StaleCloser extends ActionBase_1.ActionBase {
this.setMilestoneId = setMilestoneId;
}
async run() {
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.closeDays);
const pingTimestamp = this.pingDays ? utils_1.daysAgoToTimestamp(this.pingDays) : undefined;
const updatedTimestamp = (0, utils_1.daysAgoToHumanReadbleDate)(this.closeDays);
const pingTimestamp = this.pingDays ? (0, utils_1.daysAgoToTimestamp)(this.pingDays) : undefined;
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
@@ -45,20 +45,20 @@ class StaleCloser extends ActionBase_1.ActionBase {
await issue.hasWriteAccess(lastComment.author)) {
if (pingTimestamp != undefined) {
if (lastComment) {
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
}
else {
console.log(`No comments on issue ${hydrated.number}. Closing.`);
(0, utils_1.safeLog)(`No comments on issue ${hydrated.number}. Closing.`);
}
}
if (this.closeComment) {
console.log(`Posting comment on issue ${hydrated.number}`);
(0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`);
await issue.postComment(this.closeComment);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
console.log(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
@@ -66,22 +66,22 @@ class StaleCloser extends ActionBase_1.ActionBase {
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`);
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
await issue.closeIssue();
await issue.closeIssue("not_planned");
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
console.log(`Closing issue ${hydrated.number}.`);
(0, utils_1.safeLog)(`Closing issue ${hydrated.number}.`);
}
else {
// Ping
// Ping
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
if (this.pingComment) {
await issue.postComment(this.pingComment
.replace('${assignee}', hydrated.assignee)
@@ -89,13 +89,13 @@ class StaleCloser extends ActionBase_1.ActionBase {
}
}
else {
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
(0, utils_1.safeLog)(`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`);
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
+28 -28
View File
@@ -3,9 +3,9 @@
* 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'
import { GitHub } from '../api/api';
import { ActionBase } from '../common/ActionBase';
import { daysAgoToHumanReadbleDate, daysAgoToTimestamp, safeLog } from '../common/utils';
export class StaleCloser extends ActionBase {
constructor(
@@ -33,7 +33,7 @@ export class StaleCloser extends ActionBase {
}
async run() {
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays)
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");
@@ -43,12 +43,12 @@ export class StaleCloser extends ActionBase {
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()
const hydrated = await issue.getIssue();
const lastCommentIterator = await issue.getComments(true).next();
if (lastCommentIterator.done) {
throw Error('Unexpected comment data')
throw Error('Unexpected comment data');
}
const lastComment = lastCommentIterator.value[0]
const lastComment = lastCommentIterator.value[0];
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
@@ -63,63 +63,63 @@ export class StaleCloser extends ActionBase {
) {
if (pingTimestamp != undefined) {
if (lastComment) {
console.log(
safeLog(
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`,
)
);
} else {
console.log(`No comments on issue ${hydrated.number}. Closing.`)
safeLog(`No comments on issue ${hydrated.number}. Closing.`);
}
}
if (this.closeComment) {
console.log(`Posting comment on issue ${hydrated.number}`)
await issue.postComment(this.closeComment)
safeLog(`Posting comment on issue ${hydrated.number}`);
await issue.postComment(this.closeComment);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
console.log(`Removing label on issue ${hydrated.number}: ${removeLabel}`)
await issue.removeLabel(removeLabel)
safeLog(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
}
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`)
await issue.addLabel(addLabel)
safeLog(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
await issue.closeIssue()
await issue.closeIssue("not_planned");
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`)
await issue.setMilestone(+this.setMilestoneId)
safeLog(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
console.log(`Closing issue ${hydrated.number}.`)
safeLog(`Closing issue ${hydrated.number}.`);
} else {
// Ping
// Ping
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
console.log(
safeLog(
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`,
)
);
if (this.pingComment) {
await issue.postComment(
this.pingComment
.replace('${assignee}', hydrated.assignee)
.replace('${author}', hydrated.author.name),
)
);
}
} else {
console.log(
safeLog(
`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`)
safeLog(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
+1 -1
View File
@@ -14,7 +14,7 @@ class StaleCloserAction extends Action_1.Action {
}
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();
await new StaleCloser_1.StaleCloser(github, +(0, utils_1.getRequiredInput)('closeDays'), (0, utils_1.getRequiredInput)('labels'), (0, utils_1.getInput)('closeComment') || '', +((0, utils_1.getInput)('pingDays') || 0), (0, utils_1.getInput)('pingComment') || '', ((_a = (0, utils_1.getInput)('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999), (0, utils_1.getInput)('involves') || undefined).run();
}
}
new StaleCloserAction().run(); // eslint-disable-line
+3 -3
View File
@@ -9,7 +9,7 @@ import { StaleCloser } from './StaleCloser'
import { Action } from '../common/Action'
class StaleCloserAction extends Action {
id = 'StaleCloser'
id = 'StaleCloser';
async onTriggered(github: OctoKit) {
await new StaleCloser(
@@ -31,8 +31,8 @@ class StaleCloserAction extends Action {
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999),
getInput('involves') || undefined
).run()
).run();
}
}
new StaleCloserAction().run() // eslint-disable-line
new StaleCloserAction().run(); // eslint-disable-line
+79 -56
View File
@@ -4,43 +4,53 @@
*--------------------------------------------------------------------------------------------*/
export interface GitHub {
query(query: Query): AsyncIterableIterator<GitHubIssue[]>
repoOwner: string;
repoName: string;
hasWriteAccess(user: User): Promise<boolean>
query(query: Query): AsyncIterableIterator<GitHubIssue[]>;
repoHasLabel(label: string): Promise<boolean>
createLabel(label: string, color: string, description: string): Promise<void>
deleteLabel(label: string): Promise<void>
hasWriteAccess(user: User): Promise<boolean>;
readConfig(path: string): Promise<any>
repoHasLabel(label: string): Promise<boolean>;
createLabel(label: string, color: string, description: string): Promise<void>;
deleteLabel(label: string): Promise<void>;
dispatch(title: string): Promise<void>
readConfig(path: string): Promise<any>;
createIssue(owner: string, repo: string, title: string, body: string): Promise<void>
dispatch(title: string): Promise<void>;
releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'>
createIssue(owner: string, repo: string, title: string, body: string): Promise<void>;
releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'>;
/**
* Returns what we think the current milestone for the repo is based on the due on date.
* @returns The milestone id if one is found, else undefined
*/
getCurrentRepoMilestone(): Promise<number | undefined>;
}
export interface GitHubIssue extends GitHub {
getIssue(): Promise<Issue>
getIssue(): Promise<Issue>;
postComment(body: string): Promise<void>
deleteComment(id: number): Promise<void>
getComments(last?: boolean): AsyncIterableIterator<Comment[]>
postComment(body: string): Promise<void>;
deleteComment(id: number): Promise<void>;
getComments(last?: boolean): AsyncIterableIterator<Comment[]>;
closeIssue(): Promise<void>
lockIssue(): Promise<void>
reopenIssue(): Promise<void>
closeIssue(reason: 'completed' | 'not_planned'): Promise<void>;
lockIssue(): Promise<void>;
unlockIssue(): Promise<void>;
reopenIssue(): Promise<void>;
setMilestone(milestoneId: number): Promise<void>
setMilestone(milestoneId: number): Promise<void>;
addLabel(label: string): Promise<void>
removeLabel(label: string): Promise<void>
addLabel(label: string): Promise<void>;
removeLabel(label: string): Promise<void>;
addAssignee(assignee: string): Promise<void>
removeAssignee(assignee: string): Promise<void>
addAssignee(assignee: string): Promise<void>;
removeAssignee(assignee: string): Promise<void>;
getClosingInfo(): Promise<{ hash: string | undefined; timestamp: number } | undefined>
getClosingInfo(): Promise<{ hash: string | undefined; timestamp: number } | undefined>;
}
type SortVar =
@@ -54,47 +64,60 @@ type SortVar =
| 'reactions-tada'
| 'interactions'
| 'created'
| 'updated'
type SortOrder = 'asc' | 'desc'
| 'updated';
type SortOrder = 'asc' | 'desc';
export type Reactions = {
'+1': number
'-1': number
laugh: number
hooray: number
confused: number
heart: number
rocket: number
eyes: number
}
'+1': number;
'-1': number;
laugh: number;
hooray: number;
confused: number;
heart: number;
rocket: number;
eyes: number;
};
export interface User {
name: string
isGitHubApp?: boolean
name: string;
isGitHubApp?: boolean;
}
export interface Comment {
author: User
body: string
id: number
timestamp: number
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
author: User;
body: string;
title: string;
labels: string[];
open: boolean;
locked: boolean;
number: number;
isPr: boolean;
numComments: number;
reactions: Reactions;
milestone: Milestone | null;
assignee?: string;
assignees: string[];
createdAt: number;
updatedAt: number;
closedAt?: number;
}
export interface Milestone {
milestoneId: number;
title: string;
description: string;
numClosedIssues: number;
numOpenIssues: number;
dueOn: Date | null;
createdAt: Date | null;
closedAt: Date | null;
state: 'open' | 'closed';
}
export interface Query {
q: string
sort?: SortVar
order?: SortOrder
q: string;
sort?: SortVar;
order?: SortOrder;
}
+169 -90
View File
@@ -5,11 +5,12 @@
*--------------------------------------------------------------------------------------------*/
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");
const utils_1 = require("../common/utils");
let numRequests = 0;
exports.getNumRequests = () => numRequests;
const getNumRequests = () => numRequests;
exports.getNumRequests = getNumRequests;
class OctoKit {
constructor(token, params, options = { readonly: false }) {
this.token = token;
@@ -18,73 +19,97 @@ class OctoKit {
// 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);
this._octokit = (0, github_1.getOctokit)(token);
this.repoName = params.repo;
this.repoOwner = params.owner;
}
get octokit() {
numRequests++;
return this._octokit;
}
getIssueByNumber(number) {
return new OctoKitIssue(this.token, this.params, { number: number });
}
// 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({
const options = {
...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));
await new Promise((resolve) => setTimeout(resolve, 10000));
}
else {
await new Promise((resolve) => setTimeout(resolve, 30000));
}
};
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
for await (const pageResponse of this.octokit.paginate.iterator(this.octokit.rest.search.issuesAndPullRequests, options)) {
await timeout();
numRequests++;
const page = pageResponse.data;
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
(0, utils_1.safeLog)(`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}`);
(0, utils_1.safeLog)(`Creating issue \`${title}\` on ${owner}/${repo}`);
if (!this.options.readonly)
await this.octokit.issues.create({ owner, repo, title, body });
await this.octokit.rest.issues.create({ owner, repo, title, body });
}
octokitIssueToIssue(issue) {
var _a, _b, _c, _d, _e, _f;
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
return {
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
body: issue.body,
author: { name: (_b = (_a = issue.user) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : 'unkown', isGitHubApp: ((_c = issue.user) === null || _c === void 0 ? void 0 : _c.type) === 'Bot' },
body: (_d = issue.body) !== null && _d !== void 0 ? _d : '',
number: issue.number,
title: issue.title,
labels: issue.labels.map((label) => label.name),
isPr: !!((_e = issue.pull_request) === null || _e === void 0 ? void 0 : _e.html_url),
labels: issue.labels.map((label) => { var _a; return (typeof label === 'string' ? label : (_a = label.name) !== null && _a !== void 0 ? _a : ''); }),
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,
assignee: (_g = (_f = issue.assignee) === null || _f === void 0 ? void 0 : _f.login) !== null && _g !== void 0 ? _g : (_j = (_h = issue.assignees) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.login,
assignees: (_l = (_k = issue.assignees) === null || _k === void 0 ? void 0 : _k.map((assignee) => assignee.login)) !== null && _l !== void 0 ? _l : [],
milestone: issue.milestone ? this.octokitMilestoneToMilestone(issue.milestone) : null,
createdAt: +new Date(issue.created_at),
updatedAt: +new Date(issue.updated_at),
closedAt: issue.closed_at ? +new Date(issue.closed_at) : undefined,
};
}
octokitMilestoneToMilestone(milestone) {
var _a;
if ((milestone === null || milestone === void 0 ? void 0 : milestone.number) === undefined) {
return null;
}
return {
title: milestone.title,
milestoneId: milestone.number,
// Remove the time portions of the dates as they're not important
createdAt: milestone.created_at !== null ? new Date(milestone.created_at.split('T')[0]) : null,
dueOn: milestone.due_on !== null ? new Date(milestone.due_on.split('T')[0]) : null,
closedAt: milestone.closed_at !== null ? new Date(milestone.closed_at.split('T')[0]) : null,
description: (_a = milestone.description) !== null && _a !== void 0 ? _a : '',
numClosedIssues: milestone.closed_issues,
numOpenIssues: milestone.open_issues,
state: milestone.state === 'open' ? 'open' : 'closed',
};
}
async hasWriteAccess(user) {
if (user.name in this.writeAccessCache) {
core_1.debug('Got permissions from cache for ' + user);
(0, utils_1.safeLog)('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({
(0, utils_1.safeLog)('Fetching permissions for ' + user.name);
const permissions = (await this.octokit.rest.repos.getCollaboratorPermissionLevel({
...this.params,
username: user.name,
})).data.permission;
@@ -92,42 +117,44 @@ class OctoKit {
}
async repoHasLabel(name) {
try {
await this.octokit.issues.getLabel({ ...this.params, name });
await this.octokit.rest.issues.getLabel({ ...this.params, name });
return true;
}
catch (err) {
if (err.status === 404) {
const statusErorr = err;
if (statusErorr.status === 404) {
return this.options.readonly && this.mockLabels.has(name);
}
throw err;
}
}
async createLabel(name, color, description) {
core_1.debug('Creating label ' + name);
(0, utils_1.safeLog)('Creating label ' + name);
if (!this.options.readonly)
await this.octokit.issues.createLabel({ ...this.params, color, description, name });
await this.octokit.rest.issues.createLabel({ ...this.params, color, description, name });
else
this.mockLabels.add(name);
}
async deleteLabel(name) {
core_1.debug('Deleting label ' + name);
(0, utils_1.safeLog)('Deleting label ' + name);
try {
if (!this.options.readonly)
await this.octokit.issues.deleteLabel({ ...this.params, name });
await this.octokit.rest.issues.deleteLabel({ ...this.params, name });
}
catch (err) {
if (err.status === 404) {
const statusErorr = err;
if (statusErorr.status === 404) {
return;
}
throw err;
}
}
async readConfig(path) {
core_1.debug('Reading config at ' + path);
(0, utils_1.safeLog)('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') {
const data = (await this.octokit.rest.repos.getContent({ ...this.params, path: repoPath })).data;
if ('type' in data && data.type === 'file' && 'content' in data) {
if (data.encoding === 'base64' && data.content) {
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'));
}
@@ -140,7 +167,10 @@ class OctoKit {
}
}
async releaseContainsCommit(release, commit) {
return new Promise((resolve, reject) => child_process_1.exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
const isHash = (s) => /^[a-fA-F0-9]*$/.test(s);
if (!isHash(release) || !isHash(commit))
return 'unknown';
return new Promise((resolve, reject) => (0, child_process_1.exec)(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
if (!err || err.code === 1) {
resolve(!err ? 'yes' : 'no');
}
@@ -157,10 +187,31 @@ class OctoKit {
}
}));
}
async getCurrentRepoMilestone() {
(0, utils_1.safeLog)(`Getting repo milestone for ${this.params.owner}/${this.params.repo}`);
// Fetch all milestones open for this repo
const allMilestones = (await this.octokit.rest.issues.listMilestones({
owner: this.params.owner,
repo: this.params.repo,
state: 'open',
sort: 'due_on',
direction: 'asc',
})).data;
const currentDate = new Date();
const possibleMilestones = allMilestones
.filter((milestone) => new Date(milestone.due_on === null ? currentDate : milestone.due_on) > currentDate &&
currentDate > new Date(milestone.created_at) &&
!milestone.title.includes('Recovery'))
.sort((a, b) => { var _a, _b; return +new Date((_a = a.due_on) !== null && _a !== void 0 ? _a : currentDate) - +new Date((_b = b.due_on) !== null && _b !== void 0 ? _b : currentDate); });
if (possibleMilestones.length === 0) {
return undefined;
}
return possibleMilestones[0].number;
}
async dispatch(title) {
core_1.debug('Dispatching ' + title);
(0, utils_1.safeLog)('Dispatching ' + title);
if (!this.options.readonly)
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title });
await this.octokit.rest.repos.createDispatchEvent({ ...this.params, event_type: title });
}
}
exports.OctoKit = OctoKit;
@@ -169,12 +220,12 @@ class OctoKitIssue extends OctoKit {
super(token, params, options);
this.params = params;
this.issueData = issueData;
console.log('running bot on issue', issueData.number);
(0, utils_1.safeLog)('running bot on issue', issueData.number);
}
async addAssignee(assignee) {
core_1.debug('Adding assignee ' + assignee + ' to ' + this.issueData.number);
(0, utils_1.safeLog)('Adding assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.addAssignees({
await this.octokit.rest.issues.addAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
@@ -182,45 +233,64 @@ class OctoKitIssue extends OctoKit {
}
}
async removeAssignee(assignee) {
core_1.debug('Removing assignee ' + assignee + ' to ' + this.issueData.number);
(0, utils_1.safeLog)('Removing assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.removeAssignees({
await this.octokit.rest.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({
async closeIssue(reason) {
(0, utils_1.safeLog)('Closing issue ' + this.issueData.number);
if (!this.options.readonly) {
const issue = await this.octokit.rest.issues.get({
...this.params,
issue_number: this.issueData.number,
});
// Don't close already closed issues even if it means changing the state
if (issue.data.state === 'closed') {
return;
}
await this.octokit.rest.issues
.update({
...this.params,
issue_number: this.issueData.number,
state: 'closed',
state_reason: reason,
})
.catch((e) => {
(0, utils_1.safeLog)('error closing issue:', e);
});
}
}
async reopenIssue() {
core_1.debug('Reopening issue ' + this.issueData.number);
(0, utils_1.safeLog)('Reopening issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.update({
await this.octokit.rest.issues.update({
...this.params,
issue_number: this.issueData.number,
state: 'open',
});
}
async lockIssue() {
core_1.debug('Locking issue ' + this.issueData.number);
(0, utils_1.safeLog)('Locking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number });
await this.octokit.rest.issues.lock({ ...this.params, issue_number: this.issueData.number });
}
async unlockIssue() {
(0, utils_1.safeLog)('Unlocking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.rest.issues.unlock({ ...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);
(0, utils_1.safeLog)('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({
(0, utils_1.safeLog)('Fetching issue ' + this.issueData.number);
const issue = (await this.octokit.rest.issues.get({
...this.params,
issue_number: this.issueData.number,
mediaType: { previews: ['squirrel-girl'] },
@@ -228,77 +298,83 @@ class OctoKitIssue extends OctoKit {
return (this.issueData = this.octokitIssueToIssue(issue));
}
async postComment(body) {
core_1.debug(`Posting comment ${body} on ${this.issueData.number}`);
(0, utils_1.safeLog)(`Posting comment on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.createComment({
await this.octokit.rest.issues.createComment({
...this.params,
issue_number: this.issueData.number,
body,
});
}
async deleteComment(id) {
core_1.debug(`Deleting comment ${id} on ${this.issueData.number}`);
(0, utils_1.safeLog)(`Deleting comment ${id} on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.deleteComment({
await this.octokit.rest.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}`);
(0, utils_1.safeLog)(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
if (!this.options.readonly)
await this.octokit.issues.update({
await this.octokit.rest.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({
(0, utils_1.safeLog)('Fetching comments for ' + this.issueData.number);
const response = this.octokit.paginate.iterator(this.octokit.rest.issues.listComments, {
...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),
}));
yield page.data.map((comment) => {
var _a, _b, _c, _d;
return ({
author: { name: (_b = (_a = comment.user) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : '', isGitHubApp: ((_c = comment.user) === null || _c === void 0 ? void 0 : _c.type) === 'Bot' },
body: (_d = comment.body) !== null && _d !== void 0 ? _d : '',
id: comment.id,
timestamp: +new Date(comment.created_at),
});
});
}
}
async addLabel(name) {
core_1.debug(`Adding label ${name} to ${this.issueData.number}`);
(0, utils_1.safeLog)(`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({
await this.octokit.rest.issues.addLabels({
...this.params,
issue_number: this.issueData.number,
labels: [name],
});
}
async getAssigner(assignee) {
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
var _a, _b;
const options = {
...this.params,
issue_number: this.issueData.number,
});
};
let assigner;
for await (const event of this.octokit.paginate.iterator(options)) {
for await (const event of this.octokit.paginate.iterator(this.octokit.rest.issues.listEventsForTimeline, options)) {
numRequests++;
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if (timelineEvent.event === 'assigned' &&
timelineEvent.assignee.login === assignee) {
assigner = timelineEvent.actor.login;
if (timelineEvent.event === 'assigned' && ((_a = timelineEvent.assignee) === null || _a === void 0 ? void 0 : _a.login) === assignee) {
assigner = (_b = timelineEvent.actor) === null || _b === void 0 ? void 0 : _b.login;
}
}
if (assigner) {
break;
}
}
if (!assigner) {
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.');
@@ -306,25 +382,26 @@ class OctoKitIssue extends OctoKit {
return assigner;
}
async removeLabel(name) {
core_1.debug(`Removing label ${name} from ${this.issueData.number}`);
(0, utils_1.safeLog)(`Removing label ${name} from ${this.issueData.number}`);
try {
if (!this.options.readonly)
await this.octokit.issues.removeLabel({
await this.octokit.rest.issues.removeLabel({
...this.params,
issue_number: this.issueData.number,
name,
});
}
catch (err) {
if (err.status === 404) {
console.log(`Label ${name} not found on issue`);
const statusErorr = err;
if (statusErorr.status === 404) {
(0, utils_1.safeLog)(`Label ${name} not found on issue`);
return;
}
throw err;
}
}
async getClosingInfo(alreadyChecked = []) {
var _a, _b, _c, _d, _e, _f, _g;
var _a, _b, _c, _d, _e, _f, _g, _h;
if (alreadyChecked.includes(this.issueData.number)) {
return undefined;
}
@@ -332,22 +409,21 @@ class OctoKitIssue extends OctoKit {
if ((await this.getIssue()).open) {
return;
}
const closingHashComment = /(?:\\|\/)closedWith (\S*)/;
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
const closingHashComment = /(?:\\|\/)closedWith (?:https:\/\/github\.com\/microsoft\/vscode\/commit\/)?([a-fA-F0-9]{7,40})/;
const options = {
...this.params,
issue_number: this.issueData.number,
});
};
let closingCommit;
const crossReferencing = [];
for await (const event of this.octokit.paginate.iterator(options)) {
for await (const event of this.octokit.paginate.iterator(this.octokit.rest.issues.listEventsForTimeline, options)) {
numRequests++;
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if ((timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
timelineEvent.created_at &&
timelineEvent.commit_id &&
timelineEvent.commit_url
.toLowerCase()
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())) {
((_a = timelineEvent.commit_url) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
closingCommit = {
hash: timelineEvent.commit_id,
timestamp: +new Date(timelineEvent.created_at),
@@ -356,15 +432,18 @@ class OctoKitIssue extends OctoKit {
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')) &&
if (timelineEvent.created_at &&
timelineEvent.event === 'commented' &&
!((_b = timelineEvent.body) === null || _b === void 0 ? void 0 : _b.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()))) {
if (timelineEvent.event === 'cross-referenced' &&
((_d = (_c = timelineEvent.source) === null || _c === void 0 ? void 0 : _c.issue) === null || _d === void 0 ? void 0 : _d.number) &&
((_g = (_f = (_e = timelineEvent.source) === null || _e === void 0 ? void 0 : _e.issue) === null || _f === void 0 ? void 0 : _f.pull_request) === null || _g === void 0 ? void 0 : _g.url.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
crossReferencing.push(timelineEvent.source.issue.number);
}
}
@@ -375,16 +454,16 @@ class OctoKitIssue extends OctoKit {
for (const id of crossReferencing.reverse()) {
const closed = await new OctoKitIssue(this.token, this.params, {
number: id,
}, this.options).getClosingInfo(alreadyChecked);
}).getClosingInfo(alreadyChecked);
if (closed) {
if (Math.abs(closed.timestamp - ((_g = (await this.getIssue()).closedAt) !== null && _g !== void 0 ? _g : 0)) < 5000) {
if (Math.abs(closed.timestamp - ((_h = (await this.getIssue()).closedAt) !== null && _h !== void 0 ? _h : 0)) < 5000) {
closingCommit = closed;
break;
}
}
}
}
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
(0, utils_1.safeLog)(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
return closingCommit;
}
}
+260 -171
View File
@@ -3,181 +3,242 @@
* 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'
import { getOctokit } from '@actions/github';
import type { RequestError } from '@octokit/request-error';
import { exec } from 'child_process';
import { IssueGetResponse, IssuesGetResponseMilestone } from '../common/OctokitTypings';
import { safeLog } from '../common/utils';
import { Comment, GitHub, GitHubIssue, Issue, Milestone, Query, User } from './api';
let numRequests = 0
export const getNumRequests = () => numRequests
let numRequests = 0;
export const getNumRequests = () => numRequests;
export class OctoKit implements GitHub {
private _octokit: GitHubAPI
protected get octokit(): GitHubAPI {
numRequests++
return this._octokit
private _octokit: ReturnType<typeof getOctokit>;
protected get octokit(): ReturnType<typeof getOctokit> {
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()
protected mockLabels: Set<string> = new Set();
public readonly repoName: string;
public readonly repoOwner: string;
constructor(
protected token: string,
protected params: { repo: string; owner: string },
protected options: { readonly: boolean } = { readonly: false },
) {
this._octokit = new GitHubAPI(token)
this._octokit = getOctokit(token);
this.repoName = params.repo;
this.repoOwner = params.owner;
}
getIssueByNumber(number: number) {
return new OctoKitIssue(this.token, this.params, { number: number });
}
// 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 q = query.q + ` repo:${this.params.owner}/${this.params.repo}`;
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
const options = {
...query,
q,
per_page: 100,
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
})
};
let pageNum = 0
let pageNum = 0;
const timeout = async () => {
if (pageNum < 2) {
/* pass */
} else if (pageNum < 4) {
await new Promise((resolve) => setTimeout(resolve, 3000))
await new Promise((resolve) => setTimeout(resolve, 10000));
} else {
await new Promise((resolve) => setTimeout(resolve, 30000))
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(' ')}`)
for await (const pageResponse of this.octokit.paginate.iterator(
this.octokit.rest.search.issuesAndPullRequests,
options,
)) {
await timeout();
numRequests++;
const page = pageResponse.data;
safeLog(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
yield page.map(
(issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue), this.options),
)
(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 })
safeLog(`Creating issue \`${title}\` on ${owner}/${repo}`);
if (!this.options.readonly) await this.octokit.rest.issues.create({ owner, repo, title, body });
}
protected octokitIssueToIssue(
issue: Octokit.IssuesGetResponse | Octokit.SearchIssuesAndPullRequestsResponseItemsItem,
): Issue {
protected octokitIssueToIssue(issue: IssueGetResponse): Issue {
return {
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
body: issue.body,
author: { name: issue.user?.login ?? 'unkown', isGitHubApp: issue.user?.type === 'Bot' },
body: issue.body ?? '',
number: issue.number,
title: issue.title,
labels: (issue.labels as Octokit.IssuesGetLabelResponse[]).map((label) => label.name),
isPr: !!issue.pull_request?.html_url,
labels: issue.labels.map((label) => (typeof label === 'string' ? 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,
assignee: issue.assignee?.login ?? (issue as IssueGetResponse).assignees?.[0]?.login,
assignees: (issue as IssueGetResponse).assignees?.map((assignee) => assignee.login) ?? [],
milestone: issue.milestone ? this.octokitMilestoneToMilestone(issue.milestone) : 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,
}
closedAt: issue.closed_at ? +new Date(issue.closed_at as unknown as string) : undefined,
};
}
private writeAccessCache: Record<string, boolean> = {}
protected octokitMilestoneToMilestone(milestone: IssuesGetResponseMilestone): Milestone | null {
if (milestone?.number === undefined) {
return null;
}
return {
title: milestone.title,
milestoneId: milestone.number,
// Remove the time portions of the dates as they're not important
createdAt: milestone.created_at !== null ? new Date(milestone.created_at.split('T')[0]) : null,
dueOn: milestone.due_on !== null ? new Date(milestone.due_on.split('T')[0]) : null,
closedAt: milestone.closed_at !== null ? new Date(milestone.closed_at.split('T')[0]) : null,
description: milestone.description ?? '',
numClosedIssues: milestone.closed_issues,
numOpenIssues: milestone.open_issues,
state: milestone.state === 'open' ? 'open' : 'closed',
};
}
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]
safeLog('Got permissions from cache for ' + user);
return this.writeAccessCache[user.name];
}
debug('Fetching permissions for ' + user)
safeLog('Fetching permissions for ' + user.name);
const permissions = (
await this.octokit.repos.getCollaboratorPermissionLevel({
await this.octokit.rest.repos.getCollaboratorPermissionLevel({
...this.params,
username: user.name,
})
).data.permission
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write')
).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
await this.octokit.rest.issues.getLabel({ ...this.params, name });
return true;
} catch (err) {
if (err.status === 404) {
return this.options.readonly && this.mockLabels.has(name)
const statusErorr = err as RequestError;
if (statusErorr.status === 404) {
return this.options.readonly && this.mockLabels.has(name);
}
throw err
throw err;
}
}
async createLabel(name: string, color: string, description: string): Promise<void> {
debug('Creating label ' + name)
safeLog('Creating label ' + name);
if (!this.options.readonly)
await this.octokit.issues.createLabel({ ...this.params, color, description, name })
else this.mockLabels.add(name)
await this.octokit.rest.issues.createLabel({ ...this.params, color, description, name });
else this.mockLabels.add(name);
}
async deleteLabel(name: string): Promise<void> {
debug('Deleting label ' + name)
safeLog('Deleting label ' + name);
try {
if (!this.options.readonly) await this.octokit.issues.deleteLabel({ ...this.params, name })
if (!this.options.readonly) await this.octokit.rest.issues.deleteLabel({ ...this.params, name });
} catch (err) {
if (err.status === 404) {
return
const statusErorr = err as RequestError;
if (statusErorr.status === 404) {
return;
}
throw err
throw err;
}
}
async readConfig(path: string): Promise<any> {
debug('Reading config at ' + path)
const repoPath = `.github/${path}.json`
safeLog('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') {
const data = (await this.octokit.rest.repos.getContent({ ...this.params, path: repoPath })).data;
if ('type' in data && data.type === 'file' && 'content' in data) {
if (data.encoding === 'base64' && data.content) {
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'))
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(`Could not read contents "${data.content}" in encoding "${data.encoding}"`);
}
throw Error('Found directory at config path when expecting file' + JSON.stringify(data))
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))
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e));
}
}
async releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'> {
const isHash = (s: string) => /^[a-fA-F0-9]*$/.test(s);
if (!isHash(release) || !isHash(commit)) return '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')
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')
resolve('no');
} else if (err.message.includes(`Not a valid commit name ${commit}`)) {
// commit is probably in a different repo.
resolve('unknown')
resolve('unknown');
} else {
reject(err)
reject(err);
}
}),
)
);
}
async getCurrentRepoMilestone(): Promise<number | undefined> {
safeLog(`Getting repo milestone for ${this.params.owner}/${this.params.repo}`);
// Fetch all milestones open for this repo
const allMilestones = (
await this.octokit.rest.issues.listMilestones({
owner: this.params.owner,
repo: this.params.repo,
state: 'open',
sort: 'due_on',
direction: 'asc',
})
).data;
const currentDate = new Date();
const possibleMilestones = allMilestones
.filter(
(milestone) =>
new Date(milestone.due_on === null ? currentDate : milestone.due_on) > currentDate &&
currentDate > new Date(milestone.created_at) &&
!milestone.title.includes('Recovery'),
)
.sort((a, b) => +new Date(a.due_on ?? currentDate) - +new Date(b.due_on ?? currentDate));
if (possibleMilestones.length === 0) {
return undefined;
}
return possibleMilestones[0].number;
}
async dispatch(title: string): Promise<void> {
debug('Dispatching ' + title)
safeLog('Dispatching ' + title);
if (!this.options.readonly)
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title })
await this.octokit.rest.repos.createDispatchEvent({ ...this.params, event_type: title });
}
}
@@ -188,184 +249,206 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
private issueData: { number: number } | Issue,
options: { readonly: boolean } = { readonly: false },
) {
super(token, params, options)
console.log('running bot on issue', issueData.number)
super(token, params, options);
safeLog('running bot on issue', issueData.number);
}
async addAssignee(assignee: string): Promise<void> {
debug('Adding assignee ' + assignee + ' to ' + this.issueData.number)
safeLog('Adding assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.addAssignees({
await this.octokit.rest.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)
safeLog('Removing assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.removeAssignees({
await this.octokit.rest.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({
async closeIssue(reason: 'completed' | 'not_planned'): Promise<void> {
safeLog('Closing issue ' + this.issueData.number);
if (!this.options.readonly) {
const issue = await this.octokit.rest.issues.get({
...this.params,
issue_number: this.issueData.number,
state: 'closed',
})
});
// Don't close already closed issues even if it means changing the state
if (issue.data.state === 'closed') {
return;
}
await this.octokit.rest.issues
.update({
...this.params,
issue_number: this.issueData.number,
state: 'closed',
state_reason: reason,
})
.catch((e) => {
safeLog('error closing issue:', e);
});
}
}
async reopenIssue(): Promise<void> {
debug('Reopening issue ' + this.issueData.number)
safeLog('Reopening issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.update({
await this.octokit.rest.issues.update({
...this.params,
issue_number: this.issueData.number,
state: 'open',
})
});
}
async lockIssue(): Promise<void> {
debug('Locking issue ' + this.issueData.number)
safeLog('Locking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number })
await this.octokit.rest.issues.lock({ ...this.params, issue_number: this.issueData.number });
}
async unlockIssue(): Promise<void> {
safeLog('Unlocking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.rest.issues.unlock({ ...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
safeLog('Got issue data from query result ' + this.issueData.number);
return this.issueData;
}
console.log('Fetching issue ' + this.issueData.number)
safeLog('Fetching issue ' + this.issueData.number);
const issue = (
await this.octokit.issues.get({
await this.octokit.rest.issues.get({
...this.params,
issue_number: this.issueData.number,
mediaType: { previews: ['squirrel-girl'] },
})
).data
return (this.issueData = this.octokitIssueToIssue(issue))
).data;
return (this.issueData = this.octokitIssueToIssue(issue));
}
async postComment(body: string): Promise<void> {
debug(`Posting comment ${body} on ${this.issueData.number}`)
safeLog(`Posting comment on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.createComment({
await this.octokit.rest.issues.createComment({
...this.params,
issue_number: this.issueData.number,
body,
})
});
}
async deleteComment(id: number): Promise<void> {
debug(`Deleting comment ${id} on ${this.issueData.number}`)
safeLog(`Deleting comment ${id} on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.deleteComment({
await this.octokit.rest.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}`)
safeLog(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
if (!this.options.readonly)
await this.octokit.issues.update({
await this.octokit.rest.issues.update({
...this.params,
issue_number: this.issueData.number,
milestone: milestoneId,
})
});
}
async *getComments(last?: boolean): AsyncIterableIterator<Comment[]> {
debug('Fetching comments for ' + this.issueData.number)
safeLog('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 } : {}),
}),
)
const response = this.octokit.paginate.iterator(this.octokit.rest.issues.listComments, {
...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,
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: string): Promise<void> {
debug(`Adding label ${name} to ${this.issueData.number}`)
safeLog(`Adding label ${name} to ${this.issueData.number}`);
if (!(await this.repoHasLabel(name))) {
throw Error(`Action could not execute becuase label ${name} is not defined.`)
throw Error(`Action could not execute becuase label ${name} is not defined.`);
}
if (!this.options.readonly)
await this.octokit.issues.addLabels({
await this.octokit.rest.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({
const options = {
...this.params,
issue_number: this.issueData.number,
})
};
let assigner: string | undefined
let assigner: string | undefined;
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
for await (const event of this.octokit.paginate.iterator(
this.octokit.rest.issues.listEventsForTimeline,
options,
)) {
numRequests++;
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if (
timelineEvent.event === 'assigned' &&
(timelineEvent as any).assignee.login === assignee
) {
assigner = timelineEvent.actor.login
if (timelineEvent.event === 'assigned' && timelineEvent.assignee?.login === assignee) {
assigner = timelineEvent.actor?.login;
}
}
if (assigner) {
break;
}
}
if (!assigner) {
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.')
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.');
}
return assigner
return assigner;
}
async removeLabel(name: string): Promise<void> {
debug(`Removing label ${name} from ${this.issueData.number}`)
safeLog(`Removing label ${name} from ${this.issueData.number}`);
try {
if (!this.options.readonly)
await this.octokit.issues.removeLabel({
await this.octokit.rest.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
const statusErorr = err as RequestError;
if (statusErorr.status === 404) {
safeLog(`Label ${name} not found on issue`);
return;
}
throw err
throw err;
}
}
@@ -373,43 +456,49 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
alreadyChecked: number[] = [],
): Promise<{ hash: string | undefined; timestamp: number } | undefined> {
if (alreadyChecked.includes(this.issueData.number)) {
return undefined
return undefined;
}
alreadyChecked.push(this.issueData.number)
alreadyChecked.push(this.issueData.number);
if ((await this.getIssue()).open) {
return
return;
}
const closingHashComment = /(?:\\|\/)closedWith (\S*)/
const closingHashComment =
/(?:\\|\/)closedWith (?:https:\/\/github\.com\/microsoft\/vscode\/commit\/)?([a-fA-F0-9]{7,40})/;
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
const options = {
...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++
};
let closingCommit: { hash: string | undefined; timestamp: number } | undefined;
const crossReferencing: number[] = [];
for await (const event of this.octokit.paginate.iterator(
this.octokit.rest.issues.listEventsForTimeline,
options,
)) {
numRequests++;
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if (
(timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
timelineEvent.created_at &&
timelineEvent.commit_id &&
timelineEvent.commit_url
.toLowerCase()
?.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
closingCommit = undefined;
}
if (
timelineEvent.created_at &&
timelineEvent.event === 'commented' &&
!((timelineEvent as any).body as string)?.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE') &&
closingHashComment.test((timelineEvent as any).body)
@@ -417,7 +506,7 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
closingCommit = {
hash: closingHashComment.exec((timelineEvent as any).body)![1],
timestamp: +new Date(timelineEvent.created_at),
}
};
}
if (
timelineEvent.event === 'cross-referenced' &&
@@ -426,7 +515,7 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
`/${this.params.owner}/${this.params.repo}/`.toLowerCase(),
)
) {
crossReferencing.push((timelineEvent as any).source.issue.number)
crossReferencing.push((timelineEvent as any).source.issue.number);
}
}
}
@@ -437,19 +526,19 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
for (const id of crossReferencing.reverse()) {
const closed = await new OctoKitIssue(this.token, this.params, {
number: id,
}, this.options).getClosingInfo(alreadyChecked)
}).getClosingInfo(alreadyChecked);
if (closed) {
if (Math.abs(closed.timestamp - ((await this.getIssue()).closedAt ?? 0)) < 5000) {
closingCommit = closed
break
closingCommit = closed;
break;
}
}
}
}
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`)
return closingCommit
safeLog(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
return closingCommit;
}
}
@@ -464,7 +553,7 @@ function isIssue(object: any): object is Issue {
'number' in object &&
'numComments' in object &&
'reactions' in object &&
'milestoneId' in object
'milestoneId' in object;
return isIssue
return isIssue;
}
+44 -29
View File
@@ -11,51 +11,50 @@ 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);
this.token = (0, utils_1.getRequiredInput)('token');
this.username = (0, github_1.getOctokit)(this.token)
.rest.users.getAuthenticated()
.then((v) => { var _a; return (_a = v.data.name) !== null && _a !== void 0 ? _a : 'unknown'; }, () => 'unknown');
}
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,
},
});
var _a, _b, _c, _d, _e, _f;
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');
((_a = github_1.context.payload.issue) === null || _a === void 0 ? void 0 : _a.number) === issue) {
return (0, utils_1.safeLog)('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;
const token = (0, utils_1.getRequiredInput)('token');
const readonly = !!(0, core_1.getInput)('readonly');
const issue = (_b = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.issue) === null || _b === void 0 ? void 0 : _b.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);
await this.onCommented(octokit, (_c = github_1.context.payload.comment) === null || _c === void 0 ? void 0 : _c.body, github_1.context.actor);
}
else if (github_1.context.eventName === 'issues') {
else if (github_1.context.eventName === 'issues' ||
github_1.context.eventName === 'pull_request' ||
github_1.context.eventName === 'pull_request_target') {
switch (github_1.context.payload.action) {
case 'opened':
await this.onOpened(octokit);
case 'ready_for_review':
await this.onOpened(octokit, github_1.context.payload);
break;
case 'reopened':
await this.onReopened(octokit);
break;
case 'closed':
await this.onClosed(octokit);
await this.onClosed(octokit, github_1.context.payload);
break;
case 'labeled':
await this.onLabeled(octokit, github_1.context.payload.label.name);
break;
case 'assigned':
await this.onAssigned(octokit, github_1.context.payload.assignee.login);
break;
case 'unassigned':
await this.onUnassigned(octokit, github_1.context.payload.assignee.login);
break;
@@ -70,22 +69,32 @@ class Action {
}
}
}
else if (github_1.context.eventName === 'create') {
await this.onCreated(new octokit_1.OctoKit(token, github_1.context.repo, { readonly }), (_d = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.payload) === null || _d === void 0 ? void 0 : _d.ref, (_f = (_e = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.payload) === null || _e === void 0 ? void 0 : _e.sender) === null || _f === void 0 ? void 0 : _f.login);
}
else {
await this.onTriggered(new octokit_1.OctoKit(token, github_1.context.repo, { readonly }));
}
}
catch (e) {
await this.error(e);
const err = e;
try {
await this.error(err);
}
catch {
(0, utils_1.safeLog)((err === null || err === void 0 ? void 0 : err.stack) || (err === null || err === void 0 ? void 0 : err.message) || String(e));
}
}
const usage = await utils_1.getRateLimit(this.token);
const usage = await (0, utils_1.getRateLimit)(this.token);
}
async error(error) {
var _a;
const details = {
message: `${error.message}\n${error.stack}`,
id: this.id,
user: await this.username,
};
if (github_1.context.issue.number)
if ((_a = github_1.context.issue) === null || _a === void 0 ? void 0 : _a.number)
details.issue = github_1.context.issue.number;
const rendered = `
Message: ${details.message}
@@ -94,28 +103,34 @@ Actor: ${details.user}
ID: ${details.id}
`;
await utils_1.logErrorToIssue(rendered, true, this.token);
core_1.setFailed(error.message);
await (0, utils_1.logErrorToIssue)(rendered, true, this.token);
(0, core_1.setFailed)(error.message);
}
async onTriggered(_octokit) {
throw Error('not implemented');
}
async onCreated(_octokit, _ref, _creator) {
throw Error('not implemented');
}
async onEdited(_issue) {
throw Error('not implemented');
}
async onLabeled(_issue, _label) {
throw Error('not implemented');
}
async onUnassigned(_issue, _label) {
async onAssigned(_issue, _assignee) {
throw Error('not implemented');
}
async onOpened(_issue) {
async onUnassigned(_issue, _assignee) {
throw Error('not implemented');
}
async onOpened(_issue, _payload) {
throw Error('not implemented');
}
async onReopened(_issue) {
throw Error('not implemented');
}
async onClosed(_issue) {
async onClosed(_issue, _payload) {
throw Error('not implemented');
}
async onMilestoned(_issue) {
+82 -61
View File
@@ -3,87 +3,102 @@
* 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'
import { OctoKit, OctoKitIssue, getNumRequests } from '../api/octokit';
import { context, getOctokit } from '@actions/github';
import { getRequiredInput, logErrorToIssue, getRateLimit, errorLoggingIssue, safeLog } from './utils';
import { getInput, setFailed } from '@actions/core';
import { WebhookPayload } from '@actions/github/lib/interfaces';
export abstract class Action {
abstract id: string
abstract id: string;
private username: Promise<string>
private token = getRequiredInput('token')
private username: Promise<string>;
private token = getRequiredInput('token');
constructor() {
this.username = new GitHub(this.token).users.getAuthenticated().then((v) => v.data.name)
this.username = getOctokit(this.token)
.rest.users.getAuthenticated()
.then(
(v) => v.data.name ?? 'unknown',
() => 'unknown',
);
}
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
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')
return safeLog('refusing to run on error logging issue to prevent cascading errors');
}
}
try {
const token = getRequiredInput('token')
const readonly = !!getInput('readonly')
const token = getRequiredInput('token');
const readonly = !!getInput('readonly');
const issue = context?.issue?.number
const issue = context?.issue?.number;
if (issue) {
const octokit = new OctoKitIssue(token, context.repo, { number: issue }, { readonly })
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') {
await this.onCommented(octokit, context.payload.comment?.body, context.actor);
} else if (
context.eventName === 'issues' ||
context.eventName === 'pull_request' ||
context.eventName === 'pull_request_target'
) {
switch (context.payload.action) {
case 'opened':
await this.onOpened(octokit)
break
case 'ready_for_review':
await this.onOpened(octokit, context.payload);
break;
case 'reopened':
await this.onReopened(octokit)
break
await this.onReopened(octokit);
break;
case 'closed':
await this.onClosed(octokit)
break
await this.onClosed(octokit, context.payload);
break;
case 'labeled':
await this.onLabeled(octokit, context.payload.label.name)
break
await this.onLabeled(octokit, context.payload.label.name);
break;
case 'assigned':
await this.onAssigned(octokit, context.payload.assignee.login);
break;
case 'unassigned':
await this.onUnassigned(octokit, context.payload.assignee.login)
break
await this.onUnassigned(octokit, context.payload.assignee.login);
break;
case 'edited':
await this.onEdited(octokit)
break
await this.onEdited(octokit);
break;
case 'milestoned':
await this.onMilestoned(octokit)
break
await this.onMilestoned(octokit);
break;
default:
throw Error('Unexpected action: ' + context.payload.action)
throw Error('Unexpected action: ' + context.payload.action);
}
}
} else if (context.eventName === 'create') {
await this.onCreated(
new OctoKit(token, context.repo, { readonly }),
context?.payload?.ref,
context?.payload?.sender?.login,
);
} else {
await this.onTriggered(new OctoKit(token, context.repo, { readonly }))
await this.onTriggered(new OctoKit(token, context.repo, { readonly }));
}
} catch (e) {
await this.error(e)
const err = e as Error;
try {
await this.error(err);
} catch {
safeLog(err?.stack || err?.message || String(e));
}
}
const usage = await getRateLimit(this.token)
const usage = await getRateLimit(this.token);
}
private async error(error: Error) {
@@ -91,9 +106,9 @@ export abstract class Action {
message: `${error.message}\n${error.stack}`,
id: this.id,
user: await this.username,
}
};
if (context.issue.number) details.issue = context.issue.number
if (context.issue?.number) details.issue = context.issue.number;
const rendered = `
Message: ${details.message}
@@ -101,37 +116,43 @@ Message: ${details.message}
Actor: ${details.user}
ID: ${details.id}
`
await logErrorToIssue(rendered, true, this.token)
`;
await logErrorToIssue(rendered, true, this.token);
setFailed(error.message)
setFailed(error.message);
}
protected async onTriggered(_octokit: OctoKit): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
protected async onCreated(_octokit: OctoKit, _ref: string, _creator: string): Promise<void> {
throw Error('not implemented');
}
protected async onEdited(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
protected async onLabeled(_issue: OctoKitIssue, _label: string): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
protected async onUnassigned(_issue: OctoKitIssue, _label: string): Promise<void> {
throw Error('not implemented')
protected async onAssigned(_issue: OctoKitIssue, _assignee: string): Promise<void> {
throw Error('not implemented');
}
protected async onOpened(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
protected async onUnassigned(_issue: OctoKitIssue, _assignee: string): Promise<void> {
throw Error('not implemented');
}
protected async onOpened(_issue: OctoKitIssue, _payload: WebhookPayload): Promise<void> {
throw Error('not implemented');
}
protected async onReopened(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
protected async onClosed(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
protected async onClosed(_issue: OctoKitIssue, _payload: WebhookPayload): Promise<void> {
throw Error('not implemented');
}
protected async onMilestoned(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
protected async onCommented(_issue: OctoKitIssue, _comment: string, _actor: string): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
}
+24 -22
View File
@@ -5,6 +5,7 @@
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ActionBase = void 0;
const utils_1 = require("./utils");
class ActionBase {
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
this.labels = labels;
@@ -27,15 +28,15 @@ class ActionBase {
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}`);
(0, utils_1.safeLog)(`labels: ${this.labels}`);
(0, utils_1.safeLog)(`milestoneName: ${this.milestoneName}`);
(0, utils_1.safeLog)(`milestoneId: ${this.milestoneId}`);
(0, utils_1.safeLog)(`ignoreLabels: ${this.ignoreLabels}`);
(0, utils_1.safeLog)(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
(0, utils_1.safeLog)(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
(0, utils_1.safeLog)(`minimumVotes: ${this.minimumVotes}`);
(0, utils_1.safeLog)(`maximumVotes: ${this.maximumVotes}`);
(0, utils_1.safeLog)(`involves: ${this.involves}`);
// Both milestone name and milestone Id must be provided and must match.
// The name is used to construct the query, which does not accept ID.
// The ID is used for comparisons with issue data, which does not include the name.
@@ -104,22 +105,23 @@ class ActionBase {
// This is necessary because GitHub sometimes returns incorrect results,
// and because issues may get modified while we are processing them.
validateIssue(issue) {
var _a, _b;
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
console.log(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
return false;
}
}
else {
// Make sure all labels we wanted are present.
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
console.log(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
return false;
}
for (const str of this.labelsSet) {
if (!issue.labels.includes(str)) {
console.log(`Issue ${issue.number} skipped due to not having a required label set.`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set.`);
return false;
}
}
@@ -127,7 +129,7 @@ class ActionBase {
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}`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
return false;
}
}
@@ -135,22 +137,22 @@ class ActionBase {
}
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.`);
if (issue.milestone) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
return false;
}
}
else {
// Make sure milestone is present, if required.
if (this.milestoneId != undefined && issue.milestoneId != +this.milestoneId) {
console.log(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestoneId}`);
if (this.milestoneId != null && ((_a = issue.milestone) === null || _a === void 0 ? void 0 : _a.milestoneId) != +this.milestoneId) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${(_b = issue.milestone) === null || _b === void 0 ? void 0 : _b.milestoneId}`);
return false;
}
// Make sure a milestones we wanted to ignore is not present.
if (issue.milestoneId != null) {
if (issue.milestone && issue.milestone.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.`);
if (issue.milestone.milestoneId == +str) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone ${issue.milestone.milestoneId} found in list of ignored milestone IDs.`);
return false;
}
}
@@ -163,14 +165,14 @@ class ActionBase {
}
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}`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
// Verify the issue does not have too many upvotes
if (this.maximumVotes != undefined) {
if (upvotes > this.maximumVotes) {
console.log(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
+23 -22
View File
@@ -4,6 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { Issue } from '../api/api'
import { safeLog } from './utils';
export class ActionBase {
constructor(
@@ -29,15 +30,15 @@ export class ActionBase {
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}`);
safeLog(`labels: ${this.labels}`);
safeLog(`milestoneName: ${this.milestoneName}`);
safeLog(`milestoneId: ${this.milestoneId}`);
safeLog(`ignoreLabels: ${this.ignoreLabels}`);
safeLog(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
safeLog(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
safeLog(`minimumVotes: ${this.minimumVotes}`);
safeLog(`maximumVotes: ${this.maximumVotes}`);
safeLog(`involves: ${this.involves}`);
// Both milestone name and milestone Id must be provided and must match.
// The name is used to construct the query, which does not accept ID.
@@ -117,18 +118,18 @@ export class ActionBase {
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.`);
safeLog(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
return false;
}
} else {
// Make sure all labels we wanted are present.
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
console.log(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
safeLog(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
return false;
}
for (const str of this.labelsSet) {
if (!issue.labels.includes(str)) {
console.log(`Issue ${issue.number} skipped due to not having a required label set.`);
safeLog(`Issue ${issue.number} skipped due to not having a required label set.`);
return false;
}
}
@@ -136,7 +137,7 @@ export class ActionBase {
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}`);
safeLog(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
return false;
}
}
@@ -144,21 +145,21 @@ export class ActionBase {
}
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.`);
if (issue.milestone) {
safeLog(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
return false;
}
} else {
// Make sure milestone is present, if required.
if (this.milestoneId != undefined && issue.milestoneId != +this.milestoneId) {
console.log(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestoneId}`);
if (this.milestoneId != null && issue.milestone?.milestoneId != +this.milestoneId) {
safeLog(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestone?.milestoneId}`);
return false;
}
// Make sure a milestones we wanted to ignore is not present.
if (issue.milestoneId != null) {
if (issue.milestone && issue.milestone.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.`);
if (issue.milestone.milestoneId == +str) {
safeLog(`Issue ${issue.number} skipped due to milestone ${issue.milestone.milestoneId} found in list of ignored milestone IDs.`);
return false;
}
}
@@ -171,14 +172,14 @@ export class ActionBase {
}
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}`);
safeLog(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
// Verify the issue does not have too many upvotes
if (this.maximumVotes != undefined) {
if (upvotes > this.maximumVotes) {
console.log(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
safeLog(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
+7
View File
@@ -0,0 +1,7 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=OctokitTypings.js.map
+16
View File
@@ -0,0 +1,16 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import type { RestEndpointMethodTypes } from '@octokit/rest';
// This file is just to re-export some octokit types as nicer names
export type ActionsListWorkflowRunsResponseWorkflowRunsItem =
RestEndpointMethodTypes['actions']['listWorkflowRuns']['response']['data']['workflow_runs'][0];
export type IssueGetResponse = RestEndpointMethodTypes['issues']['get']['response']['data'];
export type IssuesGetResponseMilestone =
RestEndpointMethodTypes['issues']['get']['response']['data']['milestone'];
+38 -18
View File
@@ -4,14 +4,16 @@
* 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;
exports.safeLog = 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) => {
const getInput = (name) => core.getInput(name) || undefined;
exports.getInput = getInput;
const getRequiredInput = (name) => core.getInput(name, { required: true });
exports.getRequiredInput = getRequiredInput;
const normalizeIssue = (issue) => {
let { body, title } = issue;
body = body !== null && body !== void 0 ? body : '';
title = title !== null && title !== void 0 ? title : '';
@@ -43,25 +45,36 @@ exports.normalizeIssue = (issue) => {
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;
exports.normalizeIssue = normalizeIssue;
const loadLatestRelease = async (quality) => (await axios_1.default.get(`https://update.code.visualstudio.com/api/update/darwin/${quality}/latest`)).data;
exports.loadLatestRelease = loadLatestRelease;
const daysAgoToTimestamp = (days) => +new Date(Date.now() - days * 24 * 60 * 60 * 1000);
exports.daysAgoToTimestamp = daysAgoToTimestamp;
const daysAgoToHumanReadbleDate = (days) => new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
exports.daysAgoToHumanReadbleDate = daysAgoToHumanReadbleDate;
const getRateLimit = async (token) => {
const usageData = (await (0, github_1.getOctokit)(token).rest.rateLimit.get()).data.resources;
const usage = {};
['core', 'graphql', 'search'].forEach(async (category) => {
usage[category] = 1 - usageData[category].remaining / usageData[category].limit;
var _a, _b, _c, _d;
if (usageData[category]) {
usage[category] = 1 - ((_b = (_a = usageData[category]) === null || _a === void 0 ? void 0 : _a.remaining) !== null && _b !== void 0 ? _b : 0) / ((_d = (_c = usageData[category]) === null || _c === void 0 ? void 0 : _c.limit) !== null && _d !== void 0 ? _d : 1);
}
});
return usage;
};
exports.getRateLimit = getRateLimit;
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 };
if (repo === 'microsoft/vscode' || repo === 'microsoft/vscode-remote-release') {
return { repo: 'vscode', owner: 'Microsoft', issue: 93814 };
}
else if (exports.getInput('errorLogIssueNumber')) {
return { ...github_1.context.repo, issue: +exports.getRequiredInput('errorLogIssueNumber') };
else if (/microsoft\//.test(repo)) {
return { repo: 'vscode-internalbacklog', owner: 'Microsoft', issue: 974 };
}
else if ((0, exports.getInput)('errorLogIssueNumber')) {
return { ...github_1.context.repo, issue: +(0, exports.getRequiredInput)('errorLogIssueNumber') };
}
else {
return undefined;
@@ -72,19 +85,20 @@ exports.errorLoggingIssue = (() => {
return undefined;
}
})();
exports.logErrorToIssue = async (message, ping, token) => {
const logErrorToIssue = async (message, ping, token) => {
var _a;
// 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') })
return console.log('no error logging repo defined. swallowing error.');
return new octokit_1.OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue })
.postComment(`
Workflow: ${github_1.context.workflow}
Error: ${message}
Issue: ${ping ? `${github_1.context.repo.owner}/${github_1.context.repo.repo}#` : ''}${github_1.context.issue.number}
Issue: ${ping ? `${github_1.context.repo.owner}/${github_1.context.repo.repo}#` : ''}${(_a = github_1.context.issue) === null || _a === void 0 ? void 0 : _a.number}
Repo: ${github_1.context.repo.owner}/${github_1.context.repo.repo}
@@ -96,4 +110,10 @@ ${JSON.stringify(github_1.context, null, 2)
-->
`);
};
exports.logErrorToIssue = logErrorToIssue;
const safeLog = (message, ...args) => {
const clean = (val) => ('' + val).replace(/:|#/g, '');
console.log(clean(message), ...args.map(clean));
};
exports.safeLog = safeLog;
//# sourceMappingURL=utils.js.map
+57 -47
View File
@@ -3,24 +3,24 @@
* 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'
import * as core from '@actions/core';
import { context, getOctokit } 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 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;
}): { 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)
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)
body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body);
const cleanse = (str: string) => {
let out = str
@@ -34,78 +34,83 @@ export const normalizeIssue = (issue: {
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
.replace(/\s+/gu, ' ')
.replace(/```[^`]*?```/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)
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10);
}
return out
}
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
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
(await axios.get(`https://update.code.visualstudio.com/api/update/darwin/${quality}/latest`)).data;
export const daysAgoToTimestamp = (days: number): number => +new Date(Date.now() - days * 24 * 60 * 60 * 1000)
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$/, '')
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
}
const usageData = (await getOctokit(token).rest.rateLimit.get()).data.resources;
const usage = {} as { core: number; graphql: number; search: number };
(['core', 'graphql', 'search'] as const).forEach(async (category) => {
if (usageData[category]) {
usage[category] = 1 - (usageData[category]?.remaining ?? 0) / (usageData[category]?.limit ?? 1);
}
});
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 }
const repo = context.repo.owner.toLowerCase() + '/' + context.repo.repo.toLowerCase();
if (repo === 'microsoft/vscode' || repo === 'microsoft/vscode-remote-release') {
return { repo: 'vscode', owner: 'Microsoft', issue: 93814 };
} else if (/microsoft\//.test(repo)) {
return { repo: 'vscode-internalbacklog', owner: 'Microsoft', issue: 974 };
} else if (getInput('errorLogIssueNumber')) {
return { ...context.repo, issue: +getRequiredInput('errorLogIssueNumber') }
return { ...context.repo, issue: +getRequiredInput('errorLogIssueNumber') };
} else {
return undefined
return undefined;
}
} catch (e) {
console.error(e)
return undefined
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)
await new Promise((resolve) => setTimeout(resolve, 10000));
const dest = errorLoggingIssue;
if (!dest) return console.log('no error logging repo defined. swallowing error.');
return new OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue }, { readonly: !!getInput('readonly') })
return new OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue })
.postComment(`
Workflow: ${context.workflow}
Error: ${message}
Issue: ${ping ? `${context.repo.owner}/${context.repo.repo}#` : ''}${context.issue.number}
Issue: ${ping ? `${context.repo.owner}/${context.repo.repo}#` : ''}${context.issue?.number}
Repo: ${context.repo.owner}/${context.repo.repo}
@@ -115,5 +120,10 @@ ${JSON.stringify(context, null, 2)
.replace(/-->/gu, '--@>')
.replace(/\/|\\/gu, 'slash-')}
-->
`)
}
`);
};
export const safeLog = (message: string, ...args: (string | number | string[])[]): void => {
const clean = (val: any) => ('' + val).replace(/:|#/g, '');
console.log(clean(message), ...args.map(clean));
};
+5265 -1049
View File
File diff suppressed because it is too large Load Diff
+29 -5
View File
@@ -10,12 +10,36 @@
"keywords": [],
"author": "",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/github": "^2.1.1",
"axios": "^0.21.1"
"@actions/core": "^1.9.1",
"@actions/github": "^5.0.3",
"@octokit/rest": "^19.0.3",
"@slack/web-api": "^6.9.1",
"applicationinsights": "^2.5.1",
"axios": "^1.6.1",
"uuid": "^8.3.2"
},
"devDependencies": {
"eslint": "^6.8.0",
"typescript": "^3.8.3"
"@azure/storage-blob": "^12.13.0",
"@types/chai": "^4.3.3",
"@types/mocha": "^9.1.1",
"@types/uuid": "^8.3.4",
"@types/yargs": "^17.0.11",
"@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.33.0",
"chai": "^4.3.6",
"eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"husky": "^8.0.1",
"mocha": "^10.0.0",
"mongodb": "^4.17.0",
"nock": "^13.2.9",
"prettier": "2.7.1",
"ts-node": "^10.9.1",
"typescript": "^4.7.4",
"yargs": "^17.5.1"
},
"resolutions": {
"minimatch": "^3.0.5"
}
}
+1
View File
@@ -6,6 +6,7 @@
"moduleResolution": "node",
"removeComments": false,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"lib": [
"es2020"
@@ -11,9 +11,11 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -23,4 +25,4 @@ jobs:
labels: by design,debugger
ignoreLabels: language service,internal
closeDays: 0
closeComment: "This issue has been closed automatically because it's labeled as 'by design'."
closeComment: "This issue has been closed because the described behavior was determined to be by design."
+4 -2
View File
@@ -11,9 +11,11 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
@@ -23,6 +25,6 @@ jobs:
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."
closeComment: "This issue has been closed because the described behavior was determined to be by design."
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."
+14 -55
View File
@@ -1,55 +1,14 @@
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 10.16.x
uses: actions/setup-node@v1
with:
node-version: 10.16.x
- name: Install Dependencies
run: yarn install
working-directory: Extension
- name: Generate hashes for runtime dependency packages
run: yarn run generatePackageHashes
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Validate Extension/package.json
run: yarn run pr-check
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
uses: GabrielBB/[email protected]
with:
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
uses: GabrielBB/[email protected]
with:
run: yarn run integrationTests
working-directory: Extension
name: CI (Linux)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: ubuntu-22.04
platform: linux
+15 -55
View File
@@ -1,55 +1,15 @@
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 10.16.x
uses: actions/setup-node@v1
with:
node-version: 10.16.x
- name: Install Dependencies
run: yarn install
working-directory: Extension
- name: Generate hashes for runtime dependency packages
run: yarn run generatePackageHashes
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Validate Extension/package.json
run: yarn run pr-check
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
uses: GabrielBB/[email protected]
with:
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
uses: GabrielBB/[email protected]
with:
run: yarn run integrationTests
working-directory: Extension
name: CI (Mac)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: macos-12
platform: mac
yarn-args: --network-timeout 100000
+14 -51
View File
@@ -1,51 +1,14 @@
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 10.16.x
uses: actions/setup-node@v1
with:
node-version: 10.16.x
- name: Install Dependencies
run: yarn install
working-directory: Extension
- name: Generate hashes for runtime dependency packages
run: yarn run generatePackageHashes
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Validate Extension/package.json
run: yarn run pr-check
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
run: yarn run integrationTests
working-directory: Extension
name: CI (Windows)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: windows-2022
platform: windows
+3 -1
View File
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -23,6 +25,6 @@ jobs:
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."
closeComment: "This issue has been closed because it is a duplicate of another issue we are tracking."
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,32 @@
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
permissions:
issues: write
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. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
setMilestoneId: 30
ignoreMilestoneNames: "*"
@@ -0,0 +1,32 @@
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
permissions:
issues: write
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. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
milestoneName: Triage
milestoneId: 30
@@ -0,0 +1,33 @@
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
permissions:
issues: write
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
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -23,4 +25,4 @@ jobs:
labels: external,debugger
ignoreLabels: language service,internal
closeDays: 0
closeComment: "This issue has been closed automatically because it's labeled as 'external'."
closeComment: "This issue has been closed because it is external or not applicable to the extension."
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -25,6 +27,6 @@ jobs:
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."
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
setMilestoneId: 30
ignoreMilestoneNames: "*"
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -25,6 +27,6 @@ jobs:
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."
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
milestoneName: Triage
milestoneId: 30
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -23,4 +25,4 @@ jobs:
labels: investigate,debugger
ignoreLabels: language service,internal
closeDays: 180
closeComment: "This issue has been closed automatically because it has not had recent activity."
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -23,4 +25,4 @@ jobs:
labels: "investigate: costing,debugger"
ignoreLabels: language service,internal
closeDays: 180
closeComment: "This issue has been closed automatically because it has not had recent activity."
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
@@ -0,0 +1,73 @@
# Reuable workflow for compiling and testing extension.
name: Compile and test extension
on:
workflow_call:
inputs:
runner-env:
required: true
type: string
platform:
# Expects 'mac', 'linux', or 'windows'
required: true
type: string
yarn-args:
type: string
jobs:
build:
runs-on: ${{ inputs.runner-env }}
steps:
- uses: actions/checkout@v3
- name: Use Node.js 16
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Dependencies
run: yarn install ${{ inputs.yarn-args }}
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Run unit tests
run: yarn test
working-directory: Extension
# NOTE : We can't run the test that require the native binary files
# yet -- there will be an update soon that allows the tester to
# acquire them on-the-fly
# - name: Run languageServer integration tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=SingleRootProject
# working-directory: Extension
# - name: Run E2E IntelliSense features tests
# if: ${{ inputs.platform == 'windows' }}
# run: yarn test --scenario=MultirootDeadlockTest
# working-directory: Extension
# NOTE: For mac/linux run the tests with xvfb-action for UI support.
# Another way to start xvfb https://github.com/microsoft/vscode-test/blob/master/sample/azure-pipelines.yml
# - name: Run languageServer integration tests (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=SingleRootProject
# working-directory: Extension
# - name: Run E2E IntelliSense features tests (xvfb)
# if: ${{ inputs.platform == 'mac' || inputs.platform == 'linux' }}
# uses: coactions/setup-xvfb@v1
# with:
# run: yarn test --scenario=MultirootDeadlockTest
# working-directory: Extension
+2
View File
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -24,6 +26,6 @@ jobs:
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."
closeComment: "This issue has been closed 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."
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -22,7 +24,7 @@ jobs:
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
closeDays: 30
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
pingDays: 14
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."
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -24,6 +26,6 @@ jobs:
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."
closeComment: "This issue has been closed because it is 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."
+3 -1
View File
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
@@ -23,6 +25,6 @@ jobs:
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."
closeComment: "This issue has been closed because it is 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."
+3 -1
View File
@@ -6,8 +6,10 @@ browse*.db*
*.exe
*.ilk
# ignore exported localization xlf directory
# ignore exported localization xlf and LCL directories
Build/loc/LCL
vscode-extensions-localization-export
OneLocBuild
# ignore imported localization xlf directory
vscode-translations-import
+6
View File
@@ -0,0 +1,6 @@
This folder contains the entitlements needed for the debugger to run on macOS.
We use the entitlements that the .net runtime uses. See https://github.com/dotnet/runtime/blob/57678512d214af368ff055f358c5106f1aa19ac4/eng/pipelines/common/entitlements.plist
Related Links:
https://docs.microsoft.com/en-us/dotnet/core/install/macos-notarization-issues#default-entitlements
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.debugger</key>
<true/>
<key>com.apple.security.get-task-allow</key>
<true/>
<key>com.apple.security.task_for_pid-allow</key>
<true/>
</dict>
</plist>
+30
View File
@@ -0,0 +1,30 @@
---
parameters:
archs: ["x86_64", "arm64"]
jobs:
- job:
pool:
name: VSEngSS-MicroBuild2022-1ES
steps:
- checkout: none
- ${{ each arch in parameters.archs }}:
- task: DownloadPipelineArtifact@1
displayName: 'Downloading unsigned_lldb-mi_${{ arch }}'
inputs:
targetPath: '$(Pipeline.Workspace)/Artifacts'
artifactName: 'unsigned_lldb-mi_${{ arch }}'
- task: MicroBuildSignMacFiles@1
displayName: 'ESRP Sign'
inputs:
SigningTarget: '$(Pipeline.Workspace)\Artifacts\lldb-mi_${{ arch }}.zip'
SigningCert: 8023
- task: PublishPipelineArtifact@1
displayName: 'Publish signed LLDB-MI'
inputs:
targetPath: '$(Pipeline.Workspace)\Artifacts\lldb-mi_${{ arch }}.zip'
artifactName: 'lldb-mi_${{ arch }}_zip'
...
+160
View File
@@ -0,0 +1,160 @@
parameters:
# Note: Make sure llvm_repo is the same as the one in Extension/cgmanifest.json
# 'RepositoryUrl' for llvm-project.
llvm_repo: https://github.com/llvm/llvm-project.git
# Note: Make sure llvm_commit is the same as the one in Extension/cgmanifest.json
# 'CommitHash' for llvm-project.
llvm_commit: 0d44201451f03ba907cdb268ddddfc3fa38a0ebd
llvm_build_type: Release
llvm_arch: x86_64
llvm_additional_parameters: "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON -DLLDB_RELOCATABLE_PYTHON=1 -DLLDB_INCLUDE_TESTS=OFF -DLLDB_BUILD_FRAMEWORK=1"
# Note: Make sure lldb_mi_repo is the same as the one in Extension/cgmanifest.json
# 'CommitHash' for lldb-mi.
lldb_mi_repo: https://github.com/lldb-tools/lldb-mi.git
# Note: Make sure lldb_mi_commit is the same as the one in Extension/cgmanifest.json
# 'CommitHash' for lldb-mi.
lldb_mi_commit: 2388bd74133bc21eac59b2e2bf97f2a30770a315
lldb_mi_additional_parameters: "-DUSE_LLDB_FRAMEWORK=1"
jobs:
- job: LLDB_MI_${{ parameters.llvm_arch }}
timeoutInMinutes: 360
pool:
${{if eq(parameters['llvm_arch'], 'arm64')}}:
name: cpptoolsMacM1pool
${{ else }}:
vmImage: macOS-latest
steps:
- task: CmdLine@2
displayName: 'Install Dependencies'
inputs:
script: brew install cmake ninja swig
continueOnError: true
- task: CmdLine@2
displayName: 'Make sure buildspace does not exist'
inputs:
script: rm -rf $(Build.StagingDirectory)/buildspace
condition: always()
- task: CmdLine@2
displayName: 'Build LLVM Project'
inputs:
script: |
log_and_exec_cmd() {
echo "##[command] $1"
$1
}
log_and_exec_cmd "sudo rm -rf /Library/Developer/CommandLineTools"
log_and_exec_cmd "sudo xcode-select --switch /Applications/XCode.app"
log_and_exec_cmd "cd $(Build.StagingDirectory)"
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace"
log_and_exec_cmd "git clone ${{ parameters.llvm_repo }} llvm-project"
log_and_exec_cmd "cd llvm-project"
log_and_exec_cmd "git checkout ${{ parameters.llvm_commit }}"
log_and_exec_cmd "./lldb/scripts/macos-setup-codesign.sh"
log_and_exec_cmd "cd .."
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-inst"
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-build"
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace/llvm-build"
log_and_exec_cmd "cmake -DLLVM_ENABLE_PROJECTS=clang;lldb -DCMAKE_BUILD_TYPE=${{ parameters.llvm_build_type }} -DCMAKE_INSTALL_PREFIX=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=${{ parameters.llvm_arch }} ${{ parameters.llvm_additional_parameters }} -GNinja $(Build.StagingDirectory)/llvm-project/llvm"
if [[ $? -ne 0 ]]
then
echo "##[error] cmake llvm failed"
cat $(Build.SourcesDirectory)/buildspace/llvm-build/CMakeFiles/CMakeError.log
exit 1
fi
log_and_exec_cmd ninja
if [[ $? -ne 0 ]]
then
echo "##[error] ninja failed"
exit 1
fi
### Workaround for https://github.com/llvm/llvm-project/issues/108
log_and_exec_cmd "ninja install"
# Remove conflicting LLDB.framework file.
log_and_exec_cmd "rm -rf $(Build.StagingDirectory)/buildspace/llvm-inst/Library/Frameworks/LLDB.framework"
# Build lldb/sources/API first
log_and_exec_cmd "cmake -P $(Build.StagingDirectory)/buildspace/llvm-build/tools/lldb/source/API/cmake_install.cmake"
### End of Workaround
log_and_exec_cmd "ninja install"
if [[ $? -ne 0 ]]
then
echo "##[error] ninja install failed"
exit 1
fi
echo "##[section] Build LLDB-MI"
# Download lldb-mi and build it against our custom installation.
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace"
log_and_exec_cmd "git clone ${{ parameters.lldb_mi_repo }} lldb-mi"
log_and_exec_cmd "cd lldb-mi"
log_and_exec_cmd "git checkout ${{ parameters.lldb_mi_commit }}"
# Create a separate build directory for building lldb-mi.
log_and_exec_cmd "mkdir build"
log_and_exec_cmd "cd build"
log_and_exec_cmd "cmake -DCMAKE_PREFIX_PATH=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=${{ parameters.llvm_arch }} ${{ parameters.lldb_mi_additional_parameters }} -GNinja .."
log_and_exec_cmd "ninja"
if [[ $? -ne 0 ]]
then
echo "##[error] ninja failed"
exit 1
fi
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/publish"
log_and_exec_cmd "cd $(Build.StagingDirectory)/publish"
log_and_exec_cmd "mkdir -p ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin"
log_and_exec_cmd "cp $(Build.StagingDirectory)/buildspace/lldb-mi/build/src/lldb-mi ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/."
# Set rpath for finding LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath @rpath/LLDB.framework/Versions/A/LLDB ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
# Set rpath for App Store XCode LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath /Applications/Xcode.app/Contents/SharedFrameworks/ ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
# Set rpath for XCode CLI LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath /Library/Developer/CommandLineTools/Library/PrivateFrameworks/ ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
# Set rpath next to the lldb-mi executable LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath @executable_path/. ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
# Add entitlements
log_and_exec_cmd "codesign -s - -f --entitlements $(Build.SourcesDirectory)/Build/lldb-mi/debugger-entitlements.plist ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
# Grab NOTICE.TXT
cp $(Build.SourcesDirectory)/Build/lldb-mi/NOTICE.TXT ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/.
zip -r $(Build.StagingDirectory)/lldb-mi_${{ parameters.llvm_arch }}.zip ./debugAdapters
- task: PublishPipelineArtifact@1
displayName: 'Publish LLDB-MI'
inputs:
targetPath: '$(Build.StagingDirectory)/lldb-mi_${{ parameters.llvm_arch }}.zip'
artifactName: 'unsigned_lldb-mi_${{ parameters.llvm_arch }}'
- task: CmdLine@2
displayName: 'Clean up'
inputs:
script: rm -rf $(Build.StagingDirectory)/buildspace
condition: always()
+21 -123
View File
@@ -1,125 +1,23 @@
variables:
llvm_repo: https://github.com/llvm/llvm-project.git
llvm_branch: release/10.x
llvm_build_type: Release
llvm_arch: x86_64
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 main
lldb_mi_additional_parameters: "-DUSE_LLDB_FRAMEWORK=1"
parameters:
- name: Build_Type
displayName: Build Type
type: string
default: Release
jobs:
- job: LLDB_MI
timeoutInMinutes: 360
pool:
vmImage: 'macOS-latest'
steps:
- task: CmdLine@2
displayName: 'Install Dependencies'
inputs:
script: brew install cmake ninja swig
continueOnError: true
stages:
- stage: Build
dependsOn: []
jobs:
- template: lldb-mi.template.yml
parameters:
llvm_build_type: ${{ parameters.Build_Type }}
llvm_arch: x86_64
- template: lldb-mi.template.yml
parameters:
llvm_build_type: ${{ parameters.Build_Type }}
llvm_arch: arm64
- task: CmdLine@2
displayName: 'Build LLVM Project'
inputs:
script: |
log_and_exec_cmd() {
echo "##[command] $1"
$1
}
log_and_exec_cmd "cd $(Build.StagingDirectory)"
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace"
log_and_exec_cmd "git clone $(llvm_repo) llvm-project"
log_and_exec_cmd "cd llvm-project"
log_and_exec_cmd "git checkout $(llvm_branch)"
log_and_exec_cmd "./lldb/scripts/macos-setup-codesign.sh"
log_and_exec_cmd "cd .."
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-inst"
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-build"
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace/llvm-build"
log_and_exec_cmd "cmake -DLLVM_ENABLE_PROJECTS=clang;lldb -DCMAKE_BUILD_TYPE=$(llvm_build_type) -DCMAKE_INSTALL_PREFIX=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=$(llvm_arch) $(llvm_additional_parameters) -GNinja $(Build.StagingDirectory)/llvm-project/llvm"
if [[ $? -ne 0 ]]
then
echo "##[error] cmake llvm failed"
cat $(Build.SourcesDirectory)/buildspace/llvm-build/CMakeFiles/CMakeError.log
exit 1
fi
log_and_exec_cmd ninja
if [[ $? -ne 0 ]]
then
echo "##[error] ninja failed"
exit 1
fi
### Workaround for https://github.com/llvm/llvm-project/issues/108
log_and_exec_cmd "ninja install"
# Remove conflicting LLDB.framework file.
log_and_exec_cmd "rm -rf $(Build.StagingDirectory)/buildspace/llvm-inst/Library/Frameworks/LLDB.framework"
# Build lldb/sources/API first
log_and_exec_cmd "cmake -P $(Build.StagingDirectory)/buildspace/llvm-build/tools/lldb/source/API/cmake_install.cmake"
### End of Workaround
log_and_exec_cmd "ninja install"
if [[ $? -ne 0 ]]
then
echo "##[error] ninja install failed"
exit 1
fi
echo "##[section] Build LLDB-MI"
# Download lldb-mi and build it against our custom installation.
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace"
log_and_exec_cmd "git clone $(lldb_mi_repo) lldb-mi"
log_and_exec_cmd "cd lldb-mi"
log_and_exec_cmd "git checkout $(lldb_mi_branch)"
# Create a separate build directory for building lldb-mi.
log_and_exec_cmd "mkdir build"
log_and_exec_cmd "cd build"
log_and_exec_cmd "cmake -DCMAKE_PREFIX_PATH=$(Build.StagingDirectory)/buildspace/llvm-inst/ $(lldb_mi_additional_parameters) -GNinja .."
log_and_exec_cmd "ninja"
if [[ $? -ne 0 ]]
then
echo "##[error] ninja failed"
exit 1
fi
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/publish"
log_and_exec_cmd "cd $(Build.StagingDirectory)/publish"
log_and_exec_cmd "mkdir -p ./debugAdapters/lldb-mi/bin"
log_and_exec_cmd "cp $(Build.StagingDirectory)/buildspace/lldb-mi/build/src/lldb-mi ./debugAdapters/lldb-mi/bin/."
# Set rpath for finding LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath @rpath/LLDB.framework/Versions/A/LLDB ./debugAdapters/lldb-mi/bin/lldb-mi"
# Set rpath for App Store XCode LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath /Applications/Xcode.app/Contents/SharedFrameworks/ ./debugAdapters/lldb-mi/bin/lldb-mi"
# Set rpath for XCode CLI LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath /Library/Developer/CommandLineTools/Library/PrivateFrameworks/ ./debugAdapters/lldb-mi/bin/lldb-mi"
# Set rpath next to the lldb-mi executable LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath @executable_path/. ./debugAdapters/lldb-mi/bin/lldb-mi"
# Grab NOTICE.TXT
cp $(Build.SourcesDirectory)/Build/lldb-mi/NOTICE.TXT ./debugAdapters/lldb-mi/.
# Build can be found at https://dev.azure.com/ms/vscode-cpptools/_build?definitionId=313
# Click on the build and select 'Artifacts'
- task: PublishPipelineArtifact@1
displayName: 'Publish LLDB-MI'
inputs:
targetPath: '$(Build.StagingDirectory)/publish'
artifactName: 'lldb-mi'
- stage: Signing
dependsOn: ["Build"]
jobs:
- template: lldb-mi-sign.template.yml
+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"
}
]
}
]
}
+62
View File
@@ -0,0 +1,62 @@
# ==================================================================================
# 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:
name: 'AzurePipelines-EO'
demands:
- ImageOverride -equals AzurePipelinesWindows2022compliant
steps:
- task: NodeTool@0
inputs:
versionSpec: '16.x'
displayName: 'Install Node.js'
- task: CmdLine@2
inputs:
script: 'cd Extension && yarn install'
- task: CmdLine@2
inputs:
script: 'cd ./Extension && yarn 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
+1 -1
View File
@@ -21,4 +21,4 @@ This option will generate a tasks.json file for you, build your active source fi
### F5
Another way to begin building and debugging your active file is to execute the command by pressing <kbd>F5</kbd>. This method will configure
both a tasks.json and launch.json file for you, build your active source file, and then launch the debugger.
both a tasks.json and launch.json file for you, build your active source file, and then launch the debugger.
+1 -1
View File
@@ -1,3 +1,3 @@
# Fib
This code sample is to show debugging. Update `launch.json` and `tasks.json` in the `.vscode` folder to use your setup to build and debug.
This code sample is to show debugging. Update `launch.json` and `tasks.json` in the `.vscode` folder to use your setup to build and debug.
+6 -6
View File
@@ -15,14 +15,14 @@ static int fib(int n){
switch (n) {
case 0: return 1;
case 1: return 1;
default: return (fib(n-2) + fib(n-1));
}
default: return (fib(n-2) + fib(n-1));
}
}
void * thread_proc(void* ctx)
{
int tid = g_tid++;
char thread_name[16];
sprintf(thread_name, "Thread %d", tid);
#ifdef __APPLE__
@@ -30,19 +30,19 @@ void * thread_proc(void* ctx)
#else
pthread_setname_np(pthread_self(), thread_name);
#endif
// Random delay, 0 - 0.5 sec
timespec ts;
ts.tv_sec = 0;
ts.tv_nsec = 500000000 + ((float)rand() / (float)RAND_MAX) * 500000000;
nanosleep(&ts, NULL);
volatile int i = 0;
while (i <= 30) {
std::cout << "Thread " << tid << ": fib(" << i << ") = " << fib(i) << std::endl;
i++;
nanosleep(&ts, NULL);
}
std::cout << thread_name << " exited!" << std::endl;
}
+10 -2
View File
@@ -10,6 +10,14 @@ Prerequisite steps:
* From a command line, run the following commands from the **Extension** folder in the root of the repository:
* `yarn install` will install the dependencies needed to build the extension.
* **(optional)** `yarn global add vsce` will install `vsce` globally to create a VSIX package that you can install.
* **(optional)** Set an environment variable `CPPTOOLS_DEV=1`.
* This enables the local developer workflow when testing the debugger, copying dependencies from the **node_modules** folder. Testing the language server does not require this step.
* Open the **Extension** folder in Visual Studio Code and press F5. This will launch a VS Code Extension Host window and activate the TypeScript debugger. You can set breakpoints on the extension source code and debug your scenario.
* If, after pressing F5, you see the following error in the `[Extension Development Host]` window,
> Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: Missing binary at .../vscode-cpptools/Extension/bin/cpptools
* Then, you can follow the instructions in this [comment in a discussion about building this extension locally](https://github.com/microsoft/vscode-cpptools/discussions/8745#discussioncomment-2091563).
> get the <package.version.number> binaries from installing the extension and then copying the binaries
1. To do this, install this extension from the Visual Studio Marketplace and find its location on your device. It might be in a directory like `\\wsl$\Ubuntu\home\hamir\.vscode-server\extensions\ms-vscode.cpptools-<package.version.number>`, for example.
2. Next, go to the `bin/` directory of the aforementioned directory, and drag-and-drop, or copy-and-paste, `cpptools` and `cpptools-srv` from `...\extensions\ms-vscode.cpptools-<package.version.number>\bin\` to this repository's `Extension\bin\` directory on your local device, so that `.../vscode-cpptools/Extension/bin/cpptools` and `.../vscode-cpptools/Extension/bin/cpptools-srv` both exist in your workspace.
3. The aforementioned warning should be gone, and Intellisense, which gives those squiggly red error lines, should now be present.
4. The `insiders` branch has binaries compatible with the latest Pre-Release version of the extension, and the `release` branch has binaries compatible with the latest Release version, but the `main` branch may have TypeScript changes that are incompatible with the published binaries, in which case, you'll need to create a branch off the `insiders` or `release` branches.
* Feel free to use [the Discussions tab of this repository](https://github.com/microsoft/vscode-cpptools/discussions) if you have any further questions on building this extension locally.
@@ -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
+16 -16
View File
@@ -240,7 +240,7 @@
</xs:annotation>
</xs:attribute>
</xs:complexType>
<!-- Attributes for elements that support filtering by view-->
<xs:attributeGroup name="ViewConstraints">
<xs:attribute name="IncludeView" type ="ViewIncludeType" use="optional" />
@@ -335,9 +335,9 @@
are evaluated in the context of the node.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attribute>
</xs:attributeGroup>
<xs:complexType name="ListItemsNodeType">
<xs:annotation>
<xs:documentation>Expression that points to value of the linked list node. It can be left empty or have 'this' to refer to the linked list node itself. This expression is evaluated under the context of the linked list node and not the parent linked list type.</xs:documentation>
@@ -402,7 +402,7 @@
<xs:documentation>
Indicates that the item should use the icon associated with general data.
</xs:documentation>
</xs:annotation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Method">
<xs:annotation>
@@ -864,16 +864,16 @@
<xs:complexType name="MostDerivedObjectType">
<xs:annotation>
<xs:documentation>
Specifies an expression which evaluates to the current object, casted to its most-derived type.
In most cases, the debugger is able to automatically determine an object's most-derived type, in which case use of the &lt;MostDerivedType&gt;
Specifies an expression which evaluates to the current object, casted to its most-derived type.
In most cases, the debugger is able to automatically determine an object's most-derived type, in which case use of the &lt;MostDerivedType&gt;
element is unecessary. Automatic determination of an object's most-derived type requires the object to be an instance of a C++ class, with a
compiler-generated virtual function table. This is sufficient for most class-hierarchies; however, custom logic may occasionally be necessary
when dealing with a class hierarchy that does not contain virtual functions, or when the virtual function table is manually constructed by the
when dealing with a class hierarchy that does not contain virtual functions, or when the virtual function table is manually constructed by the
application code.
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="StringType">
<xs:attributeGroup ref="CommonAttributes" />
@@ -935,12 +935,12 @@
<xs:annotation>
<xs:documentation>
Indicates that the given type is a smart pointer. The text inside this element specifies the expression to evaluate the underlying pointer.
The &lt;SmartPointer&gt; element has the following effects:
- If no alternative &lt;DisplayString&gt; element is provided (or all &lt;DisplayString&gt; elements have failed conditions), the underlying pointer will be the display string
- If no alternative &lt;StringView&gt; element is provided (or all &lt;StringView&gt; elements have failed conditions), the underlying pointer will be the string view, if it has one.
- If no alternative &lt;Expand&gt; element is provided, the expansion of the smart pointer will be the expansion of the underlying pointer.
- The smart pointer class will also support overloaded operators as determined by the &lt;Usage&gt; attribute. You can opt out of this behavior by specifying
- The smart pointer class will also support overloaded operators as determined by the &lt;Usage&gt; attribute. You can opt out of this behavior by specifying
'DefaultExpansion=&quot;false&quot;'
</xs:documentation>
</xs:annotation>
@@ -949,7 +949,7 @@
<xs:attributeGroup ref="CommonAttributes_NoCondition" />
<xs:attribute name="Usage" type="SmartPointerUsage" use="required">
<xs:annotation>
<xs:documentation>Indicates which combinations of operators this smart pointer object supports.
<xs:documentation>Indicates which combinations of operators this smart pointer object supports.
</xs:documentation>
</xs:annotation>
</xs:attribute>
@@ -1004,10 +1004,10 @@
<xs:documentation>Specifies an optional priority to assign to this entry for type matching. Higher priority entries within a particular file or directory
are checked first. &lt;Type&gt; entries that do not specify a priority receive default priority of &quot;Medium&quot; &lt;AlternativeType&gt; entries which do not specify a priority
will inherit the priority of the enclosing &lt;Type&gt; element. The priority is only used to disambiguate type matching when all other means of disambiguation are unavailable.
For example, entries with more specific template instantiations, module constraints, or view constraints will take priority regardless of any priority values specified.
Similarly, regardless of priority, natvis files that are part of a loaded project will always take precedence over files in the user natvis directory,
which will, in turn, take precedence over files in the system-wide natvis directory.
For example, entries with more specific template instantiations, module constraints, or view constraints will take priority regardless of any priority values specified.
Similarly, regardless of priority, natvis files that are part of a loaded project will always take precedence over files in the user natvis directory,
which will, in turn, take precedence over files in the system-wide natvis directory.
If two entries have the same priority and cannot otherwise be disambiguated, it is unspecified which one will get used.
</xs:documentation>
</xs:annotation>
+3 -3
View File
@@ -1,4 +1,4 @@
*.js
test/**/index.ts
test/**/runTest.ts
tools/prepublish.js
dist/
vscode*.d.ts
+72 -53
View File
@@ -1,4 +1,9 @@
module.exports = {
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/strict",
],
"env": {
"browser": true,
"es6": true,
@@ -6,21 +11,41 @@ module.exports = {
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "tsconfig.json",
"sourceType": "module"
"project": ["tsconfig.json", ".scripts/tsconfig.json"],
"ecmaVersion": 2022,
"sourceType": "module",
"warnOnUnsupportedTypeScriptVersion": false,
},
"plugins": [
"@typescript-eslint",
"@typescript-eslint/tslint",
"eslint-plugin-jsdoc",
"@typescript-eslint/eslint-plugin-tslint",
"@typescript-eslint/eslint-plugin",
"eslint-plugin-import",
"eslint-plugin-header"
],
"rules": {
"indent": [
"warn",
4,
{
"SwitchCase": 1,
"ObjectExpression": "first"
}
],
"@typescript-eslint/indent": [
"error", 4
],
"@typescript-eslint/adjacent-overload-signatures": "error",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/class-name-casing": "error",
"@typescript-eslint/indent": "error",
"@typescript-eslint/await-thenable": "error",
"camelcase": "off",
"@typescript-eslint/naming-convention": [
"error",
{
"selector": "typeLike",
"format": ["PascalCase"]
}
],
"@typescript-eslint/member-delimiter-style": [
"error",
{
@@ -34,7 +59,20 @@ module.exports = {
}
}
],
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-extraneous-class": "off",
"no-case-declarations": "off",
"no-useless-escape": "off",
"no-floating-decimal": "error",
"keyword-spacing": ["error", { "before": true, "overrides": { "this": { "before": false } } }],
"arrow-spacing": ["error", { "before": true, "after": true }],
"semi-spacing": ["error", { "before": false, "after": true }],
"no-extra-parens": ["error", "all", { "nestedBinaryExpressions": false, "ternaryOperandBinaryExpressions": false }],
"@typescript-eslint/no-array-constructor": "error",
"@typescript-eslint/no-useless-constructor": "error",
"@typescript-eslint/no-for-in-array": "error",
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-misused-promises": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-non-null-assertion": "error",
"@typescript-eslint/no-extra-non-null-assertion": "error",
@@ -48,8 +86,16 @@ module.exports = {
"@typescript-eslint/triple-slash-reference": "error",
"@typescript-eslint/type-annotation-spacing": "error",
"@typescript-eslint/unified-signatures": "error",
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/method-signature-style": ["error", "method"],
"@typescript-eslint/space-infix-ops": "error",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
"arrow-body-style": "error",
"comma-dangle": "error",
"comma-spacing": "off",
"@typescript-eslint/comma-spacing": "error",
"constructor-super": "error",
"curly": "error",
"eol-last": "error",
@@ -71,17 +117,19 @@ module.exports = {
"no-fallthrough": "error",
"no-invalid-this": "error",
"no-irregular-whitespace": "error",
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0}],
"rest-spread-spacing": ["error", "never"],
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0 }],
"no-new-wrappers": "error",
"no-redeclare": "error",
"no-return-await": "error",
"no-sequences": "error",
"no-sparse-arrays": "error",
"no-trailing-spaces": "error",
"no-multi-spaces": "error",
"no-undef-init": "error",
"no-unsafe-finally": "error",
"no-unused-expressions": "error",
"no-unused-labels": "error",
"space-before-blocks": "error",
"no-var": "error",
"one-var": [
"error",
@@ -94,54 +142,25 @@ module.exports = {
"never"
],
"spaced-comment": [
"error",
"always"
"off",
"always",
{ "line": { "exceptions": ["/"] } } // triple slash directives
],
"use-isnan": "error",
"valid-typeof": "error",
"yoda": "error",
"@typescript-eslint/tslint/config": [
"error",
{
"rules": {
"encoding": true,
"file-header": [
true,
".*"
],
"import-spacing": true,
"match-default-export-name": true,
"no-boolean-literal-compare": true,
"no-mergeable-namespace": true,
"no-reference-import": true,
"no-unnecessary-callback-wrapper": true,
"number-literal-format": true,
"one-line": [
true,
"check-catch",
"check-finally",
"check-else",
"check-open-brace",
"check-whitespace"
],
"prefer-method-signature": true,
"prefer-while": true,
"typedef": [
true,
"variable-declaration",
"call-signature",
"variable-declaration-ignore-function"
],
"whitespace": [
true,
"check-branch",
"check-operator",
"check-separator",
"check-preblock",
"check-type"
]
}
}
]
"space-infix-ops": "error",
"header/header": [
"warn",
"block",
[
" --------------------------------------------------------------------------------------------",
" * Copyright (c) Microsoft Corporation. All Rights Reserved.",
" * See 'LICENSE' in the project root for license information.",
" * ------------------------------------------------------------------------------------------ "
],
],
}
};
+3 -2
View File
@@ -1,7 +1,7 @@
# ignore dependency packages
node_modules
# ignore compliled typescript
# ignore compiled typescript
out
dist
@@ -25,7 +25,6 @@ install.lock
# ignore generated localization file
**/nls.*.json
**/*.nls.json
**/*.nls.*.json
# ignore generate native header
@@ -34,3 +33,5 @@ localized_string_ids.h
# ignore generate files. It will be generated when building
src/nativeStrings.ts
vscode*.d.ts
.scripts/_*
+64
View File
@@ -0,0 +1,64 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { error } from 'node:console';
import { resolve, sep } from 'node:path';
import { filepath } from '../src/Utility/Filesystem/filepath';
import { verbose } from '../src/Utility/Text/streams';
import { $root, Git, brightGreen, cyan, getModifiedIgnoredFiles, rimraf } from './common';
// notes:
// list all gitignore'd files that are modified: `git clean -Xd -n`
// list all untracked and ignored files that are modified/created: `git clean -Xd -n`
export async function main() {
await rimraf(resolve($root, 'dist'));
}
export async function all() {
await rimraf(...(await getModifiedIgnoredFiles()).filter(each => !each.includes('node_modules')));
}
export async function reset() {
verbose(`Resetting all .gitignored files in extension`);
await rimraf(...await getModifiedIgnoredFiles());
}
async function details(files: string[]) {
let all = await Promise.all(files.filter(each => each).map(async (each) => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const [filename, stats ] = await filepath.stats(each);
return {
filename: stats.isDirectory() ? cyan(`${each}${sep}**`) : brightGreen(`${each}`),
date: stats.mtime.toLocaleDateString().replace(/\b(\d)\//g, '0$1\/'),
time: stats.mtime.toLocaleTimeString().replace(/^(\d)\:/g, '0$1:'),
modified: stats.mtime
};
}));
all = all.sort((a, b) => a.modified.getTime() - b.modified.getTime());
// print a formatted table so the date and time are aligned
const max = all.reduce((max, each) => Math.max(max, each.filename.length), 0);
all.forEach(each => console.log(` ${each.filename.padEnd(max)} [${each.date} ${each.time}]`));
console.log('');
}
export async function show(opt?: string) {
switch (opt?.toLowerCase()) {
case 'new':
console.log(cyan('\n\nNew files:'));
const r = await Git('ls-files', '--others', '--exclude-standard', '-z');
return details(r.stdio.all().map(each => resolve(each.trim().replace(/\0/g, ''))));
case undefined:
case '':
case 'ignored':
case 'untracked':
console.log(cyan('\n\nUntracked+Ignored files:'));
return details(await getModifiedIgnoredFiles());
default:
return error(`Unknown option '${opt}'`);
}
}
+40
View File
@@ -0,0 +1,40 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { spawnSync } from 'child_process';
import { verbose } from '../src/Utility/Text/streams';
import { $args, $root, $scenario, assertAnyFile, brightGreen, gray, green, pwd } from './common';
import { resolve } from 'path';
import { getTestInfo } from '../test/common/selectTests';
import { install, options } from "./vscode";
export { install, reset } from './vscode';
export async function main() {
let ti = await getTestInfo($scenario);
if (!ti) {
// try using the first arg as a scenario name or location
ti = await getTestInfo($args[0], $args[0] ? resolve(pwd, $args[0]) : undefined);
if (ti) {
$args[0] = ti.workspace;
}
} else {
// we found it
$args.unshift(ti.workspace);
}
await assertAnyFile('dist/src/main.js', `The extension entry point '${$root}/dist/src/main.js is missing. You should run ${brightGreen("yarn compile")}\n\n`);
const { cli, args } = await install();
// example of installing an extension into code
//verbose(`Installing release version of 'ms-vscode.cpptools'`);
//spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' })
verbose(green('Launch VSCode'));
const ARGS = [...args, ...options.launchArgs.filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir=')), `--extensionDevelopmentPath=${$root}`, ...$args ];
verbose(gray(`${cli}\n ${ [...ARGS ].join('\n ')}`));
spawnSync(cli, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" } });
}
+343
View File
@@ -0,0 +1,343 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { Command, CommandFunction } from '../src/Utility/Process/program';
import { ok } from 'assert';
import { CommentJSONValue, parse, stringify } from 'comment-json';
import { mkdir as md, readFile, rm, writeFile } from 'fs/promises';
import { IOptions, glob as globSync } from 'glob';
import { dirname, resolve } from 'path';
import { chdir, cwd, env } from 'process';
import { setImmediate } from 'timers/promises';
import { promisify } from 'util';
import { filepath } from '../src/Utility/Filesystem/filepath';
import { is } from '../src/Utility/System/guards';
import { verbose } from '../src/Utility/Text/streams';
export const $root = resolve(`${__dirname}/..`);
export let $cmd = 'main';
export let $scenario = '';
// loop through the args and pick out --scenario=... and remove it from the $args and set $scenario
process.argv.slice(2).filter(each => !(each.startsWith('--scenario=') && ($scenario = each.substring('--scenario='.length))));
export const $args = process.argv.slice(2).filter(each => !each.startsWith('--'));
export const $switches = process.argv.slice(2).filter(each => each.startsWith('--'));
/** enqueue the call to the callback function to happen on the next available tick, and return a promise to the result */
export function then<T>(callback: () => Promise<T> | T): Promise<T> {
return setImmediate().then(callback);
}
export const pwd = env.INIT_CWD ?? cwd();
verbose(yellow(`pwd: ${pwd}`));
// ensure we're in the extension folder.
chdir($root);
// dump unhandled async errors to the console and exit.
process.on('unhandledRejection', (reason: any, _promise) => {
error(`${reason?.stack?.split(/\r?\n/).filter(l => !l.includes('node:internal') && !l.includes('node_modules')).join('\n')}`);
process.exit(1);
});
const git = new Command('git');
export const Git = async (...args: Parameters<Awaited<CommandFunction>>) => (await git)(...args);
export const GitClean = async (...args: Parameters<Awaited<CommandFunction>>) => (await new Command(await git, 'clean'))(...args);
export async function getModifiedIgnoredFiles() {
const {code, error, stdio } = await GitClean('-Xd', '-n');
if (code) {
throw new Error(`\n${error.all().join('\n')}`);
}
// return the full path of files that would be removed.
return Promise.all(stdio.filter("Would remove").map((s) => filepath.exists(s.replace(/^Would remove /, ''), $root)).filter(p => p));
}
export async function rimraf(...paths: string[]) {
const all = [];
for (const each of paths) {
if (!each) {
continue;
}
if (await filepath.isFolder(each)) {
verbose(`Removing folder ${red(each)}`);
all.push(rm(each, {recursive: true, force: true}));
continue;
}
verbose(`Removing file ${red(each)}`);
all.push(rm(each, {force: true}));
}
await Promise.all(all);
}
export async function mkdir(filePath: string) {
const [fullPath, info] = await filepath.stats(filePath, $root);
if (info) {
if (info.isDirectory()) {
return fullPath;
}
throw new Error(`Cannot create directory '${filePath}' because there is a file there.`);
}
await md(fullPath, { recursive: true });
return fullPath;
}
export const glob: (pattern: string, options?: IOptions) => Promise<string[]> = promisify(globSync);
export async function write(filePath: string, data: Buffer | string) {
await mkdir(dirname(filePath));
if (await filepath.isFile(filePath)) {
const content = await readFile(filePath);
if (is.string(data)) {
// if we're passed a text file, we should match the line endings of the existing file.
const textContent = content.toString();
// normalize the line endings to the same as the current file.
data = textContent.indexOf('\r\n') > -1 ? data.replace(/\r\n|\n/g, '\r\n') : data.replace(/\r\n|\n/g, '\n');
// if the text content is a match, we don't have to change anything
if (textContent === data) {
verbose(`Text file at '${filePath}' is up to date.`);
return;
}
} else {
// if the binary content is a match, we don't have to change anything
if (content.equals(data)) {
verbose(`File at '${filePath}' is up to date.`);
return;
}
}
}
verbose(`Writing file '${filePath}'`);
await writeFile(filePath, data);
}
export async function updateFiles(files: string[], dest: string | Promise<string>) {
const target = is.promise(dest) ? await dest : dest;
await Promise.all(files.map(async (each) => {
const sourceFile = await filepath.isFile(each, $root);
if (sourceFile) {
const targetFile = resolve(target, each);
await write(targetFile, await readFile(sourceFile));
}
}));
}
export async function go() {
if (require.main) {
// loop through the args and pick out the first non --arg and remove it from the $args and set $cmd
for (let i = 0; i < $args.length; i++) {
const each = $args[i];
if (!each.startsWith('--') && require.main.exports[each]) {
$cmd = each;
$args.splice(i, 1);
break;
}
}
verbose(`${yellow("Running task:")} ${green($cmd)} ${green($args.join(' '))}`);
require.main.exports[$cmd](...$args);
}
}
void then(go);
export async function read(filename: string) {
const content = await readFile(filename);
ok(content, `File '${filename}' has no content`);
return content.toString();
}
export async function readJson(filename: string, fallback = {}): Promise<CommentJSONValue> {
try {
return parse(await read(filename));
} catch {
return fallback as CommentJSONValue;
}
}
export async function writeJson(filename: string, object: CommentJSONValue) {
await write(filename, stringify(object, null, 4));
}
export function error(text: string) {
console.error(`\n${red('ERROR')}: ${text}`);
return true;
}
export function warn(text: string) {
console.error(`\n${yellow('WARNING')}: ${text}`);
return true;
}
export function note(text: string) {
console.error(`\n${cyan('NOTE')}: ${text}`);
}
export function underline(text: string) {
return `\u001b[4m${text}\u001b[0m`;
}
export function bold(text: string) {
return `\u001b[1m${text}\u001b[0m`;
}
export function dim(text: string) {
return `\u001b[2m${text}\u001b[0m`;
}
export function brightGreen(text: string) {
return `\u001b[38;2;19;161;14m${text}\u001b[0m`;
}
export function green(text: string) {
return `\u001b[38;2;78;154;6m${text}\u001b[0m`;
}
export function brightWhite(text: string) {
return `\u001b[38;2;238;238;236m${text}\u001b[0m`;
}
export function gray(text: string) {
return `\u001b[38;2;117;113;94m${text}\u001b[0m`;
}
export function yellow(text: string) {
return `\u001b[38;2;252;233;79m${text}\u001b[0m`;
}
export function red(text: string) {
return `\u001b[38;2;197;15;31m${text}\u001b[0m`;
}
export function cyan(text: string) {
return `\u001b[38;2;0;174;239m${text}\u001b[0m`;
}
export const hr = "===============================================================================";
export function heading(text: string, level = 1) {
switch (level) {
case 1:
return `${underline(bold(text))}`;
case 2:
return `${brightGreen(text)}`;
case 3:
return `${green(text)}`;
}
return `${bold(text)}\n`;
}
export function optional(text: string) {
return gray(text);
}
export function cmdSwitch(text: string) {
return optional(`--${text}`);
}
export function command(text: string) {
return brightWhite(bold(text));
}
export function hint(text: string) {
return green(dim(text));
}
export function count(num: number) {
return gray(`${num}`);
}
export function position(text: string) {
return gray(`${text}`);
}
export async function assertAnyFolder(oneOrMoreFolders: string | string[], errorMessage?: string): Promise<string> {
oneOrMoreFolders = is.array(oneOrMoreFolders) ? oneOrMoreFolders : [oneOrMoreFolders];
for (const each of oneOrMoreFolders) {
const result = await filepath.isFolder(each, $root);
if (result) {
verbose(`Folder ${brightGreen(each)} exists.`);
return result;
}
}
if (errorMessage) {
if (!$switches.includes('--quiet')) {
error(errorMessage);
}
process.exit(1);
}
}
export async function assertAnyFile(oneOrMoreFiles: string | string[], errorMessage?: string): Promise<string> {
oneOrMoreFiles = is.array(oneOrMoreFiles) ? oneOrMoreFiles : [oneOrMoreFiles];
for (const each of oneOrMoreFiles) {
const result = await filepath.isFile(each, $root);
if (result) {
verbose(`Folder ${brightGreen(each)} exists.`);
return result;
}
}
if (errorMessage) {
if (!$switches.includes('--quiet')) {
error(errorMessage);
}
process.exit(1);
}
}
const quiet = process.argv.includes('--quiet');
export async function checkPrep() {
let failing = false;
failing = !await assertAnyFolder('dist/test') && (quiet || warn(`The compiled test files are not in place.`)) || failing;
failing = !await assertAnyFolder('dist/walkthrough') && (quiet || warn(`The walkthrough files are not in place.`)) || failing;
failing = !await assertAnyFolder('dist/html') && (quiet || warn(`The html files are not in place.`)) || failing;
failing = !await assertAnyFolder('dist/schema') && (quiet || warn(`The schema files are not in place.`)) || failing;
failing = !await assertAnyFile('dist/nls.metadata.json') && (quiet || warn(`The extension translation file '${$root}/dist/nls.metadata.json is missing.`)) || failing;
failing = await checkDTS() || failing;
if (!failing) {
verbose('Prep files appear to be in place.');
}
return failing;
}
export async function checkCompiled() {
let failing = false;
failing = await checkDTS() || failing;
failing = !await assertAnyFile('dist/src/main.js') && (quiet || warn(`The extension entry point '${$root}/dist/src/main.js is missing.`)) || failing;
if (!failing) {
verbose('Compiled files appear to be in place.');
}
return failing;
}
export async function checkDTS() {
let failing = false;
failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`)) || failing;
failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`)) || failing;
if (!failing) {
verbose('VSCode d.ts files appear to be in place.');
}
return failing;
}
export async function checkBinaries() {
let failing = false;
failing = !await assertAnyFile(['bin/cpptools.exe', 'bin/cpptools']) && (quiet || warn(`The native binary files are not present. You should either build or install the native binaries\n\n.`)) || failing;
if (!failing) {
verbose('Native binary files appear to be in place.');
}
return failing;
}
+28
View File
@@ -0,0 +1,28 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { watch as watchFiles } from 'fs/promises';
import { filepath } from '../src/Utility/Filesystem/filepath';
import { verbose } from '../src/Utility/Text/streams';
import { $root, glob, mkdir, updateFiles } from './common';
export async function main() {
verbose(`Copying walkthrough media to extension/dist folder`);
await updateFiles(await glob('walkthrough/images/**/*'), mkdir('dist'));
}
export async function watch() {
const source = await filepath.isFolder('walkthrough/images', $root);
if (source) {
verbose(`Watching ${source} folder for changes.`);
console.log('Press Ctrl+C to exit.');
// eslint-disable-next-line @typescript-eslint/no-unused-vars
for await (const event of watchFiles(source, {recursive: true })) {
await main();
}
}
}
+134
View File
@@ -0,0 +1,134 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { parse } from 'comment-json';
import { resolve } from 'path';
import { read, write } from './common';
// ****************************
// Command: generate-native-strings
// The following is used to generate nativeStrings.ts and localized_string_ids.h from ./src/nativeStrings.json
// If adding localized strings to the native side, start by adding it to nativeStrings.json and use this to generate the others.
// ****************************
export async function main() {
const $root = resolve(`${__dirname}/..`);
const stringTable = parse(await read(`${$root}/src/nativeStrings.json`)) as any;
let nativeEnumContent = "";
let nativeStringTableContent = "";
let typeScriptSwitchContent = "";
let stringIndex = 1;
for (const property in stringTable) {
let stringValue = stringTable[property];
let hintValue;
if (typeof stringValue !== "string") {
hintValue = stringValue.hint;
stringValue = stringValue.text;
}
// Add to native enum
nativeEnumContent += ` ${property} = ${stringIndex},\n`;
// Add to native string table
nativeStringTableContent += ` ${JSON.stringify(stringValue)},\n`;
// Add to TypeScript switch
// Skip empty strings, which can be used to prevent enum/index reordering
if (stringValue !== "") {
// It's possible that a translation may skip "{#}" entries, so check for up to 50 of them.
let numArgs = 0;
for (let i = 0; i < 50; i++) {
if (stringValue.includes(`{${i}}`)) {
numArgs = i + 1;
}
}
typeScriptSwitchContent += ` case ${stringIndex}:\n`;
if (numArgs !== 0) {
typeScriptSwitchContent += ` if (stringArgs) {\n`;
if (hintValue) {
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
} else {
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
}
for (let i = 0; i < numArgs; i++) {
typeScriptSwitchContent += `, stringArgs[${i}]`;
}
typeScriptSwitchContent += `);\n break;\n }\n`;
}
if (hintValue) {
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
} else {
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
}
typeScriptSwitchContent += `);\n break;\n`;
}
++stringIndex;
}
// --------------------------------------------------------------------------------------------
// Generate the TypeScript file
// --------------------------------------------------------------------------------------------
const typeScriptContent = `/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
'use strict';
import * as nls from 'vscode-nls';
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
const localize: nls.LocalizeFunc = nls.loadMessageBundle();
export const localizedStringCount: number = ${stringIndex};
export function lookupString(stringId: number, stringArgs?: string[]): string {
let message: string = "";
switch (stringId) {
case 0:
// Special case for blank string
break;
${typeScriptSwitchContent}
default:
console.assert(\"Unrecognized string ID\");
break;
}
return message;
}
`;
// If the file isn't there, or the contents are different, write it out
await write(`${$root}/src/nativeStrings.ts`, typeScriptContent);
// --------------------------------------------------------------------------------------------
// Generate the native string header file
// --------------------------------------------------------------------------------------------
const nativeContents = `/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
#pragma once
// NOLINTBEGIN(modernize-raw-string-literal)
enum class localized_string_id : unsigned int
{
blank = 0,
${nativeEnumContent}};
inline static const char *localizable_strings[] = {
"",
${nativeStringTableContent}};
// NOLINTEND(modernize-raw-string-literal)
`;
// If the file isn't there, or the contents are different, write it out
await write(`${$root}/localized_string_ids.h`, nativeContents);
}
@@ -1,10 +1,12 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import * as fs from 'fs';
import * as os from 'os';
/* eslint-disable no-prototype-builtins */
import { resolve } from 'path';
import { $root, read, write } from './common';
function appendFieldsToObject(reference: any, obj: any): any {
// Make sure it is an object type
@@ -43,7 +45,7 @@ function updateDefaults(object: any, defaults: any): any {
for (const key in object) {
if (object[key].hasOwnProperty('type') && object[key].type === 'object' && object[key].properties !== null) {
object[key].properties = updateDefaults(object[key].properties, mergeDefaults(defaults, object[key].default));
} else if (key in defaults) {
} else if (defaults && key in defaults) {
object[key].default = defaults[key];
}
}
@@ -53,8 +55,8 @@ function updateDefaults(object: any, defaults: any): any {
}
function refReplace(definitions: any, ref: any): any {
// $ref is formatted as "#/definitions/ObjectName"
const referenceStringArray: string[] = ref['$ref'].split('/');
// $ref is formatted as "#/definitions/ObjectName"
const referenceStringArray: string[] = ref.$ref.split('/');
// Getting "ObjectName"
const referenceName: string = referenceStringArray[referenceStringArray.length - 1];
@@ -69,7 +71,7 @@ function refReplace(definitions: any, ref: any): any {
ref = appendFieldsToObject(reference, ref);
// Remove $ref field
delete ref['$ref'];
delete ref.$ref;
return ref;
}
@@ -82,11 +84,7 @@ function replaceReferences(definitions: any, objects: any): any {
// Handle 'anyOf' with references
if (objects[key].hasOwnProperty('anyOf')) {
for (const index in objects[key].anyOf) {
if (objects[key].anyOf[index].hasOwnProperty('$ref')) {
objects[key].anyOf[index] = refReplace(definitions, objects[key].anyOf[index]);
}
}
objects[key].anyOf = replaceReferences(definitions, objects[key].anyOf);
}
// Recursively replace references if this object has properties.
@@ -95,18 +93,35 @@ function replaceReferences(definitions: any, objects: any): any {
objects[key].properties = updateDefaults(objects[key].properties, objects[key].default);
}
// Recursively replace references if the array has objects in items.
// Items in array contains ref
if (objects[key].hasOwnProperty('type') && objects[key].type === "array" && objects[key].items !== null && objects[key].items.hasOwnProperty('$ref')) {
objects[key].items = refReplace(definitions, objects[key].items);
}
// Recursively replace references if the array has objects that contains ref in items.
if (objects[key].hasOwnProperty('type') && objects[key].type === "array" && objects[key].items !== null) {
objects[key].items = replaceReferences(definitions, objects[key].items);
}
}
return objects;
}
function generateOptionsSchema(): void {
const packageJSON: any = JSON.parse(fs.readFileSync('package.json').toString());
const schemaJSON: any = JSON.parse(fs.readFileSync('tools/OptionsSchema.json').toString());
function mergeReferences(baseDefinitions: any, additionalDefinitions: any): void {
for (const key in additionalDefinitions) {
if (baseDefinitions[key]) {
throw `Error: '${key}' defined in multiple schema files.`;
}
baseDefinitions[key] = additionalDefinitions[key];
}
}
export async function main() {
const packageJSON: any = JSON.parse(await read(resolve($root, 'package.json')));
const schemaJSON: any = JSON.parse(await read(resolve($root, 'tools/OptionsSchema.json')));
const symbolSettingsJSON: any = JSON.parse(await read(resolve($root, 'tools/VSSymbolSettings.json')));
mergeReferences(schemaJSON.definitions, symbolSettingsJSON.definitions);
schemaJSON.definitions = replaceReferences(schemaJSON.definitions, schemaJSON.definitions);
@@ -119,16 +134,11 @@ function generateOptionsSchema(): void {
packageJSON.contributes.debuggers[1].configurationAttributes.launch = schemaJSON.definitions.CppvsdbgLaunchOptions;
packageJSON.contributes.debuggers[1].configurationAttributes.attach = schemaJSON.definitions.CppvsdbgAttachOptions;
let content: string = JSON.stringify(packageJSON, null, 2);
if (os.platform() === 'win32') {
content = content.replace(/\n/gm, "\r\n");
}
let content: string = JSON.stringify(packageJSON, null, 4);
// We use '\u200b' (unicode zero-length space character) to break VS Code's URL detection regex for URLs that are examples. This process will
// convert that from the readable espace sequence, to just an invisible character. Convert it back to the visible espace sequence.
content = content.replace(/\u200b/gm, "\\u200b");
content = content.replace(/\u200b/gm, "\\u200b") + "\n";
fs.writeFileSync('package.json', content);
await write('package.json', content);
}
generateOptionsSchema();
+95
View File
@@ -0,0 +1,95 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import * as fs from "fs";
import * as path from 'path';
import { parseString } from 'xml2js';
import { mkdir, write } from './common';
export async function main() {
const localizeRepoPath = process.argv[2];
const cpptoolsRepoPath = process.argv[3];
if (!localizeRepoPath || !cpptoolsRepoPath) {
console.error(`ERROR: Usage: ${path.parse(process.argv[0]).base} ${path.parse(process.argv[1]).base} <Localize repo path> <vscode-cpptools repo path>`);
return;
}
console.log("Importing EDGE strings from Localize repo: " + localizeRepoPath);
console.log("Writing to cpptools repo: " + cpptoolsRepoPath);
if (!fs.existsSync(path.join(localizeRepoPath, ".git"))) {
console.error("ERROR: Localize repo submodule is not initialized in Localize repo");
return;
}
const languages = [
{ id: "zh-tw", folderName: "cht", transifexId: "zh-hant" },
{ id: "zh-cn", folderName: "chs", transifexId: "zh-hans" },
{ id: "fr", folderName: "fra" },
{ id: "de", folderName: "deu" },
{ id: "it", folderName: "ita" },
{ id: "es", folderName: "esn" },
{ id: "ja", folderName: "jpn" },
{ id: "ko", folderName: "kor" },
{ id: "ru", folderName: "rus" },
{ id: "bg", folderName: "bul" }, // VS Code supports Bulgarian, but VS is not currently localized for those languages.
{ id: "hu", folderName: "hun" }, // VS Code supports Hungarian, but VS is not currently localized for those languages.
{ id: "pt-br", folderName: "ptb", transifexId: "pt-BR" },
{ id: "tr", folderName: "trk" },
{ id: "cs", folderName: "csy" },
{ id: "pl", folderName: "plk" }
];
const locFolderNames = fs.readdirSync(localizeRepoPath).filter(f => fs.lstatSync(path.join(localizeRepoPath, f)).isDirectory());
for (const locFolderName of locFolderNames) {
const lclPath = path.join(localizeRepoPath, locFolderName, "vc/vc/cpfeui.dll.lcl");
const languageInfo = languages.find(l => l.folderName === locFolderName);
if (!languageInfo) {
return;
}
const languageId = languageInfo.id;
const outputLanguageFolder = path.join(cpptoolsRepoPath, "Extension/bin/messages", languageId);
const outputPath = path.join(outputLanguageFolder, "messages.json");
const sourceContent = fs.readFileSync(lclPath, 'utf-8');
// Scan once, just to determine how many there are the size of the array we need
let highestValue = 0;
parseString(sourceContent, function (err, result) {
result.LCX.Item.forEach((item) => {
if (item.$.ItemId === ";String Table") {
item.Item.forEach((subItem) => {
const itemId = parseInt(subItem.$.ItemId, 10);
if (subItem.Str[0].Tgt) {
if (highestValue < itemId) {
highestValue = itemId;
}
}
});
}
});
});
const resultArray = new Array(highestValue);
parseString(sourceContent, function (err, result) {
result.LCX.Item.forEach((item) => {
if (item.$.ItemId === ";String Table") {
item.Item.forEach((subItem) => {
const itemId = parseInt(subItem.$.ItemId, 10);
if (subItem.Str[0].Tgt) {
resultArray[itemId] = subItem.Str[0].Tgt[0].Val[0].replace(/\]5D;/g, "]");
if (highestValue < itemId) {
highestValue = itemId;
}
}
});
}
});
});
await mkdir(outputLanguageFolder);
await write(outputPath, JSON.stringify(resultArray, null, 4) + "\n");
}
}
+17
View File
@@ -0,0 +1,17 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { gray, green, readJson } from './common';
export async function main() {
const pkg = await readJson('package.json') as Record<string, any>;
if (pkg.scripts) {
console.log(green('\n\nAvailable script commands:\n'));
for (const key of Object.keys(pkg.scripts)) {
console.log(green(`yarn ${key} - ${gray(pkg.scripts[key])}`));
}
console.log('');
}
}
+236
View File
@@ -0,0 +1,236 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { runTests } from '@vscode/test-electron';
import { spawnSync } from 'child_process';
import { CommentArray, CommentObject } from 'comment-json';
import { readdir } from 'fs/promises';
import { resolve } from 'path';
import { env } from 'process';
import { returns } from '../src/Utility/Async/returns';
import { filepath } from '../src/Utility/Filesystem/filepath';
import { is } from '../src/Utility/System/guards';
import { verbose } from '../src/Utility/Text/streams';
import { getTestInfo } from '../test/common/selectTests';
import { $args, $root, $scenario, assertAnyFile, assertAnyFolder, brightGreen, checkBinaries, cmdSwitch, cyan, error, gray, green, readJson, red, writeJson } from './common';
import { install, isolated, options } from './vscode';
export { install, reset } from './vscode';
const sowrite = process.stdout.write.bind(process.stdout) as (...args: unknown[]) => boolean;
const sewrite = process.stderr.write.bind(process.stderr) as (...args: unknown[]) => boolean;
const filters = [
/^\[(.*)\].*/,
/^Unexpected token A/,
/Cannot register 'cmake.cmakePath'/,
/\[DEP0005\] DeprecationWarning/,
/--trace-deprecation/,
/Iconv-lite warning/,
/^Extension '/,
/^Found existing install/
];
// remove unwanted messages from stdio
function filterStdio() {
process.stdout.write = function (...args: unknown[]) {
if (typeof args[0] === 'string') {
const text = args[0];
if (filters.some(each => text.match(each))) {
return true;
}
}
if (args[0] instanceof Buffer) {
const text = args[0].toString();
if (filters.some(each => text.match(each))) {
return true;
}
}
return sowrite(...args);
};
process.stderr.write = function (...args: unknown[]) {
if (typeof args[0] === 'string') {
const text = args[0];
if (filters.some(each => text.match(each))) {
return true;
}
}
if (args[0] instanceof Buffer) {
const text = args[0].toString();
if (filters.some(each => text.match(each))) {
return true;
}
}
return sewrite(...args);
};
}
filterStdio();
async function unitTests() {
await assertAnyFolder('dist/test/unit', `The folder '${$root}/dist/test/unit is missing. You should run ${brightGreen("yarn compile")}\n\n`);
const mocha = await assertAnyFile(["node_modules/.bin/mocha.cmd", "node_modules/.bin/mocha"], `Can't find the mocha testrunner. You might need to run ${brightGreen("yarn install")}\n\n`);
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit'});
verbose(`\n${green("NOTE:")} If you want to run a scenario test (end-to-end) use ${cmdSwitch('scenario=<NAME>')} \n\n`);
return result.status;
}
async function scenarioTests(assets: string, name: string, workspace: string) {
if (await checkBinaries()) {
process.exit(1);
}
return runTests({
...options,
extensionDevelopmentPath: $root,
extensionTestsPath: resolve($root, 'dist/test/common/selectTests'),
launchArgs: workspace ? [...options.launchArgs, workspace] : options.launchArgs,
extensionTestsEnv: {
SCENARIO: assets
}
});
}
export async function main() {
await assertAnyFolder('dist/test/', `The folder '${$root}/dist/test is missing. You should run ${brightGreen("yarn compile")}\n\n`);
const arg = $args.find(each => !each.startsWith("--"));
const specifiedScenario = $scenario || env.SCENARIO || await getScenarioFolder(arg);
const testInfo = await getTestInfo(specifiedScenario);
if (!testInfo) {
if (arg) {
return error(`Could not find scenario ${arg}`);
}
// lets just run the unit tests
process.exit(await unitTests());
}
// at this point, we're going to run some vscode tests
if (!await filepath.isFolder(isolated)) {
await install();
}
process.exit(await scenarioTests(testInfo.assets, testInfo.name, testInfo.workspace));
}
export async function all() {
if (await checkBinaries()) {
process.exit(1);
}
const finished: string[] = [];
if (await unitTests() !== 0) {
console.log(`${cyan(" UNIT TESTS: ")}${red("failed")}`);
process.exit(1);
}
finished.push(`${cyan(" UNIT TESTS: ")}${green("success")}`);
// at this point, we're going to run some vscode tests
if (!await filepath.isFolder(isolated)) {
await install();
}
try {
const scenarios = await getScenarioNames();
for (const each of scenarios) {
if (await filepath.isFolder(`${$root}/test/scenarios/${each}/tests`)) {
const ti = await getTestInfo(each);
if (ti) {
console.log(`\n\nRunning scenario ${each}`);
const result = await scenarioTests(ti.assets, ti.name, ti.workspace);
if (result) {
console.log(finished.join('\n'));
console.log(` ${cyan(`${ti.name} Tests:`)}${red("failed")}`);
process.exit(result);
}
finished.push(` ${cyan(`${ti.name} Tests:`)}${green("success")}`);
}
}
}
} catch (e) {
error(e);
} finally {
console.log(finished.join('\n'));
}
}
interface Input {
id: string;
type: string;
description: string;
options: CommentArray<{label: string; value: string}>;
}
export async function getScenarioNames() {
return (await readdir(`${$root}/test/scenarios`).catch(returns.none)).filter(each => each !== 'Debugger');
}
export async function getScenarioFolder(scenarioName: string) {
return scenarioName ? resolve(`${$root}/test/scenarios/${(await getScenarioNames()).find(each => each.toLowerCase() === scenarioName.toLowerCase())}`) : undefined;
}
export async function list() {
console.log(`\n${cyan("Scenarios: ")}\n`);
const names = await getScenarioNames();
const max = names.reduce((max, each) => Math.max(max, each), 0);
for (const each of names) {
console.log(` ${green(each.padEnd(max))}: ${gray(await getScenarioFolder(each))}`);
}
}
export async function regen() {
// update the .vscode/launch.json file with the scenarios
const scenarios = await getScenarioNames();
const launch = await readJson(`${$root}/.vscode/launch.json`) as CommentObject;
if (!is.object(launch)) {
return error(`The file ${$root}/.vscode/launch.json is not valid json`);
}
if (!is.array(launch.inputs)) {
return error(`The file ${$root}/.vscode/launch.json is missing the 'inputs' array`);
}
const inputs = launch.inputs as unknown as CommentArray<Input>;
const pickScenario = inputs.find(each => each.id === 'pickScenario');
if (!pickScenario) {
return error(`The file ${$root}/.vscode/launch.json is missing the 'pickScenario' input`);
}
const pickWorkspace = inputs.find(each => each.id === 'pickWorkspace');
if (!pickWorkspace) {
return error(`The file ${$root}/.vscode/launch.json is missing the 'pickWorkspace' input`);
}
for (const scenarioFolder of scenarios) {
const prefix = $root.replace(/\\/g, '/');
if (await filepath.isFolder(`${$root}/test/scenarios/${scenarioFolder}/tests`)) {
const testInfo = await getTestInfo(scenarioFolder);
if (testInfo) {
const label = `${scenarioFolder} `;
const value = testInfo.workspace.replace(/\\/g, '/').replace(prefix, '${workspaceFolder}');
const scenario = pickScenario.options.find(s => s.label === label);
if (!scenario) {
console.log(`Adding scenario ${green(scenarioFolder)} to pickScenario`);
pickScenario.options.push({ label, value });
} else {
verbose(`Skipping scenario ${scenarioFolder} because it already exists`);
}
const wrkspace = pickWorkspace.options.find(s => s.label === label);
if (!wrkspace) {
console.log(`Adding workspace ${green(scenarioFolder)} to pickWorkspace`);
pickWorkspace.options.push({ label, value });
} else {
verbose(`Skipping workspace ${scenarioFolder} because it already exists`);
}
} else {
verbose(`Skipping scenario ${scenarioFolder} because it doesn't look like there are any tests. (maybe try and run ${brightGreen("yarn compile")})`);
}
}
}
await writeJson(`${$root}/.vscode/launch.json`, launch);
}
+12
View File
@@ -0,0 +1,12 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "node16",
"moduleResolution": "node16",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"esModuleInterop": true
}
}
+52
View File
@@ -0,0 +1,52 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { checkBinaries, checkCompiled, checkDTS, checkPrep, error, green } from './common';
const quiet = process.argv.includes('--quiet');
export async function main() {
let failing = await checkPrep() && (quiet || error(`Files are not up to date. Run ${green('yarn prep')} to fix it.`));
failing = (await checkCompiled() && (quiet || error(`Compiled files are not present. Run ${green('yarn compile')} to fix it.`))) || failing;
failing = (await checkBinaries() && (quiet || error(`The native binary files are not present. You should either build or install the native binaries\n\n.`))) || failing;
if (failing) {
process.exit(1);
}
}
export async function compiled() {
let failing = false;
failing = (await checkCompiled() && (quiet || error(`Compiled files are not present. Run ${green('yarn compile')} to fix it.`))) || failing;
if (failing) {
process.exit(1);
}
}
export async function binaries() {
let failing = false;
failing = (await checkBinaries() && (quiet || error(`The native binary files are not present. You should either build or install the native binaries\n\n.`))) || failing;
if (failing) {
process.exit(1);
}
}
export async function prep() {
let failing = false;
failing = (await checkPrep() && (quiet || error(`Files are not up to date. Run ${green('yarn prep')} to fix it.`))) || failing;
if (failing) {
process.exit(1);
}
}
export async function dts() {
let failing = false;
failing = (await checkDTS() && (quiet || error(`VSCode import files are not present. Run ${green('yarn prep')} to fix it.`))) || failing;
if (failing) {
process.exit(1);
}
}
+61
View File
@@ -0,0 +1,61 @@
/* --------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved.
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath } from '@vscode/test-electron';
import { createHash } from 'crypto';
import { tmpdir } from 'os';
import { resolve } from 'path';
import { verbose } from '../src/Utility/Text/streams';
import { mkdir, readJson, rimraf, write } from './common';
export const isolated = resolve(tmpdir(), '.vscode-test', createHash('sha256').update(__dirname).digest('hex').substring(0, 6));
export const extensionsDir = resolve(isolated, 'extensions');
export const userDir = resolve(isolated, 'user-data');
export const settings = resolve(userDir, "User", 'settings.json');
export const options = {
cachePath: `${isolated}/cache`,
launchArgs: ['--no-sandbox', '--disable-updates', '--skip-welcome', '--skip-release-notes', `--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`, '--disable-workspace-trust']
};
export async function install() {
try {
// Create a new isolated directory for VS Code instance in the test folder, and make it specific to the extension folder so we can avoid collisions.
// keeping this out of the Extension folder means we're not worried about VS Code getting weird with locking files and such.
verbose(`Isolated VSCode test folder: ${isolated}`);
await mkdir(isolated);
const vscodeExecutablePath = await downloadAndUnzipVSCode(options);
const [cli, ...args] = resolveCliArgsFromVSCodeExecutablePath(vscodeExecutablePath).filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir='));
args.push(`--extensions-dir=${extensionsDir}`, `--user-data-dir=${userDir}`);
// install the appropriate extensions
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' });
// spawnSync(cli, [...args, '--install-extension', 'twxs.cmake'], { encoding: 'utf-8', stdio: 'ignore' });
// spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cmake-tools'], { encoding: 'utf-8', stdio: 'ignore' });
const settingsJson = await readJson(settings, {});
if (!settingsJson["workbench.colorTheme"]) {
settingsJson["workbench.colorTheme"] = "Tomorrow Night Blue";
}
settingsJson["git.openRepositoryInParentFolders"] = "never";
await write(settings, JSON.stringify(settingsJson, null, 4));
return {
cli, args
};
} catch (err: unknown) {
console.log(err);
}
}
export async function reset() {
verbose(`Removing VSCode test folder: ${isolated}`);
await rimraf(isolated);
}
+141 -134
View File
@@ -1,136 +1,143 @@
// A launch configuration that compiles the extension and then opens it inside a new window
{
"version": "0.1.0",
"configurations": [
{
"name": "Launch Extension (development)",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "Compile Dev",
},
{
"name": "Launch Extension (production)",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "TypeScript Compile",
},
{
"name": "Launch Extension (do not build)",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
]
},
{
"name": "Launch Extension (watch, development)",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "Compile Dev Watch",
},
{
"name": "Launch Extension (watch, production)",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "TypeScript Compile Watch",
},
{
"name": "Launch Unit Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests/index"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "Pretest"
},
{
"name": "Launch Integration Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer/index"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "Pretest",
},
{
"name": "Launch E2E IntelliSense features tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"C:/git/Vcls-vscode-test/SingleRootProject",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/IntelliSenseFeatures/index"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "Pretest"
},
{
"name": "Node Attach",
"type": "node",
"request": "attach",
"port": 5858
},
]
}
"version": "0.1.0",
"configurations": [
{
// debugs the extension
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--no-sandbox",
"--disable-updates",
"--skip-welcome",
"--skip-release-notes",
"--disable-workspace-trust",
"--extensionDevelopmentPath=${workspaceFolder}",
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**"
],
// you can use a watch task as a prelaunch task and it works like you'd want it to.
"preLaunchTask": "watch"
},
{
// debugs the extension (selecting the workspace)
"name": "Run Extension-Select Workspace",
"type": "extensionHost",
"request": "launch",
"args": [
"--no-sandbox",
"--disable-updates",
"--skip-welcome",
"--skip-release-notes",
"--disable-workspace-trust",
"--extensionDevelopmentPath=${workspaceFolder}",
"${input:pickWorkspace}"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**"
],
// you can use a watch task as a prelaunch task and it works like you'd want it to.
"preLaunchTask": "watch"
},
{
// debug scenario tests (selecting the workspace)
"name": "VSCode Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"env": {
"SCENARIO": "${input:pickScenario}"
},
"args": [
"--no-sandbox",
"--disable-updates",
"--skip-welcome",
"--skip-release-notes",
"--disable-extensions",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/dist/test/common/selectTests",
"--scenario=${input:pickScenario}",
"${input:pickScenario}"
],
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**"
],
// you can use a watch task as a prelaunch task and it works like you'd want it to.
"preLaunchTask": "watch"
},
{
// used for debugging unit tests
"name": "MochaTest",
"type": "node",
"request": "attach",
"port": 9229,
"continueOnAttach": true,
"autoAttachChildProcesses": false,
"skipFiles": [
"<node_internals>/**"
],
"outFiles": [
"${workspaceFolder}/dist/**",
"!**/node_modules/**"
]
}
],
"inputs": [
{
"type": "pickString",
"id": "pickScenario",
"description": "Select which scenario to debug VSCode tests.",
"options": [
{
"label": "MultirootDeadlockTest ",
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
},
{
"label": "SimpleCppProject ",
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
},
{
"label": "SingleRootProject ",
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
},
{
"label": "CompilerDetection ",
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
}
]
},
{
"type": "pickString",
"id": "pickWorkspace",
"description": "Select which workspace scenario to debug VSCode.",
"default": "-n",
"options": [
{
"label": "(Debug with new window) ",
"value": "-n"
},
{
"label": "MultirootDeadlockTest ",
"value": "${workspaceFolder}/test/scenarios/MultirootDeadlockTest/assets/test.code-workspace"
},
{
"label": "SimpleCppProject ",
"value": "${workspaceFolder}/test/scenarios/SimpleCppProject/assets/simpleCppProject.code-workspace"
},
{
"label": "SingleRootProject ",
"value": "${workspaceFolder}/test/scenarios/SingleRootProject/assets/"
},
{
"label": "CompilerDetection ",
"value": "${workspaceFolder}/test/scenarios/CompilerDetection/assets"
}
]
}
]
}
+65 -8
View File
@@ -1,10 +1,67 @@
// Place your settings in this file to overwrite default and user settings.
{
"files.exclude": {
"out": false // set this to true to hide the "out" folder with the compiled JS files
},
"search.exclude": {
"out": true // set this to false to include "out" folder in search results
},
"typescript.tsdk": "./node_modules/typescript/lib" // we want to use the TS server from our node_modules folder to control its version
}
"files.exclude": {
"out": false // set this to true to hide the "out" folder with the compiled JS files
},
"search.exclude": {
"out": true // set this to false to include "out" folder in search results
},
"typescript.tsdk": "./node_modules/typescript/lib", // we want to use the TS server from our node_modules folder to control its version
// if you install the mocha test explorer extension, you can run the unit tests from the test explorer UI
"testExplorer.useNativeTesting": true,
"mochaExplorer.files": "./**/unit/**/*.test.js",
"mochaExplorer.watch": "./**/unit/**/*.test.js",
"mochaExplorer.ignore": [
"**/*skip*",
"**/dist/test/**/*.d.ts",
"**/node_modules/**"
],
"mochaExplorer.debuggerConfig": "MochaTest",
"mochaExplorer.logpanel": true,
"mochaExplorer.timeout": 500000,
"mochaExplorer.require": [
"source-map-support/register"
],
"mochaExplorer.monkeyPatch": true,
"[json]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features",
"editor.tabSize": 4,
"files.insertFinalNewline": true
},
"[jsonc]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features",
"editor.tabSize": 4,
"files.insertFinalNewline": true
},
"[typescript]": {
"editor.tabSize": 4,
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.formatOnSave": true,
"files.insertFinalNewline": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "explicit"
},
},
"eslint.format.enable": true,
"[javascript]": {
"editor.tabSize": 4,
},
"markdown.extension.list.indentationSize": "inherit",
"markdown.extension.toc.levels": "2..6",
"[markdown]": {
"editor.tabSize": 4,
},
"eslint.workingDirectories": [
{
"changeProcessCWD": true,
"directory": "./",
},
{
"changeProcessCWD": true,
"directory": "./.scripts",
}
],
}
+10 -157
View File
@@ -4,172 +4,25 @@
"version": "2.0.0",
"tasks": [
{
"label": "TypeScript Compile",
"label": "compile",
"type": "npm",
"script": "compile",
"problemMatcher": "$tsc",
"group": {
"kind": "build",
"isDefault": true
},
"isBackground": false,
"type": "shell",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared"
},
"command": "yarn",
"args": [
"run",
"compile",
"--loglevel",
"silent"
]
}
},
{
"label": "TypeScript Lint",
"group": "build",
"isBackground": false,
"type": "shell",
"command": "yarn",
"args": [
"run",
"lint"
],
"problemMatcher": {
"fileLocation": "absolute",
"source": "lint",
"pattern": [
{
"regexp": "(ERROR:) ([a-zA-Z/:\\-\\.]*)\\[(\\d+), (\\d+)\\]: (.*)",
"severity": 1,
"file": 2,
"line": 3,
"column": 4,
"message": 5
}
]
},
"dependsOn": [
"Compile Dev"
]
},
{
"label": "Compile Dev",
"group": "build",
"isBackground": false,
"type": "shell",
"command": "yarn",
"args": [
"run",
"compile-dev"
]
},
{
"label": "Pretest",
"group": "build",
"isBackground": false,
"type": "shell",
"command": "yarn",
"args": [
"run",
"pretest"
],
"dependsOn": [
"Compile Dev"
]
},
{
"label": "TypeScript Compile Watch",
"label": "watch",
"type": "npm",
"script": "watch",
"group": {
"kind": "build",
"isDefault": true
},
"isBackground": true,
"type": "shell",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared"
},
"command": "yarn",
"args": [
"run",
"compile-watch",
"--loglevel",
"silent"
],
"problemMatcher": [
{
"owner": "typescript",
"source": "ts",
"applyTo": "closedDocuments",
"fileLocation": "absolute",
"severity": "error",
"pattern": [
{
"regexp": "\\[tsl\\] ERROR in (.*)?\\((\\d+),(\\d+)\\)",
"file": 1,
"line": 2,
"column": 3
},
{
"regexp": "\\s*TS\\d+:\\s*(.*)",
"message": 1
}
],
"background": {
"activeOnStart": true,
"beginsPattern": {
"regexp": "Compilation (.*?)starting…"
},
"endsPattern": {
"regexp": "Compilation (.*?)finished"
}
}
}
]
},
{
"label": "Compile Dev Watch",
"group": "build",
"isBackground": true,
"type": "shell",
"command": "yarn",
"args": [
"run",
"compile-dev-watch"
],
"problemMatcher": [
{
"owner": "typescript",
"source": "ts",
"applyTo": "closedDocuments",
"fileLocation": "absolute",
"severity": "error",
"pattern": [
{
"regexp": "\\[tsl\\] ERROR in (.*)?\\((\\d+),(\\d+)\\)",
"file": 1,
"line": 2,
"column": 3
},
{
"regexp": "\\s*TS\\d+:\\s*(.*)",
"message": 1
}
],
"background": {
"activeOnStart": true,
"beginsPattern": {
"regexp": "Compilation (.*?)starting…"
},
"endsPattern": {
"regexp": "Compilation (.*?)finished"
}
}
}
]
"problemMatcher": "$tsc-watch",
}
]
}
}
+54 -46
View File
@@ -1,46 +1,54 @@
# ignore vscode settings for extension development
.vscode/**
# ignore binaries
obj/**
# ignore source files
tools/**
notices/**
test/**
src/**
# ignore .js files that are webpacked or only used for development
out/src/**
out/tools/**
# ignore ts files in ui
ui/*.ts
# ignore Azure-Pipelines files
jobs/**
# ignore development files
tsconfig.json
test.tsconfig.json
tslint.json
.eslintrc.js
webpack.config.js
tscCompileList.txt
gulpfile.js
.gitattributes
.gitignore
CMakeLists.txt
debugAdapters/install.lock*
typings/**
**/*.map
import_edge_strings.js
localized_string_ids.h
translations_auto_pr.js
# ignore i18n language files
i18n/**
# ignore node_modules
node_modules/
# ignore vscode settings for extension development
.vscode/**
# ignore binaries
obj/**
# ignore source files
tools/**
notices/**
test/**
src/**
# ignore .js files that are webpacked or only used for development
out/src/**
out/tools/**
# don't include the local code and tests compiled files
dist/test/**
# no project scripts
.scripts/**
# ignore ts files in ui
ui/*.ts
# ignore Azure-Pipelines files
jobs/**
cgmanifest.json
# ignore development files
tsconfig.json
test.tsconfig.json
ui.tsconfig.json
tslint.json
.eslintrc.js
webpack.config.js
tscCompileList.txt
gulpfile.js
.gitattributes
.gitignore
CMakeLists.txt
debugAdapters/install.lock*
typings/**
**/*.map
import_edge_strings.js
localized_string_ids.h
translations_auto_pr.js
# ignore i18n language files
i18n/**
# ignore node_modules
node_modules/
+7
View File
@@ -0,0 +1,7 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
ignore-engines true
disable-self-update-check true
--run.silent true
+988 -26
View File
File diff suppressed because it is too large Load Diff
+24 -18
View File
@@ -1,13 +1,33 @@
# 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/main/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)
[![Badge](https://aka.ms/vsls-badge)](https://aka.ms/vsls)
The C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.
The C/C++ extension adds language support for C/C++ to Visual Studio Code, including [editing (IntelliSense)](https://code.visualstudio.com/docs/cpp/cpp-ide) and [debugging](https://code.visualstudio.com/docs/cpp/cpp-debug) features.
## Pre-requisites
C++ is a compiled language meaning your program's source code must be translated (compiled) before it can be run on your computer. VS Code is first and foremost an editor, and relies on command-line tools to do much of the development workflow. The C/C++ extension **does not include a C++ compiler or debugger**. You will need to install these tools or use those already installed on your computer.
* C++ compiler pre-installed
* C++ debugger pre-installed
<br/>
Here is a list of compilers and architectures per platform officially supported by the extension. These are reflected by the available [IntelliSense modes](https://code.visualstudio.com/docs/cpp/configure-intellisense-crosscompilation#_intellisense-mode) from the extension's IntelliSense configuration. Note that support for other compilers may be limited.
Platform | Compilers | Architectures
:--- | :--- | :---
Windows | MSVC, Clang, GCC | x64, x86, arm64, arm
Linux | Clang, GCC | x64, x86, arm64, arm
macOS | Clang, GCC | x64, x86, arm64
For more information about installing the required tools or setting up the extension, please follow the tutorials below.
<br/>
<br/>
## Overview and tutorials
* [C/C++ extension overview](https://code.visualstudio.com/docs/languages/cpp)
* [Introductory Videos](https://code.visualstudio.com/docs/cpp/introvideos-cpp)
C/C++ extension tutorials per compiler and platform
* [Microsoft C++ compiler (MSVC) on Windows](https://code.visualstudio.com/docs/cpp/config-msvc)
@@ -17,7 +37,7 @@ C/C++ extension tutorials per compiler and platform
* [Clang on macOS](https://code.visualstudio.com/docs/cpp/config-clang-mac)
## Quick links
* [Editing features (IntelliSense)](https://code.visualstudio.com/docs/cpp/cpp-ide)
* [Editing features (IntelliSense)](https://code.visualstudio.com/docs/cpp/cpp-ide)
* [IntelliSense configuration](https://code.visualstudio.com/docs/cpp/customize-default-settings-cpp)
* [Enhanced colorization](https://code.visualstudio.com/docs/cpp/colorization-cpp)
* [Debugging](https://code.visualstudio.com/docs/cpp/cpp-debug)
@@ -45,20 +65,6 @@ If someone has already filed an issue that encompasses your feedback, please lea
<br>
Let us know what you think of the extension by taking the quick survey.
## Offline installation
The extension has platform-specific binary dependencies, therefore installation via the Marketplace requires an Internet connection in order to download additional dependencies. If you are working on a computer that does not have access to the Internet or is behind a strict firewall, you may need to use our platform-specific packages and install them by running VS Code's `"Install from VSIX..."` command. These "offline' packages are available at: https://github.com/Microsoft/vscode-cpptools/releases.
Package | Platform
:--- | :---
`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-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
Contributions are always welcome. Please see our [contributing guide](CONTRIBUTING.md) for more details.
@@ -69,4 +75,4 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
## Data and telemetry
This extension collects usage data and sends it to Microsoft to help improve our products and services. Collection of telemetry is controlled via the same setting provided by Visual Studio Code: `"telemetry.enableTelemetry"`. Read our [privacy statement](https://privacy.microsoft.com/en-us/privacystatement) to learn more.
This extension collects usage data and sends it to Microsoft to help improve our products and services. Collection of telemetry is controlled via the same setting provided by Visual Studio Code: `"telemetry.enableTelemetry"`. Read our [privacy statement](https://privacy.microsoft.com/en-us/privacystatement) to learn more.
+32
View File
@@ -0,0 +1,32 @@
<h1 data-loc-id="incompatible.extension.heading">Incompatible or Mismatched C/C++ Extension Binaries</h1>
<p data-loc-id="incompat.extension.text1">The C/C++ extension includes native binaries.</p>
<p data-loc-id="incompat.extension.text2">When installed via the marketplace UI in VS Code, the correct native binaries should be included. If incompatible binaries were detected and the C/C++ extension had been installed via the marketplace UI in VS Code, <a href="https://github.com/microsoft/vscode/issues/new?assignees=&labels=&template=bug_report.md" data-loc-id="bug.report.link.title">please report the issue</a>.</p>
<h1 data-loc-id="reinstalling.extension.heading">Reinstalling the C/C++ Extension</h1>
<p data-loc-id="reinstall.extension.text1">When reinstalling an equivalent version of an extension, VS Code may reuse the existing extension directory. To prevent this from occurring when reinstalling the C/C++ extension, it may be necessary to first delete the existing extension directory.</p>
<p data-loc-id="reinstall.extension.text2">Installed extension directories can be found under one of the following paths under your user directory (`%USERPROFILE%` on Windows, or `$HOME` on Linux and macOS)</p>
<pre><code class="lang-bash">%USERPROFILE%\.vscode\extensions</code></pre>
<pre><code class="lang-bash">%USERPROFILE%\.vscode-insiders\extensions</code></pre>
<pre><code class="lang-bash">%USERPROFILE%\.vscode-exploration\extensions</code></pre>
<p data-loc-id="reinstall.extension.text3">In a remote connection:</p>
<pre><code class="lang-bash">$HOME/.vscode-server/extensions</code></pre>
<pre><code class="lang-bash">$HOME/.vscode-server-insiders/extensions</code></pre>
<pre><code class="lang-bash">$HOME/.vscode-server-exploration/extensions</code></pre>
<p data-loc-id="reinstall.extension.text4">Example paths to installed C/C++ extension directories:</p>
<p data-loc-id="reinstall.extension.text5">On Windows:</p>
<pre><code class="lang-bash">%USERPROFILE%\.vscode\extensions\ms-vscode.cpptools-1.9.0</code></pre>
<p data-loc-id="reinstall.extension.text6">On Linux:</p>
<pre><code class="lang-bash">$HOME/.vscode/extensions/ms-vscode.cpptools-1.9.0</code></pre>
<p data-loc-id="reinstall.extension.text7">Then reinstall via the marketplace UI in VS Code.</p>
<p data-loc-id="reinstall.extension.text8">If the correct version of the extension fails to be deployed by VS Code, the correct VSIX for your system can be <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools" data-loc-id="download.vsix.link.title">downloaded from the VS Code marketplace web site</a> and installed using the 'Install from VSIX...' option under the '...' menu in the marketplace UI in VS Code.</p>
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -26,8 +26,8 @@
"replace": "--using_directory\n$1"
},
{
"match": "^/dE--header_only_fallback",
"replace": "--header_only_fallback"
"match": "^/dE--(.*)",
"replace": "--$1"
}
]
}
+250 -51
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.",
@@ -180,7 +180,7 @@
"Použití '&' na pole nemá žádný účinek.",
"Pravý operand %% je nula.",
"Argument je nekompatibilní s formálním parametrem.",
"Argument je nekompatibilní s odpovídající konverzí formátovacího řetězce.",
"Argument není kompatibilní s odpovídajícím převodem formátovacího řetězce (očekával se typ %t1, ale argument má typ %t2).",
"Nepodařilo se otevřít zdrojový soubor %sq (seznam vyhledávání neobsahuje žádné adresáře).",
"Přetypování musí být integrálního typu.",
"Přetypování musí být aritmetického typu nebo typu ukazatel.",
@@ -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,
@@ -838,7 +838,7 @@
"Vrací se odkaz na místní proměnnou.",
"Vynechání explicitního typu je nestandardní (předpokládá se int).",
"Víc než jedna částečná specializace odpovídá seznamu argumentů šablony %n.",
"%no",
"%nod",
"Seznam argumentů šablony není v deklaraci primární šablony povolený.",
"Částečné specializace nemůžou mít výchozí argumenty šablony.",
"%n1 se nepoužívá nebo nejde odvodit ze seznamu argumentů šablony %n2.",
@@ -952,7 +952,7 @@
"Možnost nonstd_using_decl se dá použít jenom při kompilaci C++.",
"Návratový typ funkce main musí být int.",
"Netypový parametr šablony nemůže být typu třídy.",
"Výchozí argument šablony se nemůže specifikovat u deklarace člena šablony třídy mimo jeho třídu.",
"U definice člena šablony třídy mimo šablonu nelze zadat výchozí argument šablony.",
"Příkaz return není povolený v obslužné rutině testovacího bloku funkce konstruktoru.",
"Běžné nebo rozšířené specifikátory se nedají kombinovat v označení inicializátoru.",
"Druhý dolní index nesmí být menší než první dolní index.",
@@ -1214,7 +1214,7 @@
"Tato direktiva pragma se nedá použít v operátoru __Pragma (musí se použít direktiva #pragma).",
"Pole používá koncové odsazení základní třídy.",
"Kompilátory GNU C++ můžou používat odsazení bitového pole.",
"%nd se deklarovalo jako zastaralé.",
"%n se deklarovalo jako zastaralé",
"Název asm není povolený u deklarace nestatického člena.",
"Nerozpoznaný typ formátovací funkce %sq se ignoruje.",
"Základní třída %no1 používá koncové odsazení základní třídy %no2.",
@@ -1389,14 +1389,14 @@
"Dllexport a dllimport se u šablon třídy ignorují.",
"Specifikace základní třídy dllexport/dllimport se liší od specifikace odvozené třídy.",
"Změnou deklarace se nedá přidat dllexport/dllimport k %nod.",
"Dllexport/dllimport je v konfliktu s %nod. Očekával se dllexport.",
"dllexport/dllimport je v konfliktu s %nod; Očekával se dllexport.",
"Entita dllimport se nedá definovat.",
"Dllexport/dllimport vyžaduje externí propojení.",
"Člen třídy deklarované pomocí dllexport/dllimport nemůže sám být deklarovaný pomocí takového specifikátoru.",
"pole typu třídy bez rozhraní DLL použité v třídě s rozhraním DLL",
"Deklarace člena v závorkách je nestandardní.",
"Prázdné znaky mezi zpětným lomítkem a znakem nového řádku se ve spojení řádku ignorují.",
"Dllexport/dllimport je v konfliktu s %nod. Došlo k vynechání dllimport/dllexport.",
"dllexport/dllimport je v konfliktu s %nod; Došlo k vynechání dllimport/dllexport.",
"Neplatný člen pro anonymní členskou třídu třída %t nepovolila členskou funkci.",
"Nestandardní reinterpret_cast",
"Specifikátor pozice formátu nemůže být nula.",
@@ -1443,7 +1443,7 @@
"Komplexní integrálové typy se nepodporují.",
"__real a __imag se dají použít jenom u komplexních hodnot.",
"__real/__imag se použilo na reálnou hodnotu.",
"%nd se deklarovalo jako zastaralé (%sq).",
"%n se deklarovalo jako zastaralé (%sq)",
"neplatná změna definice %nd",
"Došlo k použití dllimport/dllexport u člena nepojmenovaného oboru názvů.",
"Klíčové slovo __thiscall se může vyskytovat jenom u deklarací nestatických členských funkcí.",
@@ -1464,24 +1464,24 @@
"makro",
"návěstí",
"parametr šablony",
null,
null,
null,
null,
"typ",
"spojení",
"třída",
"struktura",
"parametr Template šablony",
"šablona",
"šablona třídy",
null,
"výčet",
"parametr",
"parametr obslužné rutiny",
"proměnná",
"není typ",
null,
"konstanta",
"funkce",
"funkce přetížení",
"člen",
"pole",
null,
"obor názvů",
"pojmenovaný registr",
"pojmenovaný adresní prostor",
"šablona funkce",
@@ -1635,7 +1635,7 @@
"Rozšiřující konverze ukazatele z %t1 na %t2 rozšiřuje bit znaménka.",
"__sptr a __uptr se nedají použít u typů ukazatel na člena.",
"Deklarace operátoru přiřazení pro kopírování pro %t se potlačila, protože %n je konstanta.",
null,
"deklarace operátoru přiřazení pro kopírování objektu %t byla potlačena, protože %n je typu odkaz",
"Deklarace operátoru přiřazení pro kopírování pro %t1 se potlačila, protože došlo k potlačení deklarace %t2.",
"Deklarace operátoru přiřazení pro kopírování pro %t1 se potlačila, protože deklarace %t2 je dvojznačná.",
"Deklarace operátoru přiřazení pro kopírování pro %t1 se potlačila, protože deklarace %t2 není přístupná.",
@@ -1644,7 +1644,7 @@
"Deklarace kopírovacího konstruktoru pro %t1 se potlačila, protože deklarace %t2 není přístupná.",
"Destruktor pro %t1 se nebude volat, protože není přístupný a destruktor pro %t2 byl potlačený.",
"Po definici na konci souboru nenásleduje středník nebo deklarátor.",
"První argument musí být ukazatel na celočíselný nebo výčtový typ.",
"Prvním argumentem musí být ukazatel na celočíselný typ nebo typ výčtu",
"Synchronizované operace jsou platné jenom u objektů o velikosti 1, 2, 4 nebo 8.",
"Argumenty navíc se ignorují.",
"Předpokládalo se, že znak = následuje po názvu makra %sq v definici příkazového řádku.",
@@ -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í.",
@@ -1916,13 +1916,13 @@
"Sada parametrů nemůže mít výchozí hodnotu.",
"C++/CLI se dá povolit jenom v režimu Microsoft C++.",
"Pro konstantu enumerátoru se nedá použít název value__. (V tomto kontextu je to vyhrazený název.)",
"U typu výčtu s nadřízeným typem boolean je povinná explicitní hodnota výčtu.",
"Explicitní hodnota enumerátoru je ve výčtovém typu s logickou základní hodnotou povinná",
null,
"Odkazovalo se na sadu parametrů %sq, která nebyla rozšířená.",
"Rozšíření sady nepoužívá žádnou sadu argumentů.",
"Sada %sq má jiný počet prvků než sada %sq2.",
null,
"Atribut vector_size se u typu výčtu nepovoluje.",
"atribut vector_size není povolený s typem výčtu",
"Vlastnost nemůže být současně statická i virtuální.",
"Indexovaná vlastnost nemůže být triviální.",
"Tato deklarace se nedá použít v definici vlastnosti.",
@@ -1955,7 +1955,7 @@
"Specifikátor viditelnosti na nejvyšší úrovni vyžaduje definici typu.",
"Triviální vlastnost nemůže být odkazovaného typu.",
"Triviální vlastnost nemůže být typu const nebo volatile.",
"%nd se dřív deklaroval jako jiný druh typu výčtu.",
"%nd se dříve deklaroval jako jiný typ výčtu",
"Proměnná zachycená výrazem lambda nemůže být typu třídy %[managed].",
"Přepisování virtuální funkce s kovariantním návratovým typem není u třídy %[managed] povolené.",
"Pole popisovačů není povolené.",
@@ -2175,7 +2175,7 @@
"Pojmenovaný specifikátor přepisu je povolený jenom ve třídě %[managed].",
"Typu tohoto členu neodpovídá žádný člen označený pojmenovaným specifikátorem přepisu.",
"Deklarace statického konstruktoru nemůže zahrnovat pojmenovaný specifikátor přepisu.",
"Typ vymezeného výčtu musí mít název.",
"Typ výčtu s vymezeným oborem musí mít název.",
"Přenos řízení na blok finally není povolený.",
"Příkaz return se v bloku finally použít nedá.",
"Blok try vyžaduje aspoň jeden obslužnou rutinu nebo klauzuli finally.",
@@ -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.",
@@ -2216,7 +2216,7 @@
"U operátoru dynamic_cast se nemůže použít obecný typ, který by mohl být hodnotovým typem.",
"Univerzální název znaku musí označovat platný bod kódu.",
"Obecná omezení neodpovídají omezením %nd.",
"Výraz __underlying_type se vztahuje jenom na typy výčtu.",
"__underlying_type platí jenom pro výčtové typy",
"U tohoto přetypování se očekával jenom jeden výraz operandu.",
"Znak Unicode s šestnáctkovou hodnotou %s se nedá prezentovat ve výchozí systémové znakové stránce.",
"Nestandardní převod svázaného ukazatele na člen na ukazatel funkce",
@@ -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í.",
@@ -2344,7 +2344,7 @@
"%nd se dřív deklaroval s jiným základním typem.",
"Tady se nedá použít enum class nebo enum struct. Použijte místo toho prostý výčet enum.",
"U inicializátoru pro objekt typu %t je povolená jenom jedna úroveň závorek.",
"%nd se nedá použít jako název výčtového typu.",
"%nd nelze použít jako název typu výčtu",
null,
"U inicializátoru uzavřeného v závorkách nejde použít new auto.",
"Definice std::initializer_list neobsahuje očekávaný konstruktor.",
@@ -2367,7 +2367,7 @@
"Inicializátor v závorkách pro entitu, která není třídou, musí být výraz, ne seznam uzavřený ve složených závorkách.",
"Seznam uzavřený ve složených závorkách neposkytuje pro tuto funkci lambda návratový typ.",
"Deklarovaná specifikace výjimky je nekompatibilní s generovanou specifikací.",
"Typy vymezeného výčtu jsou funkcí C++11.",
"Vymezené typy výčtu jsou funkcí C++11",
"Typ funkce se nedá inicializovat pomocí hodnoty.",
"Inicializace seznamu typu objektu %t není povolená, protože má neúplný typ.",
"Seznam inicializátorů std::initializer_list obsahuje destruktor. Ten by ale obsahovat neměl: knihovna je chybně nakonfigurovaná.",
@@ -2406,7 +2406,7 @@
"Volání funkce musí mít v konstantním výrazu konstantní hodnotu.",
"Funkce main se nedá deklarovat jako constexpr.",
null,
"Definice typu výčtu nebo třídy se nedá použít ve funkci constexpr nebo těle konstruktoru.",
"Definice typu třídy nebo výčtu se nemůže vyskytovat ve funkci constexpr ani v těle konstruktoru",
"Tady jsou povolené jenom atributy ve stylu GNU.",
"Nestandardní použití auto současně k odvození typu od inicializátoru a ohlášení ukončovacího návratového typu.",
"Deklarace seznamu parametrů typu void s kvalifikovaným typem void je nestandardní.",
@@ -2477,7 +2477,7 @@
null,
"Očekávalo se návěstí.",
"Po %%l se očekávalo číslo operandu.",
"Číslo operandu pro %%l neodkazuje na platný argument návěstí.",
"Číslo operandu pro %%l neodkazuje na platný argument popisku.",
"Řetězec typu widestring není u příkazu asm platný.",
"Atribut je nestandardní.",
"Není základní třídou třídy %t.",
@@ -2546,7 +2546,7 @@
"Typ decltype(auto) se nedá odvodit.",
"Deklarace rozsahu bloku místního vlákna musí zahrnovat statickou nebo externí",
"Odvozený návratový typ %t1 má konflikty s dříve odvozeným typem %t2.",
"Návratový typ %nd se nedá odvodit, nebyl definovaný.",
"Návratový typ %nd; se nedá odvodit, protože nebyl definován.",
"Virtuální funkce nemůže mít odvozený návratový typ.",
"%n se bude od tohoto bodu považovat za kontextové klíčové slovo.",
"Globální obor názvů nemá žádný skutečný člen %sq.",
@@ -2604,7 +2604,7 @@
"Definice veřejného typu C++/CX není u globálního rozsahu povolená.",
"Indexovaná vlastnost s veřejným přístupovým objektem get nebo set není povolená.",
"Veřejný vnořený typ delegáta není povolený.",
"Neplatný inicializátor delegáta -- očekávaná syntaxe je (<adresa-funkce nebo objekt-funktoru> [, Platform::CallbackContext]) nebo (<popisovač objektu>, <adresa-člena> [, Platform::CallbackContext [, bool]]).",
"Neplatný inicializátor delegáta -- očekávaná syntaxe je (<adresa-funkce nebo objekt-funktoru> [, Platform::CallbackContext]) nebo (<úchyt objektu>, <adresa-člena> [, Platform::CallbackContext [, bool]]).",
"Neplatný inicializátor delegáta -- objekt musí být popisovačem na třídu %[managed].",
"C++/CX nepodporuje pole in nebo out. U veřejných rozhraní API použijte pro in: const Platform::Array<T>^ a pro out: Platform::WriteOnlyArray<T>^ nebo Platform::Array<T>^*.",
"Chybí cílový atribut pro %nd.",
@@ -2664,7 +2664,7 @@
"Proměnná ve funkci constexpr není inicializovaná.",
"Inicializace (uzavřená v závorkách) proměnné deklarované se zástupným typem, ale bez znaku =, vyžaduje právě jeden element uzavřený do závorek.",
"neexistuje žádná konfigurace %s --target",
"atribut není podporovaný v 64bitových konfiguracích x86",
"Atribut je podporován pouze v 32bitových konfiguracích x86",
"%s vyžaduje argument",
"konstruktor nebo destruktor nemůže být korutina",
"%n nemůže být korutina",
@@ -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",
@@ -2780,7 +2780,7 @@
"specifikátor _Atomic(...) nelze použít u kvalifikovaného typu %t",
"přístup k členovi objektu _Atomic",
"bitové pole nemůže mít typ _Atomic",
"typy třídy _Atomic jsou zakázané",
null,
"konstruktor constexpr volá jiný konstruktor než constexpr kvůli inicializaci podobjektu",
"očekávala se čárka (verze static_assert s jedním argumentem není v tomto režimu povolená)",
"statický kontrolní výraz selhal",
@@ -2893,7 +2893,7 @@
"Inicializace kopírování seznamu nemůže používat explicit. %n",
"Vodítko pro dedukci",
"Neplatná hodnota uživatelem definovaného operátoru literálu",
"Funkci __has_cpp_attribute nelze použít mimo direktivu #if nebo #elif.",
"%s se nemůže vyskytovat mimo direktivy preprocesoru.",
"Vodítko pro dedukci se musí deklarovat se stejnou přístupností jako %n.",
"Lambda se v tomto kontextu nepovoluje.",
"Zadané zarovnání není ekvivalentní předchozí deklaraci.",
@@ -2935,7 +2935,7 @@
"Neplatný typ %t pro this-pointer členské funkce %nfd s omezením AMP",
"Neplatný návratový typ %t pro funkci %nfd s omezením AMP",
"Neplatný typ parametru %t pro funkci %nfd s omezením AMP",
null,
"Neplatný konstruktor ve funkci %nfd s omezením AMP",
"Neplatná třída úložiště %s ve funkci %nfd s omezením AMP",
"%s není ve funkci %nfd s omezením AMP povolené.",
"Neplatné přetypování ve funkci s omezením AMP",
@@ -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í.",
@@ -3292,7 +3292,7 @@
"Nestálý typ %t brání vyhodnocování constexpr v __builtin_bit_cast.",
"Typ sjednocení, ukazatele nebo ukazatele na člen %t brání vyhodnocování constexpr v __builtin_bit_cast.",
"%npTd, zděděno pomocí decl %p",
"Podobjekt %t pro dědící konstruktory se nedá vytvořit -- implicitní výchozí konstruktor se odstranil.",
"Nelze provést vytvoření dílčího objektu %t pro dědící konstruktory přidružený konstruktor je odstraněn",
"%n musí vracet void.",
"Neplatný začátek deklarace členu",
"Očekává se klíčové slovo auto.",
@@ -3309,8 +3309,8 @@
"Deklarace exportu nemůže obsahovat deklaraci importu modulu.",
"Deklarace exportu se může vyskytnout jen v jednotce rozhraní modulu.",
"Deklarace exportu nemůže exportovat název s interním propojením.",
"Deklarace using zahrnuje %nfd.",
"Předdefinovaná funkce není dostupná, protože typy s plovoucí desetinnou čárkou __fp16 se nepodporují.",
null,
null,
"Výraz requires musí určovat alespoň jeden požadavek.",
"Modifikátor constinit tady není platný.",
"Modifikátor constinit je platný jen pro deklarace proměnných s dobou trvání úložiště static nebo thread.",
@@ -3343,19 +3343,218 @@
"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é",
null,
"nejde najít záhlaví %s, které se má importovat",
"více než jeden soubor v seznamu souborů modulu odpovídá %s",
"soubor modulu, který se našel pro %s, je pro jiný modul",
"libovolný druh souboru modulu",
"nejde přečíst soubor modulu",
"předdefinovaná funkce není k dispozici, protože typ char8_t se nepodporuje s aktuálními možnostmi",
"možnost příkazového řádku --ms_await nejde zadat, pokud jsou povolené korutiny C++20",
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)"
]
"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í typ výčtu",
"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.",
"typ příslibu %t musí deklarovat get_return_object_on_allocation_failure jako funkci statického člena, která nevyžaduje žádné argumenty",
"šablona aliasu nemůže být explicitně specializovaná.",
"aby se to shodovalo s tímto „{“",
"v tomto volání makra",
"volání vyžaduje nejednoznačný převod argumentu.",
"deklarace vlastněná modulem %s je v konfliktu s %nd",
"deklarace vlastněná globálním modulem je v konfliktu s %nd vlastněnou pojmenovaným modulem",
"první argument atributu „malloc“ musí být funkce",
"nejde zachytit %nod",
"nejde zachytit „this“",
"již v kontextu consteval",
"Příkazy if consteval a if not consteval vyžadují příkazy uzavřené do složených závorek.",
"Příkazy if consteval a if not consteval nemají ve funkci, která není constexpr, žádný význam.",
"Převod řízení na příkaz if consteval nebo if not consteval se nepovoluje.",
"Konstantní vyhodnocování nemůže projít deklarací proměnné se statickou dobou trvání nebo uloženou po dobu existence vlákna.",
"Proměnlivý kvalifikátor se pro výraz lambda s explicitním parametrem this nepovoluje.",
"Členská funkce deklarovaná jako static nemůže mít explicitní parametr this.",
"Explicitní parametr this musí být první deklarovaný parametr.",
"Proměnná this se tady nepodporuje.",
"Porovnávací funkce s explicitním this nemůže být nastavena jako výchozí.",
"Funkce s explicitním this vyžaduje druhý operand.",
"Příkazy if consteval a if not consteval nejsou v tomto režimu standardní.",
"Vynechání () v deklarátoru výrazu lambda je v tomto režimu nestandardní.",
"Když se vynechá seznam parametrů výrazu lambda, nepodporuje se klauzule requires na konci.",
"Požádalo se o neplatný oddíl modulu %sq.",
"Požádalo se nedefinovaný oddíl modulu %sq1 (předpokládalo se, že je to %sq2).",
null,
null,
"Modul %sq1 pozice souboru %u1 (relativní pozice %u2) požadovaná pro oddíl %sq2, který přetéká konec svého oddílu",
"Modul %sq1 pozice souboru %u1 (relativní pozice %u2) požadována pro oddíl %sq2, který je nesprávně zarovnán s elementy oddílů",
"z dílčího pole %sq (relativní pozice k uzlu %d)",
"Z oddílu %sq elementu %u1 (pozice souboru %u2, relativní pozice %u3)",
"Atributy výrazu lambda tady nejsou standardní.",
"Identifikátor %sq by bylo možné zaměnit za vizuálně podobné %p.",
"Tento komentář obsahuje podezřelé řídicí znaky formátování Unicode.",
"Tento řetězec obsahuje řídicí znaky formátování Unicode. To může způsobit neočekávané chování modulu runtime.",
"Došlo k potlačení %d1 upozornění při zpracovávání modulu %sq1.",
"Došlo k potlačení %d1 upozornění při zpracovávání modulu %sq1.",
"Došlo k potlačení %d1 chyby při zpracovávání modulu %sq1.",
"Došlo k potlačení %d1 chyb při zpracovávání modulu %sq1.",
"včetně",
"potlačeno",
"Virtuální členská funkce nemůže mít explicitní parametr this.",
"Převzetí adresy funkce s explicitním this vyžaduje kvalifikovaný název.",
"Vytvoření adresy funkce s explicitním this vyžaduje operátor &.",
"řetězcový literál nelze použít k inicializaci člena flexibilního pole.",
"Reprezentace IFC definice funkce %sq je neplatná.",
null,
"graf UniLevel IFC se nepoužil k zadání parametrů.",
"V grafu definice parametrů IFC byl zadán tento počet parametrů: %d1, zatímco deklarace IFC určovala tento počet parametrů: %d2.",
"V grafu definice parametrů IFC byl zadán %d1 parametr, zatímco deklarace IFC určovala tento počet parametrů: %d2.",
"V grafu definice parametrů IFC byl zadán tento počet parametrů: %d1, zatímco deklarace IFC určovala %d2 parametr.",
"Chybí reprezentace IFC definice funkce %sq.",
"modifikátor funkce se nevztahuje na deklaraci členské šablony.",
"výběr člena zahrnuje příliš mnoho vnořených anonymních typů",
"mezi operandy není žádný společný typ",
"očekával se ukazatel na člen",
"flexibilní člen pole nelze deklarovat v jinak prázdném typu",
"Očekávalo se, že std::source_location::__impl bude definováno pro třídu pouze s datovými členy _M_function_name, _M_file_name, _M_column a _M_line.",
"zadané číslo sloupce je pro implementaci std::source_location příliš velké",
"zadané číslo řádku je pro implementaci std::source_location příliš velké",
"znaková konstanta UTF-16 nemůže zabírat více než jednu jednotku kódu; hodnota byla zkrácena",
"oba argumenty musí mít stejný typ",
"typ %t není platný jako argument pro tento předdefinovan.",
"voláno z %nd:",
"kvalifikovaný typ je pro anonymní bitová pole nestandardní.",
"typ elementu vektorové podmínky (%t1) musí mít stejnou velikost jako typ elementu výsledku (%t2).",
"typ operandu vektoru s plovoucí desetinnou čárkou (%t) nemá žádný odpovídající celočíselný vektorový typ.",
"mangling pro výrazy requires ještě není implementovaný.",
"kvůli atributu „není k dispozici“",
"duplicitní kvalifikátor asm",
"bitové pole s nekompletním typem výčtu nebo neprůhledný výčet s neplatným základním typem",
"došlo k pokusu o vytvoření elementu z oddílu IFC %sq pomocí indexu do oddílu IFC %sq2.",
"oddíl %sq určil svou velikost položky jako %d1, když bylo očekáváno %d2.",
"při zpracování modulu %sq1 byl zjištěn neočekávaný požadavek IFC.",
"podmínka selhala na řádku %d v %s1: %sq2",
"atomické omezení závisí na sobě",
"Funkce noreturn má návratový typ, který není void.",
"oprava byla provedena vyřazením parametru %sq (v relativním indexu %d).",
"výchozí argument šablony nelze zadat pro definici členské šablony mimo její třídu.",
"při rekonstrukci entity se zjistil neplatný název identifikátoru IFC %sq.",
null,
"neplatná hodnota řazení modulu %sq",
"šablona funkce načtená z modulu IFC byla nesprávně parsována jako %nd.",
"nepovedlo se načíst odkaz na entitu IFC v modulu %sq.",
"Z oddílu %sq elementu %u1 (pozice souboru %u2, relativní pozice %u3)",
"zřetězené specifikátory nejsou povolené pro typ třídy s netriviálním destruktorem.",
"Explicitní deklarace specializace nemůže být deklarací typu friend.",
"typ std::float128_t se nepodporuje. místo toho se použije std::float64_t",
"typ std::bfloat16_t se nepodporuje. místo toho se použije std::float32_t",
"vodítko pro dedukce se nedá deklarovat pro šablonu aliasu %no",
"%n bylo deklarováno jako nedostupné.",
"%n bylo deklarováno jako nedostupné (%sq).",
"kvůli atributu deprecated",
"explicitní parametry šablony lambda jsou funkcí C++20",
"použití _Noreturn je od C23 zastaralé. Místo toho použijte [[noreturn]].",
"použití _Alignof je od C23 zastaralé. Místo toho použijte alignof.",
"použití _Alignas je od C23 zastaralé. Místo toho použijte alignas.",
"použití _Bool je od C23 zastaralé. Místo toho použijte bool.",
"použití _Static_assert je od C23 zastaralé. Místo toho použijte static_assert.",
"použití _Thread_local je od C23 zastaralé. Místo toho použijte thread_local.",
"Aby bylo možné používat soubor modulu %sq (modul Microsoft Visual Studio IFC), musí být povolený režim Microsoftu.",
"soubor modulu %sq se nepovedlo otevřít",
"nalezeno v mapě modulu %sq.",
"nalezeno v mapě jednotek hlaviček pro %sq",
"nerozpoznaný režim výstupu (musí to být text, sarif): %s",
"možnost c23_typeof se dá použít jenom při kompilaci C",
"neplatné číslo verze Clang: %s",
"řetězec IFC obsahuje neočekávaný znak null (nula) v modulu %sq",
"bylo použito %d1 z %d2 bajtů",
"z informací o řetězci v oddílu %sq, elementu %u1 (pozice souboru %u2, relativní pozice %u3)",
"nejde vyhodnotit inicializátor pro člena flexibilního pole",
"výchozí inicializátor bitového pole je funkce C++20",
"příliš mnoho argumentů v seznamu argumentů šablony v modulu %sq",
"zjištěno pro argument šablony reprezentovaný %sq elementem %u1 (pozice souboru %u2, relativní pozice %u3)",
"příliš málo argumentů v seznamu argumentů šablony v modulu %sq",
"zjištěno při zpracování seznamu argumentů šablony reprezentovaného %sq elementem %u1 (pozice souboru %u2, relativní pozice %u3)",
"převod z vymezeného výčtového typu %t je nestandardní",
"zrušení přidělení se neshoduje s druhem přidělení (jedno je pro pole a druhé ne)",
"porovnání zahrnuje neznámou adresu (např. adresu slabé proměnné)",
"__make_signed je kompatibilní jenom s typem integer a výčtovým typem, které nejsou typu bool",
"__make_unsigned je kompatibilní jenom s typem integer a výčtovým typem, které nejsou typu bool",
"vnitřní název %sq bude odsud považován za běžný identifikátor",
"přístup k neinicializovanému podobjektu v indexu %d",
"Číslo řádku IFC (%u1) přetéká maximální povolenou hodnotu (%u2), modul %sq.",
"Modul %sq1 požadoval element %u oddílu %sq2. Tato pozice souboru překračuje maximální reprezentovatelnou hodnotu.",
"nesprávný počet argumentů",
"Omezení kandidáta %n není splněno.",
"Počet parametrů %n neodpovídá volání.",
"Nahrazení explicitních argumentů šablony %T pro %n se nezdařilo.",
"%n je implicitně funkce přesunu „= delete“, která se proto během řešení přetížení ignoruje.",
"%n se neshoduje, protože pro prázdný balíček parametrů je zadaný argument #%d.",
"%n se neshoduje, protože argument #%d neodpovídá parametru.",
"Kandidát %n neuspěl při dedukci.",
"Předdefinovaný operátor%s se neshoduje, protože argument #%d neodpovídá parametru.",
"<integrál>",
"<propagovaný integrál>",
"<ptrdiff_t>",
"<výčet>",
"<vymezený výčet>",
"<aritmetické>",
"<aritmetické zvýšení úrovně>",
"<nelogické aritmetické>",
"<ukazatel>",
"<nullptr>",
"<popisovač>",
"<popisovač pole rozhraní příkazového řádku>",
"<ukazatel na objekt>",
"<ukazatel na funkci>",
"<ukazatel na člen>",
"<bool>",
"<podobné logické hodnotě>",
"<třída>",
"auto(<výraz>) a auto{<expr>} jsou funkce C++23.",
"Neplatné anonymní sjednocení deklarace using není povolená.",
"Soubor IFC %sq nejde zpracovat.",
"Verze IFC %u1.%u2 není podporována.",
"Architektura IFC %sq není kompatibilní s aktuální cílovou architekturou.",
"Modul %sq1 požaduje index %u nepodporovaného oddílu odpovídajícího %sq2.",
"Číslo parametru %d z %n má typ %t, který nelze dokončit.",
"Číslo parametru %d z %n má neúplný typ %t.",
"Číslo parametru %d z %n má abstraktní typ %t.",
"Strukturované vazby jsou funkcí C++17.",
"Zachycení strukturovaných vazeb je funkce C++20."
]
+249 -50
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.",
@@ -180,7 +180,7 @@
"Das Anwenden von \"&\" auf ein Array hat keine Auswirkungen.",
"Der rechte Operand von \"%%\" ist Null.",
"Das Argument ist nicht mit dem formellen Parameter kompatibel.",
"Das Argument ist mit der entsprechenden Formatzeichenfolgenkonvertierung inkompatibel.",
"Argument ist nicht mit der entsprechenden Formatzeichenfolgenkonvertierung kompatibel (erwarteter Typ %t1, aber das Argument weist den Typ %t2 auf)",
"Die Quelldatei \"%sq\" konnte nicht geöffnet werden (keine Verzeichnisse in der Suchliste).",
"Der Typ der Umwandlung muss eine ganze Zahl sein.",
"Der Typ der Umwandlung muss arithmetisch oder ein Zeiger 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,
@@ -838,7 +838,7 @@
"Ein Verweis auf die lokale Variable wird zurückgegeben.",
"Die Auslassung des expliziten Typs entspricht nicht dem Standard (\"int\" wird angenommen).",
"Mehr als eine teilweise Spezialisierung stimmt mit der Vorlagenargumentliste von \"%n\" überein.",
"%no",
"%nod",
"In einer Deklaration einer primären Vorlage ist keine Vorlagenargumentliste zulässig.",
"Teilweise Spezialisierungen dürfen keine Standardvorlagenargumente aufweisen.",
"%n1 wird nicht in der Vorlagenargumentliste von \"%n2\" verwendet oder kann nicht daraus hergeleitet werden.",
@@ -952,7 +952,7 @@
"Die nonstad_using_decl-Option kann nur beim Kompilieren von C++ verwendet werden.",
"Der Rückgabetyp der Main-Funktion muss \"int\" sein.",
"Ein Nichttyp-Vorlagenparameter darf keinen Klassentyp aufweisen.",
"Ein Standardvorlagenargument kann nicht in der Deklaration eines Members einer Klassenvorlage außerhalb seiner Klasse angegeben werden.",
"ein Standardvorlagenargument kann nicht in der Definition eines Members einer Klassenvorlage außerhalb der Vorlage angegeben werden",
"Eine return-Anweisung ist in einem Handler eines Funktions-Try-Blocks eines Konstruktors nicht zulässig.",
"Normale und erweiterte Kennzeichner können nicht in einer Initialisiererkennzeichnung kombiniert werden.",
"Der zweite Index darf nicht kleiner als der erste sein.",
@@ -1214,7 +1214,7 @@
"Dieses Pragma kann nicht in einem _Pragma-Operator verwendet werden (es muss eine #pragma-Direktive verwendet werden).",
"Das Feld verwendet die Endauffüllung einer Basisklasse.",
"GNU C++-Compiler verwenden möglicherweise eine Bitfeldauffüllung.",
"%nd wurde als veraltet deklariert",
"%n wurde als veraltet deklariert",
"In einer nicht statischen Memberdeklaration ist kein ASM-Name zulässig.",
"Unbekannter Formatfunktionstyp \"%sq\" wird ignoriert.",
"Die Basisklasse \"%no1\" verwendet die Endauffüllung von Basisklasse \"%no2\".",
@@ -1389,14 +1389,14 @@
"dllexport und dllimport werden in Klassenvorlagen ignoriert.",
"Die dllexport/dllimport -Spezifikation der Basisklasse unterscheidet sich von der der abgeleiteten Klasse.",
"Durch die Neudeklaration kann dllexport/dllimport nicht zu \"%nod\" hinzugefügt werden.",
"dllexport/dllimport-Konflikt mit \"%nod\"; dllexport wird angenommen.",
"dllexport/dllimport-Konflikt mit %nod; dllexport wird angenommen.",
"Die dllimport-Entität kann nicht definiert werden.",
"dllexport/dllimport erfordert eine externe Bindung.",
"Ein Member einer Klasse, die mit dllexport/dllimport deklariert wurde, kann nicht selbst mit einem solchen Spezifizierer deklariert werden.",
"Das Feld eines Klassentyps ohne DLL-Schnittstelle wurde in einer Klasse mit DLL-Schnittstelle verwendet.",
"Eine in Klammern gesetzte Memberdeklaration entspricht nicht dem Standard.",
"Leerstellen zwischen dem umgekehrten Schrägstrich und dem Zeilenvorschub in der Zeilenverknüpfung wird ignoriert.",
"dllexport/dllimport-Konflikt mit \"%nod\"; dllimport/dllexport wurde gelöscht.",
"dllexport/dllimport-Konflikt mit %nod; dllimport/dllexport wurde gelöscht.",
"Ungültiger Member für anonyme Memberklasse; die Klasse \"%t\" weist eine unzulässige Memberfunktion auf.",
"reinterpret_cast entspricht nicht dem Standard.",
"Der Positionsformatspezifizierer kann nicht Null sein.",
@@ -1443,7 +1443,7 @@
"Komplexe integrale Typen werden nicht unterstützt.",
"__real und __imag können nur auf komplexe Werte angewendet werden.",
"__real/__imag wurde auf den tatsächlichen Wert angewendet.",
"%nd wurde als veraltet deklariert (%sq)",
"%n wurde als veraltet deklariert (%sq)",
"Ungültige Neudefinition von \"%nd\".",
"dllimport/dllexport wurde auf ein Member eines unbenannten Namespaces angewendet.",
"__thiscall kann nur in nicht statischen Memberfunktionsdeklarationen vorkommen.",
@@ -1464,24 +1464,24 @@
"Makro",
"Bezeichnung",
"Vorlagenparameter",
null,
null,
null,
null,
"Typ",
"Union",
"Klasse",
"Struktur",
"template template-Parameter",
"Vorlage",
"Klassenvorlage",
null,
"Enumeration",
"Parameter",
"Handlerparameter",
"Variable",
"Nichttyp",
null,
"Konstante",
"Funktion",
"Überladene Funktion",
"Member",
"Feld",
null,
"Namespace",
"Benannte Registrierung",
"Benannter Adressbereich",
"Funktionsvorlage",
@@ -1635,7 +1635,7 @@
"Das Erweitern der Zeigerkonvertierung von \"%t1\" in \"%t2\" erweitert das signierte Bit.",
"__sptr und __uptr gelten nicht für Pointer-to-Member-Typen.",
"Die Deklaration des Kopierzuweisungsoperators für \"%t\" wurde unterdrückt, da \"%n\" konstant ist.",
null,
"Die Deklaration des Kopierzuweisungsoperators für \"%t\" wurde unterdrückt, weil \"%n\" folgenden Verweistyp aufweist",
"Die Deklaration des Kopierzuweisungsoperators für \"%t1\" wurde unterdrückt, da die Deklaration von \"%t2\" unterdrückt wurde.",
"Die Deklaration des Kopierzuweisungsoperators für \"%t1\" wurde unterdrückt, da die Deklaration von \"%t2\" mehrdeutig ist.",
"Die Deklaration des Kopierzuweisungsoperators für \"%t1\" wurde unterdrückt, da auf die Deklaration von \"%t2\" nicht zugegriffen werden kann.",
@@ -1644,7 +1644,7 @@
"Die Deklaration des Kopierkonstruktors für \"%t1\" wurde unterdrückt, da auf die Deklaration von \"%t2\" nicht zugegriffen werden kann.",
"Der Destruktor für \"%t1\" wird nicht aufgerufen, da auf ihn nicht zugegriffen werden kann und der Destruktor für \"%t2\" unterdrückt wurde.",
"Auf die Definition am Ende der Datei darf kein Semikolon oder ein Deklarator folgen.",
"Das erste Argument muss ein Zeiger auf einen Ganzzahl- oder einen Enumerationstyp sein.",
"das erste Argument muss ein Zeiger auf einen Integer- oder Enumerationstyp sein.",
"Synchronisierte Operationen sind nur für Objekte der Größe 1, 2, 4 oder 8 gültig.",
"Zusätzliche Argumente werden ignoriert.",
"\"=\" nahm den folgenden Makronamen \"%sq\" in der Befehlszeilendefinition an.",
@@ -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.",
@@ -1695,8 +1695,8 @@
null,
"Für die Vektoroperation sind identische Elementtypen erforderlich.",
"Die Vektoroperation gilt nicht für Vektoren mit nicht integralem Typ.",
"Die Datei \"%s\" kann nicht geöffnet werden: %sq2.",
"Die -Datei \"%s\" kann nicht geöffnet werden: %sq2: %s3.",
"Die Datei %s kann nicht geöffnet werden: %sq2.",
"Die -Datei %s kann nicht geöffnet werden: %sq2: %s3.",
"Vorkompilierte Headerdatei",
"Vordefiniertes Makro",
"Generierter C-Code",
@@ -1955,7 +1955,7 @@
"ein Sichtbarkeitsspezifizierer der obersten Ebene erfordert eine Typdefinition",
"eine triviale Eigenschaft kann keinen Verweistyp aufweisen",
"eine triviale Eigenschaft kann keinen const- oder volatile-Typ aufweisen",
"%nd wurde zuvor als andere Art von Enumerationstyp deklariert",
"%nd wurde zuvor als andere Variante des Enumerationstyps deklariert",
"Eine von einer Lambdafunktion erfasste Variable kann keinen %[managed]-Klassentyp aufweisen.",
"Überschreiben einer virtuellen Funktion mit einem covariant-Rückgabetyp ist in einer %[managed]-Klasse nicht zulässig",
"ein Array von Handles ist nicht zulässig",
@@ -2175,7 +2175,7 @@
"ein benannter Überschreibungsspezifizierer ist nur in einer %[managed]-Klasse zulässig",
"kein vom benannten Überschreibungsspezifizierer angegebener Member stimmt mit dem Typ dieses Members überein",
"eine statische Destruktordeklaration kann keinen benannten Überschreibungsspezifizierer enthalten",
"Eine Enumeration mit eigenem Gültigkeitsbereich muss einen Namen aufweisen.",
"ein bereichsbezogenes Enumerationstyp muss einen Namen haben",
"Übertragung des Steuerelements in einen Finally-Block ist nicht zulässig",
"Eine return-Anweisung innerhalb eines Finally-Block ist unzulässig.",
"Der Try-Block erfordert mindestens einen Handler oder eine Finally-Klausel.",
@@ -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",
@@ -2344,7 +2344,7 @@
"\"%nd\" wurde zuvor mit einem unterschiedlichen Basistyp deklariert",
"'enum class' und 'enum struct' können hier nicht verwendet werden (verwenden Sie stattdessen eine einfache 'enum')",
"bei Initialisierern für Objekte des Typs \"%t\" ist nur eine Ebene geschweifter Klammern zulässig",
"\"%nd\" kann nicht als Name für einen Enumerationstyp",
"%nd kann nicht als Name für einen Enumerationstyp verwendet werden",
null,
"Ein Initialisierer in geschweiften Klammern darf nicht mit 'new auto' verwendet werden.",
"Die Definition von \"std::initializer_list\" enthält nicht den erwarteten Konstruktor.",
@@ -2367,7 +2367,7 @@
"Ein in Klammern gesetzter Initialisierer für eine Nicht-Klassenentität muss ein Ausdruck sein, keine in geschweifte Klammern gesetzte Liste.",
"Eine in geschweifte Klammern gesetzte Liste stellt keinen Rückgabetyp für diese Lambdafunktion bereit.",
"Die deklarierte Ausnahmespezifikation ist mit der generierten inkompatibel.",
"Enumerationstypen mit eigenem Gültigkeitsbereich sind eine Funktion von C++11.",
"bereichsbezogene Enumerationstypen sind ein C++11-Feature.",
"Ein Funktionstyp kann nicht wertinitialisiert sein.",
"Die Listeninitialisierung eines Objekttyps \"%t\" ist nicht zulässig, da der Typ unvollständig ist.",
"\"std::initializer_list\" enthält entgegen der Erwartung einen Destruktor -- Die Bibliothek ist falsch konfiguriert.",
@@ -2406,7 +2406,7 @@
"Ein Funktionsaufruf muss in einem Konstantenausdruck einen konstanten Wert enthalten.",
"Die Main-Funktion darf nicht als constexpr deklariert werden.",
null,
"Die Definition einer Klasse oder eines Enumerationstyps darf nicht in einer constexpr-Funktion oder einem Konstruktortext stehen.",
"die Definition einer Klasse oder eines Enumerationstyps darf nicht in einer constexpr-Funktion oder einem Konstruktortext stehen",
"Hier sind nur Attribute im GNU-Stil zulässig.",
"Nicht dem Standard entsprechende Verwendung von 'auto', um den Typ eines Initialisierers abzuleiten und einen nachstehenden Rückgabetyp anzukündigen",
"Die Deklaration einer Void-Parameterliste mit einem qualifizierten Void-Typ entspricht nicht dem Standard.",
@@ -2477,7 +2477,7 @@
null,
"Bezeichnung erwartet",
"Operandennummer nach \"%%l\" erwartet",
"Operandennummer für '%%l' verweist nicht auf ein gültiges Bezeichnungsargument.",
"Die Operandennummer für \"%%l\" verweist nicht auf ein gültiges Bezeichnungsargument",
"Eine breite Zeichenfolge ist in einer asm-Anweisung ungültig.",
"Das Attribut entspricht nicht dem Standard.",
"Keine Basisklasse der Klasse \"%t\".",
@@ -2546,7 +2546,7 @@
"Der Typ \"decltype(auto)\" kann nicht abgeleitet werden.",
"Eine threadlokale Erklärung im Blockbereich muss \"static\" oder \"extern\" enthalten.",
"abgeleiteter Rückgabetyp %t1 steht in Konflikt mit zuvor abgeleitetem Typ %t2",
"Rückgabetyp %nd kann nicht abgeleitet werden; wurde nicht definiert",
"Der Rückgabetyp \"%nd;\" kann nicht abgeleitet werden. Er wurde nicht definiert.",
"Eine virtuelle Funktion darf keinen abgeleiteten Rückgabetyp aufweisen.",
"%n wird als kontextsensibles Schlüsselwort von diesem Punkt betrachtet",
"Der globale Namespace weist keinen tatsächlichen Member \"%sq\" auf.",
@@ -2664,7 +2664,7 @@
"Variable in constexpr-Funktion ist nicht initialisiert.",
"Initialisierung in Klammern einer Variablen, die mit einem Platzhaltertyp, jedoch ohne \"=\" initialisiert wurde, erfordert genau ein Element innerhalb der Klammern",
"Es ist keine --target-Konfiguration \"%s\" vorhanden.",
"Das Attribut wird in 64-Bit-x86-Konfigurationen nicht unterstützt.",
"das Attribut wird nur in einer 32-Bit-x86-Konfigurationen unterstützt",
"\"%s\" erfordert ein Argument.",
"Ein Konstruktor oder Destruktor kann keine Coroutine sein.",
"\"%n\" kann keine Coroutine sein.",
@@ -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",
@@ -2780,7 +2780,7 @@
"Der Spezifizierer \"_Atomic(...)\" kann nicht auf den qualifizierten Typ \"%t\" angewendet werden.",
"Zugriff auf Member des _Atomic-Objekts",
"Ein Bitfeld kann keinen _Atomic-Typ aufweisen.",
"_Atomic-Klassentypen sind deaktiviert.",
null,
"Der constexpr-Konstruktor ruft den Nicht-constexpr-Konstruktor für die Teilobjektinitialisierung auf.",
"Ein Komma wurde erwartet (die Version mit einem Argument von \"static_assert\" ist in diesem Modus nicht aktiviert).",
"Fehler bei der statischen Assertion.",
@@ -2810,7 +2810,7 @@
"Der unvollständige %t-Wert kann nicht ausgewertet werden.",
"Der Rückgabewert der Routine, die mit dem Attribut \"nodiscard\" deklariert ist, wird ignoriert.",
"Der Rückgabewerttyp mit dem Attribut \"nodiscard\" wird ignoriert.",
"Das Attribut \"nodiscard\" gilt nicht für Destruktoren oder Routinen mit einem ungültigen Rückgabetyp.",
"Das Attribut \"nodiscard\" gilt nicht für Destruktoren oder Routinen mit einem ungültigen Rückgabetyp",
"Das Attribut \"fallthrough\" gilt nur für NULL-Anweisungen.",
"Das Attribut \"fallthrough\" erscheint unter Umständen nur in einer einschließenden switch-Anweisung.",
"Die \"fallthrough\"-Anweisung muss einer \"switch case\"-Bezeichnung oder \"default\" vorausgehen.",
@@ -2893,7 +2893,7 @@
"Die copy-list-Initialisierung kann nicht \"%n\" als \"explicit\" verwenden.",
"Deduktionsanweisung",
"Ungültiger Wert für benutzerdefinierten Literaloperator.",
"__has_cpp_attribute darf nicht außerhalb von #if oder #elif verwendet werden.",
"%s darf nicht außerhalb von Präprozessordirektiven auftreten",
"Die Deduktionsanweisung muss mit derselben Barrierefreiheit wie \"%n\" deklariert werden.",
"Eine Lambdafunktion ist in diesem Kontext nicht zulässig.",
"Die angegebene Ausrichtung entspricht nicht der vorherigen Deklaration.",
@@ -2935,7 +2935,7 @@
"Unzulässiger Typ %t im this-Zeiger für die eingeschränkte amp-Memberfunktion %nfd",
"Unzulässiger Rückgabetyp \"%t\" für die auf AMP begrenzte Funktion \"%nfd\".",
"Unzulässiger Parametertyp \"%t\" für die auf AMP begrenzte Funktion \"%nfd\".",
null,
"Unzulässiges Konstrukt in auf AMP begrenzter Funktion %nfd",
"Unzulässige Speicherklasse \"%s\" in der auf AMP begrenzten Funktion \"%nfd\".",
"\"%s\" ist in der auf AMP begrenzten Funktion \"%nfd\" unzulässig.",
"Unzulässige Umwandlung in auf AMP begrenzte Funktion.",
@@ -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.",
@@ -3292,7 +3292,7 @@
"Ein flüchtiger %t-Typ verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
"Ein Union-, Zeiger- oder Pointer-to-Member-Typ \"%t\" verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
"%npTd, geerbt über die Verwendung von decl %p",
"Die Teilobjekterstellung von \"%t\" für erbende Konstruktoren kann nicht durchgeführt werden der implizite Standardkonstruktor wurde gelöscht.",
"Die Teilobjekterstellung von %t für erbende Konstruktoren kann nicht durchgeführt werden der zugehörige Konstruktor wurde gelöscht.",
"\"%n\" muss \"void\" zurückgeben.",
"Ungültiger Beginn der Memberdeklaration.",
"Erwartet wurde \"auto\".",
@@ -3309,8 +3309,8 @@
"Eine Exportdeklaration kann keine Modulimportdeklaration enthalten.",
"Eine Exportdeklaration kann nur in einer Modulschnittstelleneinheit verwendet werden.",
"Eine Exportdeklaration kann keinen Namen mit interner Verknüpfung exportieren.",
"Die using-Deklaration enthält \"%nfd\".",
"Die integrierte Funktion ist nicht verfügbar, weil __fp16-Gleitkommatypen nicht unterstützt werden.",
null,
null,
"Für einen requires-Ausdruck muss mindestens eine Anforderung angegeben werden.",
"\"constinit\" ist hier nicht gültig.",
"\"constinit\" ist nur für Deklarationen von Variablen mit Speicherdauer \"static\" oder \"thread\" gültig.",
@@ -3343,19 +3343,218 @@
"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.",
null,
"Der zu importierende Header \"%s\" wurde nicht gefunden.",
"Mehrere Dateien in der Moduldateiliste stimmen mit \"%s\" überein.",
"Die für \"%s\" gefundene Moduldatei ist für ein anderes Modul bestimmt.",
"Beliebige Art von Moduldatei",
"Die Moduldatei kann nicht gelesen werden.",
"Die integrierte Funktion ist nicht verfügbar, weil der char8_t-Typ mit den aktuellen Optionen nicht unterstützt wird.",
"Die Befehlszeilenoption \"--ms_await\" kann nicht angegeben werden, wenn C++20-Coroutinen aktiviert sind.",
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."
]
"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",
"Der Zusagetyp „%t“ muss „get_return_object_on_allocation_failure“ als statische Memberfunktion deklarieren, die keine Argumente erfordert.",
"Eine Aliasvorlage kann nicht explizit spezialisiert werden.",
"um diesem „{“ zu entsprechen",
"in diesem Makroaufruf",
"Der Aufruf erfordert eine mehrdeutige Argumentkonvertierung.",
"Die Deklaration im Besitz des Moduls „%s“ steht in Konflikt mit %nd.",
"Die Deklaration im Besitz des globalen Moduls steht in Konflikt mit %nd im Besitz eines benannten Moduls.",
"Das erste Argument für ein malloc-Attribut muss eine Funktion sein.",
"%nod kann nicht erfasst werden.",
"„this“ kann nicht erfasst werden.",
"bereits im consteval-Kontext",
"„wenn consteval“ und „wennn nicht consteval“ erfordern abhängige Anweisungen mit geschweiften Klammern",
"„wenn consteval“ und „wenn nicht consteval“ sind in einer Nicht-constexpr-Funktion bedeutungslos",
"die Übertragung der Steuerung in eine „wenn consteval“- oder „wenn nicht consteval“-Anweisung ist nicht zulässig",
"die Konstantenauswertung kann die Deklaration einer Variablen mit statischer oder Thread-Speicherdauer nicht durchlaufen",
"der änderbare Qualifizierer ist für einen Lambda-Ausdruck mit einem expliziten „dies“-Parameter nicht zulässig",
"eine mit „statisch“ deklarierte Memberfunktion darf keinen expliziten „dies“-Parameter aufweisen",
"ein expliziter „dies“-Parameter muss der erste deklarierte Parameter sein",
"„dies“ ist hier nicht zulässig",
"eine Vergleichsfunktion mit explizitem „dies“ kann nicht als Standard verwendet werden",
"eine explizite „dies-2-Funktion erfordert einen Selektoroperanden",
"„wenn consteval“ und „wenn nicht consteval“ sind in diesem Modus nicht Standard",
"das Weglassen von „()“ in einem Lambda-Deklarator ist in diesem Modus nicht der Standard",
"eine „trailing-requires“-Klausel ist nicht zulässig, wenn die Lambda-Parameterliste ausgelassen wird",
"Modul %sq ungültige Partition angefordert",
"Modul %sq1 undefinierte Partition (könnte %sq2 sein) wurde angefordert",
null,
null,
"Die %sq1-Dateiposition %u1 (relative Position %u2) des Moduls wurde für die %sq2-Partition angefordert. Dadurch wird das Ende der Partition überschritten",
"Modul %sq1 Dateiposition %u1 (relative Position %u2) wurde für die Partition %sq2 angefordert, welche mit dessen Partitionselementen falsch ausgerichtet ist",
"von Unterfeld %sq (relative Position zum Knoten %d)",
"von Partition %sq Element %u1 (Dateiposition %u2, relative Position %u3)",
"Lambda-Attribute entsprechen hier nicht dem Standard",
"der Bezeichner %sq könnte mit einem visuell ähnlichen Bezeichner verwechselt werden, der %p angezeigt wird",
"dieser Kommentar enthält verdächtige Unicode-Formatierungssteuerzeichen",
"diese Zeichenfolge enthält Unicode-Formatierungssteuerzeichen, die zu unerwartetem Laufzeitverhalten führen könnten",
"%d1 unterdrückte Warnung wurde bei der Verarbeitung des Moduls %sq1 festgestellt",
"%d1 unterdrückte Warnungen wurden bei der Verarbeitung des Moduls %sq1 festgestellt",
"%d1 unterdrückter Fehler wurde beim Verarbeiten des Moduls %sq1 festgestellt",
"%d1 unterdrückte Fehler wurden beim Verarbeiten des Moduls %sq1 festgestellt",
"einschließlich",
"Unterdrückt",
"eine virtuelle Memberfunktion darf keinen expliziten „dies“-Parameter aufweisen",
"das Übernehmen der Adresse einer expliziten „dies“-Funktion erfordert einen qualifizierten Namen.",
"das Formatieren der Adresse einer expliziten „dies“-Funktion erfordert den Operator „&“",
"Ein Zeichenfolgenliteral kann nicht zum Initialisieren eines flexiblen Arraymembers verwendet werden.",
"Die IFC-Darstellung der Definition der Funktion %sq ist ungültig.",
null,
"Ein UniLevel-IFC-Chart wurde nicht zum Angeben von Parametern verwendet.",
"%d1 Parameter wurden im IFC-Parameterdefinitionschart angegeben, während %d2 Parameter in der IFC-Deklaration angegeben wurden.",
"%d1 Parameter wurde im IFC-Parameterdefinitionschart angegeben, während %d2 Parameter in der IFC-Deklaration angegeben wurden.",
"%d1 Parameter wurden im IFC-Parameterdefinitionschart angegeben, während %d2 Parameter in der IFC-Deklaration angegeben wurde.",
"Die IFC-Darstellung der Definition der Funktion %sq fehlt.",
"Funktionsmodifizierer gilt nicht für eine statische Mitgliedervorlagendeklaration",
"Die Mitgliederauswahl umfasst zu viele geschachtelte anonyme Typen",
"Es gibt keinen gemeinsamen Typ zwischen den Operanden",
"Es wurde ein Pointer-to-Member erwartet",
"Ein flexibles Arrayelement kann nicht in einem ansonsten leeren Typ deklariert werden.",
"Es wurde erwartet, dass \"std::source_location::__impl\" für eine Klasse definiert ist, die nur die Datenmember \"_M_function_name\", \"_M_file_name\", \"_M_column\", \"_M_line\" enthält.",
"die angegebene Spaltennummer ist für die Implementierung von „std::source_location“ zu groß",
"die angegebene Zeilennummer ist für die Implementierung von „std::source_location“ zu groß",
"Eine UTF-16-Zeichenkonstante darf nicht mehrere Codeeinheiten belegen. Wert abgeschnitten.",
"Beide Argumente müssen denselben Typ aufweisen.",
"Der Typ \"%t\" ist als Argument für dieses integrierte Element ungültig.",
"aufgerufen von %nd:",
"ein qualifizierter Typ ist kein Standard für anonyme Bitfelder",
"der Elementtyp der Vektorbedingung (%t1) muss dieselbe Größe haben wie der Elementtyp des Ergebnisses (%t2)",
"der Gleitkomma-Vektoroperandentyp (%t) hat keinen übereinstimmenden ganzzahligen Vektortyp",
"das Mangling für 'requires'-Ausdrücke ist noch nicht implementiert",
"aufgrund eines „nicht verfügbaren“ Attributs",
"Doppelter „ASM“-Qualifizierer",
"entweder ein Bitfeld mit einem unvollständigen Enumerationstyp oder eine opake Enumeration mit einem ungültigen Basistyp",
"Es wurde versucht, ein Element aus der IFC-Partition %sq mithilfe eines Indexes in der IFC-Partition %sq2 zu erstellen",
"Die Partition %sq hat ihre Eintragsgröße mit %d1 angegeben, obwohl %d2 erwartet wurde",
"Unerwartete IFC-Anforderung beim Verarbeiten des Moduls %sq1",
"Bedingungsfehler in Zeile %d in %s1: %sq2",
"Die atomische Einschränkung hängt von sich selbst ab",
"Die Funktion \"noreturn\" weist den Rückgabetyp \"nicht void\" auf.",
"Eine Korrektur wurde vorgenommen, indem der Parameter %sq (beim relativen Index %d) weggelassen wurde",
"ein Standardvorlagenargument kann nicht für die Definition einer Membervorlage außerhalb seiner Klasse angegeben werden",
"Ungültiger IFC-Bezeichnername %sq bei der Rekonstruktion der Entität gefunden",
null,
"Modul %sq ungültiger Sortierwert",
"Eine aus einem IFC-Modul geladene Funktionsvorlage wurde fälschlicherweise als %nd analysiert",
"Fehler beim Laden eines IFC-Entitätsverweises im Modul \"%sq\"",
"von Partition %sq Element %u1 (Dateiposition %u2, relative Position %u3)",
"verkettete Kennzeichner sind für einen Klassentyp mit einem nichttrivialen Destruktor nicht zulässig",
"Eine explizite Spezialisierungsdeklaration darf keine Frienddeklaration sein",
"der Typ „std::float128_t“ wird nicht unterstützt. Stattdessen wird „std::float64_t“ verwendet",
"der Typ „std::bfloat16_t“ wird nicht unterstützt. Stattdessen wird „std::float32_t“ verwendet",
"Für die Aliasvorlage %no darf keine Deduktionsanleitung deklariert werden.",
"%n wurde als nicht verfügbar deklariert.",
"%n wurde als nicht verfügbar deklariert (%sq).",
"aufgrund eines „veralteten“ Attributs",
"Explizite Lambdavorlagenparameter sind ein C++20-Feature.",
"Die Verwendung von „_Noreturn“ in C23 ist veraltet. Verwenden Sie stattdessen „[[noreturn]]“.",
"Die Verwendung von „_Alignof“ in C23 ist veraltet. Verwenden Sie stattdessen „alignof“.",
"Die Verwendung von „_Alignas“ in C23 ist veraltet. Verwenden Sie stattdessen „alignas“.",
"Die Verwendung von „_Bool“ in C23 ist veraltet. Verwenden Sie stattdessen „bool“.",
"Die Verwendung von „_Static_assert“ in C23 ist veraltet. Verwenden Sie stattdessen „static_assert“.",
"Die Verwendung von „_Thread_local“ in C23 ist veraltet. Verwenden Sie stattdessen „thread_local“.",
"Der Microsoft-Modus muss aktiviert sein, um die Moduldatei %sq (ein Microsoft Visual Studio IFC-Modul) zu verwenden.",
"Die Moduldatei \"%sq\" konnte nicht importiert werden.",
"wurde in der Modulzuordnung für das Modul %sq gefunden",
"wurde in der Headereinheitszuordnung für %sq gefunden",
"nicht erkannter Ausgabemodus (muss einer von text, sarif sein): %s",
"Die Option \"c23_typeof\" kann nur beim Kompilieren von C verwendet werden",
"ungültige Clang-Versionsnummer: %s",
"die IFC-Zeichenfolge enthält ein unerwartetes NULL-Zeichen (null) im Modul %sq",
"%d1 von %d2 Bytes wurden verwendet",
"aus Zeichenfolgeninformationen in Partition %sq Element %u1 (Dateiposition %u2, relative Position %u3)",
"ein Initialisierer für einen flexiblen Arraymember kann nicht ausgewertet werden",
"ein Standard-Bitfeldinitialisierer ist ein C++20-Feature",
"zu viele Argumente in der Vorlagenargumentliste im Modul %sq",
"für das Vorlagenargument erkannt, das durch das %sq-Element %u1 dargestellt wird (Dateiposition %u2, relative Position %u3)",
"zu wenige Argumente in der Vorlagenargumentliste im Modul %sq",
"wurde beim Verarbeiten der Vorlagenargumentliste erkannt, die durch das %sq-Element %u1 (Dateiposition %u2, relative Position %u3) dargestellt wird",
"die Konvertierung vom bereichsbezogenen Enumerationstyp \"%t\" entspricht nicht dem Standard",
"die Zuordnungsfreigabe stimmt nicht mit der Zuordnungsart überein (eine ist für ein Array und die andere nicht)",
"der Vergleich umfasst eine unbekannte Adresse (z. B. die Adresse einer schwachen Variablen)",
"__make_signed ist nur mit nicht booleschen Integer- und Enumerationstypen kompatibel",
"__make_unsigned ist nur mit nicht booleschen Integer- und Enumerationstypen kompatibel",
"der systeminterne Name\"%sq wird von hier aus als gewöhnlicher Bezeichner behandelt.",
"Zugriff auf nicht initialisiertes Teilobjekt bei Index %d",
"IFC-Zeilennummer (%u1) überläuft maximal zulässigen Wert (%u2) Modul %sq",
"Das Modul %sq1 hat das Element %u der Partition %sq2 angefordert. Diese Dateiposition überschreitet den maximal darstellbaren Wert",
"Falsche Anzahl von Argumenten",
"Einschränkung für Kandidat %n nicht erfüllt",
"Die Anzahl der Parameter von %n stimmt nicht mit dem Aufruf überein",
"Fehler beim Ersetzen der expliziten Vorlagenargumente %T für %n",
"%n ist eine implizite Verschiebungsfunktion \"= delete\" und wird daher während der Überladungsauflösung ignoriert",
"%n stimmt nicht überein, da das Argument #%d für ein leeres Parameterpaket angegeben wurde",
"%n stimmt nicht überein, da das Argument #%d nicht mit dem Parameter übereinstimmt",
"Kandidat %n konnte nicht abgezogen werden",
"Der integrierte Operator %s stimmt nicht überein, da das Argument #%d nicht mit dem Parameter übereinstimmt",
"<integral>",
"<promoted integral>",
"<ptrdiff_t>",
"<enum>",
"<scoped enum>",
"<arithmetic>",
"<promoted arithmetic>",
"<non-bool arithmetic>",
"<pointer>",
"<nullptr>",
"<handle>",
"<handle to CLI array>",
"<pointer to object>",
"<pointer to function>",
"<pointer-to-member>",
"<bool>",
"<bool-like>",
"<class>",
"auto(<expr>) und auto{<expr>} sind C++23-Features.",
"Ungültige anonyme Union; using-Deklaration ist nicht zulässig.",
"IFC-Datei %sq kann nicht verarbeitet werden",
"IFC-Version %u1.%u2 wird nicht unterstützt",
"Die IFC-Architektur \"%sq\" ist nicht mit der aktuellen Zielarchitektur kompatibel",
"Das Modul %sq1 fordert den Index %u einer nicht unterstützten Partition an, die %sq2 entspricht",
"Die Parameternummer %d von %n weist den Typ %t auf, der nicht abgeschlossen werden kann",
"Die Parameternummer %d von %n weist den unvollständigen Typ %t auf",
"Die Parameternummer %d von %n weist den abstrakten Typ %t auf",
"Strukturierte Bindungen sind ein C++17-Feature",
"Das Erfassen strukturierter Bindungen ist ein C++20-Feature"
]
+242 -43
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",
@@ -180,7 +180,7 @@
"no tiene ningún efecto aplicar '&' a una matriz",
"el operando derecho de '%%' es cero",
"el argumento no es compatible con un parámetro formal",
"el argumento no es compatible con la conversión de la cadena de formato correspondiente",
"el argumento no es compatible con la conversión de cadena de formato correspondiente (se esperaba el tipo %t1 pero el argumento tiene el tipo %t2)",
"no se pudo abrir el archivo de código fuente %sq (no hay directorios en la lista de búsqueda)",
"la conversión debe ser de tipo integral",
"la conversión debe ser de tipo aritmético o de puntero",
@@ -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,
@@ -838,7 +838,7 @@
"devolviendo una referencia a una variable local",
"la omisión de un tipo explícito no es estándar (se presupone 'int')",
"más de una especialización parcial coincide con la lista de argumentos de plantilla de %n",
"%no",
"%nod",
"no se permite una lista de argumentos de plantilla en una declaración de plantilla principal",
"las especializaciones parciales no pueden tener argumentos de plantilla predeterminados",
"%n1 no se usa en (o no se puede deducir de) la lista de argumentos de plantilla de %n2",
@@ -952,7 +952,7 @@
"la opción 'nonstd_using_decl' solo se puede usar al compilar C++",
"el tipo de valor devuelto de la función 'main' debe ser 'int'",
"un parámetro de plantilla sin tipo no puede tener un tipo de clase",
"no se puede especificar un argumento de plantilla predeterminado en la declaración de un miembro de una plantilla de clase fuera de su clase",
"no se puede especificar un argumento de plantilla predeterminado en la definición de un miembro de una plantilla de clase fuera de la plantilla",
"No se permite una instrucción \"return\" en un controlador de un bloque try de función de un constructor",
"los designadores comunes y extendidos no se pueden combinar en una designación de inicializador",
"el segundo subíndice no debe ser más pequeño que el primero",
@@ -1214,7 +1214,7 @@
"esta pragma no se puede usar en un operador _Pragma (se debe usar una directiva #pragma)",
"el campo usa el relleno posterior de una clase base",
"los compiladores de GNU C++ pueden usar espacio de campo de bits",
"%nd se declaró como deprecated",
"%n se declaró desusado",
"no se permite un nombre asm en una declaración de miembro no estático",
"se ha omitido el tipo de función de formato %sq no reconocido",
"la clase base %no1 usa el espacio de cola de la clase base %no2",
@@ -1443,7 +1443,7 @@
"no se admiten los tipos enteros complejos",
"__real e __imag solo se pueden aplicar a valores complejos",
"se ha aplicado __real o __imag a un valor real",
"%nd se declaró como deprecated (%sq)",
"%n se declaró como deprecated (%sq)",
"nueva definición de %nd no válida",
"se ha aplicado dllimport/dllexport a un miembro de un espacio de nombres sin nombre",
"__thiscall solo puede aparecer en declaraciones de funciones miembro no estáticas",
@@ -1464,24 +1464,24 @@
"macro",
"etiqueta",
"parámetro de plantilla",
null,
null,
null,
null,
"tipo",
"unión",
"clase",
"estructura",
"parámetro template de plantilla",
"plantilla",
"plantilla de clase",
null,
"enumeración",
"parámetro",
"parámetro de controlador",
"variable",
"sin tipo",
null,
"constante",
"función",
"función sobrecargada",
"miembro",
"campo",
null,
"espacio de nombres",
"registro con nombre",
"espacio de dirección con nombre",
"plantilla de función",
@@ -1635,7 +1635,7 @@
"la conversión de puntero de ampliación de %t1 a %t2 extiende el bit de signo",
"__sptr y __uptr no se aplican a los tipos de puntero a miembro",
"la declaración del operador de asignación de copia para %t se ha suprimido porque %n es const",
null,
"la declaración del operador de asignación de copia para %t se ha suprimido porque %n tiene un tipo de referencia",
"la declaración del operador de asignación de copia para %t1 se ha suprimido porque también se suprimió la de %t2",
"la declaración del operador de asignación de copia para %t1 se ha suprimido porque la de %t2 es ambigua",
"la declaración del operador de asignación de copia para %t1 se ha suprimido porque no se puede obtener acceso a la de %t2",
@@ -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",
@@ -1955,7 +1955,7 @@
"un especificador de visibilidad de nivel superior requiere una definición de tipo",
"una propiedad trivial no puede tener un tipo de referencia",
"una propiedad trivial no puede tener un tipo const o volatile",
"%nd se declaró previamente como un tipo de enumeración distinto",
"%nd se declaró anteriormente como un tipo diferente de tipo de enumeración",
"una variable capturada por una lambda no puede tener un tipo de clase %[managed]",
"no se admite la invalidación de una función virtual con un tipo de valor devuelto covariante en una clase %[managed]",
"no se permite una matriz de identificadores",
@@ -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",
@@ -2367,7 +2367,7 @@
"un inicializador entre paréntesis para una entidad que no es una clase debe ser una expresión, no una lista entre llaves",
"una lista entre llaves no proporciona un tipo devuelto para este lambda",
"la especificación de excepción declarada es incompatible con la que se ha generado",
"los tipos de enumeración con ámbito son una funcionalidad de C++11",
"los tipos de enumeración con ámbito son una característica de C++11",
"un tipo de función no se puede inicializar con un valor",
"no se permite la inicialización con lista de un tipo de objeto %t porque el tipo está incompleto",
"std::initializer_list tiene un destructor y se supone que no debe tenerlo; la biblioteca no está bien configurada",
@@ -2477,7 +2477,7 @@
null,
"se esperaba una etiqueta",
"se esperaba un número de operando después de \"%%l\"",
"el número de operando de \"%%l\" no hace referencia a un argumento de etiqueta válido",
"el número de operando para '%%l' no hace referencia a un argumento de etiqueta válido",
"las cadenas de tipo ancho no son válidas en una instrucción \"asm\"",
"el atributo no es estándar",
"no es una clase base de la clase %t",
@@ -2604,7 +2604,7 @@
"la definición de un tipo C++/CX público no se permite en el ámbito global",
"no se permite una propiedad indizada con un descriptor de acceso público 'get' o 'set'",
"no se permite un tipo de delegado anidado público",
"inicializador de delegado no válido: se esperaba '(<función-dirección o funtor-objeto> [, Platform::CallbackContext])' o '(<identificador de objeto>, <miembro-dirección> [, Platform::CallbackContext [, bool]])'",
"inicializador de delegado no válido: se esperaba \"(<function-address or functor-object> [, Platform::CallbackContext])\" o \"(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])\"",
"inicializador de delegado no válido: el objeto debe ser un identificador de una clase %[managed]",
"C++/CX no admite matrices 'in/out': use 'const Platform::Array<T>^' para 'in' y 'Platform::WriteOnlyArray<T>^' o 'Platform::Array<T>^*' para 'out' en API públicas",
"falta el atributo \"target\" de %nd",
@@ -2664,7 +2664,7 @@
"la variable de la función constexpr está sin inicializar",
"la inicialización entre llaves de una variable declarada con un tipo de marcador de posición pero sin \"=\" necesita exactamente un elemento dentro de las llaves",
"no existe ninguna configuración \"%s\" --target",
"el atributo no es compatible con configuraciones x86 de 64 bits",
"el atributo solo se admite en configuraciones x86 de 32 bits",
"\"%s\" requiere un argumento",
"un constructor o destructor no puede ser una corrutina",
"%n no puede ser una corrutina",
@@ -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",
@@ -2780,7 +2780,7 @@
"el especificador _Atomic(...) no se puede aplicar al tipo calificado %t",
"acceder al miembro del objeto _Atomic",
"un campo de bits no puede tener un tipo _Atomic",
"Los tipos de clase _Atomic están deshabilitados",
null,
"el constructor constexpr llama al constructor que no es constexpr para la inicialización del subobjeto",
"se esperaba una coma (la versión de un argumento de static_assert no está habilitada en este modo)",
"error de aserción estática",
@@ -2810,7 +2810,7 @@
"no se puede evaluar el valor de %t incompleto",
"ignorando el valor devuelto de la rutina declarada con el atributo \"nodiscard\"",
"ignorando el tipo de valor devuelto con el atributo \"nodiscard\"",
"el atributo \"nodiscard\" no se aplica a los destructores ni a las rutinas con un tipo de valor devuelto void",
"el atributo 'nodiscard' no se aplica a destructores o rutinas con tipo de valor devuelto void",
"El atributo \"fallthrough\" solo se aplica a instrucciones null",
"El atributo \"fallthrough\" solo puede aparecer dentro de una instrucción switch",
"la instrucción fallthrough debe preceder a la etiqueta switch case o default",
@@ -2893,7 +2893,7 @@
"la inicialización de lista de copia no puede usar un elemento %n de tipo \"explicit\"",
"guía de deducción",
"Valor no válido para un operador literal definido por el usuario.",
"__has_cpp_attribute no puede aparecer fuera de #if o #elif",
"%s no puede aparecer fuera de las directivas de preprocesador",
"la guía de deducción debe declararse con la misma accesibilidad que %n",
"no se permite el uso de lambda en este contexto",
"la alineación especificada no es equivalente a la declaración anterior",
@@ -2935,7 +2935,7 @@
"tipo %t no válido en puntero this para la función miembro %nfd con restricción amp",
"Tipo de valor devuelto %t no válido para la función %nfd con restricción amp",
"Tipo de parámetro %t no válido para la función %nfd con restricción amp",
null,
"construcción no válida en la función %nfd con restricción amp",
"Clase de almacenamiento %s no válida en la función %nfd con restricción amp",
"%s no se permite en la función %nfd con restricción amp",
"conversión no válida en la función con restricción amp",
@@ -2997,7 +2997,7 @@
"<error de emisión de diagnóstico>",
"Hay demasiados errores como para que el motor de IntelliSense funcione correctamente. Puede que algunos no se vean en el editor.",
"la asignación al anacronismo \"this\" no es compatible con el modo C++11",
"error desconocido. No se generó un archivo Intellisense PCH.",
"error desconocido. No se generó un archivo IntelliSense PCH.",
"No se pueden asignar una o varias rutas remotas a las rutas locales actuales. La experiencia con IntelliSense puede degradarse.",
null,
null,
@@ -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",
@@ -3292,7 +3292,7 @@
"un tipo volatile %t impide la evaluación constexpr de __builtin_bit_cast",
"un tipo de unión, puntero o puntero a miembro %t impide la evaluación constexpr de __builtin_bit_cast",
"%npTd, heredado mediante el uso de la declaración %p",
"no se puede realizar la construcción de subobjetos de %t para los constructores de herencia; se elimina el constructor predeterminado implícito",
"no se puede realizar la construcción del subobjeto de %t para los constructores heredados; se elimina el constructor asociado",
"%n debe devolver void",
"inicio de declaración de miembro no válido",
"se esperaba \"auto\"",
@@ -3309,8 +3309,8 @@
"una declaración de exportación no puede contener una declaración de importación de módulo",
"una declaración de exportación solo puede aparecer en una unidad de interfaz de módulo",
"una declaración de exportación no puede exportar un nombre con vinculación interna",
"la declaración using incluye %nfd",
"la función builtin no está disponible porque no se admiten tipos de punto flotante __fp16",
null,
null,
"una expresión requires debe especificar al menos un requisito",
"\"constexpr\" no es válido aquí",
"\"constinit\" solo es válido para las declaraciones de variables con duración de almacenamiento estático o de subproceso",
@@ -3343,19 +3343,218 @@
"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",
null,
"no se encuentra el encabezado \"%s\" para importar",
"hay más de un archivo de la lista de archivos de módulo que coincide con \"%s\"",
"el archivo de módulo que se encontró para \"%s\" es para otro módulo",
"cualquier tipo de archivo de módulo",
"no se puede leer el archivo de módulo",
"la función integrada no está disponible porque no se admite el tipo char8_t con las opciones actuales",
"no se puede especificar la opción de línea de comandos --ms_await si están habilitadas las corrutinas de C++ 20",
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)"
]
"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",
"el tipo de promesa %t debe declarar get_return_object_on_allocation_failure como una función miembro estática que no requiera argumentos",
"una plantilla de alias no se puede especializar explícitamente",
"para que coincida con este \"{\"",
"en esta invocación de macro",
"la llamada requiere una conversión de argumento ambigua",
"la declaración propiedad del módulo %s está en conflicto con %nd",
"la declaración propiedad del módulo global entra en conflicto con %nd propiedad de un módulo con nombre",
"el primer argumento de un atributo \"malloc\" debe ser una función",
"no se puede capturar %nod",
"no se puede capturar \"this\"",
"ya está en contexto de consteval",
"'if consteval' y 'if not consteval' requieren instrucciones dependientes limitadas",
"'if consteval' y 'if not consteval' no tienen sentido en una función que no es constexpr",
"no se permite la transferencia del control a una instrucción 'if consteval' o 'if not consteval'",
"constant-evaluation no puede pasar por la declaración de una variable con duración de almacenamiento estático o de subproceso",
"no se permite el calificador mutable en una expresión lambda con un parámetro \"this\" explícito",
"una función miembro declarada con 'static' no puede tener un parámetro 'this' explícito",
"un parámetro 'this' explícito debe ser el primer parámetro declarado",
"“this” no se permite aquí",
"no se puede establecer de forma predeterminada una función de comparación con 'this' explícita",
"una función explícita 'this' requiere un operando selector",
"'if consteval' y 'if not consteval' no son estándar en este modo",
"omitir '()' en un declarador lambda no es estándar en este modo",
"no se permite una cláusula trailing-requires-clause cuando se omite la lista de parámetros lambda",
"se solicitó una partición no válida del módulo %sq",
"módulo %sq1 partición no definida (se considera que es %sq2) solicitada",
null,
null,
"módulo %sq1, posición de archivo %u1 (posición relativa %u2) solicitada para la partición %sq2, que desborda el final de su partición",
"módulo %sq1 posición de archivo %u1 (posición relativa %u2) solicitada para la partición %sq2, que está mal alineada con sus elementos de particiones",
"desde el subcampo %sq (posición relativa al nodo %d)",
"desde la partición %sq elemento %u1 (posición de archivo %u2, posición relativa %u3)",
"los atributos lambda no son estándar aquí",
"el identificador %sq podría confundirse con uno visualmente similar que aparece %p",
"este comentario contiene caracteres de control de formato Unicode sospechosos",
"esta cadena contiene caracteres de control de formato Unicode que podrían dar lugar a un comportamiento inesperado en tiempo de ejecución",
"Se encontró %d1 advertencia suprimida al procesar el módulo %sq1",
"Se encontraron %d1 advertencias suprimidas al procesar el módulo %sq1",
"Se encontró un error suprimido %d1 al procesar el módulo %sq1",
"Se encontraron %d1 errores suprimidos al procesar el módulo %sq1",
"Incluido",
"Suprimido",
"una función miembro virtual no puede tener un parámetro 'this' explícito",
"tomar la dirección de una función explícita \"this\" requiere un nombre completo",
"la formación de la dirección de una función explícita 'this' requiere el operador '&'",
"no se puede usar un literal de cadena para inicializar un miembro de matriz flexible",
"La representación IFC de la definición de la función %sq no es válida",
null,
"no se usó un gráfico IFC UniLevel para especificar parámetros",
"el gráfico de definición de parámetros IFC especificó %d1 parámetros, mientras que la declaración IFC especificó %d2 parámetros",
"el gráfico de definición de parámetros IFC especificó %d1 parámetro, mientras que la declaración IFC especificó %d2 parámetros",
"el gráfico de definición de parámetros IFC especificó %d1 parámetros, mientras que la declaración IFC especificó %d2 parámetro",
"Falta la representación IFC de la definición de la función %sq",
"el modificador de función no se aplica a la declaración de plantilla de miembro",
"la selección de miembros implica demasiados tipos anónimos anidados",
"no hay ningún tipo común entre los operandos",
"se esperaba un puntero a miembro",
"un miembro de matriz flexible no se puede declarar en un tipo que de otro modo estaría vacío",
"se esperaba que 'std::source_location::__impl' se definiera a una clase con solo los miembros de datos '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
"el número de columna dado es demasiado grande para la implementación 'std::source_location'",
"el número de línea especificado es demasiado grande para la implementación 'std::source_location'",
"una constante de caracteres UTF-16 no puede ocupar más de una unidad de código; valor truncado",
"ambos argumentos deben tener el mismo tipo",
"el tipo %t no es válido como argumento para este elemento integrado",
"llamado desde %nd:",
"un tipo calificado no es estándar para campos de bits anónimos",
"el tipo de elemento de la condición de vector (%t1) debe tener el mismo tamaño que el tipo de elemento del resultado (%t2)",
"el tipo de operando de vector de punto flotante (%t) no tiene ningún tipo de vector entero coincidente",
"aún no se ha implementado la limpieza de expresiones \"requires\"",
"debido a un atributo “no disponible”",
"calificador 'asm' duplicado",
"un campo de bits con un tipo de enumeración incompleto o una enumeración opaca con un tipo base no válido",
"intentó construir un elemento a partir de la partición IFC %sq mediante un índice en la partición IFC %sq2",
"la partición %sq especificó su tamaño de entrada como %d1 cuando se esperaba %d2",
"se encontró un requisito IFC inesperado al procesar el módulo %sq1",
"error de condición en la línea %d en %s1: %sq2",
"la restricción atómica depende de sí misma",
"La función \"noreturn\" tiene un tipo de valor devuelto distinto de nulo",
"se ha quitado el parámetro %sq (en el índice relativo %d) para realizar una corrección",
"no se puede especificar un argumento de plantilla predeterminado en la definición de una plantilla de miembro fuera de su clase",
"se encontró un nombre de identificador IFC no válido %sq durante la reconstrucción de entidades",
null,
"el módulo %sq es un valor de ordenación no válido",
"una plantilla de función cargada desde un módulo IFC se analizó incorrectamente como %nd",
"no se pudo cargar una referencia de entidad IFC en el módulo %sq",
"desde la partición %sq elemento %u1 (posición de archivo %u2, posición relativa %u3)",
"no se permiten designadores encadenados para un tipo de clase con un destructor no trivial",
"una declaración de especialización explícita no puede ser una declaración \"friend\"",
"no se admite el tipo std::float128_t; se usará std::float64_t en su lugar",
"no se admite el tipo std::bfloat16_t; se usará std::float32_t en su lugar",
"no se puede declarar una guía de deducción para la plantilla de alias %no",
"%n se declaró no disponible",
"%n se declaró no disponible (%sq)",
"debido a un atributo \"en desuso\"",
"los parámetros de plantilla lambda explícitos son una característica de C++20",
"el uso de \"_Noreturn\" ha quedado obsoleto en C23; usar '[[noreturn]]' en su lugar",
"el uso de \"_Alignof\" ha quedado obsoleto en C23; usar \"alignof\" en su lugar",
"el uso de \"_Alignas\" ha quedado obsoleto en C23; usar \"alignas\" en su lugar",
"el uso de \"_Bool\" ha quedado obsoleto en C23; usar 'bool' en su lugar",
"el uso de \"_Static_assert\" ha quedado obsoleto en C23; usar \"static_assert\" en su lugar",
"el uso de \"_Thread_local\" ha quedado obsoleto en C23; usar \"thread_local\" en su lugar",
"El modo Microsoft debe estar habilitado para usar el archivo de módulo %sq (un módulo IFC de Microsoft Visual Studio).",
"no se pudo abrir el archivo de módulo %sq",
"se encuentra en la asignación de módulo para el módulo %sq",
"se encuentra en el mapa de unidad de encabezado para %sq",
"modo de salida no reconocido (debe ser uno de texto, sarif): %s",
"la opción 'c23_typeof' solo se puede usar al compilar C",
"número de versión de clang no válido: %s",
"La cadena IFC contiene un carácter nulo inesperado (cero) en el módulo %sq",
"Se usaron %d1 de %d2 bytes",
"de la información de cadena en la partición %sq elemento %u1 (posición de archivo %u2, posición relativa %u3)",
"no se puede evaluar un inicializador para un miembro de matriz flexible",
"un inicializador de campo de bits predeterminado es una característica de C++20",
"demasiados argumentos en la lista de argumentos de plantilla en el módulo %sq",
"detectado para el argumento de plantilla representado por el elemento %sq %u1 (posición de archivo %u2, posición relativa %u3)",
"demasiado pocos argumentos en la lista de argumentos de plantilla en el módulo %sq",
"detectado al procesar la lista de argumentos de plantilla representada por el elemento %sq %u1 (posición de archivo %u2, posición relativa %u3)",
"la conversión del tipo de enumeración con ámbito %t no es estándar",
"la desasignación no coincide con la clase de asignación (una es para una matriz y la otra no)",
"la comparación implica una dirección desconocida (por ejemplo, la dirección de una variable débil)",
"__make_signed solo es compatible con tipos de enumeración y enteros no booleanos",
"__make_unsigned solo es compatible con tipos de enumeración y enteros no booleanos",
"el nombre intrínseco %sq se tratará como un identificador normal desde aquí",
"acceso al subobjeto no inicializado en el índice %d",
"El número de línea IFC (%u1) desborda el valor máximo permitido (%u2) del módulo %sq",
"el módulo %sq1 elemento solicitado %u de la partición %sq2, esta posición de archivo supera el valor máximo que se puede representar",
"número de argumentos incorrecto.",
"restricción en el candidato %n no satisfecho",
"el número de parámetros de %n no coincide con la llamada",
"error al sustituir los argumentos de plantilla explícitos %T por %n",
"%n es una función de movimiento '= delete' implícitamente y, por lo tanto, se omite durante la resolución de sobrecarga",
"%n no coincide porque se proporciona el argumento #%d para un paquete de parámetros vacío",
"%n no coincide porque el argumento #%d no coincide con el parámetro",
"candidato %n error de deducción",
"el operador integrado%s no coincide porque el argumento #%d no coincide con el parámetro",
"<integral>",
"< integral promocionado>",
"<ptrdiff_t>",
"<enumeración>",
"<enumeración con ámbito>",
"<aritmética>",
"<aritmética promocionada>",
"<aritmética no booleana>",
"<puntero>",
"<nullptr>",
"<identificador>",
"<controlar la matriz de la CLI>",
"<puntero al objeto>",
"<puntero a la función>",
"<puntero a miembro>",
"<bool>",
"<tipo bool>",
"<clase>",
"auto(<expr>) y auto{<expr>} son una característica de C++23",
"unión anónima no válida: no se permite usar la declaración",
"no se puede procesar la %sq del archivo IFC",
"no se admite la versión IFC %u1.%u2",
"la arquitectura IFC %sq no es compatible con la arquitectura de destino actual",
"el módulo %sq1 solicita el índice %u de una partición no admitida correspondiente a %sq2",
"el número de parámetro %d de %n tiene un tipo %t que no se puede completar",
"el número de parámetro %d de %n tiene el tipo incompleto %t",
"el número de parámetro %d de %n tiene el tipo abstracto %t",
"los enlaces estructurados son una característica de C++17",
"la captura de enlaces estructurados es una característica de C++20"
]
+252 -53
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",
@@ -180,7 +180,7 @@
"l'application de '&' à un tableau n'a aucun effet",
"l'opérande droit de '%%' est égal à zéro",
"argument incompatible avec le paramètre formel",
"argument incompatible avec la conversion de chaîne de format correspondante",
"largument est incompatible avec la conversion de chaîne de format correspondante (type attendu %t1 mais largument a le type %t2)",
"impossible d'ouvrir le fichier source %sq (aucun répertoire dans la liste de recherche)",
"le type de cast doit être intégral",
"le type de cast doit être arithmétique ou pointeur",
@@ -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,
@@ -838,7 +838,7 @@
"retourne la référence à une variable locale",
"omission de type explicite non standard ('int' pris par défaut)",
"plusieurs spécialisations partielles correspondent à la liste d'arguments template de %n",
"%no",
"%nod",
"liste d'arguments template non autorisée dans une déclaration de modèle principal",
"les spécialisations partielles ne peuvent pas avoir d'arguments template par défaut",
"%n1 n'est pas utilisé dans la liste d'arguments template de %n2, ou ne peut pas en être déduit",
@@ -952,7 +952,7 @@
"l'option 'nonstd_using_decl' peut uniquement être utilisée lors de la compilation de C++",
"le type de retour de la fonction 'main' doit être 'int'",
"un paramètre de modèle sans type ne peut pas avoir le type classe",
"impossible de spécifier un argument template par défaut sur la déclaration d'un membre de modèle de classe en dehors de sa classe",
"impossible de spécifier un argument de modèle par défaut sur la définition d'un membre de modèle de classe en dehors du modèle",
"instruction return non autorisée dans le gestionnaire d'un bloc try de fonction d'un constructeur",
"impossible de combiner des désignateurs ordinaires et étendus dans la désignation d'un initialiseur",
"le second indice doit être inférieur au premier",
@@ -1214,7 +1214,7 @@
"impossible d'utiliser ce pragma dans un opérateur _Pragma (une directive #pragma doit être utilisée)",
"le champ utilise le remplissage de fin d'une classe de base",
"les compilateurs C++ GNU peuvent utiliser le remplissage de champ de bits",
"%nd a été déclaré déconseillé",
"%n a été déclaré déconseillé",
"nom asm non autorisé sur une déclaration membre non statique",
"type de fonction de format non reconnu %sq ignoré",
"la classe de base %no1 utilise le remplissage de fin de la classe de base %no2",
@@ -1389,14 +1389,14 @@
"dllexport et dllimport ignorés sur les modèles de classe",
"la spécification dllexport/dllimport de la classe de base est différente de celle de la classe dérivée",
"la redéclaration ne peut pas ajouter dllexport/dllimport à %nod",
"dllexport/dllimport en conflit avec %nod ; dllexport pris par défaut",
"dllexport/dllimport en conflit avec %nod; dllexport pris par défaut",
"impossible de définir l'entité dllimport",
"dllexport/dllimport requiert une liaison externe",
"un membre d'une classe déclarée avec dllexport/dllimport ne peut pas être lui-même déclaré avec ce spécificateur",
"un champ de type de classe sans interface DLL a été utilisé dans une classe à interface DLL",
"déclaration de membre entre parenthèses non standard",
"espace blanc ignoré entre la barre oblique inverse et le saut de ligne dans la jointure de ligne",
"dllexport/dllimport en conflit avec %nod ; dllimport/dllexport supprimé",
"dllexport/dllimport en conflit avec %nod; dllimport/dllexport supprimé",
"membre non valide pour une classe membre anonyme -- la classe %t a une fonction membre interdite",
"reinterpret_cast non standard",
"le spécificateur de format de position ne peut pas être nul",
@@ -1443,7 +1443,7 @@
"types intégraux complexes non pris en charge",
"__real et __imag ne peuvent s'appliquer qu'à des valeurs complexes",
"__real/__imag appliqué à une valeur réelle",
"%nd a été déclaré déconseillé (%sq)",
"%n a été déclaré déconseillé (%sq)",
"redéfinition non valide de %nd",
"dllimport/dllexport appliqué à un membre d'un espace de noms sans nom",
"__thiscall peut uniquement apparaître sur des déclarations de fonctions membres non statiques",
@@ -1464,24 +1464,24 @@
"macro",
"étiquette",
"paramètre du modèle",
null,
null,
null,
null,
"type",
"Union",
"classe",
"struct",
"paramètre template de modèle",
"modèle",
"modèle de classe",
null,
"enum",
"paramètre",
"paramètre de gestionnaire",
"variable",
"sans type",
null,
"constante",
"fonction",
"fonction surchargée",
"membre",
"champ",
null,
"espace de noms",
"registre nommé",
"espace d'adressage nommé",
"modèle de fonction",
@@ -1635,7 +1635,7 @@
"la conversion étendue de pointeur de %t1 en %t2 étend le bit de signe",
"__sptr et __uptr ne s'appliquent pas aux types pointeur vers membre",
"la déclaration de l'opérateur d'assignation de copie de %t a été supprimée car %n est const",
null,
"la déclaration de l'opérateur d'assignation de copie de %t a été supprimée, car %n a un type référence",
"la déclaration de l'opérateur d'assignation de copie de %t1 a été supprimée car celle de %t2 a été supprimée",
"la déclaration de l'opérateur d'assignation de copie de %t1 a été supprimée car celle de %t2 est ambiguë",
"la déclaration de l'opérateur d'assignation de copie de %t1 a été supprimée car celle de %t2 est inaccessible",
@@ -1644,7 +1644,7 @@
"la déclaration du constructeur de copie de %t1 a été supprimée car celle de %t2 est inaccessible",
"le destructeur de %t1 ne sera pas appelé car il est inaccessible et le destructeur de %t2 a été supprimé",
"la définition à la fin du fichier n'est pas suivie d'un point-virgule ou d'un déclarateur",
"le premier argument doit être un pointeur vers un type entier ou énumération",
"le premier argument doit être un pointeur vers un type enum ou entier",
"les opérations synchronisées sont valides sur les objets de taille 1, 2, 4 ou 8",
"arguments supplémentaires ignorés",
"'=' pris par défaut après le nom de macro %sq dans la définition de ligne de commande",
@@ -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",
@@ -1916,13 +1916,13 @@
"un package de paramètres ne peut pas avoir de valeur par défaut",
"C++/CLI peut uniquement être activé en mode Microsoft C++",
"impossible d'utiliser 'value__' en tant que nom de constante d'énumérateur (il s'agit d'un nom réservé dans ce contexte)",
"une valeur d'énumérateur explicite est requise dans un type d'énumération avec un type sous-jacent booléen",
"une valeur dénumération explicite est requise dans un type enum avec un type sous-jacent booléen",
null,
"package de paramètres %sq référencé mais non développé",
"l'expansion de package n'utilise aucun package d'arguments",
"le package %sq n'a pas le même nombre d'éléments que %sq2",
null,
"l'attribut vector_size n'est pas autorisé avec un type d'énumération",
"l'attribut vector_size n'est pas autorisé avec un type enum",
"une propriété ne peut pas être à la fois statique et virtuelle",
"une propriété indexée ne peut pas être triviale",
"cette déclaration ne peut pas figurer dans une définition de propriété",
@@ -1955,7 +1955,7 @@
"un spécificateur de visibilité de niveau supérieur requiert une définition de type",
"une propriété triviale ne peut pas être de type référence",
"une propriété triviale ne peut pas être de type const ou volatile",
"%nd a précédemment été déclaré en tant qu'un autre genre d'énumération",
"%nd a précédemment été déclaré en tant qu'un autre genre de type enum",
"une variable capturée par une capture lambda ne peut pas avoir un type de classe %[managed]",
"une fonction virtuelle effectuant une substitution avec un type de retour covariant n'est pas autorisée dans une classe %[managed]",
"tableau de handles non autorisé",
@@ -2175,7 +2175,7 @@
"un spécificateur de substitution nommé est uniquement autorisé dans une classe %[managed]",
"aucun membre désigné par le spécificateur de substitution nommé ne correspond au type de ce membre",
"une déclaration de constructeur statique ne peut pas inclure un spécificateur de substitution nommé",
"un type énumération délimitée doit avoir un nom",
"un type enum délimité doit avoir un nom",
"transfert de contrôle non autorisé dans un bloc finally",
"instruction return non autorisée dans un bloc finally",
"un bloc try requiert au moins un gestionnaire ou une clause finally",
@@ -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",
@@ -2216,7 +2216,7 @@
"le type d'un dynamic_cast ne peut pas être un type générique susceptible d'être un type valeur",
"un nom de caractère universel doit désigner un point de code valide",
"les contraintes génériques ne correspondent pas à celles de %nd",
"__underlying_type s'applique uniquement aux types d'énumération",
"__underlying_type s'applique uniquement aux types enum",
"une seule expression d'opérande attendue pour ce cast",
"le caractère Unicode avec valeur hexadécimale %s n'est pas représentable dans la page de codes par défaut système",
"conversion non standard de pointeur vers membre lié en pointeur fonction",
@@ -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",
@@ -2344,7 +2344,7 @@
"%nd a précédemment été déclaré avec un type de base différent",
"'enum class' et 'enum struct' ne peuvent pas être utilisés ici (utilisez un 'enum' simple à la place)",
"un seul niveau d'accolades autorisé sur un initialiseur pour un objet de type %t",
"%nd ne peut pas être utilisé en tant que nom de type d'énumération",
"%nd ne peut pas être utilisé en tant que nom de type enum",
null,
"un initialiseur entre accolades ne peut pas être utilisé avec 'new auto'",
"la définition de std::initializer_list ne contient pas le constructeur attendu",
@@ -2367,7 +2367,7 @@
"un initialiseur entre parenthèses pour une entité autre qu'une classe doit être une expression et non une liste entre accolades",
"une liste entre accolades ne fournit pas de type de retour pour cette expression lambda",
"la spécification d'exception déclarée est incompatible avec celle qui a été générée",
"les types d'énumération délimitée sont une fonctionnalité du C++11",
"les types enum délimités sont une fonctionnalité du C++11",
"un type de fonction ne peut pas être initialisé par une valeur",
"l'initialisation de liste d'un type d'objet %t n'est pas autorisée car le type est incomplet",
"std::initializer_list a un destructeur et n'est pas censé en avoir un -- la bibliothèque n'est pas configurée correctement",
@@ -2406,7 +2406,7 @@
"l'appel de fonction doit avoir une valeur constante dans une expression constante",
"impossible de déclarer la fonction 'main' constexpr",
null,
"une définition de classe ou de type d'énumération ne peut pas apparaître dans une fonction constexpr ou dans le corps d'un constructeur",
"une définition de classe ou de type enum ne peut pas apparaître dans une fonction constexpr ou dans le corps d'un constructeur",
"seuls les attributs de style GNU sont autorisés ici",
"utilisation non standard de 'auto' pour déduire le type d'un initialiseur et pour annoncer un type de retour de fin",
"la déclaration d'une liste de paramètres void avec un type void qualifié est non standard",
@@ -2477,7 +2477,7 @@
null,
"étiquette attendue",
"nombre d'opérande attendu après '%%l'",
"le nombre d'opérande pour '%%l' ne fait pas référence à un argument d'étiquette valide",
"le numéro dopérande pour '%% ne fait pas référence à un argument détiquette valide",
"une chaîne étendue est non valide dans une instruction 'asm'",
"attribut non standard",
"n'est pas une classe de base de %t",
@@ -2604,7 +2604,7 @@
"la définition d'un type C++/CX public n'est pas autorisée au niveau de la portée globale",
"une propriété indexée avec un accesseur 'get' ou 'set' public n'est pas autorisée",
"un type délégué imbriqué public n'est pas autorisé",
"initialiseur de délégué non valide -- '(<adresse-fonction ou objet-foncteur> [, Platform::CallbackContext])' ou '(<handle-objet>, <adresse-membre> [, Platform::CallbackContext [, bool]])' attendu",
"initialiseur de délégué non valide -- '(<function-address or functor-object> [, Platform::CallbackContext])' ou '(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])' attendu",
"initialiseur de délégué non valide -- l'objet doit être un handle de classe %[managed]",
"C++/CX ne prend pas en charge les tableaux 'in/out' -- utilisez 'const Platform::Array<T>^' pour 'in' et 'Platform::WriteOnlyArray<T>^' ou 'Platform::Array<T>^*' pour 'out' sur les API publiques",
"attribut 'target' manquant pour %nd",
@@ -2664,7 +2664,7 @@
"la variable dans la fonction constexpr n'est pas initialisée",
"L'initialisation entre accolades d'une variable déclarée avec un type d'espace réservé mais sans `=` requiert exactement un élément à l'intérieur des accolades",
"aucune configuration --target '%s' n'existe",
"l'attribut n'est pas pris en charge dans les configurations x86 64 bits",
"l'attribut est uniquement pris en charge dans les configurations 32 bits x86",
"'%s' nécessite un argument",
"un constructeur ou un destructeur ne peut pas être une coroutine",
"%n ne peut pas être une coroutine",
@@ -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",
@@ -2780,7 +2780,7 @@
"impossible d'appliquer le spécificateur _Atomic(...) au type qualifié %t",
"accès au membre de l'objet _Atomic",
"un champ de bits ne peut pas avoir un type _Atomic",
"Les types de classe _Atomic sont désactivés",
null,
"un constructeur constexpr appelle un constructeur non constexpr pour l'initialisation d'un sous-objet",
"virgule attendue (la version de static_assert à un seul argument n'est pas activée dans ce mode)",
"échec de l'assertion statique",
@@ -2810,7 +2810,7 @@
"impossible d'évaluer la valeur du %t incomplet",
"valeur retournée ignorée dans la routine déclarée avec l'attribut 'nodiscard'",
"type valeur retourné ignoré avec l'attribut 'nodiscard'",
"l'attribut 'nodiscard' ne s'applique pas aux destructeurs ou routines ayant le type de retour void",
"lattribut 'nodiscard' ne sapplique pas aux destructeurs ou routines avec le type de retour void",
"l'attribut 'fallthrough' s'applique uniquement aux instructions ayant une valeur null",
"l'attribut 'fallthrough' peut apparaître uniquement dans une instruction switch englobante",
"l'instruction fallthrough doit précéder l'étiquette case ou default de switch",
@@ -2893,7 +2893,7 @@
"l'initialisation de copie de liste ne peut pas utiliser un %n 'explicit'",
"guide de déduction",
"Valeur non valide pour l'opérateur de littéral défini par l'utilisateur",
"__has_cpp_attribute ne peut pas apparaître en dehors de #if ou #elif",
"%s ne peut pas apparaître en dehors des directives de préprocesseur",
"le guide de déduction doit être déclaré avec la même accessibilité que %n",
"un lambda n'est pas autorisé dans ce contexte",
"l'alignement spécifié n'est pas équivalent à la déclaration précédente",
@@ -2935,7 +2935,7 @@
"type interdit %t dans ce pointeur pour la fonction membre %nfd restreinte à amp",
"type de retour interdit %t pour la fonction à restriction amp %nfd",
"type de paramètre interdit %t pour la fonction à restriction amp %nfd",
null,
"construction non conforme dans la fonction à restriction amp %nfd",
"classe de stockage interdite %s dans la fonction à restriction amp %nfd",
"%s non autorisé dans la fonction à restriction amp %nfd",
"cast non conforme dans la fonction à restriction amp",
@@ -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",
@@ -3292,7 +3292,7 @@
"un type volatile %t empêche l'évaluation de constexpr de __builtin_bit_cast",
"un type union, pointeur ou pointeur vers membre %t empêche l'évaluation de constexpr de __builtin_bit_cast",
"%npTd, hérité via l'utilisation de decl %p",
"la construction de sous-objet de %t pour l'héritage de constructeurs ne peut pas être effectuée -- le constructeur par défaut implicite est supprimé",
"la construction de sous-objet de %t pour l'héritage de constructeurs ne peut pas être effectuée -- le constructeur associé est supprimé",
"%n doit retourner void",
"début de déclaration de membre non valide",
"'auto' attendu",
@@ -3309,8 +3309,8 @@
"une déclaration export ne peut pas contenir de déclaration import de module",
"une déclaration export ne peut apparaître que dans une unité d'interface de module",
"une déclaration export ne peut pas exporter un nom avec une liaison interne",
"la déclaration using inclut %nfd",
"la fonction intégrée n'est pas disponible, car les types à virgule flottante __fp16 ne sont pas pris en charge",
null,
null,
"une expression requires doit spécifier au moins une exigence",
"'constinit' est non valide ici",
"'constinit' est valide uniquement pour les déclarations de variables ayant une durée de stockage statique ou de thread",
@@ -3343,19 +3343,218 @@
"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",
null,
"l'en-tête '%s' à importer est introuvable",
"plusieurs fichiers dans la liste de fichiers de module correspondent à '%s'",
"le fichier de module trouvé pour '%s' est destiné à un autre module",
"n'importe quel genre de fichier de module",
"impossible de lire le fichier de module",
"la fonction intégrée n'est pas disponible, car le type char8_t n'est pas pris en charge avec les options actuelles",
"l'option de ligne de commande --ms_await ne peut pas être spécifiée si les coroutines C++20 sont activées",
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)"
]
"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 enum",
"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",
"le type de promesse %t doit déclarer get_return_object_on_allocation_failure en tant que fonction membre statique ne nécessitant aucun argument",
"un modèle d'alias ne peut pas être explicitement spécialisé",
"pour correspondre à ce '{'",
"dans cette invocation de macro",
"l'appel nécessite une conversion d'argument ambiguë",
"la déclaration appartenant au module %s est en conflit avec %nd",
"la déclaration appartenant au module global est en conflit avec %nd appartenant à un module nommé",
"le premier argument d'un attribut 'malloc' doit être une fonction",
"impossible de capturer %nod",
"impossible de capturer 'this'",
"déjà dans un contexte consteval",
"« if consteval » et « if not consteval » nécessitent des instructions dépendantes resserrés",
"« if consteval » et « if not consteval » ne sont pas valides dans une fonction non constexpr",
"le transfert de contrôle dans une instruction « if consteval » ou « if not consteval » nest pas autorisé",
"l’évaluation constante ne peut pas passer par la déclaration dune variable avec une durée de stockage statique ou de thread",
"le qualificateur mutable nest pas autorisé sur une expression lambda avec un paramètre « this » explicite",
"une fonction membre déclarée avec « static » ne peut pas avoir de paramètre « this » explicite",
"un paramètre « this » explicite doit être le premier paramètre déclaré",
"« this » nest pas autorisé ici",
"une fonction de comparaison avec « this » explicite ne peut pas être par défaut",
"une fonction « this » explicite nécessite un opérande de sélecteur",
"« if consteval » et « if not consteval » ne sont pas standard dans ce mode",
"lomission de « () » dans un déclarateur lambda nest pas standard dans ce mode",
"une clause requires de fin nest pas autorisée lorsque la liste de paramètres lambda est omise",
"module %sq partition non valide demandée",
"module %sq1 partition non définie (on pense quil sagirait de %sq2) demandée",
null,
null,
"module %sq1 file position %u1 (position relative %u2) demandée pour la partition %sq2 - qui dépasse la fin de sa partition",
"module %sq1 position de fichier %u1 (position relative %u2) demandée pour la partition %sq2, qui est mal alignée avec ses éléments de partitions",
"à partir du sous-champ %sq (position relative par rapport au nœud %d)",
"à partir de la partition %sq, élément %u1 (position de fichier %u2, position relative %u3)",
"les attributs lambda ne sont pas standard ici",
"lidentificateur %sq peut être confondu avec un identificateur visuellement similaire qui apparaît %p",
"ce commentaire contient des caractères de contrôle de mise en forme Unicode suspects",
"cette chaîne contient des caractères de contrôle de mise en forme Unicode qui peuvent entraîner un comportement dexécution inattendu",
"%d1 avertissement supprimé rencontré lors du traitement du module %sq1",
"%d1 avertissements supprimés rencontrés lors du traitement du module %sq1",
"%d1 erreur supprimé rencontré lors du traitement du module %sq1",
"%d1 erreurs supprimées rencontrées lors du traitement du module %sq1",
"Y compris",
"Supprimé",
"une fonction membre virtuelle ne peut pas avoir un paramètre « this » explicite",
"la prise de ladresse dune fonction « this » explicite nécessite un nom qualifié",
"la création de ladresse dune fonction « this » explicite nécessite lopérateur '&'",
"impossible dutiliser un littéral de chaîne pour initialiser un membre de tableau flexible",
"La représentation IFC de la définition de la fonction %sq nest pas valide.",
null,
"un graphique IFC UniLevel na pas été utilisé pour spécifier des paramètres.",
"%d1 paramètre a été spécifié par le graphique de définition de paramètres IFC alors que %d2 paramètres ont été spécifiés par la déclaration IFC.",
"%d1 paramètre a été spécifié par le graphique de définition de paramètres IFC alors que %d2 paramètres ont été spécifiés par la déclaration IFC.",
"%d1 paramètre a été spécifié par le graphique de définition de paramètres IFC alors que %d2 paramètres ont été spécifiés par la déclaration IFC.",
"La représentation IFC de la définition de la fonction %sq est manquante.",
"Le modificateur de fonction ne s'applique pas à la déclaration du modèle de membre.",
"la sélection de membre implique un trop grand nombre de types anonymes imbriqués",
"il nexiste aucun type commun entre les opérandes",
"pointeur vers membre attendu",
"un membre de tableau flexible ne peut pas être déclaré dans un type autrement vide.",
"expected 'std::source_location::__impl' to be defined to a class with only the data members '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
"numéro de colonne donné trop grand pour limplémentation de 'std::source_location'",
"numéro de ligne donné trop grand pour limplémentation de 'std::source_location'",
"une constante de caractères UTF-16 ne peut pas occuper plusieurs unités de code ; valeur tronquée",
"les deux arguments doivent avoir le même type",
"le type %t nest pas valide en tant quargument pour ce builtin",
"appelé à partir de %nd :",
"un type qualifié nest pas standard pour les champs de bits anonymes.",
"le type d’élément de la condition vectorielle (%t1) doit avoir la même taille que le type d’élément du résultat (%t2).",
"le type dopérande vectoriel à virgule flottante (%t) na pas de type de vecteur entier correspondant.",
"La gestion des expressions \"requires\" n'est pas encore implémentée.",
"en raison dun attribut 'unavailable'",
"qualificateur 'asm' dupliqué",
"soit un champ de bits avec un type enum incomplet, soit une énumération opaque avec un type de base non valide",
"a tenté de construire un élément à partir dune partition IFC %sq à laide dun index dans la partition IFC %sq2.",
"le %sq de partition a spécifié sa taille dentrée %d1 alors que %d2 était attendu.",
"une exigence IFC inattendue sest produite lors du traitement du module %sq1.",
"échec de la condition à la ligne %d dans %s1 : %sq2",
"la contrainte atomique dépend delle-même.",
"La fonction 'noreturn' a un type de retour non vide",
"une correction a été effectuée en supprimant le paramètre %sq (au %d dindex relatif)",
"impossible de spécifier un argument template par défaut sur la définition d'un membre de modèle en dehors de sa classe",
"nom didentificateur IFC non valide %sq rencontré lors de la reconstruction de lentité",
null,
"le module %sq valeur de tri non valide",
"un modèle de fonction chargé à partir dun module IFC a été analysé de manière incorrecte en tant que %nd",
"échec du chargement dune référence dentité IFC dans le module %sq",
"à partir de la partition %sq, élément %u1 (position de fichier %u2, position relative %u3)",
"les désignateurs chaînés ne sont pas autorisés pour un type classe avec un destructeur non trivial",
"une déclaration de spécialisation explicite ne peut pas être une déclaration friend",
"le type std::float128_t nest pas pris en charge ; std::float64_t sera utilisé à la place",
"le type std::bfloat16_t nest pas pris en charge ; std::float32_t sera utilisé à la place",
"un guide de déduction ne peut pas être déclaré pour le modèle dalias %no",
"%n a été déclaré non disponible",
"%n a été déclaré indisponible (%sq)",
"en raison dun attribut 'deprecated'",
"les paramètres de modèle lambda explicites sont une fonctionnalité C++20",
"lutilisation de '_Noreturn' a été obsolète en C23; utiliser '[[noreturn]]' à la place",
"lutilisation de '_Alignof' a été obsolète en C23; utiliser 'alignof' à la place",
"lutilisation de '_Alignas' a été obsolète en C23; utiliser 'alignas' à la place",
"lutilisation de '_Bool' a été obsolète en C23; utiliser 'bool' à la place",
"lutilisation de '_Static_assert' a été obsolète en C23; utiliser 'static_assert' à la place",
"lutilisation de '_Thread_local' a été obsolète en C23; utiliser 'thread_local' à la place",
"Le mode Microsoft doit être activé pour utiliser le fichier de module %sq (module IFC Microsoft Visual Studio)",
"impossible douvrir le fichier de module %sq",
"trouvé dans le mappage de module pour le module %sq",
"trouvé dans le mappage dunité den-tête pour %sq",
"mode de sortie non reconnu (doit être un mode texte, sarif) : %s",
"loption 'c23_typeof' ne peut être utilisée que lors de la compilation de C",
"numéro de version Clang non valide : %s",
"La chaîne IFC contient un caractère null inattendu (zéro) dans le module %sq",
"%d1 octet sur %d2 ont été utilisés",
"à partir des informations de chaîne dans la partition %sq, élément %u1 (position de fichier %u2, position relative %u3)",
"ne peut pas évaluer un initialiseur pour un membre de tableau flexible",
"un initialiseur de champ de bits par défaut est une fonctionnalité C++20",
"beaucoup darguments dans la liste darguments du modèle du module %sq",
"détecté pour largument de modèle représenté par l’élément %sq %u1 (position de fichier %u2, position relative %u3)",
"nombre insuffisant darguments dans la liste darguments du modèle du module %sq",
"détecté lors du traitement de la liste darguments de modèle représentée par l’élément %sq %u1 (position de fichier %u2, position relative %u3)",
"conversion à partir du type d’énumération étendue %t nest pas standard",
"la désallocation ne correspond pas au genre dallocation (lun est pour un tableau et lautre non)",
"la comparaison implique une adresse inconnue (par exemple, ladresse dune variable faible)",
"__make_signed nest compatible quavec les types entier et enum non bool",
"__make_unsigned nest compatible quavec les types entier et enum non bool",
"le nom intrinsèque %sq sera considéré comme un identificateur ordinaire à partir dici",
"accès au sous-objet non initialisé à lindex %d",
"Le numéro de ligne IFC (%u1) dépasse le module de valeur maximale autorisée (%u2) %sq",
"module %sq1 élément demandé %u de partition %sq2, cette position de fichier dépasse la valeur maximale pouvant être représentée",
"nombre d'arguments erroné",
"contrainte sur le candidat %n pas satisfaite",
"nombre de paramètres de %n ne correspond pas à lappel",
"échec de la substitution des arguments de modèle explicites %T pour %n",
"%n est une fonction de déplacement implicite '= delete' et donc ignorée durant la résolution de surcharge",
"%n ne correspond pas, car largument #%d est fourni pour un package de paramètres vide",
"%n ne correspond pas, car largument #%d ne correspond pas au paramètre",
"%n candidat na pas été déduit",
"lopérateur intégré%s ne correspond pas, car largument #%d ne correspond pas au paramètre",
"<integral>",
"<promoted integral>",
"<ptrdiff_t>",
"<enum>",
"<scoped enum>",
"<arithmetic>",
"<promoted arithmetic>",
"<non-bool arithmetic>",
"<pointer>",
"<nullptr>",
"<handle>",
"<handle to CLI array>",
"<pointer to object>",
"<pointer to function>",
"<pointer-to-member>",
"<bool>",
"<bool-like>",
"<class>",
"auto(<expr>) et auto{<expr>} sont une fonctionnalité C++23",
"union anonyme non valide -- lutilisation de la déclaration nest pas autorisée",
"Le fichier IFC %sq ne peut pas être traité",
"La version IFC %u1.%u2 n'est pas prise en charge",
"L'architecture IFC %sq est incompatible avec l'architecture cible actuelle",
"le module %sq1 demande l'index %u d'une partition non prise en charge correspondant à %sq2",
"le paramètre numéro %d de %n a un type %t qui ne peut pas être complété",
"le numéro de paramètre %d de %n a un type incomplet %t",
"le numéro de paramètre %d de %n a un type abstrait %t",
"les liaisons structurées sont une fonctionnalité C++17",
"la capture de liaisons structurées est une fonctionnalité C++20"
]
+249 -50
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",
@@ -180,7 +180,7 @@
"l'applicazione di '&' a una matrice non ha alcun effetto",
"l'operando destro di '%%' è zero",
"argomento incompatibile con il parametro formale",
"argomento incompatibile con la conversione della stringa di formato corrispondente",
"argomento non compatibile con la conversione della stringa di formato corrispondente (tipo previsto %t1 ma argomento di tipo %t2)",
"non è stato possibile aprire il file di origine %sq. Non è presente alcuna directory nell'elenco di ricerca",
"il cast deve essere di tipo integrale",
"il cast deve essere di tipo aritmetico o puntatore",
@@ -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,
@@ -682,9 +682,9 @@
"directory PCH non valida: %s",
"previsto __except o __finally",
"un'istruzione __leave può essere utilizzata solo in un blocco __try",
"rilevato durante la creazione di un'istanza del contesto %p1 del modello %nt1",
"rilevato durante la creazione di un'istanza del contesto %p del modello %nt",
"rilevato durante la generazione implicita del contesto %p1 del modello %nt1",
"rilevato durante la creazione di un'istanza del contesto %p1 della classe %na2",
"rilevato durante la creazione di un'istanza del contesto %p della classe %na",
"rilevato durante l'elaborazione dell'elenco degli argomenti di modello per %na %p",
"rilevato durante la definizione implicita del contesto %p1 del modello %nt1",
"%sq non trovato nello stack di allineamento compressione",
@@ -838,7 +838,7 @@
"verrà restituito il riferimento alla variabile locale",
"omissione del tipo esplicito non conforme allo standard. Verrà utilizzato 'int'",
"più specializzazioni parziali corrispondenti all'elenco degli argomenti di modello di %n",
"%no",
"%nod",
"elenco degli argomenti di modello non consentito in una dichiarazione di un modello principale",
"le specializzazioni parziali non possono includere argomenti di modello predefiniti",
"%n1 non viene usato o non può essere dedotto dall'elenco degli argomenti di modello di %n2",
@@ -952,7 +952,7 @@
"è possibile utilizzare l'opzione 'nonstd_using_decl' solo quando si esegue la compilazione nel linguaggio C++",
"il tipo restituito della funzione 'main' deve essere 'int'",
"il tipo di un parametro di modello non di tipo non può essere di classe",
"impossibile specificare un argomento di modello predefinito nella dichiarazione di un membro di un modello di classe esterno alla relativa classe",
"impossibile specificare un argomento di modello predefinito nella definizione di un membro di un modello di classe all'esterno del modello",
"istruzione return non consentita in un gestore di un blocco try di funzione di un costruttore",
"non è possibile combinare indicatori ordinari ed estesi in una designazione di inizializzatori",
"il secondo indice deve essere minore del primo",
@@ -1214,7 +1214,7 @@
"impossibile utilizzare questa direttiva pragma in un operatore _Pragma. È necessario utilizzare una direttiva #pragma",
"nel campo viene utilizzato il riempimento finale di una classe base",
"nei compilatori GNU C++ è possibile utilizzare il riempimento dei campi di bit",
"%nd è stato dichiarato deprecato",
"%n è stato dichiarato deprecato",
"nome asm non consentito in una dichiarazione di membro non statica",
"il tipo di funzione formato non riconosciuto %sq è stato ignorato",
"nella classe base %no1 viene utilizzato il riempimento finale della classe base %no2",
@@ -1389,14 +1389,14 @@
"dllexport e dllimport ignorati nei modelli di classe",
"la specifica di dllexport/dllimport della classe base è diversa da quella della classe derivata",
"impossibile aggiungere dllexport/dllimport a %nod nella ridichiarazione",
"conflitto tra dllexport/dllimport e %nod. Verrà utilizzato dllexport",
"conflitto tra dllexport/dllimport e %nod;. Verrà utilizzato dllexport",
"impossibile definire l'entità di dllimport",
"con dllexport/dllimport è richiesto il collegamento esterno",
"impossibile dichiarare da solo con un tale identificatore un membro di una classe dichiarata con dllexport/dllimport",
"campo del tipo classe senza interfaccia DLL utilizzato in una classe con interfaccia DLL",
"dichiarazione di membro tra parentesi non conforme allo standard",
"spazio vuoto tra barra rovesciata e carattere di nuova riga ignorato nella giunzione di riga",
"conflitto tra dllexport/dllimport e %nod. dllimport/dllexport verrà eliminato",
"conflitto tra dllexport/dllimport e %nod; dllimport/dllexport verrà eliminato",
"membro non valido per la classe di membro anonima. La classe %t include una funzione membro non consentita",
"reinterpret_cast non conforme allo standard",
"l'identificatore di formato posizionale non può essere zero",
@@ -1443,7 +1443,7 @@
"tipi integrali generici non supportati",
"__real e __imag possono essere applicati solo a valori complessi",
"__real/__imag applicato al valore reale",
"%nd è stato dichiarato deprecato (%sq)'",
"%n è stato dichiarato deprecato (%sq)",
"ridefinizione non valida di %nd",
"dllimport/dllexport applicato a un membro di uno spazio dei nomi senza nome",
"__thiscall può essere utilizzato solo in dichiarazioni di funzione membro non statiche",
@@ -1464,24 +1464,24 @@
"macro",
"etichetta",
"parametro di modello",
null,
null,
null,
null,
"tipo",
"unione",
"classe",
"struct",
"parametro di modello template",
"modello",
"modello di classe",
null,
"enumerazione",
"parametro",
"parametro del gestore",
"variabile",
"non di tipo",
null,
"costante",
"funzione",
"funzione in overload",
"membro",
"campo",
null,
"spazio dei nomi",
"registro denominato",
"spazio degli indirizzi denominato",
"modello di funzione",
@@ -1635,7 +1635,7 @@
"la conversione widening del puntatore da %t1 a %t2 implica l'estensione del bit di segno",
"__sptr e __uptr non sono validi per i tipi di puntatore a membro",
"la dichiarazione dell'operatore di assegnazione di copia per %t è stata eliminata perché %n è costante",
null,
"la dichiarazione dell'operatore di assegnazione di copia per %t è stata eliminata perché %n include il tipo riferimento",
"la dichiarazione dell'operatore di assegnazione di copia per %t1 è stata eliminata perché quella di %t2 è stata eliminata",
"la dichiarazione dell'operatore di assegnazione di copia per %t1 è stata eliminata perché quella di %t2 è ambigua",
"la dichiarazione dell'operatore di assegnazione di copia per %t1 è stata eliminata perché quella di %t2 è inaccessibile",
@@ -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",
@@ -1916,13 +1916,13 @@
"un pacchetto parametri non può avere un valore predefinito",
"C++/CLI può essere abilitato solo in modalità Microsoft C++",
"non è possibile usare 'value__' come nome di una costante di enumerazione (è un nome riservato in questo contesto)",
"è richiesto un valore di enumerazione esplicito in un tipo di enumerazione con tipo sottostante booleano",
"è richiesto un valore di enumerazione esplicito in un tipo enumerazione con tipo sottostante booleano",
null,
"è stato fatto riferimento al pacchetto parametri %sq che però non è espanso",
"l'espansione del pacchetto non usa pacchetti di argomenti",
"il pacchetto %sq non ha lo stesso numero di elementi di %sq2",
null,
"l'attributo vector_size non è consentito con un tipo di enumeratore",
"l'attributo vector_size non è consentito con un tipo enumerazione",
"una proprietà non può essere contemporaneamente statica e virtuale",
"una proprietà indicizzata non può essere semplice",
"questa dichiarazione non può apparire in una definizione di proprietà",
@@ -1955,7 +1955,7 @@
"un identificatore di visibilità di primo livello richiede una definizione di tipo",
"una proprietà trivial non può disporre di un tipo di riferimento",
"una proprietà trivial non può disporre di un tipo const o volatile",
"%nd è stato dichiarato in precedenza come un tipo diverso di tipo di enumeratore",
"%nd è stato dichiarato in precedenza come tipo di enumerazione diverso",
"in una variabile acquisita da un lambda non può essere presente un tipo classe %[managed]",
"l'override della funzione virtuale con un tipo restituito con variante non è consentito in una classe %[managed]",
"matrice di handle non consentita",
@@ -2175,7 +2175,7 @@
"un indicatore di override denominato è consentito solo in una classe %[managed]",
"nessun membro designato dall'indicatore di override denominato corrisponde al tipo di membro",
"una dichiarazione di costruttore statico non può includere un indicatore di override denominato",
"il tipo di enumerazione con ambito deve avere un nome",
"il tipo enumerazione con ambito deve avere un nome",
"trasferimento del controllo in un blocco finally non consentito",
"istruzione return all'interno di un blocco finally non consentita",
"con il blocco try è richiesto almeno un gestore o una clausola finally",
@@ -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",
@@ -2344,7 +2344,7 @@
"%nd dichiarato in precedenza con un tipo base diverso",
"in questo punto non è possibile usare 'enum class' ed 'enum struct' (usare semplicemente 'enum')",
"è consentito un solo livello di parentesi in un inizializzatore per un oggetto di tipo %t",
"non è possibile usare %nd come nome del tipo di enumerazione",
"non è possibile usare %nd come nome del tipo enumerazione",
null,
"impossibile utilizzare un inizializzatore tra parentesi con 'new auto'",
"la definizione di std::initializer_list non contiene il costruttore previsto",
@@ -2367,7 +2367,7 @@
"un inizializzatore tra parentesi per un'entità non classe deve essere un'espressione, non un elenco tra parentesi graffe",
"un elenco tra parentesi graffe non fornisce un tipo restituito per questa espressione lambda",
"la specifica dell'eccezione dichiarata non è compatibile con quella generata",
"i tipi di enumerazione con ambito sono una funzionalità C++11",
"i tipi enumerazione con ambito sono una funzionalità C++11",
"un tipo di funzione non può essere inizializzato dal valore",
"l'inizializzazione di elenco di un tipo di oggetto %t non è consentita perché il tipo non è completo",
"std::initializer_list contiene un distruttore non previsto. La libreria non è configurata correttamente",
@@ -2477,7 +2477,7 @@
null,
"è prevista un'etichetta",
"è previsto un numero operando dopo '%%l'",
"il numero operando per '%%l' non fa riferimento a un argomento di etichetta valido",
"il numero operando per '%%l' non fa riferimento a un argomento etichetta valido",
"una stringa \"wide\" non è valida in un'istruzione 'asm'",
"l'attributo non è standard",
"non è una classe di base della classe %t",
@@ -2546,7 +2546,7 @@
"non è possibile dedurre il tipo 'decltype(auto)'",
"una dichiarazione thread-local con ambito blocco deve includere static o extern",
"il tipo restituito dedotto %t1 è in conflitto con il tipo dedotto in precedenza %t2",
"non è possibile dedurre il tipo restituito di %nd perché non è stato definito",
"non è possibile dedurre il tipo restituito di %nd; perché non è stato definito",
"il tipo restituito da una funzione virtuale non può essere dedotto",
"a partire da questo punto %n verrà considerato come una parola chiave sensibile al contesto",
"lo spazio dei nomi globale non include membri effettivi %sq",
@@ -2664,7 +2664,7 @@
"la variabile nella funzione constexpr non è inizializzata",
"per l'inizializzazione tra parentesi graffe di una variabile dichiarata con un tipo di segnaposto, ma senza `=`, è necessario specificare un solo elemento all'interno delle parentesi",
"non esistono configurazioni '%s' --target",
"l'attributo non è supportato in configurazioni x86 a 64 bit",
"l'attributo è supportato soltanto in configurazioni x86 a 32 bit",
"con '%s' è richiesto un argomento",
"un costruttore o un distruttore non può essere una coroutine",
"%n non può essere una coroutine",
@@ -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",
@@ -2780,7 +2780,7 @@
"non è possibile applicare l'identificatore _Atomic(...) al tipo qualificato %t",
"accesso al membro dell'oggetto _Atomic",
"un campo di bit non può contenere un tipo _Atomic",
"i tipi di classe _Atomic sono disabilitati",
null,
"il costruttore constexpr chiama il costruttore non constexpr per l'inizializzazione del sotto-oggetto",
"è prevista una virgola (la versione a un solo argomento di static_assert non è abilitata in questa modalità)",
"l'asserzione statica non è riuscita",
@@ -2810,7 +2810,7 @@
"non è possibile valutare il valore dell'oggetto incompleto %t",
"il valore restituito dalla routine dichiarata con l'attributo 'nodiscard' verrà ignorato",
"il tipo del valore restituito con l'attributo 'nodiscard' verrà ignorato",
"l'attributo 'nodiscard' non può essere applicato a distruttori o routine con tipo restituito void",
"l'attributo 'nodiscard' non si applica a distruttori o routine con tipo restituito void",
"l'attributo 'fallthrough' si applica solo a istruzioni Null",
"l'attributo 'fallthrough' può essere usato solo in un'istruzione switch in cui è incluso",
"l'attributo fallthrough deve precedere un'etichetta switch case o default",
@@ -2893,7 +2893,7 @@
"l'inizializzazione elenco copie non può usare %n 'explicit'",
"guida per la deduzione",
"Valore non valido per l'operatore di valore letterale definito dall'utente",
"__has_cpp_attribute può essere specificato all'esterno di #if o #elif",
"%s non può essere visualizzato all'esterno delle direttive del preprocessore",
"la guida per la deduzione deve essere dichiarata con la stessa accessibilità di %n",
"in questo contesto non sono consentite espressioni lambda",
"l'allineamento specificato non equivale alla dichiarazione precedente",
@@ -2935,7 +2935,7 @@
"il tipo %t nel puntatore this per la funzione membro con limitazioni amp %nfd non è valido",
"il tipo restituito %t per la funzione con restrizioni AMP %nfd non è valido",
"il tipo di parametro %t per la funzione con restrizioni AMP %nfd non è valido",
null,
"il costrutto nella funzione con restrizioni AMP %nfd non è valido",
"la classe di archiviazione %s nella funzione con restrizioni AMP %nfd non è valida",
"%s non è consentito nella funzione con restrizioni AMP %nfd",
"il cast nella funzione con restrizioni AMP non è valido",
@@ -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à",
@@ -3292,7 +3292,7 @@
"un tipo volatile %t impedisce la valutazione constexpr di __builtin_bit_cast",
"un tipo unione, puntatore o puntatore a membro %t impedisce la valutazione constexpr di __builtin_bit_cast",
"%npTd, ereditato tramite l'uso della dichiarazione %p",
"non è possibile costruire oggetti secondari di %t per ereditare costruttori. Il costruttore predefinito implicito è stato eliminato",
"non è possibile costruire oggetti secondari di %t per ereditare costruttori. Il costruttore associato è stato eliminato",
"%n deve restituire void",
"l'inizio della dichiarazione di membro non è valido",
"è previsto 'auto'",
@@ -3309,8 +3309,8 @@
"una dichiarazione di esportazione non può contenere una dichiarazione di importazione del modulo",
"una dichiarazione di esportazione può essere presente solo in un'unità di interfaccia del modulo",
"una dichiarazione di esportazione non può esportare un nome con collegamento interno",
"la dichiarazione using include %nfd",
"la funzione predefinita non è disponibile perché i tipi a virgola mobile __fp16 non sono supportati",
null,
null,
"un'espressione requires deve specificare almeno un requisito",
"'constinit' non è valida in questo punto",
"'constinit' è valida solo per dichiarazioni con durata di archiviazione del thread o statica",
@@ -3343,19 +3343,218 @@
"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",
null,
"non è possibile trovare l'intestazione '%s' da importare",
"più di un file nell'elenco file di modulo corrisponde a '%s'",
"il file di modulo trovato per '%s' è riferito a un modulo diverso",
"qualsiasi tipo di modulo",
"non è possibile leggere il file del modulo",
"la funzione predefinita non è disponibile perché il tipo char8_t non è supportato con le opzioni correnti",
"non è possibile specificare l'opzione della riga di comando --ms_await se le coroutine di C++20 sono abilitate",
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)"
]
"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 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",
"il tipo di promessa %t deve dichiarare get_return_object_on_allocation_failure come funzione membro statica che non richiede argomenti",
"un modello di alias non può essere specializzato in modo esplicito",
"per corrispondere a questo '{'",
"in questa chiamata macro",
"la chiamata richiede una conversione di argomento ambigua",
"la dichiarazione di proprietà del modulo %s è in conflitto con %nd",
"la dichiarazione di proprietà di un modulo globale è in conflitto con %nd di proprietà di un modulo denominato",
"il primo argomento di un attributo 'malloc' deve essere una funzione",
"non è possibile acquisire %nod",
"non è possibile acquisire 'this'",
"già nel contesto consteval",
"'if consteval' e 'if not consteval' richiedono istruzioni dipendenti con parentesi graffe",
"'if consteval' e 'if not consteval' non sono significativi in una funzione non constexpr",
"il trasferimento del controllo in un'istruzione 'if consteval' o 'if not consteval' non è consentito",
"la valutazione costante non può passare attraverso la dichiarazione di una variabile con durata di archiviazione statica o thread",
"qualificatore modificabile non consentito in un'espressione lambda con un parametro 'this' esplicito",
"una funzione membro dichiarata con 'static' non può avere un parametro 'this' esplicito",
"un parametro 'this' esplicito deve essere il primo parametro dichiarato",
"'this' non è consentito qui",
"una funzione di confronto con 'this' esplicito non può essere predefinita",
"una funzione 'this' esplicita richiede un operando selettore",
"'if consteval' e 'if not consteval' non sono standard in questa modalità",
"l'omissione di '()' in un dichiaratore lambda non è standard in questa modalità",
"una clausola requires finale non è consentita quando l'elenco di parametri lambda viene omesso",
"modulo %sq partizione non valida richiesta",
"richiesta partizione non definita del modulo %sq1 (che si ritiene sia %sq2)",
null,
null,
"modulo %sq1 posizione file %u1 (posizione relativa %u2) richiesto per la partizione %sq2, che causa l'overflow della fine della partizione",
"modulo %sq1 posizione file %u1 (posizione relativa %u2) richiesto per la partizione %sq2, che non è allineata agli elementi delle partizioni",
"dal sottocampo %sq (posizione relativa al nodo %d)",
"dalla partizione %sq elemento %u1 (posizione file %u2, posizione relativa %u3)",
"attributi lambda non conformi allo standard",
"l'identificatore %sq potrebbe essere confuso con un identificatore visivamente simile visualizzato %p",
"questo commento contiene caratteri di controllo di formattazione Unicode sospetti",
"questa stringa contiene caratteri di controllo di formattazione Unicode che potrebbero causare un comportamento di runtime imprevisto",
"%d1 avviso eliminato durante l'elaborazione del modulo %sq1",
"%d1 avvisi eliminati rilevati durante l'elaborazione del modulo %sq1",
"Errore %d1 eliminato durante l'elaborazione del modulo %sq1",
"%d1 errori eliminati rilevati durante l'elaborazione del modulo %sq1",
"compreso",
"eliminato",
"una funzione membro virtuale non può avere un parametro 'this' esplicito",
"l'acquisizione dell'indirizzo di una funzione esplicita 'this' richiede un nome qualificato",
"per formare l'indirizzo di una funzione esplicita 'this' è necessario l'operatore '&'",
"impossibile utilizzare un valore letterale stringa per inizializzare un membro di matrice flessibile",
"La rappresentazione IFC della definizione della funzione %sq non è valida",
null,
"un grafico IFC UniLevel non è stato usato per specificare i parametri",
"%d1 parametri specificati dal grafico di definizione dei parametri IFC mentre %d2 parametri sono stati specificati dalla dichiarazione IFC",
"%d1 parametro è stato specificato dal grafico di definizione del parametro IFC mentre %d2 parametri sono stati specificati dalla dichiarazione IFC",
"%d1 parametri sono stati specificati dal grafico di definizione del parametro IFC mentre %d2 parametro è stato specificato dalla dichiarazione IFC",
"Manca la rappresentazione IFC della definizione della funzione %sq",
"il modificatore di funzione non si applica alla dichiarazione del modello di membro",
"la selezione dei membri implica troppi tipi anonimi annidati",
"non esiste alcun tipo comune tra gli operandi",
"è previsto un puntatore a membro",
"un membro di matrice flessibile non può essere dichiarato in un tipo altrimenti vuoto",
"previsto 'std::source_location::__impl' da definire in una classe con solo i membri dati '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
"il numero di colonna specificato è troppo grande per l'implementazione di 'std::source_location'",
"il numero di riga specificato è troppo grande per l'implementazione di 'std::source_location'",
"una costante di caratteri UTF-16 non può occupare più di un'unità di codice; valore troncato",
"entrambi gli argomenti devono avere lo stesso tipo",
"il tipo %t non è valido come argomento per questa compilazione",
"chiamato da %nd:",
"un tipo qualificato non è conforme allo standard per i campi di bit anonimi",
"il tipo di elemento della condizione vettoriale (%t1) deve avere le stesse dimensioni del tipo di elemento del risultato (%t2)",
"il tipo di operando di vettore a virgola mobile (%t) non ha un tipo di vettore intero corrispondente",
"il mangling per le espressioni 'requires' non è ancora implementato",
"a causa di un attributo 'non disponibile'",
"qualificatore 'asm' duplicato",
"o un campo di bit con un tipo di enumerazione incompleto o un'enumerazione opaca con un tipo di base non valido",
"ha tentato di costruire un elemento dalla partizione IFC %sq utilizzando un indice nella partizione IFC %sq2",
"la partizione %sq ha specificato la dimensione della voce come %d1 mentre era previsto %d2",
"Durante l'elaborazione del modulo %sq1 è stato riscontrato un requisito IFC imprevisto.",
"condizione fallita alla riga %d in %s1: %sq2",
"il vincolo atomico dipende da se stesso",
"La funzione 'noreturn' ha un tipo restituito non void",
"è stata apportata una correzione eliminando il parametro %sq (in corrispondenza dell'indice relativo %d)",
"non è possibile specificare un argomento di modello predefinito nella definizione di un modello di membro all'esterno della relativa classe",
"nome identificatore IFC %sq non valido rilevato durante la ricostruzione dell'entità",
null,
"il modulo %sq valore di ordinamento non valido",
"un modello di funzione caricato da un modulo IFC è stato analizzato erroneamente come %nd",
"non è stato possibile caricare un riferimento all'entità IFC nel modulo %sq",
"dalla partizione %sq elemento %u1 (posizione file %u2, posizione relativa %u3)",
"gli indicatori concatenati non sono consentiti per un tipo di classe con un distruttore non banale",
"una dichiarazione di specializzazione esplicita non può essere una dichiarazione Friend",
"il tipo std::float128_t non è supportato; verrà invece usato std::float64_t",
"il tipo std::bfloat16_t non è supportato; verrà utilizzato std::float32_t",
"non è possibile dichiarare una guida alla deduzione per il modello di alias %no",
"%n dichiarato non disponibile",
"%n dichiarato non disponibile (%sq)",
"a causa di un attributo 'deprecato'",
"i parametri espliciti del modello lambda sono una funzionalità di C++20",
"l'uso di '_Noreturn' è obsoleto in C23; usare '[[noreturn]]'",
"l'uso di '_Alignof' è obsoleto in C23; usare 'alignof'",
"l'uso di '_Alignas' è obsoleto in C23; usare 'alignas'",
"l'uso di '_Bool' è obsoleto in C23; usare 'bool'",
"l'uso di '_Static_assert' è obsoleto in C23; usare 'static_assert'",
"l'uso di '_Thread_local' è obsoleto in C23; usare 'thread_local'",
"È necessario abilitare la modalità Microsoft per usare il file del modulo %sq (un modulo IFC Microsoft Visual Studio)",
"non è stato possibile aprire il file del modulo %sq",
"trovato nella mappa dei moduli per il modulo %sq",
"trovato nella mappa delle unità intestazione per %sq",
"Modalità di output non riconosciuta (deve essere una modalità di testo, sarif): %s",
"È possibile usare l'opzione 'c23_typeof' solo durante la compilazione in C",
"numero di versione clang non valido: %s",
"la stringa IFC contiene un carattere Null (zero) imprevisto nel modulo %sq",
"%d1 di %d2 byte usati",
"dalle informazioni della stringa nella partizione %sq elemento %u1 (posizione file %u2, posizione relativa %u3)",
"non è possibile valutare un inizializzatore per un membro di matrice flessibile",
"un inizializzatore di campo di bit predefinito è una funzionalità di C++20",
"troppi argomenti nell'elenco degli argomenti del modello nel modulo %sq",
"rilevato per l'argomento del modello rappresentato dallelemento %sq %u1 (posizione file %u2, posizione relativa %u3)",
"argomenti insufficienti nell'elenco degli argomenti del modello nel modulo %sq",
"rilevato durante l'elaborazione dell'elenco di argomenti del modello rappresentato dallelemento %sq %u1 (posizione file %u2, posizione relativa %u3)",
"la conversione dal tipo di enumerazione con ambito %t non è conforme allo standard",
"la deallocazione non corrisponde al tipo di allocazione (una è per una matrice e l'altra no)",
"il confronto include un indirizzo sconosciuto (ad esempio, l'indirizzo di una variabile debole)",
"__make_signed è compatibile solo con i tipi di numero intero ed enumerazione non booleani",
"__make_unsigned è compatibile solo con i tipi di numero intero ed enumerazione non booleani",
"il nome intrinseco %sq verrà trattato come un identificatore ordinario a partire da qui",
"accesso a un sotto-oggetto non inizializzato all'indice %d",
"numero di riga IFC (%u1) che causa loverflow del valore massimo consentito (%u2) del modulo %sq",
"il modulo %sq1 ha richiesto l'elemento %u della partizione %sq2. Questa posizione del file supera il valore massimo rappresentabile",
"numero errato di argomenti",
"vincolo sul candidato %n non soddisfatto",
"il numero di parametri di %n non corrisponde alla chiamata",
"sostituzione degli argomenti di modello espliciti %T per %n non riuscita",
"%n è una funzione di spostamento '= delete' implicita e quindi verrà ignorata durante la risoluzione dell'overload",
"%n non corrisponde perché è stato specificato l'argomento #%d per un pacchetto di parametri vuoto",
"%n non corrisponde perché l'argomento #%d non corrisponde al parametro",
"deduzione del candidato %n non riuscita",
"l'operatore predefinito%s non corrisponde perché l'argomento #%d non corrisponde al parametro",
"<integral>",
"<promoted integral>",
"<ptrdiff_t>",
"<enum>",
"<scoped enum>",
"<arithmetic>",
"<promoted arithmetic>",
"<non-bool arithmetic>",
"<pointer>",
"<nullptr>",
"<handle>",
"<handle to CLI array>",
"<pointer to object>",
"<pointer to function>",
"<pointer-to-member>",
"<bool>",
"<bool-like>",
"<class>",
"auto(<expr>) e auto{<expr>} sono funzionalità di C++23",
"unione anonima non valida: la dichiarazione using non è consentita",
"Non è possibile elaborare il file IFC %sq",
"la versione IFC %u1.%u2 non è supportata",
"l'architettura IFC %sq non è compatibile con l'architettura di destinazione corrente",
"il modulo %sq1 richiede l'indice %u di una partizione non supportata corrispondente a %sq2",
"il numero di parametro %d di %n ha il tipo %t che non può essere completato",
"il numero di parametro %d di %n ha il tipo incompleto %t",
"il numero di parametro %d di %n ha il tipo astratto %t",
"i binding strutturati sono una funzionalità di C++17",
"l'acquisizione di binding strutturati è una funzionalità di C++20"
]

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