Compare commits

..
Author SHA1 Message Date
Sean McManus a1487e5e79 Merge pull request #12185 from microsoft/main
Merge for 1.20.1
2024-04-09 17:07:29 -07:00
Bob Brown 4650cfeeb9 Update CHANGELOG.md (#12186) 2024-04-09 14:43:42 -07:00
Sean McManus 35cda7ebb0 Update changelog for 1.20.1 (#12182)
* Update changelog for 1.20.1
2024-04-09 13:09:25 -07:00
Sean McManus 92a0494796 Update for libexecinfo crash handler change. (#12158)
* Update for libexecinfo crash handler change.
* Update ThirdPartyNotices.txt
2024-04-08 16:13:36 -07:00
Bob Brown d2bd18acf1 don't strip underscores when demangling (#12159) 2024-04-01 14:04:46 -07:00
Bob Brown f3cbf1237d clean up the pipeline runs (#12151) 2024-03-27 17:32:41 -07:00
Bob Brown 76509d6a0c Component Governance pipeline for vscode-cpptools (#12148) 2024-03-27 14:07:28 -07:00
Sean McManus 6f19496172 Merge pull request #12138 from microsoft/main
Merge for 1.20.0
2024-03-26 14:12:18 -07:00
Sean McManus 32ead756bb Update changelog and version for 1.20.0. 2024-03-25 16:17:37 -07:00
Colen Garoutte-Carson 976a1ba8e8 Update to clang-tidy 18.1.2 (#12135) 2024-03-22 18:14:30 -07:00
Garrett Serack 1c4292d8f5 remove unnecessary null (#12133) 2024-03-22 11:22:26 -07:00
Garrett Serack 1ab766bc5c Add setting to support max search results (#12131) 2024-03-21 11:17:24 -07:00
Colen Garoutte-Carson 127588ba57 Update changelog for 1.19.9 again (#12122) 2024-03-19 16:15:31 -07:00
Colen Garoutte-Carson ccd80fedb1 Update changelog 1.19.9 (#12117) 2024-03-18 13:21:27 -07:00
dependabot[bot]andSean McManus 1fc8731c2b Bump follow-redirects from 1.15.5 to 1.15.6 in /Extension (#12112)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6)

---
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-03-18 12:31:43 -07:00
dependabot[bot]andSean McManus b6deaf9fa0 Bump follow-redirects from 1.15.4 to 1.15.6 in /.github/actions (#12111)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

---
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-03-18 12:24:09 -07:00
browntarik a6eff82854 Add internal formatting support for Copy Declaration/Definition (#12055)
* Add text formatting for CopyDD

* fix lint issues

* Plumb up editor settings msg

* add vcFormat param

* Add formatParams to CDD + rollback changes

* fix lint issue

* update defaults

* Reafctor formatParams correctly for vcFormat and .editor_config

* populate editorConfigSettings

* minor fix

* minor fix
2024-03-18 11:08:11 -07:00
Luca 751fd74113 Add a command to fetch the includes graph for a TU (#12085) 2024-03-14 16:54:37 -07:00
Colen Garoutte-Carson 3dfa607685 Revert "Address multiple-init scenario"
This reverts commit b2c06a57c9.
2024-03-14 12:55:19 -07:00
Colen Garoutte-Carson b2c06a57c9 Address multiple-init scenario 2024-03-14 12:54:14 -07:00
Colen Garoutte-Carson a97a334eb0 Update changelog for 1.19.8 again (#12099) 2024-03-13 17:11:41 -07:00
browntarik 3d8180141f Eliminate squiggle from all glob configurations (#12072)
* Fix glob coverage

* resolve and split paths before validation

* expand glob patterns and do not expand incorrect paths

* Do not squiggle paths that need to be expanded

* revert change

* squiggle paths that end with *

* Do not squiggle paths that end with *

* properly squiggle glob paths with recursive includes

* correctly report squiggles with glob paths

* move check for asterisk to outer check

* fix lint issues
2024-03-13 17:13:31 +00:00
Colen Garoutte-Carson 74ab0e7ba5 Update changelog for 1.19.8 (#12092) 2024-03-12 19:10:13 -07:00
Sean McManus 8dfeccd935 Fix Add Configuration with snippets disabled. (#12080) 2024-03-11 16:45:35 -07:00
Bob Brown c144fe2408 Prevent the status bar from updating too quickly (#12088) 2024-03-11 13:29:52 -07:00
Colen Garoutte-Carson 3bbc6716ad Update changelog again for 1.19.7 (#12086) 2024-03-08 15:00:40 -08:00
Colen Garoutte-Carson 75ed1b5ec3 Update changelog for 1.19.7 (#12081) 2024-03-08 10:29:55 -08:00
browntarik 699b3d52c5 Resolve userHome variable in c_cpp_properties.json (#12071)
* Add userHome envrionment variable

* Resolve userHome to os.homedir

* revert change

* fix lint issues

* Rework resolving variables + minor change

* Minor fixes
2024-03-07 10:59:30 -08:00
Colen Garoutte-Carson ae8c4aca58 Update edge json files for FI (#12074) 2024-03-06 19:47:10 -08:00
Colen Garoutte-Carson 79d0c06951 Update edge loc strings (#12073) 2024-03-06 18:58:33 -08:00
Colen Garoutte-Carson a877c6f1ae Fix forced include resolution (#12035) 2024-03-06 14:15:22 -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 76ccb791ff Merge pull request #11947 from microsoft/main 2024-02-09 17:16:17 -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 a5a5735089 Merge pull request #11942 from microsoft/main 2024-02-08 17:07:45 -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 5077edf585 Merge pull request #11886 from microsoft/main
Merge for 1.19.2 (2nd time)
2024-01-19 18:08:55 -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
Colen Garoutte-Carson f38926f8b1 Merge pull request #11874 from microsoft/main 2024-01-16 17:41:23 -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 30de9bcc27 Merge pull request #11725 from microsoft/main
Update for 1.19.1 (#11724)
2023-11-21 17:12:17 -08:00
Sean McManus 100e2e0828 Merge pull request #11699 from microsoft/main
Merge for 1.19.0
2023-11-16 18:39:02 -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 4ba260c486 Merge pull request #11687 from microsoft/main
Merge for 1.18.4
2023-11-14 17:25:29 -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 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 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
Sean McManus 3a3a31b9b8 Merge branch 'main' into seanmcm/1_18_3_release 2023-11-09 18:03:16 -08:00
Sean McManus e3b41771c6 Merge pull request #11639 from microsoft/main
Merge for 1.18.2 (2nd time)
2023-11-08 12:34:50 -08:00
Sean McManus 3f7f3090f6 Merge pull request #11633 from microsoft/main
Merge for 1.18.2
2023-11-07 15:59:34 -08:00
Sean McManus 4149493f2c Merge pull request #11607 from microsoft/main
Merge for 1.18.1
2023-11-01 17:55:01 -07:00
Sean McManus 43aad3f65c Merge pull request #11528 from microsoft/main
Update changelog (2nd time) (#11527)
2023-10-12 17:21:18 -07:00
Sean McManus bedcacb0a1 Merge pull request #11526 from microsoft/main
Merge for 1.18.0
2023-10-12 14:58:49 -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
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
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
Colen Garoutte-Carson 47785c4f98 Merge pull request #11331 from microsoft/main 2023-08-16 18:16:18 -07:00
Sean McManus a5f8f84b43 Merge pull request #11303 from microsoft/main
Merge for 1.17.1
2023-08-08 17:51:04 -07:00
Sean McManus e53b190380 Merge pull request #11253 from microsoft/main
Merge (again) for 1.17.0
2023-07-26 16:56:43 -07:00
Michelle Matias 1846fd4001 Merge pull request #11250 from microsoft/main 2023-07-26 14:15:17 -07:00
Colen Garoutte-Carson 62e09945e3 Merge pull request #11241 from microsoft/main 2023-07-24 17:32:28 -07:00
Michelle Matias c9b0db02fd Merge pull request #11230 from microsoft/main
Merge 1.17.0
2023-07-21 14:08:21 -07:00
Michelle Matias 51da619eec Merge pull request #11099 from microsoft/main
1.16.1 pre-release
2023-06-15 21:19:13 -07:00
Michelle Matias 3eb50568e9 Merge pull request #10986 from microsoft/main
[Auto] Localization - Translated Strings (#10889)
2023-05-22 13:53:52 -07:00
Michelle Matias 866b145645 Merge pull request #10975 from microsoft/main
1.16.0 pre-release
2023-05-19 15:52:02 -07:00
Sean McManus 9762fe5397 Merge pull request #10862 from microsoft/main
Merge for 1.15.3 (2nd time)
2023-04-21 19:00:16 -07:00
Sean McManus 377896c30a Merge pull request #10846 from microsoft/main
Merge for 1.15.3
2023-04-20 18:55:05 -07:00
Michelle Matias 98f13a6f11 Merge pull request #10815 from microsoft/main
Don't put the compiler selection in the global settings if using the …
2023-04-12 17:57:26 -07:00
Michelle Matias 0d85aea687 Merge pull request #10813 from microsoft/main
Revert walkthrough doc links until walkthrough is published (#10812)
2023-04-12 15:51:05 -07:00
Sean McManus 25d2b76514 Merge pull request #10811 from microsoft/main
Merge for 1.15.2
2023-04-12 11:03:43 -07:00
Sean McManus 42dfef3f6b Merge pull request #10728 from microsoft/main
Merge for 1.15.1
2023-03-22 11:43:15 -07:00
Sean McManus 1ce1e9cd71 Merge pull request #10716 from microsoft/main
Update changelog for 1.15.1. (#10708)
2023-03-21 09:53:45 -07:00
Sean McManus 65163966d5 Merge pull request #10679 from microsoft/main
Merge for 1.15.0
2023-03-15 17:17:35 -07:00
Sean McManus edf8e0a155 Merge pull request #10504 from microsoft/main
Merge for 1.14.2 (2nd time)
2023-02-09 16:30:37 -08:00
Sean McManus 4083075476 Merge pull request #10501 from microsoft/main
Merge for 1.14.2
2023-02-09 14:26:59 -08:00
Michelle Matias b745ebc218 Merge pull request #10453 from microsoft/main
1.14.1 pre-release merge
2023-02-01 14:29:00 -08:00
Michelle Matias b69d17a0f5 Merge pull request #10378 from microsoft/seanmcm/1_14_0_insiders
Merge for 1.14.0
2023-01-11 20:00:38 -08:00
Sean McManus be8b6fb693 Merge branch 'main' into seanmcm/1_14_0_insiders 2023-01-11 19:07:54 -08:00
95 changed files with 2908 additions and 1294 deletions
+6 -6
View File
@@ -3915,9 +3915,9 @@
"dev": true
},
"node_modules/follow-redirects": {
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
"version": "1.15.6",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"funding": [
{
"type": "individual",
@@ -4200,9 +4200,9 @@
"dev": true
},
"node_modules/ip": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
"integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz",
"integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==",
"dev": true
},
"node_modules/is-binary-path": {
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v3
+2
View File
@@ -11,6 +11,8 @@ on:
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v3
+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
@@ -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
@@ -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
@@ -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
@@ -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
+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
@@ -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
closeDays: 30
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
pingDays: 80
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
+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
+95
View File
@@ -0,0 +1,95 @@
name: $(date:yyyyMMdd)$(rev:.r)
trigger:
branches:
include:
- main
- release
schedules:
- cron: 30 5 * * 0
branches:
include:
- main
always: true
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
tsa:
enabled: false
featureFlags:
autoBaseline: false
stages:
- stage: build
jobs:
- job: Phase_1
displayName: Build cpptools.vsix
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
templateContext:
outputs:
- output: pipelineArtifact
displayName: 'cpptools.vsix'
condition: succeeded()
targetPath: $(Build.ArtifactStagingDirectory)\Extension
artifactName: cpptools.vsix
steps:
- checkout: self
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
displayName: Use Yarn 1.x
- task: UseNode@1
displayName: Use Node 16.x
inputs:
version: 16.x
- task: CmdLine@2
displayName: Delete .npmrc if it exists
inputs:
script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
- task: Npm@0
name: NpmInstall_2
displayName: Install vsce
inputs:
arguments: --global @vscode/vsce
- task: CmdLine@1
name: ProcessRunner_11
displayName: Create Extension Staging Directory
inputs:
filename: mkdir
arguments: $(Build.ArtifactStagingDirectory)\Extension
- task: CmdLine@1
name: ProcessRunner_12
displayName: Run VSCE to package vsix
inputs:
filename: vsce
arguments: package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix
workingFolder: $(Build.SourcesDirectory)\Extension
- task: Npm@0
displayName: Uninstall vsce
inputs:
command: uninstall
arguments: --global @vscode/vsce
+2 -2
View File
@@ -41,8 +41,8 @@
"editor.formatOnSave": true,
"files.insertFinalNewline": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
"source.organizeImports": true
"source.fixAll.eslint": "explicit",
"source.organizeImports": "explicit"
},
},
"eslint.format.enable": true,
+135 -22
View File
@@ -1,19 +1,133 @@
# C/C++ for Visual Studio Code Changelog
## Version 1.19.1: November 21, 2023
## Version 1.20.1: April 9, 2024
### Bug Fixes
* Fix `Add '#include'` code actions for Mac frameworks. [#11579](https://github.com/microsoft/vscode-cpptools/issues/11579)
* Fix snippet and include completion. [#11715](https://github.com/microsoft/vscode-cpptools/issues/11715), [#11720](https://github.com/microsoft/vscode-cpptools/issues/11720)
* Fix 'Add #include' code actions for code scoped by a namespace or class. [#11541](https://github.com/microsoft/vscode-cpptools/issues/11541)
* Fix the IntelliSense server not starting when a completion, signature help, or document highlight occurs from external commands. [#12143](https://github.com/microsoft/vscode-cpptools/issues/12143)
* Fix the IntelliSense configuration not falling back to the `c_cpp_properties.json` configuration for a file not handled by a configuration provider. [#12144](https://github.com/microsoft/vscode-cpptools/issues/12144)
## Version 1.20.0: March 26, 2024
### Enhancements
* Add support for C++ modules IFC version 0.43. [#10843](https://github.com/microsoft/vscode-cpptools/issues/10843)
* Add support for `${userHome}` in `c_cpp_properties.json`. [#11756](https://github.com/microsoft/vscode-cpptools/issues/11756)
* Reduce the default max workspace symbol search results and add `C_Cpp.maxSymbolSearchResults`. [PR #12131](https://github.com/microsoft/vscode-cpptools/pull/12131)
* Update `clang-format`/`clang-tidy` to 18.1.2. [PR #12135](https://github.com/microsoft/vscode-cpptools/pull/12135)
* Update IntelliSense engine.
### Bug Fixes
* Fix IntelliSense parsing issues. [#6183](https://github.com/microsoft/vscode-cpptools/issues/6183)
* Fix 'Copy Declaration / Definition' code not being formatted. [#10956](https://github.com/microsoft/vscode-cpptools/issues/10956)
* Fix 'Create Declaration / Definition' not working if the cursor isn't on the function name. [#11834](https://github.com/microsoft/vscode-cpptools/issues/11834)
* Fix duplicate 'Add #include' code actions. [#11989](https://github.com/microsoft/vscode-cpptools/issues/11989)
* Fix `forcedInclude` resolution for relative paths. [PR #12035](https://github.com/microsoft/vscode-cpptools/pull/12035)
* Fix 'Add Configuration...' in `launch.json` when `editor.suggest.showSnippets` is `false`. [#12059](https://github.com/microsoft/vscode-cpptools/issues/12059)
* Fix `c_cpp_properties.json` warnings for `includePath`s with `**` wildcard glob patterns. [#12070](https://github.com/microsoft/vscode-cpptools/issues/12070)
* Fix call stacks for `cpptools` and `cpptools-srv` not being available on Linux. [#12091](https://github.com/microsoft/vscode-cpptools/issues/12091)
* Fix IntelliSense processes shutting down immediately if not enough memory is detected. [#12126](https://github.com/microsoft/vscode-cpptools/issues/12126)
* Fix code analysis aborting after encountering an excluded file (instead of just skipping it). [#12127](https://github.com/microsoft/vscode-cpptools/issues/12127)
* Fix `"Cannot open source"` errors on missing includes not appearing if `C_Cpp.errorSquiggles` is `enabled`. [#12134](https://github.com/microsoft/vscode-cpptools/issues/12134)
* Fix a `cpptools` process crash and deadlock during shutdown.
## Version 1.19.9: March 20, 2024
### Bug Fixes
* Fix an issue with Cygwin system headers not being properly detected. [#12113](https://github.com/microsoft/vscode-cpptools/issues/12113)
* Fix a crash in cpptools-srv when low on memory. [#12121](https://github.com/microsoft/vscode-cpptools/issues/12121)
* Fix an issue preventing cpptools-srv from being relaunched after a crash.
## Version 1.19.8: March 13, 2024
### Bug Fixes
* Fix an issue with applying the proper working directory from a `compile_commands.json` when a `compilePath` is also set. [#12024](https://github.com/microsoft/vscode-cpptools/issues/12024)
* Fix a deadlock. [#12051](https://github.com/microsoft/vscode-cpptools/issues/12051)
* Fix a crash that could occur when failing to query clang-cl.
* Fix an issue with handling of `winsysroot` args for clang-cl.
* Fix an issue with processing relative include paths returned by clang-cl.
## Version 1.19.7: March 11, 2024
### Bug Fixes
* Fix some potential deadlocks. [#12051](https://github.com/microsoft/vscode-cpptools/issues/12051)
* Fix a crash related to parsing concepts. [#12060](https://github.com/microsoft/vscode-cpptools/issues/12060)
* Fix flickering status updates in the language status bar. [#12084](https://github.com/microsoft/vscode-cpptools/issues/12084)
* Fix a cpptools crash that can occur if cpptools-srv crashes on initialization.
## Version 1.19.6: March 6, 2024
### Enhancement
* Performance improvement.
## Version 1.19.5: March 4, 2024
### Enhancements
* Change how `args` and `command` fields are handled in `cppbuild` tasks, to match the behavior of VS Code `shell` build tasks, including explicit `quoting` support. [#12001](https://github.com/microsoft/vscode-cpptools/issues/12001)
* Enable C23 IntelliSense support, and add support for `clatest` `std` value for MSVC. [#12020](https://github.com/microsoft/vscode-cpptools/issues/12020)
### Bug Fixes
* Fix the IntelliSense cache not being pruned. [#11925](https://github.com/microsoft/vscode-cpptools/issues/11925)
* Fix an issue with duplicate `Add #include` code actions appearing if the same header name exists in multiple locations. [#11989](https://github.com/microsoft/vscode-cpptools/issues/11989)
* Fix compiler querying with a `-index-store-path` argument. [#12012](https://github.com/microsoft/vscode-cpptools/issues/12012)
* Fix an issue with changes to `C_Cpp.inlayHints` settings not taking effect immediately. [#12013](https://github.com/microsoft/vscode-cpptools/issues/12013)
* Fix an issue with how Doxygen `brief` and `param` are displayed on hover. [#12015](https://github.com/microsoft/vscode-cpptools/issues/12015)
* Fix an issue preventing the extension from functioning if installed via snap on Linux. [#12021](https://github.com/microsoft/vscode-cpptools/issues/12021)
* Fix compiler querying with a `-Xclang -mllvm` argument. [#12024](https://github.com/microsoft/vscode-cpptools/issues/12024)
* Fix the include graph lookup not occurring for source files. [#12036](https://github.com/microsoft/vscode-cpptools/issues/12036)
* Fix exclusions not applying to dependent headers with recursive includes. [#12042](https://github.com/microsoft/vscode-cpptools/issues/12042)
* Fix a potential cpptools process hang on shutdown.
## Version 1.19.4: February 21, 2024
### Enhancements
* Enable support for fuzzy symbol searches. [#2751](https://github.com/microsoft/vscode-cpptools/issues/2751)
* This may not be enabled for all users unless `C_Cpp.experimentalFeatures` is `enabled`.
* Implement progressive population of IntelliSense results. [#7759](https://github.com/microsoft/vscode-cpptools/issues/7759)
* Improve performance of symbol searches. [#7908](https://github.com/microsoft/vscode-cpptools/issues/7908), [#7914](https://github.com/microsoft/vscode-cpptools/issues/7914), [#11557](https://github.com/microsoft/vscode-cpptools/issues/11557)
* This may not be enabled for all users unless `C_Cpp.experimentalFeatures` is `enabled`.
* Support insert mode for auto-complete. [#10613](https://github.com/microsoft/vscode-cpptools/issues/10613)
* Use the `"[cpp]": { "editor.suggest.insertMode": "insert" } ` and `"[c]": { "editor.suggest.insertMode": "insert" } ` settings to override the extension's defaults.
* Improve memory efficiency by using token parsing in the 'Add #include' feature. [#11515](https://github.com/microsoft/vscode-cpptools/issues/11515)
* Change the default setting value for `C_Cpp.intelliSenseUpdateDelay` from 2s to 1s. [PR #11932](https://github.com/microsoft/vscode-cpptools/pull/11932)
* Improve the types supported for the 'Add #include' code action.
* Various performance improvements.
## Version 1.19.0: November 16, 2023
### Bug Fixes
* Fix IntelliSense bug with type deduction using concepts. [#8132](https://github.com/microsoft/vscode-cpptools/issues/8132)
* Fix clang-format error messages not being logged. [#8944](https://github.com/microsoft/vscode-cpptools/issues/8944)
* Fix insert mode sometimes doing a replace for completion. [#10613](https://github.com/microsoft/vscode-cpptools/issues/10613)
* Fix indentation missing in markdown fenced code blocks. [#11379](https://github.com/microsoft/vscode-cpptools/issues/11379)
* Fix the parent path of the source file in compile_commands.json not being added to the browse.path. [#11631](https://github.com/microsoft/vscode-cpptools/issues/11631)
* Fix shell escaping for `cppbuild` task command line arguments. [#11422](https://github.com/microsoft/vscode-cpptools/issues/11422)
* Fix IntelliSense not updating when a `#include` is added from a refactor command. [#11549](https://github.com/microsoft/vscode-cpptools/issues/11549)
* Fix 'Add '#include' code actions for Mac frameworks. [#11579](https://github.com/microsoft/vscode-cpptools/issues/11579)
* Fix the parent path of the source file in `compile_commands.json` not being added to the browse.path. [#11631](https://github.com/microsoft/vscode-cpptools/issues/11631)
* Fix the database not getting updated in certain cases when switching configurations. [#11649](https://github.com/microsoft/vscode-cpptools/issues/11649)
* Fix a cpptools crash with certain projects. [#11674](https://github.com/microsoft/vscode-cpptools/issues/11674)
* Fix snippet and include completion. [#11715](https://github.com/microsoft/vscode-cpptools/issues/11715), [#11720](https://github.com/microsoft/vscode-cpptools/issues/11720)
* Fix formatting not working in headers after using 'Extract to Function'. [#11729](https://github.com/microsoft/vscode-cpptools/issues/11729)
* Fix document symbol requests not checking for cancellation. [#11750](https://github.com/microsoft/vscode-cpptools/issues/11750)
* Fix the default `editor.wordBasedSuggestions` setting for VS Code versions 1.85 or newer. [PR #11773](https://github.com/microsoft/vscode-cpptools/pull/11773)
* This change doesn't work with VS Code versions 1.84 or older, due to [Microsoft/vscode#200685](https://github.com/microsoft/vscode/issues/200685)
* Fix code analysis results getting cleared after there's a configuration update. [#11790](https://github.com/microsoft/vscode-cpptools/issues/11790)
* Fix an exception getting thrown if IntelliSense is disabled but a configuration provider is registered. [#11795](https://github.com/microsoft/vscode-cpptools/issues/11795)
* Fix an EACCES error when using include wildcards with system includes. [#11833](https://github.com/microsoft/vscode-cpptools/issues/11833)
* Fix German code analysis translations. [PR #11845](https://github.com/microsoft/vscode-cpptools/pull/11845)
* Thank you for the contribution. [@Sir2B (Tobias Obermayer)](https://github.com/Sir2B)
* Trim trailing spaces from include paths in the configuration UI. [#11862](https://github.com/microsoft/vscode-cpptools/issues/11862)
* Fix comma delimited lists in `@param` Doxygen parameters. [#11868](https://github.com/microsoft/vscode-cpptools/issues/11868)
* Fix incorrect errors for `compilerPath` in the configuration UI for compilers that can be found in PATH. [#11903](https://github.com/microsoft/vscode-cpptools/issues/11903)
* Fix an issue with include sorting when formatting with clang-format. [#11914](https://github.com/microsoft/vscode-cpptools/issues/11914)
* Fix the `-include` arg of `-Xarg_<arg1>` getting filtered out, leading to a failed compiler query. [#11965](https://github.com/microsoft/vscode-cpptools/issues/11965)
* Fix the `-arch` flag overwriting the `-target` flag's value when it shouldn't. [#11971](https://github.com/microsoft/vscode-cpptools/issues/11971)
* Fix an issue in which the directory specified in a `compile_commands.json` was not being used as the current directory when querying the specified compiler path.
* Fix an issue with configuring IntelliSense for a header file after having chosen an associated source file in which inclusion of the header is disabled or removed.
* Fix an issue where use of an explicit `compilerPath` to override the compiler in a `compile_commands.json` will also throw out the compiler arguments.
* Fix IntelliSense passes occurring while a user is still typing, instead of honoring the `C_Cpp.intelliSenseUpdateDelay` setting.
* Fix issues related to support for C++ modules and parsing of related compiler arguments.
* Fix issues with the tag parsing status sometimes not being accurately reflected in the UI.
* Fix document and workspace symbol requests being blocked by an IntelliSense request.
* Remove the requirement that a file be open in the editor from various LSP requests.
* Fix a crash if `compile_commands.json` doesn't have an array at the root.
* Fix a call hierarchy bug leading to use of header-only TU's unnecessarily.
* Fix an issue that could result in the Outline pane not being populated.
* Fix a bug that could lead to missing TU source file candidates.
* Address multiple issues with compiler querying of clang-cl.
* Fix a potential crash when using 'Find All References'.
* Fix a "random" IntelliSense crash during completion.
* Fix a crash if access to `/dev/urandom` is restricted.
* Fix some crashes reported by crash telemetry.
* Lots of other minor fixes.
## Version 1.18.5: November 16, 2023
### Bug Fix
@@ -32,7 +146,7 @@
### Enhancements
* Add keyboard support for 'Inline Macro'. [#11260](https://github.com/microsoft/vscode-cpptools/issues/11260)
* Add setting `C_Cpp.refactoring.includeHeader` to customize whether or not to add an include header when doing a refactoring code action. [#11271](https://github.com/microsoft/vscode-cpptools/issues/11271)
* Add setting `C_Cpp.refactoring.includeHeader` to customize whether or not to add an include header when doing a refactoring code action. [#11271](https://github.com/microsoft/vscode-cpptools/issues/11271)
* Improve the walkthrough wording. [#11320](https://github.com/microsoft/vscode-cpptools/issues/11320)
* Update clang-format and clang-tidy to 17. [PR #11491](https://github.com/microsoft/vscode-cpptools/pull/11491)
* Add a pre-release available notification. [PR #11569](https://github.com/microsoft/vscode-cpptools/pull/11569)
@@ -92,9 +206,9 @@
* Fix the parameter format of call hierarchy items. [#11247](https://github.com/microsoft/vscode-cpptools/issues/11247)
* Remove the vcpkg code action from the missing includes code action list. [#11252](https://github.com/microsoft/vscode-cpptools/issues/11252)
* Fix the file path info of call hierarchy items to display the relative path to a workspace folder. [#11254](https://github.com/microsoft/vscode-cpptools/issues/11254)
* Fix colorization for macro expansions in macro arguments. [#11256](https://github.com/microsoft/vscode-cpptools/issues/11256)
* Fix a crash for CUDA projects with '>' in the command line. [#11289](https://github.com/microsoft/vscode-cpptools/issues/11289)
* Increase the default standard for the 'Build and Debug Active File' feature to c++14 on macOS. [#11292](https://github.com/microsoft/vscode-cpptools/issues/11292)
* Fix colorization for macro expansions in macro arguments. [#11256](https://github.com/microsoft/vscode-cpptools/issues/11256)
* Fix a crash for CUDA projects with '>' in the command line. [#11289](https://github.com/microsoft/vscode-cpptools/issues/11289)
* Increase the default standard for the 'Build and Debug Active File' feature to c++14 on macOS. [#11292](https://github.com/microsoft/vscode-cpptools/issues/11292)
* Fix an issue with the compiler currently configured for use with IntelliSense being listed last in the task creation popup. [PR #11299](https://github.com/microsoft/vscode-cpptools/pull/11299)
* Fix an IPCH issue on Linux due to the Position Independent Executable (PIE) option not being set since 1.17.0.
* Fix Rank > 1 Display Strings for Natvis. [PR MIEngine#1406](https://github.com/microsoft/MIEngine/pull/1406)
@@ -231,7 +345,7 @@
### New Features
* Add recursive macro expansion on hover. [#3579](https://github.com/microsoft/vscode-cpptools/issues/3579)
* Move status bar items to the language status UI. [#8405](https://github.com/microsoft/vscode-cpptools/issues/8405)
* This may not be enabled for all users unless `C_Cpp.experimentalFeatures` is `true`.
* This may not be enabled for all users unless `C_Cpp.experimentalFeatures` is `enabled`.
* Add the 'Select Default Compiler' command that lets you choose a default compiler to configure IntelliSense. [#10027](https://github.com/microsoft/vscode-cpptools/issues/10027)
### Enhancements
@@ -426,12 +540,12 @@
* Fix IntelliSense with gcc vector extension types. [#6890](https://github.com/microsoft/vscode-cpptools/issues/6890)
* Fix doc comments for macros and typedefs. [#8320](https://github.com/microsoft/vscode-cpptools/issues/8320)
* Fix issue with CUDA configuration when using a custom config provider and no config is available for the file. [#8483](https://github.com/microsoft/vscode-cpptools/issues/8483)
* Fix missing logging when `C_Cpp.intelliSenseEngine` is set to `"Disabled"`. [#9277](https://github.com/microsoft/vscode-cpptools/issues/9277)
* Fix missing logging when `C_Cpp.intelliSenseEngine` is set to `Disabled`. [#9277](https://github.com/microsoft/vscode-cpptools/issues/9277)
* Fix doxygen comments not being displayed for multiple adjacent `@brief` or `@return` tags. [#9316](https://github.com/microsoft/vscode-cpptools/issues/9316)
* Fix the code analysis "disable" option not automatically clearing the disabled diagnostics. [#9364](https://github.com/microsoft/vscode-cpptools/issues/9364)
* Fix `-isystem` not being used for system headers with code analysis. [#9366](https://github.com/microsoft/vscode-cpptools/issues/9366)
* Fix compiler querying for EDG-based compilers. [#9410](https://github.com/microsoft/vscode-cpptools/issues/9410)
* Fix hiding IntelliSense dependent commands when `C_Cpp.intelliSenseEngine` is `"Disabled"`. [#9451](https://github.com/microsoft/vscode-cpptools/issues/9451)
* Fix hiding IntelliSense dependent commands when `C_Cpp.intelliSenseEngine` is `Disabled`. [#9451](https://github.com/microsoft/vscode-cpptools/issues/9451)
* Fix cl.exe build tasks not showing for .c files and .c build tasks being cached for .cpp files (and vice versa). [PR #9544](https://github.com/microsoft/vscode-cpptools/pull/9544)
* Fix code analysis not detecting warnings with relative paths. [#9555](https://github.com/microsoft/vscode-cpptools/issues/9555)
* Fix `--header-filter` being used with clang-tidy when it shouldn't when a .clang-tidy file exists. [#9566](https://github.com/microsoft/vscode-cpptools/issues/9566)
@@ -458,7 +572,7 @@
## Version 1.10.6: June 14, 2022
### Bug Fixes
* Fix `@responseFile` in `compilerArgs` not being handled on Linux/Mac. [#9434](https://github.com/microsoft/vscode-cpptools/issues/9434)
* Fix debug preLaunchTask not working when `C_Cpp.intelliSenseEngine` is `"Disabled"`. [#9446](https://github.com/microsoft/vscode-cpptools/issues/9446)
* Fix debug preLaunchTask not working when `C_Cpp.intelliSenseEngine` is `Disabled`. [#9446](https://github.com/microsoft/vscode-cpptools/issues/9446)
* Make the `C_Cpp.legacyCompilerArgsBehavior` setting non-deprecated.
## Version 1.10.5: June 8, 2022
@@ -507,7 +621,7 @@
## Version 1.9.7: March 23, 2022
### New Features
* Add debugger support for Apple M1 (osx-arm64). [#7035](https://github.com/microsoft/vscode-cpptools/issues/7035)
* Resolves issue "[Big Sur M1] ERROR: Unable to start debugging. Unexpected LLDB output from command "-exec-run". process exited with status -1 (attach failed ((os/kern) invalid argument))". [#6779](https://github.com/microsoft/vscode-cpptools/issues/6779)
* Resolves issue "[Big Sur M1] ERROR: Unable to start debugging. Unexpected LLDB output from command "-exec-run". process exited with status -1 (attach failed ((os/kern) invalid argument))". [#6779](https://github.com/microsoft/vscode-cpptools/issues/6779)
* Add a build and debug button when `C_Cpp.debugShortcut` is `true`. [#7497](https://github.com/microsoft/vscode-cpptools/issues/7497)
* The "Build and Debug Active File" command has been split into "Debug C++ File" and "Run C++ File", and it has been removed from the context menu.
* Add Alpine Linux arm64 support (VSIX).
@@ -516,7 +630,7 @@
### Enhancements
* Reserved identifiers with characters that match typed characters in the correct order but not contiguously are initially filtered in the auto-completion list. Doing a `ctrl` + `space` in the same location will show all auto-complete suggestions. [#4939](https://github.com/microsoft/vscode-cpptools/issues/4939)
* Add `dotConfig` property to IntelliSense Configuration (c_cpp_properties.json) to use .config file created by Kconfig system.
* Matheus Castello (@microhobby) [PR #7845](https://github.com/microsoft/vscode-cpptools/pull/7845)
* Matheus Castello (@microhobby) [PR #7845](https://github.com/microsoft/vscode-cpptools/pull/7845)
* Rework how cancelation is processed for semantic tokens and folding operations. [PR #8739](https://github.com/microsoft/vscode-cpptools/pull/8739)
* Make SwitchHeaderSource use the `workbench.editor.revealIfOpen` setting.
* Joel Smith (@joelmsmith) [PR #8857](https://github.com/microsoft/vscode-cpptools/pull/8857)
@@ -743,7 +857,7 @@
* Fix `Build and Debug Active File` for certain file extensions (.cu, .cp, etc.).
* jogo- (@jogo-) [PR #7726](https://github.com/microsoft/vscode-cpptools/pull/7726)
* Fix `browse.path` being incorrect if an invalid `compileCommands` is set. [#7737](https://github.com/microsoft/vscode-cpptools/issues/7737)
* Fix an incorrect error message when `C_Cpp.errorSquiggles` is `"Enabled"`. [#7744](https://github.com/microsoft/vscode-cpptools/issues/7744)
* Fix an incorrect error message when `C_Cpp.errorSquiggles` is `Enabled`. [#7744](https://github.com/microsoft/vscode-cpptools/issues/7744)
* Fix compiler querying sometimes not working with Cygwin. [#7751](https://github.com/microsoft/vscode-cpptools/issues/7751)
* Fix a duplicate IntelliSense update when a new C/C++ file is opened and after switching from a non-C/C++ file and back.
* Fix a potential IntelliSense process crash on shutdown.
@@ -954,7 +1068,7 @@
* Fix compiler querying with compilers that do not output `__STD_VERSION__` by default (gcc <= 4.8.x). [#6792](https://github.com/microsoft/vscode-cpptools/issues/6792)
* Fix document symbols when nested symbols have the same name as a parent. [#6830](https://github.com/microsoft/vscode-cpptools/issues/6830)
* Fix automatic adding of header files to `files.associations` after `Go to Definition` on a `#include`. [#6845](https://github.com/microsoft/vscode-cpptools/issues/6845)
* Fix `"Insiders"` `updateChannel` for VS Code - Exploration. [#6875](https://github.com/microsoft/vscode-cpptools/issues/6875)
* Fix `Insiders` `updateChannel` for VS Code - Exploration. [#6875](https://github.com/microsoft/vscode-cpptools/issues/6875)
* Fix "D" command line warnings not appearing with cl.exe cppbuild build tasks.
* Fix cl.exe cppbuild tasks when `/nologo` is used (and make /nologo a default arg).
* Fix a cpptools crash and multiple deadlocks.
@@ -1305,7 +1419,7 @@
* Fix `launch.json` creation due to localized strings containing quotes. [#4526](https://github.com/microsoft/vscode-cpptools/issues/4526)
* Fix configuration error squiggles not being applied unless the setting was set in both `c_cpp_properties.json` and `settings.json`. [PR #4538](https://github.com/microsoft/vscode-cpptools/pull/4538)
* Fix document symbol for Outline view and breadcrumbs on Windows 7. [#4536](https://github.com/microsoft/vscode-cpptools/issues/4536)
* Add support for `"ms-vscode.cmake-tools"` `configurationProvider` id. [#4586](https://github.com/microsoft/vscode-cpptools/issues/4586)
* Add support for `ms-vscode.cmake-tools` `configurationProvider` id. [#4586](https://github.com/microsoft/vscode-cpptools/issues/4586)
* Fix cancellation of Find All References sometimes resulting in an exception. [#2710](https://github.com/microsoft/vscode-cpptools/issues/2710)
* Fix the sort order of files in the Find All References and Rename UI's. [#4615](https://github.com/microsoft/vscode-cpptools/issues/4615)
* Fix localized Chinese strings not displaying on systems with case-sensitive file systems. [#4619](https://github.com/microsoft/vscode-cpptools/issues/4619)
@@ -1459,7 +1573,7 @@
## Version 0.23.1: May 13, 2019
### Bug Fixes
* Fix `launch.json` creation when `intelliSenseEngine` is `"Disabled"`. [#3583](https://github.com/microsoft/vscode-cpptools/issues/3583)
* Fix `launch.json` creation when `intelliSenseEngine` is `Disabled`. [#3583](https://github.com/microsoft/vscode-cpptools/issues/3583)
* Fix C/C++ commands not working if the language service isn't activated. [#3615](https://github.com/microsoft/vscode-cpptools/issues/3615)
* Fix missing extension `"Details"` page. [#3621](https://github.com/microsoft/vscode-cpptools/issues/3621)
* Fix some random crashes related to IntelliSense inactive region processing.
@@ -1597,7 +1711,7 @@
* Fix problem with empty recursive include paths. [#2855](https://github.com/Microsoft/vscode-cpptools/issues/2855)
* Fix `NullReferenceException` on debugger launch with VS Code Insiders. [#2858](https://github.com/Microsoft/vscode-cpptools/issues/2858), [PR Microsoft/MIEngine#810](https://github.com/Microsoft/MIEngine/pull/810)
* Fix IntelliSense errors with template argument deduction. [#2907](https://github.com/Microsoft/vscode-cpptools/issues/2907), [#2912](https://github.com/Microsoft/vscode-cpptools/issues/2912)
* Retry Insider VSIX downloading with `http.proxySupport` `"off"`. [#2927](https://github.com/Microsoft/vscode-cpptools/issues/2927)
* Retry Insider VSIX downloading with `http.proxySupport` `off`. [#2927](https://github.com/Microsoft/vscode-cpptools/issues/2927)
* Fix snippet completions being offered when they shouldn't be. [#2942](https://github.com/Microsoft/vscode-cpptools/issues/2942)
* Set the `editor.wordBasedSuggestions` to `false` by default to prevent incorrect completions. [#2943](https://github.com/Microsoft/vscode-cpptools/issues/2943)
* Fix IntelliSense-based `Go to Definition` for functions with function pointer parameters. [#2981](https://github.com/Microsoft/vscode-cpptools/issues/2981)
@@ -2153,4 +2267,3 @@
## Version 0.5.0: April 14, 2016
* Usability and correctness bug fixes.
* Simplify installation experience.
* Usability and correctness bug fixes.
+234 -157
View File
@@ -944,7 +944,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
---------------------------------------------------------
@microsoft/1ds-core-js 3.2.12 - MIT
@microsoft/1ds-core-js 3.2.15 - MIT
https://github.com/microsoft/ApplicationInsights-JS#readme
copyright Microsoft 2018
@@ -979,7 +979,7 @@ SOFTWARE.
---------------------------------------------------------
@microsoft/1ds-post-js 3.2.12 - MIT
@microsoft/1ds-post-js 3.2.15 - MIT
https://github.com/microsoft/ApplicationInsights-JS#readme
copyright Microsoft 2018
@@ -1016,7 +1016,7 @@ SOFTWARE.
---------------------------------------------------------
@microsoft/applicationinsights-core-js 2.8.14 - MIT
@microsoft/applicationinsights-core-js 2.8.16 - MIT
https://github.com/microsoft/ApplicationInsights-JS#readme
Copyright (c) Microsoft Corporation
@@ -1082,11 +1082,15 @@ SOFTWARE.
---------------------------------------------------------
@microsoft/dynamicproto-js 1.1.9 - MIT
@microsoft/dynamicproto-js 1.1.10 - MIT
https://github.com/microsoft/DynamicProto-JS#readme
Copyright (c) Microsoft Corporation
Copyright (c) Microsoft and contributors
Copyright jQuery Foundation and other contributors
Copyright 2013 jQuery Foundation, Inc. and other contributors
Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
Copyright 2006 Google Inc. https://code.google.com/p/google-diff-match-patch
The MIT License (MIT)
@@ -1149,7 +1153,7 @@ SOFTWARE.
---------------------------------------------------------
@xmldom/xmldom 0.8.8 - MIT
@xmldom/xmldom 0.8.10 - MIT
https://github.com/xmldom/xmldom
Copyright 2012 - 2017 jindw <[email protected]> and other contributors
@@ -1172,6 +1176,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
array-timsort 1.0.3 - MIT
https://github.com/kaelzhang/node-array-timsort
Copyright (c) 2015 Marco Ziccardi
The MIT License
@@ -1232,10 +1237,10 @@ SOFTWARE.
---------------------------------------------------------
axios 1.6.1 - MIT
axios 1.6.5 - MIT
https://axios-http.com/
Copyright (c) 2023 Matt Zabriskie and contributors
Copyright (c) 2024 Matt Zabriskie and contributors
Copyright (c) 2014-present Matt Zabriskie & Collaborators
# Copyright (c) 2014-present Matt Zabriskie & Collaborators
@@ -1788,7 +1793,7 @@ THE SOFTWARE.
---------------------------------------------------------
follow-redirects 1.15.3 - MIT
follow-redirects 1.15.6 - MIT
https://github.com/follow-redirects/follow-redirects
Copyright 2014-present Olivier Lalonde <[email protected]> , James Talmage <[email protected]> , Ruben Verborgh
@@ -1847,7 +1852,7 @@ Copyright (c) 2012 Felix Geisendörfer ([email protected]) and contributors
---------------------------------------------------------
fsevents 2.3.2 - MIT
fsevents 2.3.3 - MIT
https://github.com/fsevents/fsevents
(c) 2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
@@ -2222,7 +2227,7 @@ THE SOFTWARE.
---------------------------------------------------------
nanoid 3.3.6 - MIT
nanoid 3.3.7 - MIT
https://github.com/ai/nanoid#readme
Copyright 2017 Andrey Sitnik <[email protected]>
@@ -2669,7 +2674,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
ssh-config 4.2.1 - MIT
ssh-config 4.4.1 - MIT
https://github.com/cyjake/ssh-config#readme
Copyright (c) 2017 Chen Yangjian
@@ -2998,14 +3003,15 @@ The notices below are from non-npm sources.
- ANTLR (http://www.antlr2.org/)
- C++11 Sublime Text Snippets (https://github.com/Rapptz/cpp-sublime-snippet)
- Clang (https://clang.llvm.org/)
- gcc-9/libgcc (https://packages.ubuntu.com/focal/gcc-9-base)
- gcc-11/libgcc (https://packages.ubuntu.com/jammy/gcc-11-base)
- Guidelines Support Library (https://github.com/Microsoft/GSL)
- libc++ (https://libcxx.llvm.org/index.html)
- libexecinfo (https://github.com/ronchaine/libexecinfo)
- libuv (https://github.com/libuv/libuv)
- LLDB (https://lldb.llvm.org/)
- LLVM (http://llvm.org/)
- MI Debug Engine (https://github.com/Microsoft/MIEngine)
- Mono (https://github.com/mono/mono)
- musl (https://git.musl-libc.org/cgit/musl)
- SQLite (https://www.sqlite.org/)
Includes:functions (from fossil) (https://fossil-scm.org)
- SoftFloat (http://www.jhauser.us/arithmetic/SoftFloat.html)
@@ -3646,165 +3652,236 @@ THE SOFTWARE.
=========================================
END OF MI Debug Engine NOTICES AND INFORMATION
%% Mono NOTICES AND INFORMATION BEGIN HERE
%% musl NOTICES AND INFORMATION BEGIN HERE
=========================================
The Mono project may include other third party copyrights and notices, as listed in the
copyright.txt file included with the Mono project.
musl as a whole is licensed under the following standard MIT license:
The MIT License (MIT)
----------------------------------------------------------------------
Copyright © 2005-2020 Rich Felker, et al.
Copyright (c) .NET Foundation and its contributors. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
----------------------------------------------------------------------
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Authors/contributors include:
The following code is linked with the final Mono runtime, the libmono
embeddable runtime:
A. Wilcox
Ada Worcester
Alex Dowad
Alex Suykov
Alexander Monakov
Andre McCurdy
Andrew Kelley
Anthony G. Basile
Aric Belsito
Arvid Picciani
Bartosz Brachaczek
Benjamin Peterson
Bobby Bingham
Boris Brezillon
Brent Cook
Chris Spiegel
Clément Vasseur
Daniel Micay
Daniel Sabogal
Daurnimator
David Carlier
David Edelsohn
Denys Vlasenko
Dmitry Ivanov
Dmitry V. Levin
Drew DeVault
Emil Renner Berthing
Fangrui Song
Felix Fietkau
Felix Janda
Gianluca Anzolin
Hauke Mehrtens
He X
Hiltjo Posthuma
Isaac Dunham
Jaydeep Patil
Jens Gustedt
Jeremy Huntwork
Jo-Philipp Wich
Joakim Sindholt
John Spencer
Julien Ramseier
Justin Cormack
Kaarle Ritvanen
Khem Raj
Kylie McClain
Leah Neukirchen
Luca Barbato
Luka Perkov
M Farkas-Dyck (Strake)
Mahesh Bodapati
Markus Wichmann
Masanori Ogino
Michael Clark
Michael Forney
Mikhail Kremnyov
Natanael Copa
Nicholas J. Kain
orc
Pascal Cuoq
Patrick Oppenlander
Petr Hosek
Petr Skocik
Pierre Carrier
Reini Urban
Rich Felker
Richard Pennington
Ryan Fairfax
Samuel Holland
Segev Finer
Shiz
sin
Solar Designer
Stefan Kristiansson
Stefan O'Rear
Szabolcs Nagy
Timo Teräs
Trutz Behn
Valentin Ochs
Will Dietz
William Haddon
William Pitcock
* support/minizip: BSD license (modified).
* Copyright (C) 1998-2005 Gilles Vollant
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Portions of this software are derived from third-party works licensed
under terms compatible with the above MIT license:
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
The TRE regular expression implementation (src/regex/reg* and
src/regex/tre*) is Copyright © 2001-2008 Ville Laurikari and licensed
under a 2-clause BSD license (license text in the source files). The
included version has been heavily modified by Rich Felker in 2012, in
the interests of size, simplicity, and namespace cleanliness.
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Much of the math library code (src/math/* and src/complex/*) is
Copyright © 1993,2004 Sun Microsystems or
Copyright © 2003-2011 David Schultz or
Copyright © 2003-2009 Steven G. Kargl or
Copyright © 2003-2009 Bruce D. Evans or
Copyright © 2008 Stephen L. Moshier or
Copyright © 2017-2018 Arm Limited
and labelled as such in comments in the individual source files. All
have been licensed under extremely permissive terms.
* mono/utils/freebsd-dwarf.h.
* Copyright (c) 2007 John Birrell ([email protected])
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
*notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
*notice, this list of conditions and the following disclaimer in the
*documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED.IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
The ARM memcpy code (src/string/arm/memcpy.S) is Copyright © 2008
The Android Open Source Project and is licensed under a two-clause BSD
license. It was taken from Bionic libc, used on Android.
* mono/utils/freebsd-elf_common.h, freebsd-elf64.h freebsd-elf32.h: BSD license.
* Copyright (c) 1998 John D. Polstra.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
The AArch64 memcpy and memset code (src/string/aarch64/*) are
Copyright © 1999-2019, Arm Limited.
* mono/utils/bsearch.c: BSD license.
* Taken from NetBSD with some minor modifications.
*
* Copyright (c) 1990, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
The implementation of DES for crypt (src/crypt/crypt_des.c) is
Copyright © 1994 David Burren. It is licensed under a BSD license.
The implementation of blowfish crypt (src/crypt/crypt_blowfish.c) was
originally written by Solar Designer and placed into the public
domain. The code also comes with a fallback permissive license for use
in jurisdictions that may not recognize the public domain.
The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011
Valentin Ochs and is licensed under an MIT-style license.
The x86_64 port was written by Nicholas J. Kain and is licensed under
the standard MIT terms.
The mips and microblaze ports were originally written by Richard
Pennington for use in the ellcc project. The original code was adapted
by Rich Felker for build system and code conventions during upstream
integration. It is licensed under the standard MIT terms.
The mips64 port was contributed by Imagination Technologies and is
licensed under the standard MIT terms.
The powerpc port was also originally written by Richard Pennington,
and later supplemented and integrated by John Spencer. It is licensed
under the standard MIT terms.
All other files which have no copyright comments are original works
produced specifically for use as part of this library, written either
by Rich Felker, the main author of the library, or by one or more
contibutors listed above. Details on authorship of individual files
can be found in the git version control history of the project. The
omission of copyright and license comments in each file is in the
interest of source tree size.
In addition, permission is hereby granted for all public header files
(include/* and arch/*/bits/*) and crt files intended to be linked into
applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit
the copyright notice and permission notice otherwise required by the
license, and to use these files without any requirement of
attribution. These files include substantial contributions from:
Bobby Bingham
John Spencer
Nicholas J. Kain
Rich Felker
Richard Pennington
Stefan Kristiansson
Szabolcs Nagy
all of whom have explicitly granted such permission.
This file previously contained text expressing a belief that most of
the files covered by the above exception were sufficiently trivial not
to be subject to copyright, resulting in confusion over whether it
negated the permissions granted in the license. In the spirit of
permissive licensing, and of not having licensing issues being an
obstacle to adoption, that text has been removed.
* mono/io-layer/wapi_glob.h, wapi_glob.c: BSD license
* Copyright (c) 1989, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Guido van Rossum.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
=========================================
END OF Mono NOTICES AND INFORMATION
END OF musl NOTICES AND INFORMATION
%% libexecinfo NOTICES AND INFORMATION BEGIN HERE
=========================================
libexecinfo is licensed for use as follows:
====
Copyright (c) 2003 Maxim Sobolev <[email protected]>
All rights reserved.
*
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
*
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
=========================================
END OF libexecinfo NOTICES AND INFORMATION
%% libuv NOTICES AND INFORMATION BEGIN HERE
=========================================
+50 -21
View File
@@ -69,7 +69,7 @@
"očekával se znak }",
"převod celého čísla vedl ke změně znaménka",
"převod celého čísla vedl ke zkrácení",
"neúplný typ není dovolený",
"Neúplný typ %t není dovolený.",
"operand sizeof nesmí být bitové pole",
null,
null,
@@ -301,7 +301,7 @@
"Nedá se určit, která instance %n byla zamýšlená.",
"Ukazatel na vázanou funkci se dá použít jenom k volání funkce.",
"Název typedef už je deklarovaný (se stejným typem).",
"%n už je definovaný.",
null,
null,
"Žádná instance %n neodpovídá seznamu argumentů.",
"Definice typu není povolená v deklaraci návratového typu funkce.",
@@ -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 %t není povolený.",
null,
"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,
@@ -832,7 +832,7 @@
"%n nemá žádný odpovídající operátor delete%s (který se má volat, pokud dojde k výjimce během inicializace přiděleného objektu).",
"Podpora pro umístění operátoru delete je vypnutá.",
"Žádný odpovídající operátor delete není viditelný.",
"Ukazatel nebo odkaz na nekompletní typ není povolený.",
"Ukazatel nebo odkaz na nekompletní typ %t není povolený.",
"Neplatná částečná specializace %n už je plně specializovaný.",
"nekompatibilní specifikace výjimek",
"Vrací se odkaz na místní proměnnou.",
@@ -853,7 +853,7 @@
"Typ přetypování musí být aritmetický, výčtový nebo ukazatel.",
"Výraz musí být ukazatelem na kompletní typ objektu.",
null,
"Netypový argument částečné specializace musí být názvem netypového parametru nebo konstantou.",
null,
"Návratový typ není stejný jako návratový typ %t přepsané virtuální funkce %no.",
"Možnost guiding_decls se dá použít jenom při kompilaci C++.",
"Částečná specializace šablony třídy se musí deklarovat v oboru názvů, kterého je členem.",
@@ -1444,7 +1444,7 @@
"__real a __imag se dají použít jenom u komplexních hodnot.",
"__real/__imag se použilo na reálnou hodnotu.",
"%n se deklarovalo jako zastaralé (%sq)",
"neplatná změna definice %nd",
null,
"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í.",
"Klíčové slovo __thiscall není u funkce s parametrem tři tečky povolené.",
@@ -2641,7 +2641,7 @@
"inicializátor pole %nd není konstantní výraz",
"počet omezení operandů musí být v každém řetězci omezení stejný",
"řetězec omezení obsahuje příliš alternativních omezení, takže nešlo zkontrolovat všechna",
"volání prostřednictvím nekompletní třídy %t povede vždycky k chybě při vytváření instance",
null,
"k decltype(auto) nejde přidat kvalifikátory typu",
"init-capture %nod se tu nedá zachytit",
"neplatný netypový argument šablony typu %t",
@@ -3364,7 +3364,7 @@
"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ý.",
null,
"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",
@@ -3372,7 +3372,7 @@
"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.",
null,
"Moduly se v tomto režimu nepovolily.",
"Název modulu nesmí obsahovat slovo import.",
"Název modulu nesmí obsahovat slovo module.",
@@ -3423,9 +3423,9 @@
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 dílčího pole %sq (relativní pozice k uzlu %u)",
"Z oddílu %sq elementu %u1 (pozice souboru %u2, relativní pozice %u3)",
"Atributy výrazu lambda tady nejsou standardní.",
"Atributy výrazů lambda jsou funkcí C++23.",
"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.",
@@ -3442,9 +3442,9 @@
"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.",
"V grafu definice parametrů IFC byl zadán tento počet parametrů: %u1, zatímco deklarace IFC určovala tento počet parametrů: %u2.",
"V grafu definice parametrů IFC byly zadány %u1 parametry, zatímco deklarace IFC určovala tento počet parametrů: %u2.",
"V grafu definice parametrů IFC byly zadány %u1 parametry, zatímco deklarace IFC určovala tento počet parametrů: %u2.",
"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ů",
@@ -3466,12 +3466,12 @@
"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.",
"oddíl %sq určil svou velikost položky jako %u1, když bylo očekáváno %u2.",
"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).",
"oprava byla provedena vyřazením parametru %sq (v relativním indexu %u).",
"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,
@@ -3482,7 +3482,7 @@
"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",
null,
"vodítko pro dedukce se nedá deklarovat pro šablonu aliasu %no",
"%n bylo deklarováno jako nedostupné.",
"%n bylo deklarováno jako nedostupné (%sq).",
@@ -3501,9 +3501,9 @@
"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)",
null,
null,
null,
"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",
@@ -3556,5 +3556,34 @@
"Čí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."
"Zachycení strukturovaných vazeb je funkce C++20.",
"Operand splicer má typ %t místo std::meta::info.",
"operand (odraz pro %r) není reflexe typu",
"nekonstantní operand spliceru",
"použití %t namísto std::string_view (= std::basic_string_view<char>)",
"std::string_view, který se tady používá, není konzistentní s použitím v jiných vnitřních funkcích",
"definice std::string_view neodpovídá předpokladům reflexe (žádné základní třídy a datoví členové pro ukazatele a délku)",
"reflexe není reflexe konstantní hodnoty",
"pole s nulovou délkou se nedá vytvořit",
"délka (%d1) předaná make_constexpr_array je větší než počet dostupných elementů (%d2)",
"definice std::meta::infovec neodpovídá předpokladům reflexe (žádné základní třídy a datoví členové pro ukazatele, délku a kapacitu)",
"chybná reflexe (%r) pro spojení výrazů",
"%n již byl definován (předchozí definice %p)",
"objekt infovec není inicializovaný",
"value_of typ %t1 není kompatibilní s danou reflexí (entita s typem %t2)",
"reflektování sady přetížení není v tuto chvíli povolené",
"tato vnitřní funkce vyžaduje reflexi pro instanci šablony",
"nekompatibilní typy %t1 a %t2 pro operátora",
"neplatná reflexe pro vnitřní metafunkce",
"vnitřní metafunkce vyžaduje reflexi pro člena třídy",
"třída se nedá odvodit ze sjednocení",
"nejde odvodit z třídy s flexibilním členem pole",
"reflexe null",
"alias oboru názvů",
"reflexe (podrobnosti nejsou k dispozici)",
"chybná reflexe (%r) pro argument šablony v std::meta::substitute",
"volání std::meta::substitute (pro %r) bylo neúspěšné",
"hodnota reflexe odkazuje na neaktivní entitu",
"spojení výrazů musí spojovat konstantní hodnotu, proměnnou nebo funkci",
"spojení členského přístupu musí spojovat datový člen nebo členská funkce"
]
+50 -21
View File
@@ -69,7 +69,7 @@
"Es wurde eine \"}\" erwartet.",
"Die Ganzzahlkonvertierung führte zu einer Änderung des Vorzeichens.",
"Die Ganzzahlkonvertierung führte zu einer Kürzung.",
"Ein unvollständiger Typ ist nicht zulässig.",
"Der unvollständige Typ „%t“ ist nicht zulässig.",
"Der Operand von sizeof darf kein Bitfeld sein.",
null,
null,
@@ -301,7 +301,7 @@
"Es kann nicht ermittelt werden, welche Instanz von \"%n\" beabsichtigt ist.",
"Ein Zeiger auf eine gebundene Funktion darf nur zum Aufrufen der Funktion verwendet werden.",
"Der typedef-Name wurde bereits deklariert (mit demselben Typ).",
"%n wurde bereits definiert.",
null,
null,
"Keine Instanz von %n stimmt mit der Argumentliste überein.",
"Die Typdefinition ist in der Deklaration des Funktionsrückgabetyps nicht zulässig.",
@@ -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 Typ eines Zeigers auf eine unvollständige Klasse (%t) ist nicht zulässig.",
null,
"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,
@@ -832,7 +832,7 @@
"\"%n\" weist keinen entsprechenden \"delete%s\"-Operator auf (der aufgerufen wird, wenn während der Initialisierung eines zugeordneten Objekts eine Ausnahme ausgelöst wird).",
"Die Unterstützung für das Löschen der Platzierung ist deaktiviert.",
"Es ist kein passender \"delete\"-Operator sichtbar.",
"Ein Zeiger oder Verweis auf einen unvollständigen Typ ist nicht zulässig.",
"Ein Zeiger oder Verweis auf den unvollständigen Typ „%t“ ist nicht zulässig.",
"Ungültige teilweise Spezialsierung; \"%n\" ist bereits vollständig spezialisiert.",
"Inkompatible Ausnahmespezifizierungen.",
"Ein Verweis auf die lokale Variable wird zurückgegeben.",
@@ -853,7 +853,7 @@
"Der Typ der Umwandlung muss arithmetisch, eine Enumeration oder ein Zeiger sein.",
"Der Ausdruck muss ein Zeiger auf einen vollständigen Objekttyp sein.",
null,
"Ein Nichttyp-Argument mit einer teilweisen Spezialisierung muss der Name eines Nichttyp-Parameters oder einer Nichttyp-Konstante sein.",
null,
"Der Rückgabetyp ist nicht identisch mit dem Rückgabetyp %t der überschriebenen virtuellen Funktion %no",
"Die guiding_decls-Option kann nur beim Kompilieren von C++ verwendet werden.",
"Eine teilweise Spezialisierung einer Klassenvorlage muss im Namespace deklariert sein, in dem diese Member ist.",
@@ -1444,7 +1444,7 @@
"__real und __imag können nur auf komplexe Werte angewendet werden.",
"__real/__imag wurde auf den tatsächlichen Wert angewendet.",
"%n wurde als veraltet deklariert (%sq)",
"Ungültige Neudefinition von \"%nd\".",
null,
"dllimport/dllexport wurde auf ein Member eines unbenannten Namespaces angewendet.",
"__thiscall kann nur in nicht statischen Memberfunktionsdeklarationen vorkommen.",
"__thiscall ist in einer Funktion mit Auslassungszeichenparameter nicht zulässig.",
@@ -2641,7 +2641,7 @@
"Der Feldinitialisierer für %nd ist kein konstanter Ausdruck.",
"Die Anzahl von Operandeneinschränkungen muss in jeder Einschränkungszeichenfolge gleich sein.",
"Die Einschränkungszeichenfolge enthält zu viele alternative Einschränkungen; es wurden nicht alle Einschränkungen überprüft.",
"Der Aufruf über die unvollständige Klasse %t verursacht bei der Instanziierung immer einen Fehler.",
null,
"\"decltype(auto)\" darf keine hinzugefügten Typqualifizierer aufweisen.",
"init-capture %nod kann hier nicht erfasst werden.",
"Ungültiges Nichttyp-Vorlagenargument vom Typ \"%t\".",
@@ -3364,7 +3364,7 @@
"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.",
null,
"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\".",
@@ -3372,7 +3372,7 @@
"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.",
null,
"Module sind in diesem Modus nicht aktiviert.",
"\"Import\" ist in einem Modulnamen unzulässig.",
"\"Modul\" ist in einem Modulnamen unzulässig.",
@@ -3423,9 +3423,9 @@
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 Unterfeld %sq (relative Position zum Knoten %u)",
"von Partition %sq Element %u1 (Dateiposition %u2, relative Position %u3)",
"Lambda-Attribute entsprechen hier nicht dem Standard",
"Attribute für Lambdas sind ein C++23-Feature",
"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",
@@ -3442,9 +3442,9 @@
"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.",
"Der %u1 Parameter wurden im IFC-Parameterdefinitionschart angegeben, während %u2 Parameter in der IFC-Deklaration angegeben wurden.",
"Der %u1 Parameter wurde im IFC-Parameterdefinitionschart angegeben, während %u2 Parameter in der IFC-Deklaration angegeben wurden.",
"%u1 Parameter wurden im IFC-Parameterdefinitionschart angegeben, während der %u2 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",
@@ -3466,12 +3466,12 @@
"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",
"Die Partition %sq hat ihre Eintragsgröße mit %u1 angegeben, obwohl %u2 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",
"Eine Korrektur wurde vorgenommen, indem der Parameter %sq (beim relativen Index %u) 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,
@@ -3482,7 +3482,7 @@
"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",
null,
"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).",
@@ -3501,9 +3501,9 @@
"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)",
null,
null,
null,
"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",
@@ -3556,5 +3556,34 @@
"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"
"Das Erfassen strukturierter Bindungen ist ein C++20-Feature",
"Der Operand des Splicers weist den Typ %t anstelle von std::meta::info auf.",
"Der Operand (Reflektion für %r) ist nicht die Reflexion eines Typs.",
"Nicht konstanter Operand von Splice",
"Verwendung von %t anstelle von std::string_view (= std::basic_string_view<char>)",
"Die hier verwendete std::string_view ist inkonsistent mit der Verwendung in anderen systeminternen Funktionen.",
"Die Definition von std::string_view stimmt nicht mit den Annahmen der Reflexion überein (keine Basisklassen und Datenmember für Zeiger und Länge).",
"Die Reflexion ist nicht von einem konstanten Wert.",
"kann kein Array der Länge 0 (null) erstellen",
"Die an make_constexpr_array übergebene Länge (%d1) ist größer als die Anzahl der verfügbaren Elemente (%d2).",
"Die Definition von std::meta::infovec stimmt nicht mit den Annahmen der Reflexion überein (keine Basisklassen und Datenmember für Zeiger, Länge und Kapazität).",
"Ungültige Reflexion (%r) für Ausdrucks-Splice",
"%n wurde bereits definiert (vorherige Definition %p)",
"Infovec-Objekt nicht initialisiert",
"value_of Typ %t1 ist nicht mit der angegebenen Reflexion kompatibel (Entität vom Typ %t2).",
"Das Reflektieren eines Überladungssatzes ist derzeit nicht zulässig.",
"Diese systeminterne Funktion erfordert eine Reflexion für eine Vorlageninstanz.",
"Inkompatible Typen %t1 und %t2 für Operator",
"Ungültige Reflexion für systeminterne Metafunktion",
"Systeminterne Metafunktion erfordert eine Reflexion für einen Klassenmember",
"Eine Klasse kann nicht von einer Union abgeleitet werden.",
"kann nicht von einer Klasse mit einem flexiblen Arraymember abgeleitet werden",
"NULL-Reflexion",
"Namespacealias",
"Reflexion (Details nicht verfügbar)",
"Ungültige Reflexion (%r) für Vorlagenargument in std::meta::substitute",
"Fehler beim Aufruf von std::meta::substitute (für %r).",
"Reflexionswert bezieht sich auf inaktive Entität",
"Eine Ausdrucks-Splice muss einen konstanten Wert, eine Variable oder eine Funktion aufteilen.",
"Eine Memberzugriffs-Splice muss einen Datenmember oder eine Memberfunktion unterstützen."
]
+50 -21
View File
@@ -69,7 +69,7 @@
"se esperaba '}'",
"la conversión de enteros dio como resultado un cambio de signo",
"la conversión de enteros dio como resultado una truncación",
"no se permite un tipo incompleto",
"no se permite un tipo %t incompleto",
"un operando de sizeof no puede ser un campo de bits",
null,
null,
@@ -301,7 +301,7 @@
"no se puede determinar a qué instancia de %n se refiere",
"un puntero a una función enlazada solo se puede usar para llamar a la función",
"el nombre typedef ya se ha declarado (con el mismo tipo)",
"%n ya se ha definido",
null,
null,
"ninguna instancia de %n coincide con la lista de argumentos",
"no se permite una definición de tipo en la declaración de tipos de valor devuelto de la función",
@@ -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 %t de clase incompleta",
null,
"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,
@@ -832,7 +832,7 @@
"%n no tiene ningún operador delete%s correspondiente (al que llamar si se produce una excepción durante la inicialización de un objeto asignado)",
"la compatibilidad con placement delete está deshabilitada",
"no hay visible ningún operador delete adecuado",
"no se permite un puntero o una referencia a un tipo incompleto",
"no se permite un puntero o una referencia a un tipo %t incompleto",
"especialización parcial no válida; %n ya se ha especializado por completo",
"especificaciones de excepción no compatibles",
"devolviendo una referencia a una variable local",
@@ -853,7 +853,7 @@
"el tipo de la conversión debe ser aritmético, de enumeración o de puntero",
"la expresión debe ser un puntero a un tipo de objeto completo",
null,
"un argumento sin tipo de especialización parcial debe ser el nombre de una constante o un parámetro sin tipo",
null,
"el tipo de valor devuelto no es idéntico al tipo de valor devuelto %t de la función virtual invalidada %no",
"la opción 'guiding_decls' solo se puede usar al compilar C++",
"una especialización parcial de una plantilla de clase se debe declarar en el espacio de nombres del que es miembro",
@@ -1444,7 +1444,7 @@
"__real e __imag solo se pueden aplicar a valores complejos",
"se ha aplicado __real o __imag a un valor real",
"%n se declaró como deprecated (%sq)",
"nueva definición de %nd no válida",
null,
"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",
"__thiscall no se permite en una función con un parámetro de puntos suspensivos",
@@ -2641,7 +2641,7 @@
"el inicializador de campo %nd no es una expresión constante",
"el número de restricciones de operandos debe ser el mismo en todas las cadenas de restricciones",
"la cadena de restricciones contiene demasiadas restricciones alternativas; no se han comprobado todas las restricciones",
"la llamada mediante la clase incompleta %t siempre producirá un error al crear una instancia",
null,
"decltype(auto) no puede tener calificadores de tipo agregados",
"la captura de inicialización %nod no se puede capturar aquí",
"argumento de tipo %t de plantilla sin tipo no válido",
@@ -3364,7 +3364,7 @@
"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",
null,
"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",
@@ -3372,7 +3372,7 @@
"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",
null,
"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",
@@ -3423,9 +3423,9 @@
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 el subcampo %sq (posición relativa al nodo %u)",
"desde la partición %sq elemento %u1 (posición de archivo %u2, posición relativa %u3)",
"los atributos lambda no son estándar aquí",
"los atributos de las expresiones lambda son una característica de C++23",
"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",
@@ -3442,9 +3442,9 @@
"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",
"el gráfico de definición de parámetros IFC especificó %u1 parámetros, mientras que la declaración IFC especificó %u2 parámetros",
"el gráfico de definición de parámetros IFC especificó %u1 parámetro, mientras que la declaración IFC especificó %u2 parámetros",
"el gráfico de definición de parámetros IFC especificó %u1 parámetros, mientras que la declaración IFC especificó %u2 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",
@@ -3466,12 +3466,12 @@
"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",
"la partición %sq especificó su tamaño de entrada como %u1 cuando se esperaba %u2",
"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",
"se ha quitado el parámetro %sq (en el índice relativo %u) 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,
@@ -3482,7 +3482,7 @@
"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",
null,
"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)",
@@ -3501,9 +3501,9 @@
"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)",
null,
null,
null,
"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",
@@ -3556,5 +3556,34 @@
"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"
"la captura de enlaces estructurados es una característica de C++20",
"el operando de splicer tiene el tipo %t en lugar de std::meta::info",
"el operando (reflexión de %r) no es la reflexión de un tipo",
"operando no constante de Splicer",
"uso de %t en lugar de std::string_view (= std::basic_string_view<char>)",
"el valor de std::string_view que se usa aquí no es coherente con el uso en otros elementos intrínsecos",
"la definición de std::string_view no coincide con las suposiciones de reflexión (no hay clases base ni miembros de datos para puntero y longitud)",
"la reflexión no es la de un valor constante",
"no se puede crear una matriz de longitud cero",
"la longitud (%d1) pasada a make_constexpr_array es mayor que el número de elementos disponibles (%d2)",
"la definición de std::meta::infovec no coincide con las suposiciones de reflexión (no hay clases base ni miembros de datos para puntero, longitud y capacidad)",
"reflexión incorrecta (%r) para la expresión splice",
"%n ya se ha definido (definición anterior %p)",
"objeto infovec no inicializado",
"value_of tipo %t1 no es compatible con la reflexión proporcionada (entidad con el tipo %t2)",
"no se permite actualmente reflejar un conjunto de sobrecargas",
"este elemento intrínseco requiere una reflexión para una instancia de plantilla",
"tipos incompatibles %t1 y %t2 para el operador",
"reflexión no válida para la metafunción intrínseca",
"la metafunción intrínseca requiere una reflexión para un miembro de clase",
"una clase no se puede derivar de una unión",
"no se puede derivar de una clase con un miembro de matriz flexible",
"reflexión nula",
"alias de espacio de nombres",
"reflexión (detalles no disponibles)",
"reflexión incorrecta (%r) para el argumento de plantilla en std::meta::substitute",
"error en la llamada a std::meta::substitute (para %r)",
"el valor de reflexión hace referencia a una entidad inactiva",
"una expresión splice debe empalmar un valor constante, una variable o una función",
"un splice de acceso a miembros debe empalmar un miembro de datos o una función miembro"
]
+50 -21
View File
@@ -69,7 +69,7 @@
"'}' attendu",
"la conversion entière a entraîné un changement de signe",
"la conversion entière a entraîné une troncation",
"type incomplet non autorisé",
"type %t incomplet non autorisé",
"l'opérande de sizeof ne peut pas être un champ de bits",
null,
null,
@@ -301,7 +301,7 @@
"impossible de déterminer l'instance de %n voulue",
"un pointeur vers une fonction liée peut uniquement être utilisé pour appeler la fonction",
"le nom de typedef a déjà été déclaré (avec le même type)",
"%n a déjà été défini",
null,
null,
"aucune instance de %n ne correspond à la liste d'arguments",
"la définition de type n'est pas autorisée dans la déclaration de type de retour de la fonction",
@@ -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",
"le pointeur vers le type classe incomplet %t n'est pas autorisé",
null,
"référence à une variable locale de fonction englobante non autorisée",
"fonction à argument unique utilisée pour %sq suffixé (anachronisme)",
null,
@@ -832,7 +832,7 @@
"%n n'a pas d'opérateur delete%s correspondant (appelé en cas de levée d'exception durant l'initialisation d'un objet alloué)",
"prise en charge de l'opérateur de positionnement delete désactivée",
"aucun opérateur delete approprié visible",
"pointeur vers ou référence à un type incomplet non autorisé",
"pointeur vers ou référence à un type %t incomplet non autorisé",
"spécialisation partielle non valide -- %n est déjà entièrement spécialisé",
"spécifications d'exceptions incompatibles",
"retourne la référence à une variable locale",
@@ -853,7 +853,7 @@
"le cast doit avoir le type arithmétique, enum ou pointeur",
"l'expression doit être un pointeur vers un type d'objet complet",
null,
"un argument sans type de spécialisation partielle doit être le nom d'un paramètre sans type ou d'une constante",
null,
"le type de retour n'est pas identique au type de retour %t de la fonction virtuelle substituée %no",
"l'option 'guiding_decls' peut uniquement être utilisée lors de la compilation de C++",
"une spécialisation partielle de modèle de classe doit être déclarée dans l'espace de noms dont il est membre",
@@ -1444,7 +1444,7 @@
"__real et __imag ne peuvent s'appliquer qu'à des valeurs complexes",
"__real/__imag appliqué à une valeur réelle",
"%n a été déclaré déconseillé (%sq)",
"redéfinition non valide de %nd",
null,
"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",
"__thiscall non autorisé sur une fonction ayant un paramètre ellipse",
@@ -2641,7 +2641,7 @@
"linitialiseur de champ pour %nd nest pas une expression constante",
"le nombre de contraintes dopérande doit être identique dans chaque chaîne de contrainte",
"la chaîne de contrainte contient trop de contraintes alternatives ; certaines contraintes nont pas été vérifiées",
"un appel via la classe incomplète %t produit toujours une erreur lorsque celle-ci est instanciée",
null,
"decltype(auto) ne peut pas avoir ajouté des qualificateurs de type",
"impossible de capturer init-capture %nod ici",
"argument de modèle sans type non valide de type %t",
@@ -3364,7 +3364,7 @@
"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é",
null,
"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",
@@ -3372,7 +3372,7 @@
"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",
null,
"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",
@@ -3423,9 +3423,9 @@
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 du sous-champ %sq (position par rapport au nœud %u)",
"à partir de la partition %sq, élément %u1 (position de fichier %u2, position relative %u3)",
"les attributs lambda ne sont pas standard ici",
"les attributs des expressions lambdas sont une fonctionnalité C++23",
"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",
@@ -3442,9 +3442,9 @@
"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.",
"%u1 paramètres ont été spécifiés par le graphique de définition de paramètres IFC alors que %u2 paramètres ont été spécifiés par la déclaration IFC",
"%u1 paramètre a été spécifié par le graphique de définition de paramètres IFC alors que %u2 paramètres ont été spécifiés par la déclaration IFC",
"%u1 paramètres ont été spécifiés par le graphique de définition de paramètres IFC alors que %u2 paramètre a été spécifié 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",
@@ -3466,12 +3466,12 @@
"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.",
"le %sq de partition a spécifié sa taille dentrée %u1 alors que %u2 é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)",
"une correction a été effectuée en supprimant le paramètre %sq (au %u 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,
@@ -3482,7 +3482,7 @@
"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",
null,
"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)",
@@ -3501,9 +3501,9 @@
"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)",
null,
null,
null,
"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",
@@ -3556,5 +3556,34 @@
"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"
"la capture de liaisons structurées est une fonctionnalité C++20",
"lopérande du splicer présente le type %t au lieu de std::meta::info",
"l'opérande (réflexion pour %r) n'est pas le reflet d'un type",
"opérande non constant de l'épisseur",
"utilisation de %t au lieu de std::string_view (= std::basic_string_view<char>)",
"std::string_view utilisé ici est incompatible avec son utilisation dans d'autres éléments intrinsèques",
"la définition de std::string_view ne correspond pas aux hypothèses de réflexion (pas de classes de base ni de données membres pour le pointeur et la longueur)",
"la réflexion n'est pas celle d'une valeur constante",
"impossible de créer un tableau de longueur nulle",
"la longueur (%d1) transmise à make_constexpr_array est supérieure au nombre d'éléments disponibles (%d2)",
"la définition de std::meta::infovec ne correspond pas aux hypothèses de réflexion (pas de classes de base ni de données membres pour le pointeur, la longueur et la capacité)",
"réflexion incorrecte (%r) pour la splice dexpression",
"%n a déjà été défini (définition précédente %p)",
"objet infovec non initialisé",
"value_of type %t1 n'est pas compatible avec la réflexion donnée (entité de type %t2)",
"refléter un ensemble de surcharge n'est actuellement pas autorisé",
"cette intrinsèque nécessite une réflexion pour une instance de modèle",
"types incompatibles %t1 et %t2 pour l'opérateur",
"réflexion non valide pour la métafonction intrinsèque",
"la métafonction intrinsèque nécessite une réflexion pour un membre de la classe",
"une classe ne peut pas dériver dune union",
"ne peut pas dériver dune classe avec un membre de tableau flexible",
"Réflexion null",
"alias despace de noms",
"réflexion (détails non disponibles)",
"mauvaise réflexion (%r) pour l'argument du modèle dans std::meta::substitute",
"échec de lappel à std::meta::substitute (pour %r)",
"la valeur de réflexion fait référence à lentité inactive",
"une splice dexpression doit spliquer une valeur constante, une variable ou une fonction",
"une épissure d'accès aux membres doit épisser une donnée membre ou une fonction membre"
]
+50 -21
View File
@@ -69,7 +69,7 @@
"previsto '}'",
"la conversione dei numeri interi ha causato un cambio di segno",
"la conversione dei numeri interi ha causato un troncamento",
"tipo incompleto non consentito",
"tipo incompleto %t non consentito",
"l'operando di sizeof non può essere un campo di bit",
null,
null,
@@ -301,7 +301,7 @@
"impossibile determinare l'istanza di %n prevista",
"è possibile utilizzare un puntatore a una funzione associata solo per chiamare la funzione",
"il nome di typedef è già stato dichiarato con lo stesso tipo",
"%n già definito",
null,
null,
"nessuna istanza di %n corrispondente all'elenco di argomenti",
"definizione di tipo non consentita nella dichiarazione di tipo restituita dalla funzione",
@@ -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",
"il puntatore al tipo classe incompleto %t non è consentito",
null,
"riferimento a variabile locale della funzione contenitore non consentito",
"utilizzata una funzione ad argomento singolo per aggiungere la forma suffissa a %sq (anacronismo)",
null,
@@ -832,7 +832,7 @@
"%n non include alcun operatore delete%s corrispondente da chiamare se viene generata un'eccezione durante l'inizializzazione di un oggetto allocato",
"il supporto per l'eliminazione delle posizioni è disabilitato",
"nessun operatore delete appropriato visibile",
"puntatore o riferimento a tipo incompleto non consentito",
"puntatore o riferimento a tipo incompleto %t non consentito",
"specializzazione parziale non valida. %n è già completamente specializzato",
"specifiche di eccezione incompatibili",
"verrà restituito il riferimento alla variabile locale",
@@ -853,7 +853,7 @@
"il cast deve essere di tipo aritmetico, enumerazione o puntatore",
"l'espressione deve essere un puntatore a un tipo oggetto completo",
null,
"un argomento non di tipo della specializzazione parziale deve essere il nome di un parametro non di tipo oppure una costante",
null,
"il tipo restituito non è identico al tipo restituito %t della funzione virtuale sottoposta a override %no",
"è possibile utilizzare l'opzione 'guiding_decls' solo quando si esegue la compilazione nel linguaggio C++",
"è necessario dichiarare una specializzazione parziale di un modello di classe nello spazio dei nomi di cui è membro",
@@ -1444,7 +1444,7 @@
"__real e __imag possono essere applicati solo a valori complessi",
"__real/__imag applicato al valore reale",
"%n è stato dichiarato deprecato (%sq)",
"ridefinizione non valida di %nd",
null,
"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",
"__thiscall non consentito in una funzione con il parametro puntini di sospensione",
@@ -2641,7 +2641,7 @@
"l'inizializzatore di campo per %nd non è un'espressione costante",
"il numero di vincoli degli operandi deve essere uguale in ogni stringa di vincolo",
"la stringa di vincolo contiene troppi vincoli alternativi; non sono stati verificati tutti i vincoli",
"se si effettua una chiamata tramite la classe incompleta %t, verrà sempre restituito un errore durante la creazione dell'istanza",
null,
"non è possibile aggiungere qualificatori di tipo a decltype(auto)",
"non è possibile acquisire init-capture %nod in questo punto",
"l'argomento di tipo %t del modello non di tipo non è valido",
@@ -3364,7 +3364,7 @@
"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",
null,
"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",
@@ -3372,7 +3372,7 @@
"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",
null,
"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'",
@@ -3423,9 +3423,9 @@
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)",
"dal sottocampo %sq (posizione relativa al nodo %u)",
"dalla partizione %sq elemento %u1 (posizione file %u2, posizione relativa %u3)",
"attributi lambda non conformi allo standard",
"gli attributi nelle espressioni lambda sono una funzionalità di C++23",
"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",
@@ -3442,9 +3442,9 @@
"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",
"%u1 parametri specificati dal grafico di definizione dei parametri IFC mentre %u2 parametri sono stati specificati dalla dichiarazione IFC",
"%u1 parametro è stato specificato dal grafico di definizione del parametro IFC mentre %u2 parametri sono stati specificati dalla dichiarazione IFC",
"%u1 parametri sono stati specificati dal grafico di definizione del parametro IFC mentre %u2 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",
@@ -3466,12 +3466,12 @@
"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",
"la partizione %sq ha specificato la dimensione della voce come %u1 mentre era previsto %u2",
"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)",
"è stata apportata una correzione eliminando il parametro %sq (in corrispondenza dell'indice relativo %u)",
"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,
@@ -3482,7 +3482,7 @@
"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",
null,
"non è possibile dichiarare una guida alla deduzione per il modello di alias %no",
"%n dichiarato non disponibile",
"%n dichiarato non disponibile (%sq)",
@@ -3501,9 +3501,9 @@
"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)",
null,
null,
null,
"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",
@@ -3556,5 +3556,34 @@
"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"
"l'acquisizione di binding strutturati è una funzionalità di C++20",
"l'operando dello splicer ha il tipo %t anziché std::meta::info",
"l'operando (reflection per %r) non è la reflection di un tipo",
"operando non costante dello splicer",
"utilizzo di %t invece di std::string_view (= std::basic_string_view<char>)",
"std::string_view usato qui non è coerente con l'uso in altri intrinseci",
"la definizione di std::string_view non corrisponde ai presupposti della reflection (nessuna classe di base e membri dati per puntatore e lunghezza)",
"la reflection non è quella di un valore costante",
"non può creare una matrice di lunghezza zero",
"la lunghezza (%d1) passata a make_constexpr_array è maggiore del numero di elementi disponibili (%d2)",
"la definizione di std::meta::infovec non corrisponde ai presupposti della reflection (nessuna classe di base e membri dati per puntatore, lunghezza e capacità)",
"reflection non valida (%r) per la splice dell'espressione",
"%n è già stato definito (definizione precedente %p)",
"Oggetto infovec non inizializzato",
"value_of tipo %t1 non è compatibile con la reflection specificata (entità con tipo %t2)",
"la reflection di un set di overload non è attualmente consentita",
"questo intrinseco richiede una reflection per un'istanza del modello",
"tipi incompatibili %t1 e %t2 per l'operatore",
"reflection non valida per la metafunzione intrinseca",
"metafunzione intrinseca richiede una reflection per un membro di classe",
"una classe non può derivare da un'unione",
"non può derivare da una classe con un membro di matrice flessibile",
"reflection null",
"alias dello spazio dei nomi",
"reflection (dettagli non disponibili)",
"reflection non valida (%r) per l'argomento del modello in std::meta::substitute",
"chiamata a std::meta::substitute (per %r) non riuscita",
"il valore di reflection fa riferimento all'entità inattiva",
"una giunzione di espressione deve creare una giunzione di un valore costante, una variabile o una funzione",
"una splice di accesso a un membro deve creare una splice di un membro dati o di una funzione membro"
]
+50 -21
View File
@@ -69,7 +69,7 @@
"'}' が必要です",
"整数変換の結果、符号が変更されました",
"整数変換の結果、切り捨てられました",
"不完全な型は使用できません",
"不完全な型 %t は使用できません",
"sizeof のオペランドはビット フィールドであってはなりません",
null,
null,
@@ -301,7 +301,7 @@
"%n のどのインスタンスが対象であるかを特定できません",
"バインドされた関数へのポインターは関数の呼び出しにのみ使用できます",
"typedef 名は (同じ型で) 既に宣言されています",
"%n は既に定義されています",
null,
null,
"%n のインスタンスが引数リストと一致しません",
"型定義は、関数の戻り値の型宣言では使用できません",
@@ -392,7 +392,7 @@
"関数 'main' を呼び出すこと、またはそのアドレスを取得することはできません",
"配列に対して新しい初期化子を指定することはできません",
"メンバー関数 %no をそのクラスの外側で再宣言することはできません",
"不完全クラス型 %t へのポインターは使用できません",
null,
"外側の関数のローカル変数への参照は許可されていません",
"単一引数関数が後置 %sq に使用されています (旧形式)",
null,
@@ -832,7 +832,7 @@
"%n に対応する演算子 delete%s がありません (割り当てられたオブジェクトの初期化中に例外がスローされた場合に呼び出されます)",
"仮引数付き delete のサポートは無効になっています",
"適切な演算子 delete を参照できません",
"不完全な型へのポインターまたは参照は使用できません",
"不完全な型 %t へのポインターまたは参照は使用できません",
"無効な部分的特殊化です -- %n は既に完全に特殊化されています",
"互換性のない例外指定です",
"ローカル変数への参照を返しています",
@@ -853,7 +853,7 @@
"キャストは演算型、列挙型、またはポインター型である必要があります",
"式は完全なオブジェクト型へのポインターである必要があります",
null,
"部分的特殊化の非型引数は非型パラメーターまたは定数の名前である必要があります",
null,
"戻り値の型がオーバーライドされた仮想関数 %no の戻り値の型 %t と同じではありません。",
"オプション 'guiding_decls' は C++ をコンパイルするときにのみ使用できます",
"クラス テンプレートの部分的特殊化はそれがメンバーである名前空間内で宣言する必要があります",
@@ -1444,7 +1444,7 @@
"__real および __imag は複合値に対してのみ適用できます",
"__real/__imag が実数値に適用されています",
"%n が deprecated (%sq) として宣言されました",
"%nd の再定義が無効です",
null,
"dllimport/dllexport が名前なし名前空間のメンバーに適用されています",
"____thiscall は非静的メンバー関数宣言でのみ使用できます",
"__thiscall は省略記号パラメーターを使用した関数では使用できません",
@@ -2641,7 +2641,7 @@
"%nd のフィールド初期化子が定数式ではありません",
"オペランド制約の数は、各制約の文字列と同じにする必要があります",
"制約文字列に他の制約が多すぎます。一部の制約がチェックされませんでした",
"不完全なクラス %t で呼び出しを行うと、インスタンス化のときに必ずエラーが生成されます",
null,
"decltype(auto) は型修飾子を追加できません",
"init キャプチャ %nod は、ここではキャプチャできません",
"型 %t の非型テンプレート引数が無効です",
@@ -3364,7 +3364,7 @@
"式には演算、対象範囲外の列挙、またはポインター型を使用する必要がありますが、型 %t が使用されています",
"式にはポインター型を使用する必要がありますが、型 %t が使用されています",
"演算子 -> または ->* は、ポインター型にではなく %t に適用されます",
"不完全なクラス型 %t は使用できません",
null,
"このコンパイル ターゲットのビット レイアウトを解釈できません。",
"IFC 演算子 %sq に対応する演算子がありません",
"IFC 呼び出し規則 %sq に対応する呼び出し規則がありません",
@@ -3372,7 +3372,7 @@
"サポートされていない IFC コンストラクト: %sq",
"__is_signed はこのポイントからキーワードではなくなりました",
"配列の次元には定数の符号なし整数値を指定する必要があります",
"IFC ファイル %sq は、サポートされていないバージョン %d1.%d2 です",
null,
"このモードではモジュールは無効です",
"'import' は、モジュール名には使用できません",
"'module' は、モジュール名には使用できません",
@@ -3423,9 +3423,9 @@
null,
"モジュール %sq1 ファイル位置 %u1 (相対位置 %u2) がパーティション %sq2 に対して要求されました - これはそのパーティションの終点をオーバーフローしています",
"モジュール %sq1 ファイル位置 %u1 (相対位置 %u2) がパーティション %sq2 に対して要求されました - これはそのパーティション要素の整列誤りです",
"サブフィールド %sq から (ノード %d への相対位置)",
"サブフィールド %sq から (ノード %u への相対位置)",
"パーティション元 %sq 要素 %u1 (ファイル位置 %u2、相対位置 %u3)",
"ラムダ属性はここでは非標準です",
"ラムダ属性は C++23 機能です",
"識別子 %sq は、%p に表示される視覚的に類似したものと混同される可能性があります",
"このコメントには、不審な Unicode 書式設定制御文字が含まれています",
"この文字列には、予期しない実行時の動作を引き起こす可能性のある Unicode 形式の制御文字が含まれています",
@@ -3442,9 +3442,9 @@
"関数 %sq の定義の IFC 表現が無効です",
null,
"パラメーターの指定に UniLevel IFC グラフが使用されませんでした",
"%d1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %d2 個のパラメーターが指定されました",
"%d1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %d2 個のパラメーターが指定されました",
"%d1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %d2 個のパラメーターが指定されました",
"%u1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %u2 個のパラメーターが指定されました",
"%u1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %u2 個のパラメーターが指定されました",
"%u1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %u2 個のパラメーターが指定されました",
"関数 %sq の定義の IFC 表現が見つかりません",
"関数修飾子はメンバー テンプレート宣言には適用されません",
"メンバーの選択に含まれる、入れ子になった匿名のタイプが多すぎます",
@@ -3466,12 +3466,12 @@
"'asm' 修飾子の複製",
"不完全な列挙型を持つビット フィールド、または無効な基本型を持つ不透明な列挙のいずれかです",
"IFC パーティション %sq2 へのインデックスを使用して、IFC パーティション %sq から要素を構築しようとしました",
"パーティション %sq は、%d2 が予期されたときにエントリ サイズを %d1 として指定ました",
"パーティション %sq は、%u2 が予期されたときにエントリ サイズを %u1 として指定されました",
"モジュール %sq1 の処理中に予期しない IFC 要件が発生しました",
"条件が行 %d で失敗しました (%s1: %sq2)",
"アトミック制約は、それ自体に依存します",
"'noreturn' 関数に void 以外の戻り値の型があります",
"パラメーター %sq (相対インデックス %d) を削除することで修正が行われています",
"パラメーター %sq (相対インデックス %u で) を削除することで修正が行われています",
"クラス外のメンバー テンプレートの定義では、既定のテンプレート引数を指定できません",
"エンティティの再構築中に無効な IFC 識別子名 %sq が見つかりました",
null,
@@ -3482,7 +3482,7 @@
"非単純デストラクターを持つクラス型では、チェーンされた指定子は許可されていません",
"明示的特殊化宣言はフレンド宣言にできない場合があります",
"std::float128_t 型はサポートされていません。代わりに std::float64_t が使用されます",
"std::bfloat16_t 型はサポートされていません。代わりに std::float32_t が使用されます",
null,
"エイリアス テンプレート %no に対して演繹ガイドを宣言することはできません",
"%n は使用できないと宣言されました",
"%n は使用できないと宣言されました (%sq)",
@@ -3501,9 +3501,9 @@
"認識できない出力モード (テキスト、sarif のいずれかである必要があります): %s",
"オプション 'c23_typeof' は C をコンパイルするときにのみ使用できます",
"無効な Clang バージョン番号: %s",
"IFC 文字列に、モジュール %sq 内の予期しない null (ゼロ) 文字が含まれています",
"%d2 バイト中 %d1 が使用されました",
"パーティション元 %sq 要素 %u1 (ファイル位置 %u2、相対位置 %u3) 内の文字列情報から",
null,
null,
null,
"柔軟な配列メンバーの初期化子を評価できません",
"既定のビット フィールド初期化子は C++20 機能です",
"モジュール %sq 内のテンプレート引数リストの引数が多すぎます",
@@ -3556,5 +3556,34 @@
"%n のパラメーター番号 %d に不完全な型 %t があります",
"%n のパラメーター番号 %d は抽象型 %t",
"構造化バインディングは C++17 機能です",
"構造化バインディングのキャプチャは C++20 の機能です"
"構造化バインディングのキャプチャは C++20 の機能です",
"スライサーのオペランドの型は std::meta::info ではなく %t です",
"オペランド (%r のリフレクション) は型のリフレクションではありません",
"スライサーの非定数オペランド",
"std::string_view の代わりに %t の使用 (= std::basic_string_view<char>)",
"ここで使用される std::string_view は、他の組み込み関数での使用と矛盾しています",
"std::string_view の定義がリフレクションの想定と一致しません (ポインターと長さの基底クラスとデータ メンバーがありません)",
"リフレクションは定数値のものではありません",
"長さ 0 の配列を作成できません",
"make_constexpr_array に渡された長さ (%d1) が使用可能な要素の数 (%d2) を超えています",
"std::meta::infovec の定義がリフレクションの想定と一致しません (ポインター、長さ、および容量の基底クラスとデータ メンバーがありません)",
"式の継ぎ目のリフレクション (%r) が正しくありません",
"%n は既に定義されています (前の定義 %p)",
"infovec オブジェクトが初期化されていません",
"value_of 型 %t1 は、指定されたリフレクション (型 %t2 のエンティティ) と互換性がありません",
"オーバーロード セットのリフレクションは現在許可されていません",
"この組み込み関数には、テンプレート インスタンスのリフレクションが必要です",
"演算子の型 %t1 と %t2 に互換性がありません",
"組み込みメタ関数のリフレクションが無効です",
"組み込みのメタ関数には、クラス メンバーのリフレクションが必要です",
"クラスは和集合から派生できません",
"柔軟な配列メンバーを持つクラスから派生することはできません",
"null リフレクション",
"名前空間エイリアス",
"リフレクション (詳細は使用できません)",
"std::meta::substitute のテンプレート引数の正しくないリフレクション (%r)",
"std::meta::substitute (%r の場合) の呼び出しに失敗しました",
"リフレクション値が非アクティブなエンティティを参照しています",
"式の継ぎ目は、定数値、変数、または関数を接合する必要があります",
"メンバー アクセスの継ぎ目は、データ メンバーまたはメンバー関数を接合する必要があります"
]
+50 -21
View File
@@ -69,7 +69,7 @@
"'}'가 필요합니다.",
"정수 변환으로 인해 부호가 변경되었습니다.",
"정수 변환으로 인해 잘라내기 발생했습니다.",
"불완전한 형식은 사용할 수 없습니다.",
"불완전한 형식 %t은(는) 허용되지 않음",
"sizeof의 피연산자는 비트 필드일 수 없습니다.",
null,
null,
@@ -301,7 +301,7 @@
"%n의 인스턴스 중 사용할 인스턴스를 확인할 수 없습니다.",
"바인딩된 함수에 대한 포인터는 함수를 호출하는 데에만 사용할 수 있습니다.",
"typedef 이름이 동일한 형식으로 이미 선언되어 있습니다.",
"%n이(가) 이미 정의되었습니다.",
null,
null,
"인수 목록이 일치하는 %n의 인스턴스가 없습니다.",
"함수 반환 형식 선언에는 형식 정의를 사용할 수 없습니다.",
@@ -392,7 +392,7 @@
"함수 'main'을 호출할 수 없거나 해당 주소를 가져올 수 없습니다.",
"배열에 대해 새 이니셜라이저를 지정할 수 없습니다.",
"멤버 함수 %no을(를) 해당 클래스 외부에서 다시 선언할 수 없습니다.",
"불완전한 클래스 형식 %t에 대한 포인터는 사용할 수 없음",
null,
"바깥쪽 함수의 지역 변수에 대한 참조를 사용할 수 없습니다.",
"후위 %sq에 단일 인수 함수가 사용되었습니다(오래된 구문).",
null,
@@ -832,7 +832,7 @@
"%n에 대응하는 operator delete%s이(가)가 없습니다(할당된 개체의 초기화 중에 예외가 throw되는 경우 호출됨).",
"placement delete에 대한 지원이 비활성화되어 있습니다.",
"적절한 operator delete가 표시되지 않습니다.",
"불완전한 형식에 대한 포인터 또는 참조를 사용할 수 없습니다.",
"불완전한 형식 %t에 대한 포인터 또는 참조는 허용되지 않음",
"잘못된 부분 특수화 -- %n이(가) 이미 완전하게 특수화되었습니다.",
"호환되지 않는 예외 사양",
"지역 변수에 대한 참조를 반환합니다.",
@@ -853,7 +853,7 @@
"캐스트 형식이 산술, 열거형 또는 포인터여야 합니다.",
"식이 완전한 개체 형식에 대한 포인터여야 합니다.",
null,
"부분 특수화 비형식 인수가 비형식 매개 변수 또는 상수의 이름이어야 합니다.",
null,
"반환 형식이 재정의된 가상 함수 %no의 반환 형식 %t과(와) 동일하지 않습니다.",
"'guiding_decls' 옵션은 C++를 컴파일할 경우에만 사용할 수 있습니다.",
"클래스 템플릿의 부분 특수화는 해당 템플릿이 멤버인 네임스페이스에서 선언되어야 합니다.",
@@ -1444,7 +1444,7 @@
"__real 및 __imag는 복소수 값에만 적용할 수 있습니다.",
"__real/__imag가 실수 값에 적용되었습니다.",
"%n이(가) 사용되지 않음으로 선언되었습니다(%sq).",
"%nd의 재정의가 잘못되었습니다.",
null,
"dllimport/dllexport가 명명되지 않은 네임스페이스의 멤버에 적용되었습니다.",
"__thiscall은 비정적 멤버 함수 선언에만 표시될 수 있습니다.",
"__thiscall은 가변 매개 변수(...)가 있는 함수에 사용할 수 없습니다.",
@@ -2641,7 +2641,7 @@
"%nd에 대한 필드 이니셜라이저가 상수 식이 아닙니다.",
"각 제약 조건 문자열의 피연산자 제약 조건 수가 같아야 합니다.",
"제약 조건 문자열에 대체 제약 조건이 너무 많이 포함되어 있습니다. 일부 제약 조건이 확인되지 않았습니다.",
"불완전한 클래스 %t을(를) 통한 호출을 인스턴스화하면 항상 오류가 생성됩니다.",
null,
"decltype(auto)는 형식 한정자를 추가할 수 없습니다.",
"init-capture %nod은(는) 여기서 캡처할 수 없습니다.",
"%t 형식의 잘못된 비형식 템플릿 인수",
@@ -3364,7 +3364,7 @@
"식에 산술, 범위가 지정되지 않은 열거형 또는 포인터 형식이 있어야 하는데 %t 형식이 있음",
"식에 포인터 형식이 있어야 하는데 %t 형식이 있음",
"연산자 -> 또는 ->*가 포인터 형식 대신 %t에 적용됨",
"불완전한 클래스 형식 %t을(를) 사용할 수 없음",
null,
"이 컴파일 대상의 비트 레이아웃을 해석할 수 없음",
"IFC 연산자 %sq에 해당하는 연산자가 없음",
"IFC 호출 규칙 %sq에 해당하는 호출 규칙이 없음",
@@ -3372,7 +3372,7 @@
"지원되지 않는 IFC 구문: %sq",
"__is_signed는 이 시점부터 더 이상 키워드가 아님",
"배열 차원에는 상수인 부호 없는 정수 값이 있어야 함",
"IFC 파일 %sq에 지원되지 않는 버전 %d1.%d2이(가) 있음",
null,
"이 모드에서 모듈을 사용할 수 없음",
"'import'는 모듈 이름에 사용할 수 없습니다.",
"'module'은 모듈 이름에 사용할 수 없습니다.",
@@ -3423,9 +3423,9 @@
null,
"모듈 %sq1 파일 위치 %u1(상대 위치 %u2)이 파티션 %sq2에 대해 요청됨 - 해당 파티션의 끝을 오버플로함",
"모듈 %sq1 파일 위치 %u1(상대 위치 %u2)이(가) 파티션 요소가 잘못 정렬된 파티션 %sq2에 대해 요청되었습니다.",
"하위 필드 %sq(노드 %d에 대한 상대 위치)에서",
"하위 필드 %sq(노드 %u에 대한 상대 위치)에서",
"파티션 %sq 요소 %u1에서(파일 위치 %u2, 상대 위치 %u3)",
"여기서 람다 특성은 표준이 아닙니다.",
"람다 특성은 C++23 기능입니다.",
"식별자 %sq은(는) 시각적으로 유사한 식별자와 혼동될 수 있습니다. %p",
"이 주석에는 의심스러운 유니코드 서식 지정 제어 문자가 포함되어 있습니다.",
"이 문자열에는 예기치 않은 런타임 동작이 발생할 수 있는 유니코드 서식 지정 컨트롤 문자가 포함되어 있습니다.",
@@ -3442,9 +3442,9 @@
"함수 %sq의 정의에 대한 IFC 표현이 잘못되었습니다.",
null,
"매개 변수를 지정하는 데 UniLevel IFC 차트가 사용되지 않았습니다.",
"%d1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %d2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
"%d1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %d2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
"%d1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %d2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
"%u1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %u2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
"%u1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %u2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
"%u1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %u2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
"%sq 함수 정의의 IFC 표현이 없습니다.",
"함수 한정자는 멤버 템플릿 선언에 적용되지 않습니다.",
"멤버 선택에 너무 많은 중첩된 익명 형식이 포함됩니다.",
@@ -3466,12 +3466,12 @@
"중복된 'asm' 한정자",
"불완전한 열거형 형식이 있는 비트 필드 또는 잘못된 기본 형식이 있는 불투명 열거형",
"IFC 파티션 %sq2에 대한 인덱스를 사용하여 IFC 파티션 %sq에서 요소를 구성하려고 했습니다.",
"파티션 %sq는 %d2가 예상될 때 항목 크기를 %d1로 지정했습니다.",
"파티션 %sq에서 %u2이(가) 필요한 경우 해당 항목 크기를 %u1로 지정했습니다.",
"모듈 %sq1을(를) 처리하는 동안 예기치 않은 IFC 요구 사항이 발생했습니다.",
"%d행(%s1)에서 조건 실패: %sq2",
"원자성 제약 조건은 자체에 따라 달라집니다.",
"'noreturn' 함수에 void가 아닌 반환 형식이 있습니다.",
"매개 변수 %sq(상대 인덱스 %d)를 삭제하여 수정했습니다.",
"매개 변수 %sq(상대 인덱스 %u)를 삭제하여 수정했습니다.",
"클래스 외부의 멤버 템플릿 정의에 기본 템플릿 인수를 지정할 수 없습니다.",
"엔터티를 재구성하는 동안 %sq라는 잘못된 IFC 식별자를 발견했습니다.",
null,
@@ -3482,7 +3482,7 @@
"비자명 소멸자가 있는 클래스 형식에는 연결된 지정자를 사용할 수 없습니다.",
"명시적 전문화 선언은 friend 선언이 아닐 수 있습니다.",
"std::float128_t 형식은 지원되지 않습니다. std::float64_t이(가) 대신 사용됩니다.",
"std::bfloat16_t 형식은 지원되지 않습니다. std::float32_t이(가) 대신 사용됩니다.",
null,
"별칭 템플릿 %no에 대해 추론 가이드를 선언할 수 없습니다.",
"%n이(가) 사용할 수 없음으로 선언되었습니다.",
"%n이(가) 사용할 수 없음으로 선언되었습니다 (%sq).",
@@ -3501,9 +3501,9 @@
"인식할 수 없는 출력 모드(텍스트, Sarif 중 하나여야 함): %s",
"'c23_typeof' 옵션은 C를 컴파일할 때만 사용할 수 있습니다.",
"잘못된 clang 버전 번호: %s",
"IFC 문자열에 모듈 %sq에 예기치 않은 null(0) 문자가 포함되어 있습니다.",
"%d2바이트 중 %d1바이트를 사용했습니다.",
"파티션 %sq 요소 %u1의 문자열 정보에서(파일 위치 %u2, 상대 위치 %u3)",
null,
null,
null,
"유연한 배열 멤버에 대한 이니셜라이저를 평가할 수 없습니다.",
"기본 비트 필드 이니셜라이저는 C++20 기능입니다.",
"%sq 모듈의 템플릿 인수 목록에 인수가 너무 많습니다.",
@@ -3556,5 +3556,34 @@
"매개 변수 번호 %d(%n 중)이 불완전한 형식 %t입니다.",
"매개 변수 번호 %d(%n 중)에는 추상 형식 %t이(가) 있습니다.",
"구조적 바인딩은 C++17 기능입니다.",
"구조화된 바인딩 캡처는 C++20 기능입니다."
"구조화된 바인딩 캡처는 C++20 기능입니다.",
"스플라이서의 피연산자에 std::meta::info 대신 %t 형식이 있습니다.",
"피연산자(%r에 대한 리플렉션)가 형식의 리플렉션이 아닙니다.",
"스플라이서의 상수가 아닌 피연산자",
"std::string_view 대신 %t 사용(= std::basic_string_view<char>)",
"여기에 사용된 std::string_view는 다른 내장 함수에서의 사용과 일치하지 않습니다.",
"std::string_view의 정의가 리플렉션의 가정과 일치하지 않습니다(포인터 및 길이에 대한 기본 클래스 및 데이터 멤버 없음).",
"리플렉션이 상수 값의 리플렉션이 아닙니다.",
"길이가 0인 배열을 만들 수 없음",
"make_constexpr_array에 전달된 길이(%d1)가 사용 가능한 요소 수보다 큽니다(%d2).",
"std::meta::infovec의 정의가 리플렉션의 가정과 일치하지 않습니다(포인터, 길이 및 용량에 대한 기본 클래스 및 데이터 멤버가 없음).",
"식 스플라이스에 대한 잘못된 리플렉션(%r)",
"%n이(가) 이미 정의되었습니다(이전 정의 %p).",
"infovec 개체가 초기화되지 않음",
"value_of 형식 %t1이(가) 지정된 리플렉션(%t2 형식의 엔터티)과 호환되지 않습니다.",
"오버로드 집합을 반영하는 것은 현재 허용되지 않습니다.",
"이 내장 함수에는 템플릿 인스턴스에 대한 리플렉션이 필요합니다.",
"연산자에 대해 호환되지 않는 형식 %t1 및 %t2",
"내장 메타함수에 대한 잘못된 리플렉션",
"내장 메타함수에는 클래스 멤버에 대한 리플렉션이 필요합니다.",
"클래스는 공용 구조체에서 파생될 수 없습니다.",
"유연한 배열 멤버가 있는 클래스에서 파생될 수 없습니다.",
"null 리플렉션",
"네임스페이스 별칭",
"리플렉션(세부 정보를 사용할 수 없음)",
"std::meta::substitute의 템플릿 인수에 대한 잘못된 리플렉션(%r)입니다.",
"std::meta::substitute(%r)에 대한 호출이 실패했습니다.",
"리플렉션 값이 비활성 엔터티를 참조함",
"식 스플라이스는 상수 값, 변수 또는 함수를 스플라이스해야 합니다.",
"멤버 액세스 스플라이스는 데이터 멤버 또는 멤버 함수를 스플라이스해야 합니다."
]
+50 -21
View File
@@ -69,7 +69,7 @@
"oczekiwano znaku „}”",
"konwersja liczby całkowitej spowodowała zmianę znaku",
"konwersja liczby całkowitej spowodowała obcięcie",
"niekompletny typ jest niedozwolony",
"niekompletny typ %t jest niedozwolony",
"argument operacji sizeof nie może być polem bitowym",
null,
null,
@@ -301,7 +301,7 @@
"nie można określić, które wystąpienie elementu %n jest zamierzone",
"wskaźnik do powiązanej funkcji może zostać użyty tylko do wywołania tej funkcji",
"nazwa typu typedef została już zadeklarowana (z tym samym typem)",
"element %n został już zdefiniowany",
null,
null,
"żadne wystąpienie elementu %n nie jest zgodne z listą argumentów",
"definicja typu jest niedozwolona w deklaracji zwracanego typu funkcji",
@@ -392,7 +392,7 @@
"nie można wywołać funkcji „main” ani pobrać jej adresu",
"nie można określić inicjatora new dla tablicy",
"nie można ponownie zadeklarować funkcji składowej %no poza jej klasą",
"wskaźnik do niekompletnego typu klasy %t jest niedozwolony",
null,
"odwołanie do zmiennej lokalnej w otaczającej funkcji jest niedozwolone",
"użyto funkcji z jednym argumentem dla przyrostka %sq (anachronizm)",
null,
@@ -832,7 +832,7 @@
"element %n nie ma odpowiadającego operatora delete%s (do wywołania w przypadku zgłoszenia wyjątku podczas inicjowania zaalokowanego obiektu)",
"obsługa funkcji usuwania dla miejsca umieszczenia jest wyłączona",
"żaden odpowiedni operator delete nie jest widoczny",
"wskaźnik lub odwołanie do niekompletnego typu jest niedozwolone",
"wskaźnik lub odwołanie do niekompletnego typu %t jest niedozwolone",
"nieprawidłowa specjalizacja częściowa — element %n jest już całkowicie specjalizowany",
"niezgodne specyfikacje wyjątku",
"zwracanie odwołania do zmiennej lokalnej",
@@ -853,7 +853,7 @@
"typ rzutowania musi być arytmetyczny, wyliczeniowy lub wskaźnikowy",
"wyrażenie musi być wskaźnikiem do kompletnego typu obiektu",
null,
"argument stałej parametryzującej szablon częściowej specjalizacji musi być nazwą parametru stałej parametryzującej szablon lub stałą",
null,
"zwracany typ nie jest taki sam jak zwracany typ %t przesłoniętej funkcji wirtualnej %no",
"opcji „guiding_decls” można użyć tylko w przypadku kompilowania kodu C++",
"częściowa specjalizacja szablonu klasy musi być zadeklarowana w przestrzeni nazw, do której należy",
@@ -1444,7 +1444,7 @@
"symbole __real i __imag mogą być stosowane tylko do wartości złożonych",
"symbol __real/__imag zastosowano do wartości rzeczywistej",
"element %nd został zadeklarowany jako przestarzały (%sq)",
"nieprawidłowa ponowna definicja elementu %nd",
null,
"atrybut dllimport/dllexport zastosowano do składowej nienazwanej przestrzeni nazw",
"konwencja __thiscall może występować tylko w deklaracjach niestatycznych funkcji składowych",
"konwencja __thiscall jest niedozwolona w funkcji z parametrem wielokropka",
@@ -2641,7 +2641,7 @@
"inicjator pola dla elementu %nd nie jest wyrażeniem stałym",
"liczba ograniczeń argumentu musi być taka sama w każdym ciągu ograniczenia",
"ciąg ograniczenia zawiera za dużo ograniczeń alternatywnych; nie wszystkie ograniczenia zostały sprawdzone",
"wywołanie za pośrednictwem niekompletnej klasy %t będzie zawsze powodowało błąd po utworzeniu wystąpienia",
null,
"element decltype(auto) nie może mieć dodanych kwalifikatorów typu",
"elementu init-capture %nod nie można przechwycić w tym miejscu",
"nieprawidłowy argument szablonu bez typu o typie %t",
@@ -3364,7 +3364,7 @@
"wyrażenie musi mieć typ arytmetyczny, typ wyliczenia niewystępującego w zakresie lub typ wskaźnika, ale ma typ %t",
"wyrażenie musi mieć typ wskaźnika, ale ma typ %t",
"operator -> lub ->* zastosowane do typu %t zamiast do typu wskaźnika",
"niekompletny typ klasy %t jest niedozwolony",
null,
"nie można zinterpretować układu bitowego dla tego elementu docelowego kompilacji",
"brak odpowiedniego operatora dla operatora IFC %sq",
"brak odpowiedniej konwencji wywoływania dla konwencji wywoływania IFC %sq",
@@ -3372,7 +3372,7 @@
"nieobsługiwana konstrukcja IFC: %sq",
"Od tego punktu __is_signed nie jest już słowem kluczowym",
"wymiar tablicy musi mieć stałą wartość całkowitą bez znaku",
"Plik IFC %sq ma nieobsługiwaną wersję %d1.%d2",
null,
"moduły nie są włączone w tym trybie",
"Ciąg „import” nie jest dozwolony w nazwie modułu",
"Ciąg „module” nie jest dozwolony w nazwie modułu",
@@ -3423,9 +3423,9 @@
null,
"zażądano modułu %sq1 pozycji pliku %u1 (pozycja względna %u2) dla partycji %sq2, która powoduje przepełnienie końca partycji",
"zażądano modułu %sq1 pozycji pliku %u1 (pozycja względna %u2) dla partycji %sq2, która jest nieprawidłowo wyrównana do jej elementów partycji",
"z podpola %sq (względne położenie w stosunku do węzła %d)",
"z podrzędnego pola %sq (względne położenie w stosunku do węzła %u)",
"z partycji %sq elementu %u1 (pozycja pliku %u2, względna pozycja %u3)",
"atrybuty lambda są niestandardowe w tym miejscu",
"atrybuty w wyrażeniach lambda są funkcją języka C++23",
"identyfikator %sq można pomylić z widocznym wizualnie identyfikatorem %p",
"ten komentarz zawiera podejrzane znaki kontrolne formatowania Unicode",
"ten ciąg zawiera znaki kontrolne formatowania Unicode, które mogą spowodować nieoczekiwane zachowanie środowiska uruchomieniowego",
@@ -3442,9 +3442,9 @@
"Reprezentacja IFC definicji funkcji %sq jest nieprawidłowa",
null,
"wykres IFC UniLevel nie został użyty do określenia parametrów",
"Parametry (%d1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%d2) zostały określone przez deklarację IFC",
"Parametry (%d1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%d2) zostały określone przez deklarację IFC",
"Parametry (%d1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%d2) zostały określone przez deklarację IFC",
"Parametry (%u1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%u2) zostały określone przez deklarację IFC",
"Parametry (%u1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%u2) zostały określone przez deklarację IFC",
"Parametry (%u1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%u2) zostały określone przez deklarację IFC",
"Brak reprezentacji IFC definicji funkcji %sq",
"modyfikator funkcji nie ma zastosowania do deklaracji szablonu elementu członkowskiego",
"wybór elementu członkowskiego obejmuje zbyt wiele zagnieżdżonych typów anonimowych",
@@ -3466,12 +3466,12 @@
"zduplikowany kwalifikator „asm”",
"pole bitowe z niekompletnym typem wyliczeniowym lub nieprzezroczyste wyliczenie z nieprawidłowym typem podstawowym",
"próbowano skonstruować element z partycji IFC %sq przy użyciu indeksu do partycji IFC %sq",
"partycja %sq określiła swój rozmiar wpisu jako %d1, gdy oczekiwano wartości %d2",
"partycja %sq określiła swój rozmiar wpisu jako %u1, gdy oczekiwano wartości %u2",
"napotkano nieoczekiwane wymaganie IFC podczas przetwarzania modułu %sq1",
"warunek nie powiódł się w wierszu %d w %s1: %sq2",
"niepodzielne ograniczenie zależy od samego siebie",
"Funkcja \"noreturn\" ma zwracany typ inny niż void",
"wprowadzono poprawkę przez usunięcie parametru %sq (względny indeks %d)",
"wprowadzono poprawkę przez usunięcie parametru %sq (względny indeks %u)",
"nie można określić domyślnego argumentu szablonu w deklaracji szablonu składowej klasy poza jej klasą",
"napotkano nieprawidłową nazwę identyfikatora IFC %sq podczas odbudowy jednostki",
null,
@@ -3482,7 +3482,7 @@
"desygnator łańcuchowy nie jest dozwolony dla typu klasy z destruktorem nietrywialnym",
"jawna deklaracja specjalizacji nie może być deklaracją zaprzyjaźnioną",
"typ std::float128_t nie jest obsługiwany; zamiast tego zostanie użyty std::float64_t",
"Typ std::bfloat16_t nie jest obsługiwany; zamiast tego zostanie użyty std::float32_t",
null,
"nie można zadeklarować przewodnika wnioskowania dla szablonu aliasu %no",
"Element %n został zadeklarowany jako niedostępny",
"Element %n został zadeklarowany jako niedostępny (%sq)",
@@ -3501,9 +3501,9 @@
"nierozpoznany tryb wyjścia (musi być jednym z następujących: text, sarif): %s",
"opcji „c23_typeof” można użyć tylko podczas kompilowania elementu C",
"nieprawidłowy numer wersji clang: %s",
"Ciąg IFC zawiera nieoczekiwany znak null (zero) w module %sq",
"Użyto %d1 z %d2 bajtów",
"z informacji o ciągu w partycji %sq element %u1 (pozycja pliku %u2, względna pozycja %u3)",
null,
null,
null,
"nie może ocenić inicjatora dla elastycznego elementu członkowskiego tablicy",
"domyślny inicjator pola bitowego jest funkcją C++20",
"zbyt wiele argumentów na liście argumentów szablonu w module %sq",
@@ -3556,5 +3556,34 @@
"numer parametru %d z %n ma niekompletny typ %t",
"numer parametru %d z %n ma typ abstrakcyjny %t",
"powiązania strukturalne są funkcją języka C++17",
"przechwytywanie powiązań strukturalnych jest funkcją języka C++20"
"przechwytywanie powiązań strukturalnych jest funkcją języka C++20",
"argument operacji splicer ma typ %t zamiast std::meta::info",
"argument operacji (odbicie dla %r) nie jest odbiciem typu",
"niestały operand splicera",
"użycie elementu %t zamiast std::string_view (= std::basic_string_view<char>)",
"std::string_view użyte w tym miejscu jest niespójne z użyciem w innych elementach wewnętrznych",
"definicja elementu std::string_view nie jest zgodna z założeniami odbicia (brak klas bazowych i składowych danych dla wskaźnika i długości)",
"odbicie nie jest wartością stałą",
"nie można utworzyć tablicy o zerowej długości",
"długość (%d1) przekazana do make_constexpr_array jest większa niż liczba dostępnych elementów (%d2)",
"definicja elementu std::meta::infovec nie jest zgodna z założeniami odbicia (brak klas bazowych i składowych danych dla wskaźnika, długości i pojemności)",
"złe odbicie (%r) dla splice wyrażenia",
"Element %n został już zdefiniowany (poprzednia definicja :%p)",
"obiekt infovec nie został zainicjowany",
"value_of typ %t1 jest niezgodny z danym odbiciem (jednostka o typie %t2)",
"odzwierciedlanie zestawu przeciążeń jest obecnie niedozwolone",
"ta wewnętrzna funkcja wymaga odbicia dla wystąpienia szablonu",
"niezgodne typy %t1 i %t2 dla operatora",
"nieprawidłowe odbicie dla wewnętrznej metafunkcji",
"wewnętrzna metafunkcja wymaga odbicia dla składowej klasy",
"klasa nie może pochodzić od unii",
"nie może pochodzić od klasy z elastyczną składową tablicy",
"odbicie o wartości null",
"alias przestrzeni nazw",
"odbicie (szczegóły niedostępne)",
"złe odbicie (%r) dla argumentu szablonu w std::meta::substitute",
"wywołanie metody std::meta::substitute (dla %r) nie powiodło się",
"wartość odbicia odnosi się do jednostki nieaktywnej",
"splice wyrażenia musi łączyć stałą wartość, zmienną lub funkcję",
"platforma dostępu do składowej musi łączyć składową danych lub funkcję składową"
]
+50 -21
View File
@@ -69,7 +69,7 @@
"esperado um '}'",
"a conversão de inteiro resultou em uma mudança de sinal",
"a conversão de inteiro resultou em um truncamento",
"tipos incompletos não são permitidos",
"tipos incompletos %t não são permitidos",
"o operando sizeof pode não ser um campo de bit",
null,
null,
@@ -301,7 +301,7 @@
"não é possível determinar qual instância de %n é a desejada",
"um ponteiro para uma função associada pode ser utilizada apenas para chamar a função",
"o nome do typedef já foi declarado (com o mesmo tipo)",
"%n já foi definido",
null,
null,
"nenhum instância de %n corresponde à lista de argumentos",
"definição de tipo não é permitida na declaração do tipo de retorno de uma função",
@@ -392,7 +392,7 @@
"a função 'main' pode não ser chamada ou ter seu endereço capturado",
"um inicializador new pode não ser especificado para uma matriz",
"a função membro %no pode não ser declarada novamente fora da sua classe",
"o ponteiro para o tipo de classe incompleta %t não é permitido",
null,
"referência para variável local de função não é permitido",
"função com um único argumento utilizada como sufixo %sq (anacronismo)",
null,
@@ -832,7 +832,7 @@
"%n não possui exclusão do operador correspondente%s (a ser chamado se uma exceção ocorrer durante a inicialização de um objeto alocado)",
"o suporte para exclusão de posicionamento está desabilitado",
"nenhuma exclusão apropriada do operador está visível",
"ponteiro ou referência para o tipo incompleto não é permitida",
"ponteiro ou referência para o tipo incompleto %t não é permitida",
"especialização parcial inválida -- %n já está totalmente especializado",
"especificações de exceção incompatíveis",
"referência de retorno para variável local",
@@ -853,7 +853,7 @@
"o tipo de conversão deve ser aritmético, de enumeração ou de ponteiro",
"a expressão deve ser um ponteiro para um tipo de objeto completo",
null,
"uma especialização parcial de argumento sem tipo deve ser o nome de um parâmetro sem tipo ou uma constante",
null,
"o tipo de retorno não é idêntico ao tipo de retorno %t da função virtual sobrescrita %no",
"a opção 'guiding_decls' pode ser utilizada somente quando se estiver compilando C++",
"deve ser declarada uma especialização parcial de um modelo de classe no namespace do qual é um membro",
@@ -1444,7 +1444,7 @@
"__real e __imag somente podem ser aplicáveis a valores complexos",
"__real/__imag aplicado ao valor real",
"%n foi declarado preterido (%sq)",
"redefinição inválida de %nd",
null,
"dllimport/dllexport aplicado a um membro de um namespace não nomeado",
"__thiscall somente pode ser exibido em declarações de função de membro não estático",
"__thiscall não permitido na função com parâmetro de elipse",
@@ -2641,7 +2641,7 @@
"o inicializador de campo de %nd não é uma expressão constante",
"o número de restrições de operando deve ser o mesmo em cada cadeia de caracteres de restrição",
"a cadeia de caracteres de restrição contém muitas restrições alternativas; nem todas as restrições foram verificadas",
"chamar a classe incompleta %t sempre produzirá um erro quando instanciado",
null,
"o decltype(auto) não pode ter qualificadores de tipo adicionados",
"init-capture %nod não pode ser capturado aqui",
"argumento de modelo sem tipo inválido de tipo %t",
@@ -3364,7 +3364,7 @@
"expressão precisa ter o tipo aritmético, de enumeração sem escopo ou de ponteiro, mas tem o tipo %t",
"a expressão precisa ter um tipo de ponteiro, mas tem o tipo %t",
"operador -> ou ->* aplicado a %t em vez de a um tipo de ponteiro",
"o tipo de classe incompleta %t não é permitido",
null,
"não é possível interpretar o layout de bit para este destino de compilação",
"nenhum operador correspondente para o operador IFC %sq",
"não há convenção de chamada correspondente para a convenção de chamada IFC %sq",
@@ -3372,7 +3372,7 @@
"constructo IFC sem suporte: %sq",
"__is_signed não é mais uma palavra-chave deste ponto",
"uma dimensão de matriz precisa ter um valor inteiro sem sinal constante",
"O arquivo IFC %sq tem uma versão sem suporte %d1.%d2",
null,
"os módulos não estão habilitados neste modo",
"'import' não é permitido em um nome de módulo",
"'module' não é permitido em um nome de módulo",
@@ -3423,9 +3423,9 @@
null,
"módulo %sq1, posição do arquivo %u1 (posição relativa %u2) solicitado para a partição %sq2 — que transborda o final de sua partição",
"módulo %sq1, posição do arquivo %u1 (posição relativa %u2) solicitado para a partição %sq2 — que está desalinhada com seus elementos de partições",
"do subcampo %sq (posição relativa ao nó %d)",
"do subcampo %sq (posição relativa ao nó %u)",
"da partição %sq, elemento %u1 (posição do arquivo %u2, posição relativa %u3)",
"os atributos lambda não são padrão aqui",
"atributos em lambdas são um recurso do C++23",
"O identificador %sq pode ser confundido com um visualmente semelhante ao que aparece %p",
"este comentário contém caracteres de controle de formatação Unicode suspeitos",
"essa cadeia de caracteres contém caracteres de controle de formatação Unicode que podem resultar em comportamento de runtime inesperado",
@@ -3442,9 +3442,9 @@
"A representação IFC da definição da função %sq é inválida",
null,
"um gráfico UNILevel IFC não foi usado para especificar parâmetros",
"%d1 parâmetros foram especificados pelo gráfico de definição de parâmetro IFC, enquanto %d2 parâmetros foram especificados pela declaração IFC",
"O parâmetro %d1 foi especificado pelo gráfico de definição de parâmetro IFC, enquanto %d2 parâmetros foram especificados pela declaração IFC",
"%d1 parâmetros foram especificados pelo gráfico de definição de parâmetro IFC, enquanto o parâmetro %d2 foi especificado pela declaração IFC",
"%u1 parâmetros foram especificados pelo gráfico de definição de parâmetro IFC, enquanto %u2 parâmetros foram especificados pela declaração IFC",
"O parâmetro %u1 foi especificado pelo gráfico de definição de parâmetro IFC, enquanto os parâmetros %u2 foram especificados pela declaração IFC",
"O parâmetro %u1 foi especificado pelo gráfico de definição de parâmetro IFC, enquanto parâmetros %u2 foram especificados pela declaração IFC",
"A representação IFC da definição da função %sq está ausente",
"o modificador de função não se aplica à declaração de modelo do membro",
"a seleção de membro envolve muitos tipos anônimos aninhados",
@@ -3466,12 +3466,12 @@
"qualificador 'asm' duplicado",
"um campo de bits com um tipo de enumeração incompleto ou uma enumeração opaca com um tipo base inválido",
"tentou construir um elemento da partição IFC %sq usando um índice na partição IFC %sq2",
"a partição %sq especificou seu tamanho de entrada como %d1 quando %d2 era esperado",
"a partição %sq especificou seu tamanho de entrada como %u1 quando %u2 era esperado",
"um requisito IFC inesperado foi encontrado durante o processamento do módulo %sq1",
"condição falhou na linha %d em %s1: %sq2",
"restrição atômica depende de si mesma",
"A função 'noreturn' tem um tipo de retorno não nulo",
"foi feita uma correção eliminando o parâmetro %sq (no índice relativo %d)",
"foi feita uma correção eliminando o parâmetro %sq (no índice relativo %u)",
"não é possível especificar um argumento de modelo padrão na definição do modelo de um membro fora de sua classe",
"nome de identificador IFC inválido %sq encontrado durante a reconstrução da entidade",
null,
@@ -3482,7 +3482,7 @@
"designadores encadeados não são permitidos para um tipo de classe com um destruidor não trivial",
"uma declaração de especialização explícita não pode ser uma declaração de friend",
"o tipo std::float128_t não tem suporte; em vez disso, std::float64_t será usado",
"o tipo std::bfloat16_t não tem suporte; em vez disso, std::float32_t será usado",
null,
"um guia de dedução não pode ser declarado para o modelo de alias %no",
"%n foi declarado indisponível",
"%n foi declarado indisponível (%sq)",
@@ -3501,9 +3501,9 @@
"modo de saída não reconhecido (deve ser um texto, sarif): %s",
"a opção 'c23_typeof' pode ser usada somente ao compilar C",
"número de versão clang inválido: %s",
"A cadeia de caracteres IFC contém um caractere nulo (zero) inesperado no módulo %sq",
"%d1 de %d2 bytes foram usados",
"de informações de string na partição %sq, elemento %u1 (posição do arquivo %u2, posição relativa %u3)",
null,
null,
null,
"não é possível avaliar um inicializador para um membro de matriz flexível",
"um inicializador de campo de bit padrão é um recurso C++20",
"muitos argumentos na lista de argumentos do modelo no módulo %sq",
@@ -3556,5 +3556,34 @@
"o número de parâmetro %d de %n tem o tipo incompleto %t",
"o número de parâmetro %d de %n tem tipo o abstrato %t",
"associações estruturadas são um recurso do C++17",
"capturar associações estruturadas é um recurso do C++20"
"capturar associações estruturadas é um recurso do C++20",
"operando do splicer tem o tipo %t em vez de std::meta::info",
"o operando (reflexão para %r) não é o reflexo de um tipo",
"operando não constante do splicer",
"uso de %t em vez de std::string_view (= std::basic_string_view<char>)",
"std::string_view usado aqui é inconsistente com o uso em outros elementos intrínsecos",
"a definição de std::string_view não corresponde a suposições de reflexão (nenhuma classe base nem membros de dados para ponteiro e comprimento)",
"a reflexão não é a de um valor constante",
"não é possível criar uma matriz de comprimento zero",
"o comprimento (%d1) passado para make_constexpr_array é maior que o número de elementos disponíveis (%d2)",
"a definição de std::meta::infovec não corresponde a suposições de reflexão (nenhuma classe base nem membros de dados para ponteiro, comprimento e capacidade)",
"reflexão incorreta (%r) para a expressão splice",
"%n já foi definido (definição anterior %p)",
"objeto infovec não inicializado",
"o value_of tipo %t1 não é compatível com a reflexão fornecida (entidade com o tipo %t2)",
"refletir um conjunto de sobrecargas não é permitido no momento",
"este elemento intrínseco requer uma reflexão para uma instância de modelo",
"tipos incompatíveis %t1 e %t2 para o operador",
"reflexão inválida para metafunção intrínseca",
"a metafunção intrínseca requer uma reflexão para um membro de classe",
"uma classe não pode derivar de uma união",
"não pode derivar de uma classe com um membro de matriz flexível",
"reflexão nula",
"alias do namespace",
"reflexão (detalhes indisponíveis)",
"reflexão incorreta (%r) para o argumento de modelo em std::meta::substitute",
"falha na chamada para std::meta::substitute (para %r)",
"o valor de reflexão refere-se à entidade inativa",
"uma expressão splice deve unir um valor constante, uma variável ou uma função",
"uma splice de acesso de membro deve corresponder a um membro de dados ou uma função membro"
]
+50 -21
View File
@@ -69,7 +69,7 @@
"требуется фигурная скобка \"}\"",
"целочисленное преобразование привело к смене знака",
"целочисленное преобразование привело к усечению",
"недопустимый неполный тип",
"использование неполного типа %t не разрешено",
"операнд sizeof не может быть полем",
null,
null,
@@ -301,7 +301,7 @@
"не удается определить экземпляр %n, использование которого предполагается",
"указатель на привязанную функцию можно использовать только для вызова функции",
"имя определения типа уже объявлено с тем же типом",
"%n - уже было определено",
null,
null,
"отсутствуют экземпляры %n, соответствующие списку аргументов",
"использование определения типа в объявлении возвращаемого типа функции не допускается",
@@ -392,7 +392,7 @@
"не удается вызвать функцию \"main\" или получить ее адрес",
"невозможно указать новый инициализатор для массива",
"функция-член %no не может быть повторно объявлена вне соответствующего класса",
"использование указателя на неполный тип класса %t не допускается",
null,
"использование ссылок на локальные переменные включающей функции не допускается",
"используется постфиксная форма функции с одним аргументом %sq (устаревший элемент)",
null,
@@ -832,7 +832,7 @@
"%n не имеет соответствующего оператора delete%s, который будет вызываться при возникновении исключения в процессе инициализации объектов, для которых выделена память",
"удаление размещений не поддерживается",
"отсутствуют видимые операторы удаления",
"использование указателя или ссылки на неполный тип не допускается",
"использование указателя или ссылки на неполный тип %t не разрешено",
"недопустимая частичная специализация -- уже выполнена полная специализация %n",
"несовместимые спецификации исключений",
"возвращение ссылки на локальную переменную",
@@ -853,7 +853,7 @@
"тип приведения должен быть арифметическим, перечисляемым или указателем",
"выражение должно представлять собой указатель на полный тип объекта",
null,
"нетипизированный аргумент частичной специализации должен представлять собой имя нетипизированных параметра или константы",
null,
"возвращаемый тип не идентичен возвращаемому типу %t переопределенной виртуальной функции %no",
"параметр guiding_decls можно использовать только при компиляции C++",
"частичная специализация шаблона класса должна быть объявлена в пространстве имен, членом которого он является",
@@ -1444,7 +1444,7 @@
"__real и __imag могут применяться только к комплексным значениям",
"__real или __imag применяется к действительному значению",
"%n объявлено как deprecated (%sq)",
"недопустимое повторное объявление %nd",
null,
"dllimport или dllexport применяется к члену неименованного пространства имен",
"__thiscall может использоваться только в объявлениях статических функций-членов",
"__thiscall не может использоваться в функции с параметром-многоточием",
@@ -2641,7 +2641,7 @@
"инициализатор поля для %nd не является константным выражением",
"количество ограничений операнда должно быть одинаковым во всех строках ограничений",
"строка ограничений содержит слишком много других ограничений; не все ограничения были проверены",
"вызов через незавершенный класс %t будет всегда вызывать ошибку при создании экземпляров",
null,
"Элемент decltype(auto) не может иметь добавленные квалификаторы типа.",
"параметр init-capture %nod невозможно записать здесь",
"недопустимый нетипизированный аргумент шаблона типа %t",
@@ -3364,7 +3364,7 @@
"выражение должно иметь арифметический тип, тип перечисления без области или тип указателя, но имеет тип %t",
"выражение должно иметь тип указателя, но имеет тип %t",
"оператор -> или ->* применяется к %t, а не к типу указателя",
"недопустимый неполный тип класса %t",
null,
"не удается интерпретировать битовый макет для этого целевого объекта компиляции",
"отсутствует соответствующий оператор для оператора IFC %sq",
"отсутствует соответствующее соглашение о вызовах для соглашения о вызовах IFC %sq",
@@ -3372,7 +3372,7 @@
"неподдерживаемая конструкция IFC: %sq",
"__is_signed больше не является ключевым словом из этой точки",
"измерение массива должно иметь постоянное целочисленное значение без знака",
"файл IFC %sq имеет неподдерживаемую версию %d1.%d2",
null,
"модули не включены в этом режиме",
"слово \"import\" не допускается в имени модуля",
"слово \"module\" не допускается в имени модуля",
@@ -3423,9 +3423,9 @@
null,
"модуль %sq1, позиция файла %u1 (относительная позиция %u2) запрошена для раздела %sq2, который переполняет окончание этого раздела",
"модуль %sq1, позиция файла %u1 (относительная позиция %u2) запрошена для раздела %sq2, который не выровнен по элементам разделов",
"из подполя %sq (относительное положение к узлу %d)",
"из подполя %sq (относительное положение к узлу %u)",
"из раздела %sq, элемент %u1 (позиция файла %u2, относительная позиция %u3)",
"здесь нестандартные лямбда-атрибуты",
"атрибуты в лямбда-выражениях являются компонентом C++23",
"идентификатор %sq можно перепутать с визуально похожим %p",
"этот комментарий содержит подозрительные управляющие символы форматирования Юникода",
"эта строка содержит управляющие символы форматирования Юникода, которые могут привести к непредвиденной работе среды выполнения",
@@ -3442,9 +3442,9 @@
"Представление IFC определения функции %sq недопустимо",
null,
"диаграмма IFC UniLevel не использовалось для указания параметров",
"несколько (%d1) параметров указаны в диаграмме определения параметров IFC, в то время как несколько (%d2) параметров указаны в объявлении IFC",
"%d1 параметр указан в диаграмме определения параметров IFC, в то время как несколько (%d2) параметров указаны в объявлении IFC",
"несколько (%d1) параметров указаны в диаграмме определения параметров IFC, в то время как %d2 параметр указан в объявлении IFC",
"несколько (%u1) параметров указаны в диаграмме определения параметров IFC, в то время как несколько (%u2) параметров указаны в объявлении IFC",
"%u1 параметр указан в диаграмме определения параметров IFC, в то время как несколько (%u2) параметров указаны в объявлении IFC",
"несколько (%u1) параметров указаны в диаграмме определения параметров IFC, в то время как %u2 параметр указан в объявлении IFC",
"Представление IFC определения функции %sq отсутствует",
"модификатор функции не применяется к объявлению шаблона элемента",
"выбор элемента включает слишком много вложенных анонимных типов",
@@ -3466,12 +3466,12 @@
"дубликат квалификатора \"asm\"",
"битовые поля с неполным типом или непрозрачное перечисление с недопустимым базовым типом",
"попытка создать элемент из раздела IFC %sq с использованием индекса в разделе IFC %sq2",
"раздел %sq указал размер своей записи как %d1, в то время как ожидалось %d2",
"размер записи в разделе %sq указан как %u1, в то время как ожидалось %u2",
"При обработке модуля %sq1 было обнаружено неожиданное требование IFC",
"сбой условия в строке %d в %s1: %sq2",
"атомарное ограничение зависит от самого себя",
"Функция \"noreturn\" имеет не недействительный тип возврата",
"исправление внесено путем удаления параметра %sq (по относительному индексу %d)",
"исправление внесено путем удаления параметра %sq (по относительному индексу %u)",
"аргумент шаблона по умолчанию не может быть указан в определении шаблона элемента вне его класса",
"обнаружено недопустимое имя идентификатора IFC %sq во время реконструкции сущности",
null,
@@ -3482,7 +3482,7 @@
"цепные обозначения не разрешены для типа класса с нетривиальным деструктором",
"явное объявление специализации не может быть объявлением дружественной функции",
"тип std::float128_t не поддерживается; вместо этого будет использоваться std::float64_t",
"тип std::bfloat16_t не поддерживается; вместо этого будет использоваться std::float32_t",
null,
"руководство по дедукции не может быть объявлено для шаблона псевдонима %no",
"%n объявлено недоступным",
"%n объявлено недоступным (%sq)",
@@ -3501,9 +3501,9 @@
"нераспознанный режим вывода (должен быть одним из текстовых, sarif): %s",
"параметр 'c23_typeof' можно использовать только при компиляции С",
"недопустимый номер версии Clang: %s",
"Строка IFC содержит непредвиденный символ NULL (ноль) в модуле %sq",
"Использовано байт: %d1 из %d2",
"из сведений строки раздела %sq, элемент %u1 (позиция файла %u2, относительная позиция %u3)",
null,
null,
null,
"не удается оценить инициализатор для элемента гибкого массива",
"стандартный инициализатор битового поля является функцией C++20",
"слишком много аргументов в списке аргументов шаблона в модуле %sq",
@@ -3556,5 +3556,34 @@
"номер параметра %d из %n имеет неполный тип %t",
"номер параметра %d из %n имеет абстрактный тип %t",
"структурированные привязки — это функция C++17",
"запись структурированных привязок — это функция C++20"
"запись структурированных привязок — это функция C++20",
"операнд splicer имеет тип %t вместо std::meta::info",
"операнд (отражение для %r) не является отражением типа",
"неконстантный операнд splicer",
"использование %t вместо std::string_view (= std::basic_string_view<char>)",
"используемый здесь std::string_view несовместим с использованием в других встроенных функциях.",
"определение std::string_view не соответствует предположениям об отражении (нет базовых классов и элементов данных для указателя и длины)",
"отражение не является отражением постоянной величины",
"не удается сделать массив нулевой длины",
"длина (%d1), переданная в make_constexpr_array, больше числа доступных элементов (%d2)",
"определение std::meta::infovec не соответствует предположениям об отражении (нет базовых классов и элементов данных для указателя, длины и емкости)",
"плохое отражение (%r) для выражения splice",
"%n уже определено (предыдущее определение %p)",
"объект infovec не инициализирован",
"value_of type %t1 несовместимо с данным отражением (сущность с типом %t2)",
"отражение набора перегрузки сейчас не разрешено",
"эта внутренняя функция требует отражения для экземпляра шаблона",
"несовместимые типы %t1 и %t2 для оператора",
"недопустимое отражение для внутренней метафункции",
"внутренняя метафункция требует отражения для элемента класса",
"класс не может не быть производным от объединения",
"не может быть производным от класса с гибким элементом массива",
"отражение null",
"псевдоним пространства имен",
"отражение (сведения недоступны)",
"неправильное отражение (%r) для аргумента шаблона в std::meta::substitute",
"сбой вызова std::meta::substitute (для %r)",
"значение отражения относится к неактивной сущности",
"выражение splice должно объединять постоянное значение, переменную или функцию",
"элемент группы доступа должен объединять элемент данных или функцию элемента"
]
+51 -22
View File
@@ -69,7 +69,7 @@
"'}' bekleniyor",
"tamsayı dönüştürme işlemi işaret değişikliğine sebep oldu",
"tamsayı dönüştürme işlemi kesme ile sonuçlandı",
"tamamlanmamış türe izin verilmiyor",
"tamamlanmamış %t türüne izin verilmiyor",
"sizeof işleneni, bir bit alanı olamaz",
null,
null,
@@ -301,7 +301,7 @@
"hangi %n örneğinin hedeflendiği belirlenemiyor",
"bir bağlı işlev işaretçisi, yalnızca işlevi çağırmak için kullanılabilir",
"typedef adı önceden belirtilmiş (aynı ad ile)",
"%n önceden tanımlanmış",
null,
null,
"bağımsız değişken listesiyle eşleşen %n örneği yok",
"işlev dönüş türü bildiriminde tür tanımına izin verilmiyor",
@@ -392,7 +392,7 @@
"'main' işlevinin adresi alınamaz veya işleve çağrı yapılamaz",
"bir dizi için 'new' başlatıcısı belirtilemez",
"%no üye işlevi, kendi sınıfının dışında tekrar bildirilemez",
"tamamlanmamış %t sınıf türüne yönelik işaretçiye izin verilmiyor",
null,
"kapsayan işlevin yerel değişkenine başvuru yapılmasına izin verilmiyor",
"sonek %sq için tek bağımsız değişkenli işlev kullanılmış (anakronizm)",
null,
@@ -832,7 +832,7 @@
"%n öğesinin delete%s ile ilgili işleci (ayrılmış bir nesne başlatılırken özel bir durum oluşturulursa çağrılmak üzere) yok",
"yerleşimleri silme desteği devre dışı",
"görülebilir uygun delete işleci yok",
"tamamlanmamış türe işaretçi veya başvuruya izin verilmiyor",
"tamamlanmamış %t türüne işaretçi veya başvuru izni verilmiyor",
"kısmi özelleşme geçersiz -- %n zaten tam özelleşmiş",
"özel durum belirtimleri uyumsuz",
"yerel değişkene başvuru döndürülüyor",
@@ -853,7 +853,7 @@
"dönüştürme türü, aritmetik, sabit listesi veya işaretçi türünde olmalı",
"ifade bir tam nesne türüne işaretçi olmalı",
null,
"kısmi özelleşmenin tür olmayan bağımsız değişkeni, bir sabitin veya tür olmayan bir parametrenin adı olmalıdır",
null,
"dönüş türü, geçersiz kılınmış sanal %no işlevinin dönüş türü %t ile aynı değil",
"'guiding_decls' seçeneği yalnızca C++ derlerken kullanılabilir",
"bir sınıf şablonunun kısmi özelleşmesi, üyesi olduğu ad uzayı içerisinde bildirilmeli",
@@ -1255,7 +1255,7 @@
"bildirim, belirtilen temel sınıftaki bir saf sanal üye işlevine karşılık gelmelidir",
"%t öğesinin boyutu veya karmaşıklığı nedeniyle iç hesaplamada tamsayı taşması oluştu",
"iç hesaplamada tamsayı taşması",
"__64 yalnızca int, long ve işaretçi türlerinde belirtilebilir",
"__w64 yalnızca int, long ve işaretçi türlerinde belirtilebilir",
"int, long veya işaretçi türlerinin 64 bit genişliğinde olduğu bir ortamda derleme yapıldığında muhtemelen daraltma dönüştürmesi",
"pragma paketinin geçerli değeri %s",
"pragma pack(show) için bağımsız değişkenler yoksayılıyor",
@@ -1444,7 +1444,7 @@
"__real ve __imag yalnızca karmaşık değerlere uygulanabilir",
"__real/__imag gerçek değere uygulandı",
"%n kullanımdan kaldırıldı (%sq) olarak bildirildi",
"%nd öğesinin yeniden tanımlanması geçersiz",
null,
"dll/dllexport adlandırılmamış bir ad uzayının bir üyesine uygulanıyor",
"__thiscall, yalnızca statik olmayan üye işlev bildirimlerinde bulunabilir",
"__thiscall, üç nokta parametresi bulunan işlevlerde kullanılamaz",
@@ -2641,7 +2641,7 @@
"%nd için alan başlatıcısı sabit bir ifade değil",
"işlenen kısıtlamaların sayısı her kısıtlama dizesinde aynı olmalıdır",
"kısıtlama dizesi çok fazla alternatif kısıtlama içeriyor; tüm kısıtlamalar kontrol edilmedi",
"%t tamamlanmamış sınıfına yapılan çağrı, her örnek oluşturulduğunda hata üretecek",
null,
"decltype(auto), eklenen tür niteleyicisi içeremez",
"init-capture %nod burada yakalanamıyor",
"%t türündeki tür olmayan şablon bağımsız değişkeni geçersiz",
@@ -3364,7 +3364,7 @@
"ifade aritmetik, kapsamlı olmayan sabit listesi veya işaretçi türüne sahip olmalıdır ancak %t türüne sahip",
"ifade işaretçi türüne sahip olmalıdır ancak %t türüne sahip",
"-> veya ->* operatörü işaretçi türü yerine %t türüne uygulandı",
"tamamlanmamış %t sınıf türüne izin verilmiyor",
null,
"bu derleme hedefi için bit düzeni yorumlanamıyor",
"%sq IFC operatörüne karşılık gelen operatör yok",
"%sq IFC çağırma kuralına karşılık gelen çağırma kuralı yok",
@@ -3372,7 +3372,7 @@
"desteklenmeyen IFC yapısı: %sq",
"__is_signed şu andan itibaren bir anahtar sözcük değil",
"dizi boyutu sabit bir işaretsiz tamsayı değerine sahip olmalıdır",
"%sq IFC dosyasının sürümü desteklenmiyor: %d1.%d2",
null,
"modüller bu modda etkin değil",
"'import', modül adında kullanılamaz.",
"Modül adında 'module' kullanılmasına izin verilmez",
@@ -3423,9 +3423,9 @@
null,
"modül %sq1 dosya konumu %u1 (%u2 göreli konum) %sq2 bölümü için istendi - bu, bölümünün sonundan taşar",
"%sq1 modülünün %u1 dosya konumu (%u2 göreli konumu) bölüm öğeleriyle yanlış hizalanan %sq2 bölümü için istekte bulundu",
"%sq alt alanından (%d düğümüne göreli olan konum)",
"%sq alt alanından (%u düğümüne göreli konum)",
"%sq bölümündeki %u1 öğesinden (%u2 dosya konumu, %u3 göreli konumu)",
"lambda öznitelikleri burada standart dışı",
"lambdalar üzerindeki öznitelikler bir C++23 özelliğidir",
"%sq tanımlayıcısı görsel olarak %p gibi görünen tanımlayıcıyla karıştırılabilir",
"bu açıklama, şüpheli Unicode biçimlendirme denetim karakterleri içeriyor",
"bu dize beklenmeyen çalışma zamanı davranışına neden olabilecek Unicode biçimlendirme denetim karakterleri içeriyor",
@@ -3442,9 +3442,9 @@
"%sq işlevine ait tanımın IFC gösterimi geçersiz",
null,
"parametreleri belirtmek için UniLevel IFC grafiği kullanılmadı",
"%d1 parametre IFC parametre tanım grafiği tarafından belirtilirken %d2 parametre IFC bildirimi tarafından belirtildi",
"%d1 parametre IFC parametre tanım grafiği tarafından belirtilirken %d2 parametre IFC bildirimi tarafından belirtildi",
"%d1 parametre IFC parametre tanım grafiği tarafından belirtilirken %d2 parametre IFC bildirimi tarafından belirtildi",
"%u1 parametreleri, IFC parametre tanım grafiği tarafından, %u2 parametreleri ise IFC bildirimi tarafından belirtilir",
"%u1 parametresi, IFC parametre tanım grafiği tarafından, %u2 parametreleri ise IFC bildirimi tarafından belirtilmiştir",
"%u1 parametreleri, IFC parametre tanım grafiği tarafından, %u2 parametresi ise IFC bildirimi tarafından belirtilmiştir",
"%sq işlevine ait tanımın IFC gösterimi eksik",
"işlev değiştirici, üye şablonu bildirimi için geçerli değil",
"üye seçimi çok fazla iç içe anonim tür içeriyor",
@@ -3466,12 +3466,12 @@
"yinelenen 'asm' niteleyicisi",
"tamamlanmamış sabit listesi türüne sahip bir bit alanı veya geçersiz temel türe sahip opak bir sabit listesi",
"%sq2 IFC bölümü içinde bir dizin kullanılarak %sq IFC bölümündeki bir öğe oluşturulmaya çalışıldı",
"%sq bölümü, %d2 beklenirken girdi boyutunu %d1 olarak belirtti",
"%sq bölümü, %u2 beklendiğinde giriş boyutunu %u1 olarak belirtti",
"%sq1 modülü işlenirken beklenmeyen bir IFC gereksinimiyle karşılaşıldı",
"koşul, %d numaralı satırda (%s1 içinde) başarısız oldu: %sq2",
"atomik kısıtlama kendisine bağımlı",
"'noreturn' işlevi geçersiz olmayan bir dönüş türüne sahiptir",
"%sq parametresi kaldırılarak bir düzeltme yapıldı (%d göreli dizininde)",
"%sq parametresi kaldırılarak bir düzeltme yapıldı (%u göreli dizininde)",
"varsayılan bir şablon bağımsız değişkeni, sınıfının dışındaki bir şablon üyesinin tanımında belirtilemez",
"varlık yeniden oluşturma işlemi sırasında geçersiz %sq IFC tanımlayıcı adı ile karşılaşıldı",
null,
@@ -3482,7 +3482,7 @@
"zincirli belirleyicilere, önemsiz yıkıcıya sahip bir sınıf türü için izin verilmez",
"açık bir özelleştirme bildirimi, arkadaş bildirimi olamaz",
"std::float128_t türü desteklenmiyor; bunun yerine std::float64_t kullanılacak",
"std::bfloat16_t türü desteklenmiyor; bunun yerine std::float32_t kullanılacak",
null,
"%no diğer ad şablonu için çıkarsama kılavuzu bildirilmemiş olabilir",
"%n, kullanılamaz olarak bildirildi",
"%n, kullanılamaz olarak bildirildi (%sq)",
@@ -3501,9 +3501,9 @@
"tanınmayan çıkış modu (metin, sarif olmalıdır): %s",
"'c23_typeof' seçeneği yalnızca C derlerken kullanılabilir",
"geçersiz clang sürüm numarası: %s",
"IFC dizesi, %sq modülünde beklenmeyen boş (sıfır) karakter içeriyor",
"%d2 bayttan %d1'i kullanıldı",
"%sq bölümündeki dize bilgisinden %u1 öğesi (dosya konumu %u2, göreli konum %u3)",
null,
null,
null,
"esnek bir dizi üyesi için bir başlatıcıyı değerlendiremez",
"varsayılan bir bit alanı başlatıcı, bir C++20 özelliğidir",
"%sq modülündeki şablon argüman listesinde çok fazla argüman var",
@@ -3556,5 +3556,34 @@
"%n üzerindeki %d numaralı parametre %t türünde ve tür tamamlanmamış",
"%n üzerindeki %d numaralı parametre %t türünde ve bu bir soyut tür",
"yapılandırılmış bağlamalar bir C++17 özelliğidir",
"yapılandırılmış bağlamaların yakalanması bir C++20 özelliğidir"
"yapılandırılmış bağlamaların yakalanması bir C++20 özelliğidir",
"splicer işleneni, std::meta::info yerine %t türüne sahip",
"işlenen (%r için yansıma) bir türün yansıması değil",
"eşleyicinin tutarsız işleneni",
"std::string_view yerine %t kullanımı (= std::basic_string_view<char>)",
"burada kullanılan std::string_view diğer iç öğelerde kullanım ile tutarsızlık gösteriyor",
"std::string_view tanımı yansıtma varsayımları ile eşleşmiyor (işaretçi ve uzunluk için temel sınıf ve veri üyesi yok)",
"yansıma sabit bir değer değil",
"sıfır uzunluklu bir dizi oluşturulamıyor",
"make_constexpr_array uzunluğu (%d1) kullanılabilir öğe sayısından (%d2) daha büyük",
"std::meta::infovec tanımı yansıtma varsayımları ile eşleşmiyor (işaretçi, uzunluk ve kapasite için temel sınıf ve veri üyesi yok)",
"ifade eşleme için hatalı yansıma (%r)",
"%n zaten tanımlandı (önceki tanım %p)",
"infovec nesnesi başlatılamadı",
"value_of %t1 türü verilen yansımayla (%t2 türüne sahip varlık) uyumlu değil",
"aşırı yükleme kümesini yansıtmaya şu anda izin verilmiyor",
"bu iç öğe, bir şablon örneği için yansıma gerektiriyor",
"işleç için %t1 ve %t2 türleri uyumsuz",
"iç meta işlev için geçersiz yansıma",
"iç meta işlev, bir sınıf üyesi için yansıma gerektirir",
"sınıf bir birleşimden türetilemez",
"esnek bir dizi üyesine sahip bir sınıftan türetilemez",
"null yansıma",
"ad alanı diğer adı",
"yansıma (ayrıntılar kullanılamıyor)",
"std::meta::substitute içinde şablon bağımsız değişken için hatalı yansıma (%r)",
"std::meta::substitute çağrısı (%r için) başarısız oldu",
"yansıma değeri etkin olmayan varlığa başvurur",
"ifade eşleme ile bir sabit değer, bir değişken veya bir işlev eşlenmelidir",
"üye erişimi eşleme ile bir veri üyesi veya bir üye işlevi eşlenmelidir"
]
+50 -21
View File
@@ -69,7 +69,7 @@
"应输入“}”",
"整数转换导致符号更改",
"整数转换导致截断",
"不允许使用不完整的类型",
"不允许使用不完整的类型 %t",
"sizeof 的操作数不能是位域",
null,
null,
@@ -301,7 +301,7 @@
"无法确定需要哪个 %n 实例",
"指向绑定函数的指针只能用于调用函数",
"已声明 typedef 名称(使用相同类型)",
"%n 已定义",
null,
null,
"没有与参数列表匹配的 %n 实例",
"函数返回类型声明中不允许类型定义",
@@ -392,7 +392,7 @@
"不能调用函数“main”或提取其地址",
"不能为数组指定新的初始值设定项",
"不能在成员函数 %no 的类外部重新声明该函数",
"不允许指针指向不完整的类类型 %t",
null,
"不允许引用封闭函数的局部变量",
"对后缀 %sq 使用了单参数函数(计时错误)",
null,
@@ -832,7 +832,7 @@
"%n 没有对应的运算符 delete%s (在已分配对象的初始化过程中丢弃异常时将被调用)",
"已禁用对位置删除的支持",
"看不到适当的运算符删除",
"不允许使用指向不完整类型的指针或引用",
"不允许使用指向不完整类型 %t 的指针或引用",
"部分专用化无效 -- %n 已完全专用化",
"不兼容的异常规范",
"正在返回对局部变量的引用",
@@ -853,7 +853,7 @@
"强制转换的类型必须是算法、枚举或指针",
"表达式必须是指向完整对象类型的指针",
null,
"部分专用化非类型实参必须是非类型形参的名称或常量",
null,
"返回类型与重写虚拟函数 %no 的返回类型 %t 不相同",
"选项“guiding_decls”只能在编译 C++ 时使用",
"类模板的部分专用化必须在其成员命名空间中声明",
@@ -1444,7 +1444,7 @@
"__real 和 __imag 只能应用于复数值",
"__real/__imag 适用于实数值",
"%n 已声明为弃用(%sq)",
"%nd 重新定义无效",
null,
"dllimport/dllexport 适用于未命名命名空间的成员",
"__thiscall 只能出现在非静态成员函数声明中",
"带有省略号参数的函数中不允许使用 __thiscall",
@@ -2641,7 +2641,7 @@
"%nd 的字段初始值设定项不是常量表达式",
"各约束字符串中操作数约束的数量必须相同",
"约束字符串包含太多可选约束;并未检查所有的约束",
"通过不完整的类 %t 进行的调用在实例化时总是会生成错误",
null,
"decltype(auto) 不能有添加的类型限定符",
"此处无法捕获 init-capture %nod",
"类型 %t 的非类型模板参数无效",
@@ -3364,7 +3364,7 @@
"表达式必须包含算术、未区分范围的枚举或指针类型,但它具有类型 %t",
"表达式必须包含指针类型,但它具有类型 %t",
"运算符 -> 或 ->* 应用于 %t 而不是指针类型",
"不允许使用不完整的类类型 %t",
null,
"无法解释此编译目标的位布局",
"IFC 运算符 %sq 没有对应的运算符",
"IFC 调用约定 %sq 没有相应的调用约定",
@@ -3372,7 +3372,7 @@
"不支持的 IFC 构造: %sq",
"__is_signed 不再是从此点开始的关键字",
"数组维度必须具有常量无符号整数值",
"IFC 文件 %sq 具有不受支持的版本 %d1。%d2",
null,
"此模式中没有启用模块",
"模块名称中不允许使用 \"import\"",
"模块名称中不允许使用 \"module\"",
@@ -3423,9 +3423,9 @@
null,
"已请求模块 %sq1 文件位置 %u1 (相对位置 %u2),针对分区 %sq2 请求 - 溢出其分区的末尾",
"已请求模块 %sq1 文件位置 %u1 (相对位置 %u2),针对分区 %sq2 - 与其分区元素不一致",
"从子域 %sq (相对于节点 %d 的位置)",
"从子域 %sq (相对于节点 %u 的位置)",
"来自分区 %sq 元素 %u1(文件位置 %u2,相对位置 %u3)",
"lambda 属性在此处为非标准属性",
"Lambda 上的特性是一项 C++23 功能",
"标识符 %sq 可能与显示 %p 的视觉上相似的标识符混淆",
"此注释包含可疑的 Unicode 格式控制字符",
"此字符串包含可能导致意外运行时行为的 Unicode 格式控制字符",
@@ -3442,9 +3442,9 @@
"函数 %sq 定义的 IFC 表示形式无效",
null,
"未将 UniLevel IFC 图表用于指定参数",
"%d1 参数由 IFC 参数定义图表指定,而 %d2 参数由 IFC 声明指定",
"%d1 参数由 IFC 参数定义图表指定,而 %d2 参数由 IFC 声明指定",
"%d1 参数由 IFC 参数定义图表指定,而 %d2 参数由 IFC 声明指定",
"%u1 参数由 IFC 参数定义图表指定,而 %u2 参数由 IFC 声明指定",
"%u1 参数由 IFC 参数定义图表指定,而 %u2 参数由 IFC 声明指定",
"%u1 参数由 IFC 参数定义图表指定,而 %u2 参数由 IFC 声明指定",
"缺少函数 %sq 定义的 IFC 表示形式",
"函数修饰符不适用于成员模板声明",
"成员选择涉及太多嵌套的匿名类型",
@@ -3466,12 +3466,12 @@
"重复的 \"asm\" 限定符",
"具有不完整枚举类型的位字段或具有无效基类型的不透明枚举",
"已尝试使用索引将一个元素从 IFC 分区 %sq 构造到 IFC 分区 %sq2",
"分区 %sq 将其条目大小指定为 %d1,正确的大小为 %d2",
"分区 %sq 将其条目大小指定为 %u1,正确的大小为 %u2",
"处理模块 %sq1 时遇到意外的 IFC 要求",
"条件失败,行 %d%s1: %sq2",
"原子约束依赖于自身",
"“noreturn”函数具有非 void 返回类型",
"通过删除参数 %sq (在相对索引 %d 处)进行了更正",
"通过删除参数 %sq (在相对索引 %u 处)进行了更正",
"不能在成员模板类之外的成员模板定义上指定默认模板参数",
"实体重建期间遇到了无效的 IFC 标识符名称 %sq",
null,
@@ -3482,7 +3482,7 @@
"对于具有非平凡析构函数的类的类型,不允许使用链式指示符",
"显式专用化声明不能是友元声明",
"不支持 std::float128_t 类型; 将改用 std::float64_t",
"不支持 std::bfloat16_t 类型; 将改用 std::float32_t",
null,
"不能为别名模板 %no 声明推导指南",
"%n 已声明为不可用",
"%n 已声明为不可用 (%sq)",
@@ -3501,9 +3501,9 @@
"无法识别的输出模式(必须是文本或 sarif 格式中的一种): %s",
"\"c23_typeof\" 选项只能在编译 C 时使用",
"无效的 clang 版本号: %s",
"IFC 字符串在模块 %sq 中包含意外的 null (零) 字符",
"使用了 %d1 个字节(共 %d2 个字节)",
"来自分区 %sq 元素 %u1 (文件位置 %u2,相对位置 %u3) 中的字符串信息",
null,
null,
null,
"无法计算灵活数组成员的初始值设定项",
"默认位字段初始化表达式是 C++20 的特性。",
"模块 %sq 的模板参数列表中的参数太多",
@@ -3556,5 +3556,34 @@
"%n 的参数编号 %d 具有未完成的类型 %t",
"%n 的参数编号 %d 具有抽象类型 %t",
"结构化绑定是一项 C++17 功能",
"捕获结构化绑定是一项 C++20 功能"
"捕获结构化绑定是一项 C++20 功能",
"拼接程序的操作数具有类型 %t 而不是 std::meta::info",
"操作数(%r 的反射)不是类型的反射",
"拼接程序的非常量操作数",
"使用 %t 而不是 std::string_view (= std::basic_string_view<char>)",
"此处使用的 std::string_view 与其他内部函数中的使用不一致",
"std::string_view 的定义与反射的假设不匹配(指针和长度没有基类和数据成员)",
"反射不是常量值的反射",
"无法创建零长度的数组",
"传递到 std::meta::substitute 的长度(%d1)比可用元素数量(%d2)要长",
"std::meta::infovec 的定义与反射的假设不匹配(指针、长度和容量没有基类和数据成员)",
"表达式拼接的错误反射(%r)",
"已定义 %n (之前的定义 %p)",
"infovec 对象未初始化",
"value_of 类型 %t1 与给定的反射(类型为 %t2 的实体)不兼容",
"当前不允许反射重载集",
"此内部函数需要模板实例的反射",
"运算符的类型 %t1 和 %t2 不兼容",
"内部元函数的映射无效",
"内部元函数需要对类成员进行反射",
"类不能从联合派生",
"无法从具有灵活数组成员的类派生",
"null 反射",
"命名空间别名",
"反射(详细信息不可用)",
"std::meta::substitute 中模板参数的错误反射(%r)",
"(为 %r)调用 std::meta::substitute 失败",
"反射值引用非活动实体",
"表达式拼接必须将常量值、变量或函数拼接在一起",
"成员访问拼接必须将数据成员或成员函数拼接在一起"
]
+50 -21
View File
@@ -69,7 +69,7 @@
"必須是 '}'",
"整數轉換導致符號變更",
"整數轉換導致截斷",
"不允許不完整的類型",
"不允許不完整的類型 %t",
"sizeof 的運算元可能不是位元欄位",
null,
null,
@@ -301,7 +301,7 @@
"無法判斷要使用 %n 的哪個執行個體",
"繫結函式的指標只可用來呼叫該函式",
"已經宣告 typedef 名稱 (以相同的類型)",
"已經定義 %n",
null,
null,
"%n 沒有任何執行個體符合引數清單",
"函式傳回類型宣告不能有類型定義",
@@ -392,7 +392,7 @@
"函式 'main' 不能被呼叫或使用自己的位址",
"不可為陣列指定 new 初始設定式",
"成員函式 %no 不能在其類別之外重新宣告",
"不得使用不完整的類別類型 %t 指標",
null,
"不允許參考封入函式的區域變數",
"單一引數函式用於後置 %sq (過時用法)",
null,
@@ -832,7 +832,7 @@
"%n 沒有對應的 delete%s 運算子 (要在初始化配置物件期間發生例外狀況時呼叫)",
"位置刪除的支援已停用",
"沒有顯示適當的 delete 運算子",
"不允許類型不完整的指標或參考",
"不允許不完整類型 %t 的指標或參考",
"無效的部分特製化 -- %n 已經完全特製化",
"不相容的例外狀況規格",
"傳回區域變數的參考",
@@ -853,7 +853,7 @@
"轉換的類型必須是算術、列舉或指標類型",
"運算式必須是完整物件類型的指標",
null,
"部分特製化非類型引數必須是非類型參數或常數的名稱",
null,
"傳回類型與覆寫虛擬函式 %no 的傳回類型 %t 不相同",
"'guiding_decls' 選項只有在編譯 C++ 時才能使用",
"類別樣板的部分特製化必須在其所屬的命名空間中宣告",
@@ -1444,7 +1444,7 @@
"__real 和 __imag 只能套用至複雜值",
"__real/__imag 已套用至實數值",
"將 %nd 宣告為已被取代 (%sq)",
"%nd 的重新定義無效",
null,
"dllimport/dllexport 已套用至未命名的命名空間的成員",
"__thiscall 只能出現在非靜態成員函式宣告上",
"__thiscall 不允許用於有省略符號參數的函式",
@@ -2641,7 +2641,7 @@
"%nd 的欄位初始設定式不是常數運算式",
"每個條件約束字串中的運算元條件約束數目皆必須相同",
"條件約束字串包含太多替代條件約束; 並未檢查所有條件約束",
"透過不完整的類別 %t 進行的呼叫只要被具現化,就一定會產生錯誤",
null,
"decltype(auto) 不能有新增的類型限定詞",
"init-capture %nod 不能在這裡擷取",
"類型 %t 的非類型範本引數無效",
@@ -3364,7 +3364,7 @@
"運算式必須要有算術、不限範圍列舉或指標類型,但其類型為 %t",
"運算式必須要有指標類型,但其類型為 %t",
"運算子 -> 或 ->* 適用於 %t,但不適用於指標類型",
"不得使用不完整的類別類型 %t",
null,
"無法解譯此編譯目標的位元配置",
"IFC 運算子 %sq 沒有任何相對應的運算子",
"IFC 呼叫慣例 %sq 沒有任何相對應的呼叫慣例",
@@ -3372,7 +3372,7 @@
"不支援的 IFC 建構: %sq",
"__is_signed 從現在起已不再是關鍵字",
"陣列維度必須要有不帶正負號的常數整數值",
"IFC 檔案 %sq 的版本為不支援的 %d1.%d2",
null,
"此模式下未啟用的模組",
"模組名稱中不得包含 'import'",
"模組名稱中不得包含 'module'",
@@ -3423,9 +3423,9 @@
null,
"模組 %sq1 檔案位置 %u1 (相對位置 %u2) 要求分割區 %sq2 - 溢出其分割區的結尾",
"模組 %sq1 檔案位置 %u1 (相對位置 %u2) 要求分割區 %sq2 - 與其分割區元素對齊錯誤",
"從 subfield %sq (節點 %d 的相對位置)",
"從 subfield %sq (節點 %u 的相對位置)",
"從分割區 %sq 元素 %u1 (檔案位置 %u2,相對位置 %u3)",
"Lambda 屬性在此為非標準",
"lambda 上的屬性是 C++23 功能",
"識別碼 %sq 可能會與 %p 上視覺類似的識別碼混淆",
"此註解包含可疑的 Unicode 格式化控制字元",
"此字串包含 Unicode 格式化控制字元,可能會導致非預期的執行時間行為",
@@ -3442,9 +3442,9 @@
"函數 %sq 定義的 IFC 表示法無效",
null,
"UniLevel IFC 圖表未用來指定參數",
"IFC 參數定義圖表指定了 %d1 個參數,而 IFC 宣告則指定了 %d2 個參數",
"IFC 參數定義圖表指定了 %d1 個參數,而 IFC 宣告則指定了 %d2 個參數",
"IFC 參數定義圖表指定了 %d1 個參數,而 IFC 宣告則指定了 %d2 個參數",
"IFC 參數定義圖表指定了 %u1 個參數,而 IFC 宣告則指定了 %u2 個參數",
"IFC 參數定義圖表指定了 %u1 個參數,而 IFC 宣告則指定了 %u2 個參數",
"IFC 參數定義圖表指定了 %u1 個參數,而 IFC 宣告則指定了 %u2 個參數",
"遺漏函數 %sq 定義的 IFC 標記法",
"函數修飾詞不適用於成員範本宣告",
"成員選取涉及太多巢狀匿名型別",
@@ -3466,12 +3466,12 @@
"重复的 'asm' 限定詞",
"具有不完整列舉類型的位欄位,或具有無效基底類型的不透明列舉",
"已嘗試使用索引從 IFC 磁碟分割 %sq2 將元素建構到 IFC 磁碟分割 %sq",
"磁碟分割 %sq 在需要 %d2 時將其項目大小指定為 %d1",
"磁碟分割 %sq 將其項目大小指定為 %u1,但預期為 %u2",
"處理模組 %sq1 時發現未預期的 IFC 需求",
"第 %d 行 (在 %s1 中) 條件失敗: %sq2",
"不可部分完成限制式依賴其本身",
"'noreturn' 函數具有非 void 的返回類型",
"已置放參數 %sq (相對索引 %d) 進行修正",
"已置放參數 %sq (相對索引 %u) 進行修正",
"無法在其類別外的成員範本定義上指定預設範本引數",
"實體重建期間發現無效 IFC 識別碼名稱 %sq",
null,
@@ -3482,7 +3482,7 @@
"具有非屬性解構函數的類別類型不允許連結指定元",
"明確的特殊化宣告不能是 friend 宣告",
"不支援 std::float128_t 類型,將改用 std::float64_t",
"不支援 std::bfloat16_t 類型,將改用 std::float32_t",
null,
"別名範本不可宣告扣除指南 %no",
"已宣告 %n 無法使用",
"已宣告 %n 無法使用 (%sq)",
@@ -3501,9 +3501,9 @@
"無法辨識的輸出模式 (必須是文字或 SARIF): %s",
"選項 'c23_typeof' 只能在編譯 C 時使用",
"無效的 Clang 版本編號: %s",
"IFC 字串在模組 %sq 中包含未預期的 Null (零) 字元",
"%d2 個位元組中已使用 %d1 個",
"來自分割區 %sq 元素 %u1 (檔案位置 %u2,相對位置 %u3) 中的字串資訊",
null,
null,
null,
"無法評估彈性陣列成員的初始設定式",
"預設的位元欄位初始設定式為 C++20 功能",
"模組 %sq 中範本引數清單中的引數太多",
@@ -3556,5 +3556,34 @@
"%n 的參數編號 %d 具有不完整的類型 %t",
"%n 的參數編號 %d 具有抽象類別型 %t",
"結構化繫結是個 C++17 功能",
"擷取結構化繫結是個 C++20 功能"
"擷取結構化繫結是個 C++20 功能",
"Splicer 的運算元類型為 %t,而不是 std::meta::info",
"運算元 (%r 的反映) 不是類型的反映",
"Splicer 的非常數運算元",
"使用 %t 而非 std::string_view (= std::basic_string_view<char>)",
"在這裡使用的 std::string_view 與其他內部函式的使用不一致",
"std::string_view 的定義不符合反映假設 (指標和長度沒有基底類別和資料成員)",
"反映不是常數值的反映",
"不能使陣列長度為零",
"傳遞至 make_constexpr_array 的長度 (%d1) 大於可用的元素數目 (%d2)",
"std::meta::infovec 的定義不符合反映假設 (指標、長度和容量沒有基底類別和資料成員)",
"運算式 splice 的不良反映 (%r)",
"%n 已定義 (先前的定義 %p)",
"infovec 物件未初始化",
"value_of 類型 %t1 與給定的反映 (類型為 %t2 的實體) 不相容",
"目前不允許反射多載集",
"此內部函式需要範本執行個體的反映",
"運算子的 %t1 和 %t2 類型不相容",
"內部元函式的反映無效",
"內部元函式需要類別成員的反映",
"類別無法從聯合中衍生",
"無法從具有彈性陣列成員的類別衍生",
"null 反映",
"命名空間別名",
"反映 (無詳細資料)",
"std::meta::substitute 中範本引數的不良反映 (%r)",
"(為 %r) 叫用 std::meta::substitute 失敗",
"反映值參考非使用中的實體",
"運算式 splice 必須接合常數值、變數或函式。",
"成員存取 splice 必須接合資料成員或成員函式"
]
+3 -3
View File
@@ -4,11 +4,11 @@
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1935",
"1939",
"--pack_alignment",
"8",
"-D_MSC_VER=1935",
"-D_MSC_FULL_VER=193532215",
"-D_MSC_VER=1939",
"-D_MSC_FULL_VER=193933519",
"-D_MSC_BUILD=0",
"-D_M_ARM=7"
],
+3 -3
View File
@@ -4,12 +4,12 @@
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1935",
"1939",
"--pack_alignment",
"8",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1935",
"-D_MSC_FULL_VER=193532215",
"-D_MSC_VER=1939",
"-D_MSC_FULL_VER=193933519",
"-D_MSC_BUILD=0",
"-D_M_ARM64=1"
],
+3 -3
View File
@@ -4,12 +4,12 @@
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1935",
"1939",
"--pack_alignment",
"8",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1935",
"-D_MSC_FULL_VER=193532215",
"-D_MSC_VER=1939",
"-D_MSC_FULL_VER=193933519",
"-D_MSC_BUILD=0",
"-D_M_X64=100",
"-D_M_AMD64=100"
+3 -3
View File
@@ -4,11 +4,11 @@
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1935",
"1939",
"--pack_alignment",
"8",
"-D_MSC_VER=1935",
"-D_MSC_FULL_VER=193532215",
"-D_MSC_VER=1939",
"-D_MSC_FULL_VER=193933519",
"-D_MSC_BUILD=0",
"-D_M_IX86=600",
"-D_M_IX86_FP=2"
+1 -1
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "提供非上下文感知的“模糊”结果。",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "关闭 C/C++ 语言服务功能。",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "控制 IntelliSense 引擎是否将自动切换为包含 `#include` 错误的翻译单元的标记分析器。",
"c_cpp.configuration.autocomplete.markdownDescription": "控制自动完成提供程序。如果 `disabled`,且你想要基于字词的补全,则还需要设置 `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}`(对 `c` 和 `cuda-cpp` 语言同样执行此操作)。",
"c_cpp.configuration.autocomplete.markdownDescription": "控制自动完成提供程序。如果 `disabled`,且你想要基于字词的补全功能,则还需要设置 `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (`c` 和 `cuda-cpp` 语音也类似)。",
"c_cpp.configuration.autocomplete.default.description": "使用活动的 IntelliSense 引擎。",
"c_cpp.configuration.autocomplete.disabled.description": "使用 Visual Studio Code 提供的基于字词的补全。",
"c_cpp.configuration.errorSquiggles.description": "控制是否将 IntelliSense 引擎检测到的可疑编译错误报告回编辑器。还控制是否报告代码分析警告(如果找不到包含)。标记分析器引擎将忽略此设置。",
@@ -11,6 +11,8 @@
"use.compiler": "使用 {0}",
"configuration.providers": "配置提供程序",
"compilers": "编译器",
"selectIntelliSenseConfiguration.string": "选择 IntelliSense 配置...",
"setCompiler.message": "未配置编译器。除非设置自己的配置,否则 IntelliSense 可能无法正常工作。",
"use.provider": "使用 {0}",
"use.compileCommands": "使用 {0}",
"selectAnotherCompiler.string": "在我的计算机上选择另一个编译器...",
+4 -4
View File
@@ -43,7 +43,7 @@
"c_cpp.command.RemoveAllCodeAnalysisProblems.title": "清除所有程式碼分析問題",
"c_cpp.command.BuildAndDebugFile.title": "偵錯 C/C++ 檔案",
"c_cpp.command.BuildAndRunFile.title": "執行 C/C++ 檔案",
"c_cpp.command.AddDebugConfiguration.title": "新增偵錯設定",
"c_cpp.command.AddDebugConfiguration.title": "新增偵錯組態",
"c_cpp.command.GenerateDoxygenComment.title": "產生 Doxygen 註解",
"c_cpp.command.addSshTarget.title": "新增 SSH 目標",
"c_cpp.command.removeSshTarget.title": "移除 SSH 目標",
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "提供不屬於內容意識的 `模糊` 結果。",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "關閉 C/C++ 語言服務功能。",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "控制 IntelliSense 引擎是否會自動切換到包含 `#include` 錯誤之編譯單位的標籤剖析器。",
"c_cpp.configuration.autocomplete.markdownDescription": "控制自動完成提供者。若設為 `disabled` 且您想要以文字方式完成,您也必須設定 `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` ( `c` 及 `cuda-cpp` 語言類似)。",
"c_cpp.configuration.autocomplete.markdownDescription": "控制自動完成提供者。若設為 `disabled` 且您想要以文字方式完成,您也必須設定 `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` ( `c` 及 `cuda-cpp` 語言也相同)。",
"c_cpp.configuration.autocomplete.default.description": "使用作用中 IntelliSense 引擎。",
"c_cpp.configuration.autocomplete.disabled.description": "使用 Visual Studio Code 所提供的文字型完成。",
"c_cpp.configuration.errorSquiggles.description": "該設定會控制是否將 IntelliSense 引擎偵測到的可疑編譯錯誤回報給編輯器。其也會在找不到內容時,控制是否回報程式碼分析警告。標籤剖析器引擎已忽略此設定。",
@@ -266,7 +266,7 @@
"c_cpp.contributes.views.cppReferencesView.title": "C/C++: 其他參考結果",
"c_cpp.contributes.views.sshTargetsView.title": "Cpptools: SSH 目標",
"c_cpp.contributes.viewsWelcome.contents": "如需深入了解 launch.json,請參閱 [設定 C/C++ 偵錯](https://code.visualstudio.com/docs/cpp/launch-json-reference)。",
"c_cpp.configuration.debugShortcut.description": "在 C++ 檔案的編輯器標題列中顯示 [執行及偵錯] 播放按鈕和 [新增偵錯設定] 齒輪。",
"c_cpp.configuration.debugShortcut.description": "在 C++ 檔案的編輯器標題列中顯示 [執行及偵錯] 播放按鈕和 [新增偵錯組態] 齒輪。",
"c_cpp.debuggers.pipeTransport.description": "出現時,會指示偵錯工具使用另一個可執行檔來連線至遠端電腦,該管道會在 VS Code 與 MI 啟用偵錯工具後端可執行檔之間傳送標準輸入/輸出 (例如 gdb)。",
"c_cpp.debuggers.pipeTransport.default.pipeProgram": "輸入管道程式名稱的完整路徑,例如 '/usr/bin/ssh'。",
"c_cpp.debuggers.pipeTransport.default.debuggerPath": "目標機器的偵錯工具完整路徑,例如 /use/bin/gdb。",
@@ -434,7 +434,7 @@
"c_cpp.walkthrough.customize.debugging.mac.description": "若要自訂您的偵錯設定,請在活動列中選取 [檔案總管],然後開啟包含 C++ 檔案的資料夾。開啟 C++ 檔案,然後選取 [播放] 按鈕右邊的 [新增偵錯設定]。新的偵錯組態已儲存至專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-linux#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.linux.description": "若要自訂您的偵錯設定,請在活動列中選取 [檔案總管],然後開啟包含 C++ 檔案的資料夾。開啟 C++ 檔案,然後選取 [播放] 按鈕右邊的 [新增偵錯設定]。新的偵錯組態已儲存至專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-msvc#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.windows.description": "若要自訂您的偵錯設定,請在活動列中選取 [檔案總管],然後開啟包含 C++ 檔案的資料夾。開啟 C++ 檔案,然後選取 [播放] 按鈕右邊的 [新增偵錯設定]。新的偵錯組態已儲存至專案的 launch.json 檔案。\n[深入了解](https://code.visualstudio.com/docs/cpp/config-clang-mac#_debug-helloworldcpp)",
"c_cpp.walkthrough.customize.debugging.altText": "影像顯示下拉式清單中 [新增偵錯設定]",
"c_cpp.walkthrough.customize.debugging.altText": "影像顯示下拉式清單中 [新增偵錯組態]",
"c_cpp.codeActions.refactor.inline.macro.title": "內嵌巨集",
"c_cpp.codeActions.refactor.inline.macro.description": "以展開程式碼取代巨集調用。",
"c_cpp.codeActions.refactor.extract.function.title": "擷取至函式",
@@ -4,8 +4,8 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"debugger.path.and.server.address.required": "偵錯設定中的 {0} 需要 {1} 和 {2}",
"no.pipetransport.useextendedremote": "選擇的偵錯設定未包含 {0} 或 {1}",
"debugger.path.and.server.address.required": "偵錯組態中的 {0} 需要 {1} 和 {2}",
"no.pipetransport.useextendedremote": "選擇的偵錯組態未包含 {0} 或 {1}",
"select.process.attach": "選取要附加至的目標處理序",
"process.not.selected": "未選取處理序。",
"pipe.failed": "管道傳輸無法取得 OS 和處理序。",
@@ -15,7 +15,7 @@
"running.deploy.steps": "正在執行部署步驟...",
"compiler.path.not.exists": "找不到 {0}。已略過 {1} 工作。",
"pre.Launch.Task": "preLaunchTask: {0}",
"debugger.path.not.exists": "找不到 {0} 偵錯工具。已略過 {1} 的偵錯設定。",
"debugger.path.not.exists": "找不到 {0} 偵錯工具。已略過 {1} 的偵錯組態。",
"build.and.debug.active.file": "建置及偵錯使用中的檔案",
"cl.exe.not.available": "只有從 VS 的開發人員命令提示字元執行 VS Code 時,才可使用 {0} 組建和偵錯。",
"lldb.find.failed": "缺少 lldb-mi 可執行檔的相依性 '{0}'。",
@@ -32,7 +32,7 @@
"detected.task": "偵測到的工作",
"cannot.build.non.cpp": "因為作用中的檔案不是 C 或 C++ 來源檔案,所以無法建立和偵錯。",
"no.compiler.found": "找不到任何編譯器",
"select.debug.configuration": "選取偵錯設定",
"select.debug.configuration": "選取偵錯組態",
"command.args.must.be.array": "命令部署步驟中的 \"args\" 必須是陣列。",
"missing.properties.copyFile": "{0} 步驟中需要 \"host\"、\"files\" 和 \"targetDir\"。",
"incorrect.files.type.copyFile": "\"files\" 必須是 {0} 步驟中的字串或字串陣列。",
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"add.debug.configuration.not.available.for.single.file": "新增偵錯設定無法用於單一檔案。",
"add.debug.configuration.not.available.for.single.file": "新增偵錯組態無法用於單一檔案。",
"cannot.modify.config.file": "無法修改 SSH 設定檔,因為剖析失敗「{0}」。",
"no.valid.ssh.config.file": "找不到有效的 SSH 設定檔。",
"enter.ssh.target.name": "輸入 SSH 目標名稱",
@@ -11,6 +11,8 @@
"use.compiler": "使用 {0}",
"configuration.providers": "設定提供者",
"compilers": "編譯器",
"selectIntelliSenseConfiguration.string": "選取 IntelliSense 設定...",
"setCompiler.message": "您尚未設定 IntelliSense。除非您自行加以設定,否則 IntelliSense 可能無法運作。",
"use.provider": "使用 {0}",
"use.compileCommands": "使用 {0}",
"selectAnotherCompiler.string": "在我的機器上選取另一個編譯器...",
@@ -14,5 +14,5 @@
"walkthrough.linux.choose.build.active.file": "選擇 {0}。",
"walkthrough.linux.build.and.debug.active.file": "建置及偵錯使用中的檔案",
"walkthrough.linux.after.running": "第一次執行並偵錯您的 C++ 檔案之後,您會注意到專案 {0} 資料夾中有兩個新檔案: {1} 及 {2}。",
"walkthrough.linux.for.more.complex": "如需更複雜的組建和偵錯案例,您可以在 {0} 及 {1} 中自訂群組建工作和偵錯設定。例如,如果您在從命令列組建時,通常會將引數傳遞給編譯器,可以使用 {3} 屬性在 {2} 中指定這些引數。類似地,您可以定義要傳遞給程式的引數,以便在 {4} 進行偵錯。"
"walkthrough.linux.for.more.complex": "如需更複雜的組建和偵錯案例,您可以在 {0} 及 {1} 中自訂群組建工作和偵錯組態。例如,如果您在從命令列組建時,通常會將引數傳遞給編譯器,可以在 {2} 中使用 {3} 屬性指定這些引數。類似地,您可以定義要傳遞給程式的引數,以便在 {4} 進行偵錯。"
}
@@ -14,5 +14,5 @@
"walkthrough.mac.choose.build.active.file": "選擇 {0}。",
"walkthrough.mac.build.and.debug.active.file": "建置及偵錯使用中的檔案",
"walkthrough.mac.after.running": "第一次執行並偵錯您的 C++ 檔案之後,您會注意到專案 {0} 資料夾中有兩個新檔案: {1} 及 {2}。",
"walkthrough.mac.for.more.complex": "如需更複雜的組建和偵錯案例,您可以在 {0} 及 {1} 中自訂群組建工作和偵錯設定。例如,如果您在從命令列組建時,通常會將引數傳遞給編譯器,可以使用 {3} 屬性在 {2} 中指定這些引數。類似地,您可以定義要傳遞給程式的引數,以便在 {4} 進行偵錯。"
"walkthrough.mac.for.more.complex": "如需更複雜的組建和偵錯案例,您可以在 {0} 及 {1} 中自訂群組建工作和偵錯組態。例如,如果您在從命令列組建時,通常會將引數傳遞給編譯器,可以在 {2} 中使用 {3} 屬性指定這些引數。類似地,您可以定義要傳遞給程式的引數,以便在 {4} 進行偵錯。"
}
@@ -14,5 +14,5 @@
"walkthrough.windows.choose.build.active.file": "選擇 {0}。",
"walkthrough.windows.build.and.debug.active.file": "建置及偵錯使用中的檔案",
"walkthrough.windows.after.running": "第一次執行並偵錯您的 C++ 檔案之後,您會注意到專案 {0} 資料夾中有兩個新檔案: {1} 及 {2}。",
"walkthrough.windows.for.more.complex": "如需更複雜的組建和偵錯案例,您可以在 {0} 及 {1} 中自訂群組建工作和偵錯設定。例如,如果您在從命令列組建時,通常會將引數傳遞給編譯器,可以使用 {3} 屬性在 {2} 中指定這些引數。類似地,您可以定義要傳遞給程式的引數,以便在 {4} 進行偵錯。"
"walkthrough.windows.for.more.complex": "如需更複雜的組建和偵錯案例,您可以在 {0} 及 {1} 中自訂群組建工作和偵錯組態。例如,如果您在從命令列組建時,通常會將引數傳遞給編譯器,可以在 {2} 中使用 {3} 屬性指定這些引數。類似地,您可以定義要傳遞給程式的引數,以便在 {4} 進行偵錯。"
}
+1 -1
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "Poskytuje přibližné výsledky, které nejsou v kontextu.",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "Vypne funkce služby jazyka C/C++.",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "Určuje, jestli se modul IntelliSense automaticky přepne na analyzátor značek pro jednotky překladu, které obsahují chyby direktiv `#include`.",
"c_cpp.configuration.autocomplete.markdownDescription": "Určuje poskytovatele automatického dokončování. Pokud je hodnota `disabled` a chcete dokončování na základě slov, musíte nastavit také `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` (a podobně také pro jazyky `c` a `cuda-cpp`).",
"c_cpp.configuration.autocomplete.markdownDescription": "Určuje poskytovatele automatického dokončování. Pokud je hodnota `disabled` a chcete dokončování na základě slov, musíte nastavit také `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (a podobně také pro jazyky `c` a `cuda-cpp`).",
"c_cpp.configuration.autocomplete.default.description": "Používá aktivní modul IntelliSense.",
"c_cpp.configuration.autocomplete.disabled.description": "Používá dokončování na základě slov, které nabízí Visual Studio Code.",
"c_cpp.configuration.errorSquiggles.description": "Určuje, jestli budou podezřelé chyby kompilace zjištěné modulem IntelliSense hlášeny zpět editoru. Také řídí, zda jsou hlášena upozornění na analýzu kódu, pokud nelze najít zahrnutí. Modul analyzátoru značek toto nastavení ignoruje.",
@@ -11,6 +11,8 @@
"use.compiler": "Použít {0}",
"configuration.providers": "poskytovatelé konfigurace",
"compilers": "kompilátory",
"selectIntelliSenseConfiguration.string": "Vybrat konfiguraci IntelliSense...",
"setCompiler.message": "Nemáte nakonfigurovaný technologii IntelliSense. Pokud nenastavíte vlastní konfigurace, IntelliSense nemusí být funkční.",
"use.provider": "Použít {0}",
"use.compileCommands": "Použít {0}",
"selectAnotherCompiler.string": "Vybrat jiný kompilátor na mém počítači...",
+6 -6
View File
@@ -26,7 +26,7 @@
"c_cpp.command.toggleDimInactiveRegions.title": "Farbgebung für inaktive Regionen umschalten",
"c_cpp.command.resetDatabase.title": "IntelliSense-Datenbank zurücksetzen",
"c_cpp.command.takeSurvey.title": "An Umfrage teilnehmen",
"c_cpp.command.restartIntelliSenseForFile.title": "IntelliSense für Active File neu starten",
"c_cpp.command.restartIntelliSenseForFile.title": "IntelliSense für \"Aktive Datei\" neu starten",
"c_cpp.command.logDiagnostics.title": "Diagnose protokollieren",
"c_cpp.command.referencesViewGroupByType.title": "Nach Verweistyp gruppieren",
"c_cpp.command.referencesViewUngroupByType.title": "Gruppierung nach Verweistyp aufheben",
@@ -37,10 +37,10 @@
"c_cpp.command.GoToNextDirectiveInGroup.title": "Zur nächsten Präprozessoranweisung in bedingter Gruppe wechseln",
"c_cpp.command.GoToPrevDirectiveInGroup.title": "Zur vorherigen Präprozessoranweisung in bedingter Gruppe wechseln",
"c_cpp.command.CreateDeclarationOrDefinition.title": "Deklaration/Definition erstellen",
"c_cpp.command.RunCodeAnalysisOnActiveFile.title": "Code Analysis auf \"Aktive Dateien\" ausführen",
"c_cpp.command.RunCodeAnalysisOnOpenFiles.title": "Code Analysis auf \"Dateien öffnen\" ausführen",
"c_cpp.command.RunCodeAnalysisOnAllFiles.title": "Code Analysis auf \"Alle Dateien\" ausführen",
"c_cpp.command.RemoveAllCodeAnalysisProblems.title": "Alle Code Analysis Probleme löschen",
"c_cpp.command.RunCodeAnalysisOnActiveFile.title": "Code Analyse auf \"Aktive Datei\" ausführen",
"c_cpp.command.RunCodeAnalysisOnOpenFiles.title": "Code Analyse auf \"Offene Dateien\" ausführen",
"c_cpp.command.RunCodeAnalysisOnAllFiles.title": "Code Analyse auf \"Alle Dateien\" ausführen",
"c_cpp.command.RemoveAllCodeAnalysisProblems.title": "Alle Code Analyse Probleme löschen",
"c_cpp.command.BuildAndDebugFile.title": "C/C++-Datei debuggen",
"c_cpp.command.BuildAndRunFile.title": "C/C++-Datei ausführen",
"c_cpp.command.AddDebugConfiguration.title": "Debugkonfiguration hinzufügen",
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "Stellt „Fuzzy“-Ergebnisse bereit, die nicht kontextbezogen sind.",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "Deaktiviert die Features des C/C++-Sprachdiensts.",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "Steuert, ob das IntelliSense-Modul automatisch zum Tagparser für Übersetzungseinheiten wechselt, die `#include#`-Fehler enthalten.",
"c_cpp.configuration.autocomplete.markdownDescription": "Steuert den Anbieter für AutoVervollständigen. Wenn `disabled` festgelegt ist und Sie die wortbasierte Vervollständigung wünschen, müssen Sie auch `\"[cpp]\" festlegen: {\"editor.wordBasedSuggestions\": true}` (und ähnlich für die Sprachen `c` und `cuda-cpp`).",
"c_cpp.configuration.autocomplete.markdownDescription": "Steuert den Anbieter für AutoVervollständigen. Wenn `disabled` festgelegt ist und Sie die wortbasierte Vervollständigung wünschen, müssen Sie auch `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` festlegen (und analog auch für die Sprachen `c` und `cuda-cpp`).",
"c_cpp.configuration.autocomplete.default.description": "Verwendet das aktive IntelliSense-Modul.",
"c_cpp.configuration.autocomplete.disabled.description": "Verwendet die von Visual Studio Code bereitgestellte wortbasierte Vervollständigung.",
"c_cpp.configuration.errorSquiggles.description": "Steuert, ob vermutete Kompilierungsfehler, die von der IntelliSense-Engine erkannt wurden, an den Editor zurückgegeben werden. Außerdem wird gesteuert, ob Codeanalysewarnungen gemeldet werden, wenn keine Enthaltenen gefunden werden können. Diese Einstellung wird von der Tagparser-Engine ignoriert.",
@@ -11,6 +11,8 @@
"use.compiler": "{0} verwenden",
"configuration.providers": "Konfigurationsanbieter",
"compilers": "Compiler",
"selectIntelliSenseConfiguration.string": "IntelliSense-Konfiguration auswählen...",
"setCompiler.message": "IntelliSense ist nicht konfiguriert. Wenn Sie keine eigenen Konfigurationen festlegen, ist IntelliSense möglicherweise nicht funktionsfähig.",
"use.provider": "{0} verwenden",
"use.compileCommands": "{0} verwenden",
"selectAnotherCompiler.string": "Anderen Compiler auf meinem Computer auswählen...",
+1 -1
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "Proporciona resultados \"fuzzy\" que no tienen en cuenta el contexto.",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "Desactiva las características del servicio de lenguaje C/C++.",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "Controla si el motor de IntelliSense cambiará automáticamente al Analizador de etiquetas para las unidades de traducción que contengan errores de `#include`.",
"c_cpp.configuration.autocomplete.markdownDescription": "Controla el proveedor de finalización automática. Si está establecido en `disabled` y desea la finalización basada en palabras, también tendrá que establecer `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` (y de forma similar para los lenguajes `c` y `cuda-cpp`).",
"c_cpp.configuration.autocomplete.markdownDescription": "Controla el proveedor de finalización automática. Si está `disabled` y desea completarse con palabras, también tendrá que establecer `\"[cpp]\": {\"editor.wordBasedSuggestions\": <valor>}` (y de forma similar para los lenguajes `c` y `cuda-cpp`).",
"c_cpp.configuration.autocomplete.default.description": "Usa el motor de IntelliSense activo.",
"c_cpp.configuration.autocomplete.disabled.description": "Usa la finalización basada en palabras proporcionada por Visual Studio Code.",
"c_cpp.configuration.errorSquiggles.description": "Controla si los posibles errores de compilación detectados por el motor de IntelliSense se notificarán al editor. También controla si se notifican advertencias de análisis de código si no se encuentran las inclusiones. El motor del analizador de etiquetas omite esta configuración.",
@@ -11,6 +11,8 @@
"use.compiler": "Uso {0}",
"configuration.providers": "proveedores de configuración",
"compilers": "Compiladores",
"selectIntelliSenseConfiguration.string": "Seleccionar configuración de IntelliSense...",
"setCompiler.message": "No tiene configurado IntelliSense. A menos que establezca sus propias configuraciones, puede que IntelliSense no funcione.",
"use.provider": "Uso {0}",
"use.compileCommands": "Uso {0}",
"selectAnotherCompiler.string": "Seleccionar otro compilador en mi máquina...",
+1 -1
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "Fournit des résultats « flous » qui ne sont pas compatibles avec le contexte.",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "Désactive les fonctionnalités du service de langage C/C++.",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "Contrôle si le moteur IntelliSense bascule automatiquement vers l'analyseur de balises pour les unités de traduction qui contiennent des erreurs `#include`.",
"c_cpp.configuration.autocomplete.markdownDescription": "Contrôle le fournisseur de la saisie semi-automatique. Si la valeur est `disabled` et que vous voulez utiliser la saisie semi-automatique, vous devez également définir `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` (et de la même manière pour les langages `c` et `cuda-cpp`).",
"c_cpp.configuration.autocomplete.markdownDescription": "Contrôle le fournisseur de la saisie semi-automatique. Si `disabled` et que vous souhaitez une complétion basée sur les mots, vous devrez également définir `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (et de même pour `c` et `cuda-cpp` langues).",
"c_cpp.configuration.autocomplete.default.description": "Utilise le moteur IntelliSense actif.",
"c_cpp.configuration.autocomplete.disabled.description": "Utilise la saisie semi-automatique basée sur le mot fournie par Visual Studio Code.",
"c_cpp.configuration.errorSquiggles.description": "Contrôle si les erreurs de compilation suspectes détectées par le moteur IntelliSense seront rapportées à l'éditeur. Il contrôle également si les avertissements d'analyse de code sont signalés si les includes ne peuvent pas être trouvés. Ce paramètre est ignoré par le moteur Tag Parser.",
@@ -11,6 +11,8 @@
"use.compiler": "Utiliser {0}",
"configuration.providers": "fournisseurs de configuration",
"compilers": "compilateurs",
"selectIntelliSenseConfiguration.string": "Sélectionner la configuration IntelliSense…",
"setCompiler.message": "Vous navez aucun IntelliSense configuré. À moins que vous ne définissiez vos propres configurations, IntelliSense risque de ne pas être fonctionnel.",
"use.provider": "Utiliser {0}",
"use.compileCommands": "Utiliser {0}",
"selectAnotherCompiler.string": "Sélectionner un autre compilateur sur ma machine…",
+2 -2
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "Fornisce risultati 'fuzzy' che non sono compatibili con il contesto.",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "Disattiva le funzionalità del servizio di linguaggio C/C++.",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "Controlla se il motore IntelliSense passerà automaticamente al parser di tag per le unità di conversione contenenti errori `#include`.",
"c_cpp.configuration.autocomplete.markdownDescription": "Controlla il provider di completamento automatico. Se è `disabled` e vuoi il completamento basato su parole, sarà necessario impostare anche `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` (e analogamente per i linguaggi `c` e `cuda-cpp`).",
"c_cpp.configuration.autocomplete.markdownDescription": "Controlla il provider di completamento automatico. Se è `disabled` e si vuole il completamento basato sulle parole, sarà necessario impostare anche `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (e analogamente per i linguaggi `c` e `cuda-cpp`).",
"c_cpp.configuration.autocomplete.default.description": "Usa il motore IntelliSense attivo.",
"c_cpp.configuration.autocomplete.disabled.description": "Usa il completamento basato su parole fornito da Visual Studio Code.",
"c_cpp.configuration.errorSquiggles.description": "Controlla se i possibili errori di compilazione rilevati dal motore IntelliSense verranno segnalati all'editor. Controlla inoltre se vengono segnalati avvisi di analisi del codice se non è possibile trovare le inclusioni. Questa impostazione viene ignorata dal motore del parser di tag.",
@@ -417,7 +417,7 @@
"c_cpp.walkthrough.set.up.title": "Configurare l'ambiente C++",
"c_cpp.walkthrough.activating.description": "Attivazione dell'estensione C++ per determinare se l'ambiente C++ è stato configurato.\nAttivazione dell'estensione...",
"c_cpp.walkthrough.no.compilers.windows.description": "Non è stato possibile trovare un compilatore C++ nel computer, necessario per usare l'estensione C++. Seguire le istruzioni a destra per installarne uno, quindi fare clic su “Trova il nuovo compilatore” di seguito.\n[Trova il nuovo compilatore](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.no.compilers.description": "Non è stato possibile trovare un compilatore C++ nel computer, necessario per usare l'estensione C++. Selezionare \"Installa un compilatore C++\" per installare automaticamente un compilatore, oppure seguire le istruzioni a destra per installarne uno, quindi fare clic su \"Trova il nuovo compilatore\" di seguito.\n[Installa un compilatore C++ ](command:C_Cpp.InstallCompiler?%22walkthrough%22)\n[Trova il nuovo compilatore](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.no.compilers.description": "Non è stato possibile trovare un compilatore C++ nel computer, necessario per usare l'estensione C++. Selezionare \"Installa un compilatore C++\" per installare automaticamente un compilatore, oppure seguire le istruzioni a destra per installarne uno, quindi fare clic su \"Trova il nuovo compilatore\" di seguito.\n[Installa un compilatore C++](command:C_Cpp.InstallCompiler?%22walkthrough%22)\n[Trova il nuovo compilatore](command:C_Cpp.RescanCompilers?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.description": "L'estensione C++ funziona con un compilatore C++. Selezionare una delle opzioni già presenti nel computer facendo clic sul pulsante seguente.\n[Selezionare il compilatore predefinito](command:C_Cpp.SelectIntelliSenseConfiguration?%22walkthrough%22)",
"c_cpp.walkthrough.compilers.found.altText": "Immagine che mostra la selezione di un quickpick del compilatore predefinito e l'elenco dei compilatori trovati nel computer degli utenti, uno dei quali è selezionato.",
"c_cpp.walkthrough.create.cpp.file.title": "Creare un file C++",
@@ -11,6 +11,8 @@
"use.compiler": "Usa {0}",
"configuration.providers": "Provider di configurazione",
"compilers": "compilatori",
"selectIntelliSenseConfiguration.string": "Seleziona configurazione IntelliSense...",
"setCompiler.message": "Compilatore IntelliSense non configurato. A meno che non si impostino configurazioni personalizzate, IntelliSense potrebbe non funzionare.",
"use.provider": "Usa {0}",
"use.compileCommands": "Usa {0}",
"selectAnotherCompiler.string": "Seleziona un altro compilatore nel computer...",
+2 -2
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "コンテキストを認識しない\"あいまいな\"結果を提供します。 ",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "C/C++ 言語サービス機能をオフにします。",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "`#include` エラーを含む翻訳単位に対して、IntelliSense エンジンをタグ パーサーに自動的に切り替えるかどうかを制御します。",
"c_cpp.configuration.autocomplete.markdownDescription": "オートコンプリート プロバイダーを制御します。`disabled` になっていて、単語ベースの補完が必要な場合には、`\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` を設定する必要があります (`c` および `cuda-cpp` 言語でも同様です)。",
"c_cpp.configuration.autocomplete.markdownDescription": "オートコンプリート プロバイダーを制御します。`disabled` になっていて、単語ベースの補完が必要な場合には、`\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` を設定する必要があります (`c` および `cuda-cpp` 言語でも同様です)。",
"c_cpp.configuration.autocomplete.default.description": "アクティブな IntelliSense エンジンを使用します。",
"c_cpp.configuration.autocomplete.disabled.description": "Visual Studio Code によって提供される単語ベースの補完機能を使用します。",
"c_cpp.configuration.errorSquiggles.description": "IntelliSense エンジンによって検出されたコンパイル エラーの疑いをエディターに報告するかどうかを制御します。また、インクルードが見つからない場合にコード分析の警告を報告するかどうかを制御します。この設定は、タグ パーサー エンジンによって無視されます。",
@@ -443,4 +443,4 @@
"c_cpp.configuration.refactoring.includeHeader.always.description": "ヘッダー ファイルがソース ファイルに明示的に含まれていない場合は、常にヘッダー ファイルを含めます。",
"c_cpp.configuration.refactoring.includeHeader.ifNeeded.description": "ヘッダー ファイルがソース ファイルに明示的に含まれていない場合、または暗黙的にインクルードされていない場合にのみ、ヘッダー ファイルを含めます。",
"c_cpp.configuration.refactoring.includeHeader.never.description": "ヘッダー ファイルを含めることはありません。"
}
}
@@ -11,6 +11,8 @@
"use.compiler": "{0}を使用する",
"configuration.providers": "構成プロバイダー",
"compilers": "コンパイラ",
"selectIntelliSenseConfiguration.string": "IntelliSense 構成を選択...",
"setCompiler.message": "IntelliSense が構成されていません。独自の構成を設定しない限り、IntelliSense は機能しない可能性があります。",
"use.provider": "{0}を使用する",
"use.compileCommands": "{0}を使用する",
"selectAnotherCompiler.string": "コンピューター上の別のコンパイラを選択...",
+1 -1
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "\"유사\" 결과를 제공합니다. 컨텍스트를 인식하지 않는 결과입니다.",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "C/C++ 언어 서비스 기능을 해제합니다.",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "IntelliSense 엔진이 `#include` 오류를 포함하는 변환 단위에 대해 태그 파서로 자동으로 전환되는지 여부를 제어합니다.",
"c_cpp.configuration.autocomplete.markdownDescription": "자동 완성 공급자를 제어합니다. `disabled`에서 단어 기반 완성을 원할 경우 `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}`를 설정해야 합니다(`c`와 `cuda-cpp` 언어도 동일).",
"c_cpp.configuration.autocomplete.markdownDescription": "자동 완성 공급자를 제어합니다. `disabled`에서 단어 기반 완성을 원할 경우 `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}`를 설정해야 합니다(`c`와 `cuda-cpp` 언어도 동일).",
"c_cpp.configuration.autocomplete.default.description": "활성 IntelliSense 엔진을 사용합니다.",
"c_cpp.configuration.autocomplete.disabled.description": "Visual Studio Code에서 제공하는 단어 기반 완성을 사용합니다.",
"c_cpp.configuration.errorSquiggles.description": "IntelliSense 엔진에서 감지한 의심스러운 컴파일 오류를 편집기에 다시 보고할지 여부를 제어합니다. 또한 포함 사항을 찾을 수 없는 경우 코드 분석 경고가 보고되는지 여부를 제어합니다. 이 설정은 태그 파서 엔진에서 무시됩니다.",
@@ -11,6 +11,8 @@
"use.compiler": "{0} 사용",
"configuration.providers": "구성 공급자",
"compilers": "컴파일러",
"selectIntelliSenseConfiguration.string": "IntelliSense 구성 선택...",
"setCompiler.message": "IntelliSense를 구성하지 않았습니다. 고유한 구성을 설정하지 않으면 IntelliSense가 작동하지 않을 수 있습니다.",
"use.provider": "{0} 사용",
"use.compileCommands": "{0} 사용",
"selectAnotherCompiler.string": "내 컴퓨터에서 다른 컴파일러 선택...",
+1 -1
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "Dostarcza wyników typu „wątpliwy”, które nie są oparte na kontekstach.",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "Wyłącza funkcje usługi języka C/C++.",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "Określa, czy aparat funkcji IntelliSense automatycznie przełączy się na parser znaczników dla jednostek translacji zawierających błędy dyrektywy `#include`.",
"c_cpp.configuration.autocomplete.markdownDescription": "Kontroluje dostawcę funkcji automatycznego uzupełniania. Jeśli ma wartość `disabled` i chcesz stosować uzupełnianie oparte na wyrazach, musisz również ustawić element `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` (oraz podobnie w przypadku języków `c` i `cuda-cpp`).",
"c_cpp.configuration.autocomplete.markdownDescription": "Kontroluje dostawcę funkcji automatycznego uzupełniania. Jeśli ma wartość `disabled` i chcesz stosować uzupełnianie oparte na wyrazach, musisz również ustawić element `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (oraz podobnie w przypadku języków `c` i `cuda-cpp`).",
"c_cpp.configuration.autocomplete.default.description": "Używa aktywnego aparatu funkcji IntelliSense.",
"c_cpp.configuration.autocomplete.disabled.description": "Używa uzupełnienia opartego na wyrazach zapewnianego przez program Visual Studio Code.",
"c_cpp.configuration.errorSquiggles.description": "Określa, czy podejrzane błędy kompilacji wykryte przez aparat funkcji IntelliSense będą raportowane z powrotem do edytora. Określa również, czy ostrzeżenia dotyczące analizy kodu są zgłaszane, jeśli nie można znaleźć dołączeń. To ustawienie jest ignorowane przez aparat analizatora tagów.",
@@ -11,6 +11,8 @@
"use.compiler": "Użyj kompilatora {0}",
"configuration.providers": "dostawcy konfiguracji",
"compilers": "kompilatory",
"selectIntelliSenseConfiguration.string": "Wybierz konfigurację funkcji IntelliSense...",
"setCompiler.message": "Nie skonfigurowano funkcji IntelliSense. Jeśli nie ustawisz własnych konfiguracji, funkcja IntelliSense może nie działać.",
"use.provider": "Użyj kompilatora {0}",
"use.compileCommands": "Użyj kompilatora {0}",
"selectAnotherCompiler.string": "Wybierz inny kompilator na mojej maszynie...",
+1 -1
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "Fornece resultados \"difusos\" que não são sensíveis ao contexto.",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "Desabilita os recursos do serviço de linguagem C/C++.",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "Controla se o mecanismo IntelliSense mudará automaticamente para o Analisador de tags para unidades de tradução contendo erros `#include`.",
"c_cpp.configuration.autocomplete.markdownDescription": "Controla o provedor de preenchimento automático. Se `disabled` e você deseja completar com base em palavras, você também precisará definir `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` (e similarmente para os idiomas `c` e `cuda-cpp`).",
"c_cpp.configuration.autocomplete.markdownDescription": "Controla o provedor de preenchimento automático. Se estiver `disabled` e você quiser a conclusão baseada em palavras, também precisará definir `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (e da mesma forma para linguagens `c` e `cuda-cpp`).",
"c_cpp.configuration.autocomplete.default.description": "Usa o mecanismo IntelliSense ativo.",
"c_cpp.configuration.autocomplete.disabled.description": "Usa o preenchimento baseado em palavras fornecido pelo Visual Studio Code.",
"c_cpp.configuration.errorSquiggles.description": "Controla se os erros de compilação suspeitos detectados pelo mecanismo do IntelliSense serão relatados de volta ao editor. Ele também controla se os avisos de análise de código são relatados se as inclusões não puderem ser encontradas. Essa configuração é ignorada pelo mecanismo do Analisador de Marca.",
@@ -11,6 +11,8 @@
"use.compiler": "Usar {0}",
"configuration.providers": "provedores de configuração",
"compilers": "compiladores",
"selectIntelliSenseConfiguration.string": "Selecione Configuração do IntelliSense...",
"setCompiler.message": "Você não tem o IntelliSense configurado. A menos que você defina suas próprias configurações, o IntelliSense pode não funcionar.",
"use.provider": "Usar {0}",
"use.compileCommands": "Usar {0}",
"selectAnotherCompiler.string": "Selecione outro compilador na minha máquina...",
+1 -1
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "Предоставляет \"нечеткие\" результаты, не зависящие от контекста.",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "Отключает компоненты службы языка C/C++.",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "Определяет, будет ли подсистема IntelliSense автоматически переключаться на анализатор тегов для единиц трансляции, содержащих ошибки `#include`.",
"c_cpp.configuration.autocomplete.markdownDescription": "Управляет поставщиком автозавершения. Если присвоено значение `disabled` и вам требуется завершение на основе слов, также настройте `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` (и аналогично для языков `c` и `cuda-cpp`).",
"c_cpp.configuration.autocomplete.markdownDescription": "Управляет поставщиком автозавершения. Если присвоено значение `disabled`, и вам требуется завершение по словам, также настройте `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (и аналогично для языков `c` и `cuda-cpp`).",
"c_cpp.configuration.autocomplete.default.description": "Использует активную подсистему IntelliSense.",
"c_cpp.configuration.autocomplete.disabled.description": "Использует завершение на основе слов, предоставляемое Visual Studio Code.",
"c_cpp.configuration.errorSquiggles.description": "Определяет, будут ли обнаруженные подсистемой IntelliSense предполагаемые ошибки компиляции возвращены в редактор. Также определяет, будут ли отображаться предупреждения на этапе анализа кода, если не удается найти включаемые данные. Этот параметр игнорируется подсистемой синтаксического анализа тегов.",
@@ -11,6 +11,8 @@
"use.compiler": "Использовать {0}",
"configuration.providers": "поставщики конфигурации",
"compilers": "компиляторы",
"selectIntelliSenseConfiguration.string": "Выбрать конфигурацию IntelliSense…",
"setCompiler.message": "Нет настроенных функций IntelliSense. Если не настроить собственные конфигурации, IntelliSense может не работать.",
"use.provider": "Использовать {0}",
"use.compileCommands": "Использовать {0}",
"selectAnotherCompiler.string": "Выбрать другой компилятор на моем компьютере…",
+1 -1
View File
@@ -184,7 +184,7 @@
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "Bağlama duyarlı olmayan \"belirsiz\" sonuçlar sağlar.",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "C/C++ dil hizmeti özelliklerini kapatır.",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "IntelliSense altyapısının `#include` hatalarını içeren çeviri birimleri için otomatik olarak Etiket Ayrıştırıcısı'na geçip geçmeyeceğini denetler.",
"c_cpp.configuration.autocomplete.markdownDescription": "Otomatik tamamlama sağlayıcısını denetler. `disabled` ise ve sözcük tabanlı tamamlama istiyorsanız, aynı zamanda `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` (ve aynı şekilde `c` ve `cuda-cpp` dilleri için) ayarını da belirlemeniz gerekir. ",
"c_cpp.configuration.autocomplete.markdownDescription": "Otomatik tamamlama sağlayıcısını kontrol eder. `disabled` ise ve sözcük tabanlı tamamlama istiyorsanız, aynı zamanda `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (ve aynı şekilde `c` ve `cuda-cpp` dilleri için) ayarını da belirlemeniz gerekir.",
"c_cpp.configuration.autocomplete.default.description": "Etkin IntelliSense altyapısını kullanır.",
"c_cpp.configuration.autocomplete.disabled.description": "Visual Studio Code tarafından sağlanan sözcük tabanlı tamamlamayı kullanır.",
"c_cpp.configuration.errorSquiggles.description": "IntelliSense altyapısı tarafından algılanan şüpheli derleme hatalarının düzenleyiciye geri rapor edilip edilmeyeceğini kontrol eder. Ayrıca, içermeler bulunamazsa kod analizi uyarılarının raporlanıp raporlanmayacağını da kontrol eder. Bu ayar, Etiket Ayrıştırıcı motoru tarafından yok sayılır.",
@@ -11,6 +11,8 @@
"use.compiler": "{0} kullan",
"configuration.providers": "yapılandırma sağlayıcıları",
"compilers": "derleyiciler",
"selectIntelliSenseConfiguration.string": "IntelliSense Yapılandırmasını Seç...",
"setCompiler.message": "Yapılandırılmış IntelliSenseniz yok. Kendi yapılandırmalarınızı ayarlamazsanız IntelliSense çalışmayabilir.",
"use.provider": "{0} kullan",
"use.compileCommands": "{0} kullan",
"selectAnotherCompiler.string": "Makinem üzerinde başka bir derleyici seç...",
+184 -10
View File
@@ -2,7 +2,7 @@
"name": "cpptools",
"displayName": "C/C++",
"description": "C/C++ IntelliSense, debugging, and code browsing.",
"version": "1.19.1-main",
"version": "1.20.1-main",
"publisher": "ms-vscode",
"icon": "LanguageCCPP_color_128x.png",
"readme": "README.md",
@@ -313,12 +313,78 @@
"description": "%c_cpp.taskDefinitions.name.description%"
},
"command": {
"type": "string",
"description": "%c_cpp.taskDefinitions.command.description%"
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"required": [
"value",
"quoting"
],
"properties": {
"value": {
"type": "string",
"description": "%c_cpp.taskDefinitions.args.value.description%"
},
"quoting": {
"type": "string",
"enum": [
"escape",
"strong",
"weak"
],
"enumDescriptions": [
"%c_cpp.taskDefinitions.args.quoting.escape.description%",
"%c_cpp.taskDefinitions.args.quoting.strong.description%",
"%c_cpp.taskDefinitions.args.quoting.weak.description%"
],
"default": "strong",
"description": "%c_cpp.taskDefinitions.args.quoting.description%"
}
}
}
]
},
"args": {
"type": "array",
"description": "%c_cpp.taskDefinitions.args.description%"
"description": "%c_cpp.taskDefinitions.args.description%",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"required": [
"value",
"quoting"
],
"properties": {
"value": {
"type": "string",
"description": "%c_cpp.taskDefinitions.args.value.description%"
},
"quoting": {
"type": "string",
"enum": [
"escape",
"strong",
"weak"
],
"enumDescriptions": [
"%c_cpp.taskDefinitions.args.quoting.escape.description%",
"%c_cpp.taskDefinitions.args.quoting.strong.description%",
"%c_cpp.taskDefinitions.args.quoting.weak.description%"
],
"default": "strong",
"description": "%c_cpp.taskDefinitions.args.quoting.description%"
}
}
}
]
}
},
"options": {
"type": "object",
@@ -458,7 +524,7 @@
},
"C_Cpp.intelliSenseUpdateDelay": {
"type": "number",
"default": 2000,
"default": 1000,
"description": "%c_cpp.configuration.intelliSenseUpdateDelay.description%",
"scope": "application",
"minimum": 500,
@@ -1785,7 +1851,11 @@
"bugprone-bad-signal-to-kill-thread",
"bugprone-bool-pointer-implicit-conversion",
"bugprone-branch-clone",
"bugprone-casting-through-void",
"bugprone-chained-comparison",
"bugprone-compare-pointer-to-member-virtual-function",
"bugprone-copy-constructor-init",
"bugprone-crtp-constructor-accessibility",
"bugprone-dangling-handle",
"bugprone-dynamic-static-initializers",
"bugprone-easily-swappable-parameters",
@@ -1796,6 +1866,9 @@
"bugprone-forwarding-reference-overload",
"bugprone-implicit-widening-of-multiplication-result",
"bugprone-inaccurate-erase",
"bugprone-inc-dec-in-conditions",
"bugprone-incorrect-*",
"bugprone-incorrect-enable-if",
"bugprone-incorrect-roundings",
"bugprone-infinite-loop",
"bugprone-integer-division",
@@ -1807,6 +1880,7 @@
"bugprone-misplaced-pointer-arithmetic-in-alloc",
"bugprone-misplaced-widening-cast",
"bugprone-move-forwarding-reference",
"bugprone-multi-level-implicit-pointer-conversion",
"bugprone-multiple-*",
"bugprone-multiple-new-in-one-expression",
"bugprone-multiple-statement-macro",
@@ -1814,6 +1888,7 @@
"bugprone-no-escape",
"bugprone-non-zero-enum-to-bool-conversion",
"bugprone-not-null-terminated-result",
"bugprone-optional-value-conversion",
"bugprone-parent-virtual-call",
"bugprone-posix-return",
"bugprone-redundant-branch-condition",
@@ -1840,6 +1915,7 @@
"bugprone-suspicious-realloc-usage",
"bugprone-suspicious-semicolon",
"bugprone-suspicious-string-compare",
"bugprone-suspicious-stringview-data-usage",
"bugprone-swapped-arguments",
"bugprone-switch-missing-default-case",
"bugprone-terminating-continue",
@@ -1852,6 +1928,9 @@
"bugprone-unhandled-exception-at-new",
"bugprone-unhandled-self-assignment",
"bugprone-unique-ptr-array-mismatch",
"bugprone-unsafe-functions",
"bugprone-unused-*",
"bugprone-unused-local-non-trivial-variable",
"bugprone-unused-raii",
"bugprone-unused-return-value",
"bugprone-use-after-move",
@@ -1888,6 +1967,7 @@
"cert-msc*",
"cert-msc30-c",
"cert-msc32-c",
"cert-msc33-c",
"cert-msc50-cpp",
"cert-msc51-cpp",
"cert-msc54-cpp",
@@ -1903,6 +1983,7 @@
"cert-str34-c",
"clang-analyzer-*",
"clang-analyzer-core.*",
"clang-analyzer-core.BitwiseShift",
"clang-analyzer-core.CallAndMessage",
"clang-analyzer-core.DivideZero",
"clang-analyzer-core.DynamicTypePropagation",
@@ -1915,6 +1996,7 @@
"clang-analyzer-core.uninitialized.Assign",
"clang-analyzer-core.uninitialized.Branch",
"clang-analyzer-core.uninitialized.CapturedBlockVariable",
"clang-analyzer-core.uninitialized.NewArraySize",
"clang-analyzer-core.uninitialized.UndefReturn",
"clang-analyzer-core.VLASize",
"clang-analyzer-cplusplus.*",
@@ -1922,7 +2004,11 @@
"clang-analyzer-cplusplus.Move",
"clang-analyzer-cplusplus.NewDelete",
"clang-analyzer-cplusplus.NewDeleteLeaks",
"clang-analyzer-cplusplus.PlacementNew",
"clang-analyzer-cplusplus.PureVirtualCall",
"clang-analyzer-cplusplus.StringChecker",
"clang-analyzer-deadcode.DeadStores",
"clang-analyzer-fuchsia.HandleChecker",
"clang-analyzer-nullablity.*",
"clang-analyzer-nullability.NullableDereferenced",
"clang-analyzer-nullability.NullablePassedToNonnull",
@@ -1930,6 +2016,7 @@
"clang-analyzer-nullability.NullPassedToNonnull",
"clang-analyzer-nullability.NullReturnedFromNonnull",
"clang-analyzer-optin.*",
"clang-analyzer-optin.core.EnumCastOutOfRange",
"clang-analyzer-optin.cplusplus.*",
"clang-analyzer-optin.cplusplus.UninitializedObject",
"clang-analyzer-optin.cplusplus.VirtualCall",
@@ -1978,11 +2065,13 @@
"clang-analyzer-osx.OSObjectRetainCount",
"clang-analyzer-osx.SecKeychainAPI",
"clang-analyzer-security.*",
"clang-analyzer-security.cert.env.InvalidPtr",
"clang-analyzer-security.FloatLoopCounter",
"clang-analyzer-security.insecureAPI.*",
"clang-analyzer-security.insecureAPI.bcmp",
"clang-analyzer-security.insecureAPI.bcopy",
"clang-analyzer-security.insecureAPI.bzero",
"clang-analyzer-security.insecureAPI.decodeValueOfObjCType",
"clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling",
"clang-analyzer-security.insecureAPI.getpw",
"clang-analyzer-security.insecureAPI.gets",
@@ -1997,14 +2086,19 @@
"clang-analyzer-unix.cstring.*",
"clang-analyzer-unix.cstring.BadSizeArg",
"clang-analyzer-unix.cstring.NullArg",
"clang-analyzer-unix.Errno",
"clang-analyzer-unix.Malloc",
"clang-analyzer-unix.MallocSizeof",
"clang-analyzer-unix.MismatchedDeallocator",
"clang-analyzer-unix.StdCLibraryFunctions",
"clang-analyzer-unix.Vfork",
"clang-analyzer-valist.*",
"clang-analyzer-valist.CopyToSelf",
"clang-analyzer-valist.Uninitialized",
"clang-analyzer-valist.Unterminated",
"clang-analyzer-webkit.NoUncountedMemberChecker",
"clang-analyzer-webkit.RefCntblBaseVirtualDtor",
"clang-analyzer-webkit.UncountedLambdaCapturesChecker",
"concurrency-*",
"concurrency-mt-unsafe",
"concurrency-thread-canceltype-asynchronous",
@@ -2027,7 +2121,13 @@
"cppcoreguidelines-misleading-capture-default-by-value",
"cppcoreguidelines-missing-std-forward",
"cppcoreguidelines-narrowing-conversions",
"cppcoreguidelines-no-*",
"cppcoreguidelines-no-malloc",
"cppcoreguidelines-no-suspend-with-lock",
"cppcoreguidelines-noexcept-*",
"cppcoreguidelines-noexcept-destructor",
"cppcoreguidelines-noexcept-move-operations",
"cppcoreguidelines-noexcept-swap",
"cppcoreguidelines-non-private-member-variables-in-classes",
"cppcoreguidelines-owning-memory",
"cppcoreguidelines-prefer-member-initializer",
@@ -2046,6 +2146,7 @@
"cppcoreguidelines-rvalue-reference-param-not-moved",
"cppcoreguidelines-slicing",
"cppcoreguidelines-special-member-functions",
"cppcoreguidelines-use-default-member-init",
"cppcoreguidelines-virtual-class-destructor",
"darwin-*",
"darwin-avoid-spinlock",
@@ -2094,6 +2195,7 @@
"hicpp-exception-baseclass",
"hicpp-explicit-conversions",
"hicpp-function-size",
"hicpp-ignored-remove-result",
"hicpp-invalid-access-moved",
"hicpp-member-init",
"hicpp-move-const-arg",
@@ -2139,6 +2241,7 @@
"misc-*",
"misc-confusable-identifiers",
"misc-const-correctness",
"misc-coroutine-hostile-raii",
"misc-definitions-in-headers",
"misc-header-include-cycle",
"misc-include-cleaner",
@@ -2189,7 +2292,9 @@
"modernize-use-auto",
"modernize-use-bool-literals",
"modernize-use-default",
"modernize-use-constraints",
"modernize-use-default-member-init",
"modernize-use-designated-initializers",
"modernize-use-emplace",
"modernize-use-equals-*",
"modernize-use-equals-default",
@@ -2198,6 +2303,9 @@
"modernize-use-noexcept",
"modernize-use-nullptr",
"modernize-use-override",
"modernize-use-starts-ends-with",
"modernize-use-std-*",
"modernize-use-std-numbers",
"modernize-use-std-print",
"modernize-use-trailing-return-type",
"modernize-use-transparent-functors",
@@ -2221,6 +2329,7 @@
"openmp-use-default-none",
"performance-*",
"performance-avoid-endl",
"performance-enum-size",
"performance-faster-string-find",
"performance-for-range-copy",
"performance-implicit-conversion-in-loop",
@@ -2250,6 +2359,8 @@
"readability-*",
"readability-avoid-*",
"readability-avoid-const-params-in-decls",
"readability-avoid-nested-conditional-operator",
"readability-avoid-return-with-void-value",
"readability-avoid-unconditional-preprocessor-if",
"readability-braces-around-statements",
"readability-const-return-type",
@@ -2280,15 +2391,18 @@
"readability-qualified-auto",
"readability-redundant-*",
"readability-redundant-access-specifiers",
"readability-redundant-casting",
"readability-redundant-control-flow",
"readability-redundant-declaration",
"readability-redundant-function-ptr-dereference",
"readability-redundant-inline-specifier",
"readability-redundant-member-init",
"readability-redundant-preprocessor",
"readability-redundant-smartptr-get",
"readability-redundant-string-*",
"readability-redundant-string-cstr",
"readability-redundant-string-init",
"readability-reference-to-constructed-temporary",
"readability-simplify-*",
"readability-simplify-boolean-expr",
"readability-simplify-subscript-expr",
@@ -2299,7 +2413,9 @@
"readability-suspicious-call-argument",
"readability-uniqueptr-delete-release",
"readability-uppercase-literal-suffix",
"readability-use-*",
"readability-use-anyofallof",
"readability-use-std-min-max",
"zircon-temporary-objects"
]
},
@@ -2371,7 +2487,11 @@
"bugprone-bad-signal-to-kill-thread",
"bugprone-bool-pointer-implicit-conversion",
"bugprone-branch-clone",
"bugprone-casting-through-void",
"bugprone-chained-comparison",
"bugprone-compare-pointer-to-member-virtual-function",
"bugprone-copy-constructor-init",
"bugprone-crtp-constructor-accessibility",
"bugprone-dangling-handle",
"bugprone-dynamic-static-initializers",
"bugprone-easily-swappable-parameters",
@@ -2382,6 +2502,9 @@
"bugprone-forwarding-reference-overload",
"bugprone-implicit-widening-of-multiplication-result",
"bugprone-inaccurate-erase",
"bugprone-inc-dec-in-conditions",
"bugprone-incorrect-*",
"bugprone-incorrect-enable-if",
"bugprone-incorrect-roundings",
"bugprone-infinite-loop",
"bugprone-integer-division",
@@ -2393,6 +2516,7 @@
"bugprone-misplaced-pointer-arithmetic-in-alloc",
"bugprone-misplaced-widening-cast",
"bugprone-move-forwarding-reference",
"bugprone-multi-level-implicit-pointer-conversion",
"bugprone-multiple-*",
"bugprone-multiple-new-in-one-expression",
"bugprone-multiple-statement-macro",
@@ -2400,6 +2524,7 @@
"bugprone-no-escape",
"bugprone-non-zero-enum-to-bool-conversion",
"bugprone-not-null-terminated-result",
"bugprone-optional-value-conversion",
"bugprone-parent-virtual-call",
"bugprone-posix-return",
"bugprone-redundant-branch-condition",
@@ -2426,6 +2551,7 @@
"bugprone-suspicious-realloc-usage",
"bugprone-suspicious-semicolon",
"bugprone-suspicious-string-compare",
"bugprone-suspicious-stringview-data-usage",
"bugprone-swapped-arguments",
"bugprone-switch-missing-default-case",
"bugprone-terminating-continue",
@@ -2438,6 +2564,9 @@
"bugprone-unhandled-exception-at-new",
"bugprone-unhandled-self-assignment",
"bugprone-unique-ptr-array-mismatch",
"bugprone-unsafe-functions",
"bugprone-unused-*",
"bugprone-unused-local-non-trivial-variable",
"bugprone-unused-raii",
"bugprone-unused-return-value",
"bugprone-use-after-move",
@@ -2474,6 +2603,7 @@
"cert-msc*",
"cert-msc30-c",
"cert-msc32-c",
"cert-msc33-c",
"cert-msc50-cpp",
"cert-msc51-cpp",
"cert-msc54-cpp",
@@ -2489,6 +2619,7 @@
"cert-str34-c",
"clang-analyzer-*",
"clang-analyzer-core.*",
"clang-analyzer-core.BitwiseShift",
"clang-analyzer-core.CallAndMessage",
"clang-analyzer-core.DivideZero",
"clang-analyzer-core.DynamicTypePropagation",
@@ -2501,6 +2632,7 @@
"clang-analyzer-core.uninitialized.Assign",
"clang-analyzer-core.uninitialized.Branch",
"clang-analyzer-core.uninitialized.CapturedBlockVariable",
"clang-analyzer-core.uninitialized.NewArraySize",
"clang-analyzer-core.uninitialized.UndefReturn",
"clang-analyzer-core.VLASize",
"clang-analyzer-cplusplus.*",
@@ -2508,7 +2640,11 @@
"clang-analyzer-cplusplus.Move",
"clang-analyzer-cplusplus.NewDelete",
"clang-analyzer-cplusplus.NewDeleteLeaks",
"clang-analyzer-cplusplus.PlacementNew",
"clang-analyzer-cplusplus.PureVirtualCall",
"clang-analyzer-cplusplus.StringChecker",
"clang-analyzer-deadcode.DeadStores",
"clang-analyzer-fuchsia.HandleChecker",
"clang-analyzer-nullablity.*",
"clang-analyzer-nullability.NullableDereferenced",
"clang-analyzer-nullability.NullablePassedToNonnull",
@@ -2516,6 +2652,7 @@
"clang-analyzer-nullability.NullPassedToNonnull",
"clang-analyzer-nullability.NullReturnedFromNonnull",
"clang-analyzer-optin.*",
"clang-analyzer-optin.core.EnumCastOutOfRange",
"clang-analyzer-optin.cplusplus.*",
"clang-analyzer-optin.cplusplus.UninitializedObject",
"clang-analyzer-optin.cplusplus.VirtualCall",
@@ -2564,11 +2701,13 @@
"clang-analyzer-osx.OSObjectRetainCount",
"clang-analyzer-osx.SecKeychainAPI",
"clang-analyzer-security.*",
"clang-analyzer-security.cert.env.InvalidPtr",
"clang-analyzer-security.FloatLoopCounter",
"clang-analyzer-security.insecureAPI.*",
"clang-analyzer-security.insecureAPI.bcmp",
"clang-analyzer-security.insecureAPI.bcopy",
"clang-analyzer-security.insecureAPI.bzero",
"clang-analyzer-security.insecureAPI.decodeValueOfObjCType",
"clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling",
"clang-analyzer-security.insecureAPI.getpw",
"clang-analyzer-security.insecureAPI.gets",
@@ -2583,14 +2722,19 @@
"clang-analyzer-unix.cstring.*",
"clang-analyzer-unix.cstring.BadSizeArg",
"clang-analyzer-unix.cstring.NullArg",
"clang-analyzer-unix.Errno",
"clang-analyzer-unix.Malloc",
"clang-analyzer-unix.MallocSizeof",
"clang-analyzer-unix.MismatchedDeallocator",
"clang-analyzer-unix.StdCLibraryFunctions",
"clang-analyzer-unix.Vfork",
"clang-analyzer-valist.*",
"clang-analyzer-valist.CopyToSelf",
"clang-analyzer-valist.Uninitialized",
"clang-analyzer-valist.Unterminated",
"clang-analyzer-webkit.NoUncountedMemberChecker",
"clang-analyzer-webkit.RefCntblBaseVirtualDtor",
"clang-analyzer-webkit.UncountedLambdaCapturesChecker",
"concurrency-*",
"concurrency-mt-unsafe",
"concurrency-thread-canceltype-asynchronous",
@@ -2613,7 +2757,13 @@
"cppcoreguidelines-misleading-capture-default-by-value",
"cppcoreguidelines-missing-std-forward",
"cppcoreguidelines-narrowing-conversions",
"cppcoreguidelines-no-*",
"cppcoreguidelines-no-malloc",
"cppcoreguidelines-no-suspend-with-lock",
"cppcoreguidelines-noexcept-*",
"cppcoreguidelines-noexcept-destructor",
"cppcoreguidelines-noexcept-move-operations",
"cppcoreguidelines-noexcept-swap",
"cppcoreguidelines-non-private-member-variables-in-classes",
"cppcoreguidelines-owning-memory",
"cppcoreguidelines-prefer-member-initializer",
@@ -2632,6 +2782,7 @@
"cppcoreguidelines-rvalue-reference-param-not-moved",
"cppcoreguidelines-slicing",
"cppcoreguidelines-special-member-functions",
"cppcoreguidelines-use-default-member-init",
"cppcoreguidelines-virtual-class-destructor",
"darwin-*",
"darwin-avoid-spinlock",
@@ -2680,6 +2831,7 @@
"hicpp-exception-baseclass",
"hicpp-explicit-conversions",
"hicpp-function-size",
"hicpp-ignored-remove-result",
"hicpp-invalid-access-moved",
"hicpp-member-init",
"hicpp-move-const-arg",
@@ -2725,6 +2877,7 @@
"misc-*",
"misc-confusable-identifiers",
"misc-const-correctness",
"misc-coroutine-hostile-raii",
"misc-definitions-in-headers",
"misc-header-include-cycle",
"misc-include-cleaner",
@@ -2775,7 +2928,9 @@
"modernize-use-auto",
"modernize-use-bool-literals",
"modernize-use-default",
"modernize-use-constraints",
"modernize-use-default-member-init",
"modernize-use-designated-initializers",
"modernize-use-emplace",
"modernize-use-equals-*",
"modernize-use-equals-default",
@@ -2784,6 +2939,9 @@
"modernize-use-noexcept",
"modernize-use-nullptr",
"modernize-use-override",
"modernize-use-starts-ends-with",
"modernize-use-std-*",
"modernize-use-std-numbers",
"modernize-use-std-print",
"modernize-use-trailing-return-type",
"modernize-use-transparent-functors",
@@ -2807,6 +2965,7 @@
"openmp-use-default-none",
"performance-*",
"performance-avoid-endl",
"performance-enum-size",
"performance-faster-string-find",
"performance-for-range-copy",
"performance-implicit-conversion-in-loop",
@@ -2836,6 +2995,8 @@
"readability-*",
"readability-avoid-*",
"readability-avoid-const-params-in-decls",
"readability-avoid-nested-conditional-operator",
"readability-avoid-return-with-void-value",
"readability-avoid-unconditional-preprocessor-if",
"readability-braces-around-statements",
"readability-const-return-type",
@@ -2866,15 +3027,18 @@
"readability-qualified-auto",
"readability-redundant-*",
"readability-redundant-access-specifiers",
"readability-redundant-casting",
"readability-redundant-control-flow",
"readability-redundant-declaration",
"readability-redundant-function-ptr-dereference",
"readability-redundant-inline-specifier",
"readability-redundant-member-init",
"readability-redundant-preprocessor",
"readability-redundant-smartptr-get",
"readability-redundant-string-*",
"readability-redundant-string-cstr",
"readability-redundant-string-init",
"readability-reference-to-constructed-temporary",
"readability-simplify-*",
"readability-simplify-boolean-expr",
"readability-simplify-subscript-expr",
@@ -2885,7 +3049,9 @@
"readability-suspicious-call-argument",
"readability-uniqueptr-delete-release",
"readability-uppercase-literal-suffix",
"readability-use-*",
"readability-use-anyofallof",
"readability-use-std-min-max",
"zircon-temporary-objects"
]
},
@@ -3012,6 +3178,14 @@
"maximum": 65536,
"scope": "machine"
},
"C_Cpp.maxSymbolSearchResults": {
"type": "integer",
"markdownDescription": "%c_cpp.configuration.maxSymbolSearchResults.markdownDescription%",
"default": 5000,
"minimum": 500,
"maximum": 10000,
"scope": "window"
},
"C_Cpp.intelliSense.maxCachedProcesses": {
"type": [
"integer",
@@ -5811,17 +5985,17 @@
},
"configurationDefaults": {
"[cpp]": {
"editor.wordBasedSuggestions": false,
"editor.wordBasedSuggestions": "off",
"editor.suggest.insertMode": "replace",
"editor.semanticHighlighting.enabled": true
},
"[cuda-cpp]": {
"editor.wordBasedSuggestions": false,
"editor.wordBasedSuggestions": "off",
"editor.suggest.insertMode": "replace",
"editor.semanticHighlighting.enabled": true
},
"[c]": {
"editor.wordBasedSuggestions": false,
"editor.wordBasedSuggestions": "off",
"editor.suggest.insertMode": "replace",
"editor.semanticHighlighting.enabled": true
}
@@ -6311,7 +6485,7 @@
"@types/minimatch": "^3.0.5",
"@types/mkdirp": "^0.5.2",
"@types/mocha": "^10.0.1",
"@types/node": "^18.11.9",
"@types/node": "^18.15.0",
"@types/node-fetch": "^2.6.9",
"@types/plist": "^3.0.2",
"@types/semver": "^7.1.0",
@@ -6322,7 +6496,7 @@
"@typescript-eslint/eslint-plugin": "^6.1.0",
"@typescript-eslint/parser": "^6.1.0",
"eslint-plugin-header": "^3.1.1",
"@vscode/test-electron": "^2.3.3",
"@vscode/test-electron": "^2.3.8",
"@vscode/dts": "^0.4.0",
"async-child-process": "^1.1.1",
"await-notify": "^1.0.1",
+13 -2
View File
@@ -66,6 +66,12 @@
"Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
]
},
"c_cpp.configuration.maxSymbolSearchResults.markdownDescription": {
"message": "The maximum number of results to show for 'Go to Symbol in Workspace'. The default is `5000`.",
"comment": [
"Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
]
},
"c_cpp.configuration.intelliSense.maxCachedProcesses.markdownDescription": {
"message": "The maximum number of IntelliSense processes to keep running. The default of `null` (empty) uses value inherited from `#C_Cpp.maxCachedProcesses#`.",
"comment": [
@@ -470,9 +476,9 @@
]
},
"c_cpp.configuration.autocomplete.markdownDescription": {
"message": "Controls the auto-completion provider. If `disabled` and you want word-based completion, you will also need to set `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}` (and similarly for `c` and `cuda-cpp` languages).",
"message": "Controls the auto-completion provider. If `disabled` and you want word-based completion, you will also need to set `\"[cpp]\": {\"editor.wordBasedSuggestions\": <value>}` (and similarly for `c` and `cuda-cpp` languages).",
"comment": [
"Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
"Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered -- except for text \"value\", which is a placeholder that should be translated."
]
},
"c_cpp.configuration.autocomplete.default.description": "Uses the active IntelliSense engine.",
@@ -928,6 +934,11 @@
"c_cpp.taskDefinitions.name.description": "The name of the task.",
"c_cpp.taskDefinitions.command.description": "The path to either a compiler or script that performs compilation.",
"c_cpp.taskDefinitions.args.description": "Additional arguments to pass to the compiler or compilation script.",
"c_cpp.taskDefinitions.args.value.description": "The actual argument value.",
"c_cpp.taskDefinitions.args.quoting.description": "How the argument value should be quoted.",
"c_cpp.taskDefinitions.args.quoting.escape.description": "Escapes characters using the shell's escape character (e.g. \\ under bash).",
"c_cpp.taskDefinitions.args.quoting.strong.description": "Quotes the argument using the shell's strong quote character (e.g. ' under bash).",
"c_cpp.taskDefinitions.args.quoting.weak.description": "Quotes the argument using the shell's weak quote character (e.g. \" under bash).",
"c_cpp.taskDefinitions.options.description": "Additional command options.",
"c_cpp.taskDefinitions.options.cwd.description": "The current working directory of the executed program or script. If omitted Code's current workspace root is used.",
"c_cpp.taskDefinitions.detail.description": "Additional details of the task.",
@@ -413,7 +413,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv
if (buildTasks.length !== 0) {
configs = (await Promise.all(buildTasks.map<Promise<CppDebugConfiguration | undefined>>(async task => {
const definition: CppBuildTaskDefinition = task.definition as CppBuildTaskDefinition;
const compilerPath: string = definition.command;
const compilerPath: string = util.isString(definition.command) ? definition.command : definition.command.value;
// Filter out the tasks that has an invalid compiler path.
const compilerPathExists: boolean = path.isAbsolute(compilerPath) ?
// Absolute path, just check if it exists
@@ -1162,16 +1162,16 @@ abstract class DefaultConfigurationProvider implements IConfigurationAssetProvid
class WindowsConfigurationProvider extends DefaultConfigurationProvider {
private executable: string = "a.exe";
private pipeProgram: string = "<" + localize("path.to.pipe.program", "full path to pipe program such as {0}", "plink.exe").replace(/\"/g, "\\\"") + ">";
private pipeProgram: string = "<" + localize("path.to.pipe.program", "full path to pipe program such as {0}", "plink.exe").replace(/"/g, '\\"') + ">";
private MIMode: string = 'gdb';
private setupCommandsBlock: string = `"setupCommands": [
{
"description": "${localize("enable.pretty.printing", "Enable pretty-printing for {0}", "gdb").replace(/\"/g, "\\\"")}",
"description": "${localize("enable.pretty.printing", "Enable pretty-printing for {0}", "gdb").replace(/"/g, '\\"')}",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "${localize("enable.intel.disassembly.flavor", "Set Disassembly Flavor to {0}", "Intel").replace(/\"/g, "\\\"")}",
"description": "${localize("enable.intel.disassembly.flavor", "Set Disassembly Flavor to {0}", "Intel").replace(/"/g, '\\"')}",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
@@ -1205,12 +1205,12 @@ class LinuxConfigurationProvider extends DefaultConfigurationProvider {
private MIMode: string = 'gdb';
private setupCommandsBlock: string = `"setupCommands": [
{
"description": "${localize("enable.pretty.printing", "Enable pretty-printing for {0}", "gdb").replace(/\"/g, "\\\"")}",
"description": "${localize("enable.pretty.printing", "Enable pretty-printing for {0}", "gdb").replace(/"/g, '\\"')}",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "${localize("enable.intel.disassembly.flavor", "Set Disassembly Flavor to {0}", "Intel").replace(/\"/g, "\\\"")}",
"description": "${localize("enable.intel.disassembly.flavor", "Set Disassembly Flavor to {0}", "Intel").replace(/"/g, '\\"')}",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
@@ -1228,7 +1228,7 @@ class LinuxConfigurationProvider extends DefaultConfigurationProvider {
}
function convertConfigurationSnippetToCompletionItem(snippet: IConfigurationSnippet): vscode.CompletionItem {
const item: vscode.CompletionItem = new vscode.CompletionItem(snippet.label, vscode.CompletionItemKind.Snippet);
const item: vscode.CompletionItem = new vscode.CompletionItem(snippet.label, vscode.CompletionItemKind.Module);
item.insertText = snippet.bodyText;
+19 -19
View File
@@ -92,7 +92,7 @@ function createLaunchString(name: string, type: string, executable: string): str
return `"name": "${name}",
"type": "${type}",
"request": "launch",
"program": "${localize("enter.program.name", "enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/\"/g, "\\\"")}",
"program": "${localize("enter.program.name", "enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/"/g, '\\"')}",
"args": [],
"stopAtEntry": false,
"cwd": "$\{fileDirname\}",
@@ -106,7 +106,7 @@ function createAttachString(name: string, type: string, executable: string): str
"name": "${name}",
"type": "${type}",
"request": "attach",{0}
`, [type === "cppdbg" ? `${os.EOL}"program": "${localize("enter.program.name", "enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/\"/g, "\\\"")}",` : ""]);
`, [type === "cppdbg" ? `${os.EOL}"program": "${localize("enter.program.name", "enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/"/g, '\\"')}",` : ""]);
}
function createRemoteAttachString(name: string, type: string, executable: string): string {
@@ -114,7 +114,7 @@ function createRemoteAttachString(name: string, type: string, executable: string
"name": "${name}",
"type": "${type}",
"request": "attach",
"program": "${localize("enter.program.name", "enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/\"/g, "\\\"")}",
"program": "${localize("enter.program.name", "enter program name, for example {0}", "$\{workspaceFolder\}" + "/" + executable).replace(/"/g, '\\"')}",
"processId": "$\{command:pickRemoteProcess\}"
`;
}
@@ -158,7 +158,7 @@ abstract class Configuration implements IConfiguration {
export class MIConfigurations extends Configuration {
public GetLaunchConfiguration(): IConfigurationSnippet {
const name: string = `(${this.MIMode}) ${localize("launch.string", "Launch").replace(/\"/g, "\\\"")}`;
const name: string = `(${this.MIMode}) ${localize("launch.string", "Launch").replace(/"/g, '\\"')}`;
const body: string = formatString(`{
\t${indentJsonString(createLaunchString(name, this.miDebugger, this.executable))},
@@ -168,7 +168,7 @@ export class MIConfigurations extends Configuration {
return {
"label": configPrefix + name,
"description": localize("launch.with", "Launch with {0}.", this.MIMode).replace(/\"/g, "\\\""),
"description": localize("launch.with", "Launch with {0}.", this.MIMode).replace(/"/g, '\\"'),
"bodyText": body.trim(),
"isInitialConfiguration": true,
"debuggerType": DebuggerType.cppdbg
@@ -176,7 +176,7 @@ export class MIConfigurations extends Configuration {
}
public GetAttachConfiguration(): IConfigurationSnippet {
const name: string = `(${this.MIMode}) ${localize("attach.string", "Attach").replace(/\"/g, "\\\"")}`;
const name: string = `(${this.MIMode}) ${localize("attach.string", "Attach").replace(/"/g, '\\"')}`;
const body: string = formatString(`{
\t${indentJsonString(createAttachString(name, this.miDebugger, this.executable))}
@@ -186,7 +186,7 @@ export class MIConfigurations extends Configuration {
return {
"label": configPrefix + name,
"description": localize("attach.with", "Attach with {0}.", this.MIMode).replace(/\"/g, "\\\""),
"description": localize("attach.with", "Attach with {0}.", this.MIMode).replace(/"/g, '\\"'),
"bodyText": body.trim(),
"debuggerType": DebuggerType.cppdbg
};
@@ -197,7 +197,7 @@ export class MIConfigurations extends Configuration {
export class PipeTransportConfigurations extends Configuration {
public GetLaunchConfiguration(): IConfigurationSnippet {
const name: string = `(${this.MIMode}) ${localize("pipe.launch", "Pipe Launch").replace(/\"/g, "\\\"")}`;
const name: string = `(${this.MIMode}) ${localize("pipe.launch", "Pipe Launch").replace(/"/g, '\\"')}`;
const body: string = formatString(`
{
@@ -208,7 +208,7 @@ export class PipeTransportConfigurations extends Configuration {
return {
"label": configPrefix + name,
"description": localize("pipe.launch.with", "Pipe Launch with {0}.", this.MIMode).replace(/\"/g, "\\\""),
"description": localize("pipe.launch.with", "Pipe Launch with {0}.", this.MIMode).replace(/"/g, '\\"'),
"bodyText": body.trim(),
"debuggerType": DebuggerType.cppdbg
};
@@ -216,7 +216,7 @@ export class PipeTransportConfigurations extends Configuration {
}
public GetAttachConfiguration(): IConfigurationSnippet {
const name: string = `(${this.MIMode}) ${localize("pipe.attach", "Pipe Attach").replace(/\"/g, "\\\"")}`;
const name: string = `(${this.MIMode}) ${localize("pipe.attach", "Pipe Attach").replace(/"/g, '\\"')}`;
const body: string = formatString(`
{
@@ -226,7 +226,7 @@ export class PipeTransportConfigurations extends Configuration {
}`, [this.additionalProperties ? `,${os.EOL}\t${indentJsonString(this.additionalProperties)}` : ""]);
return {
"label": configPrefix + name,
"description": localize("pipe.attach.with", "Pipe Attach with {0}.", this.MIMode).replace(/\"/g, "\\\""),
"description": localize("pipe.attach.with", "Pipe Attach with {0}.", this.MIMode).replace(/"/g, '\\"'),
"bodyText": body.trim(),
"debuggerType": DebuggerType.cppdbg
};
@@ -237,7 +237,7 @@ export class PipeTransportConfigurations extends Configuration {
export class WindowsConfigurations extends Configuration {
public GetLaunchConfiguration(): IConfigurationSnippet {
const name: string = `(Windows) ${localize("launch.string", "Launch").replace(/\"/g, "\\\"")}`;
const name: string = `(Windows) ${localize("launch.string", "Launch").replace(/"/g, '\\"')}`;
const body: string = `
{
@@ -246,7 +246,7 @@ export class WindowsConfigurations extends Configuration {
return {
"label": configPrefix + name,
"description": localize("launch.with.vs.debugger", "Launch with the Visual Studio C/C++ debugger.").replace(/\"/g, "\\\""),
"description": localize("launch.with.vs.debugger", "Launch with the Visual Studio C/C++ debugger.").replace(/"/g, '\\"'),
"bodyText": body.trim(),
"isInitialConfiguration": true,
"debuggerType": DebuggerType.cppvsdbg
@@ -255,7 +255,7 @@ export class WindowsConfigurations extends Configuration {
}
public GetAttachConfiguration(): IConfigurationSnippet {
const name: string = `(Windows) ${localize("attach.string", "Attach").replace(/\"/g, "\\\"")}`;
const name: string = `(Windows) ${localize("attach.string", "Attach").replace(/"/g, '\\"')}`;
const body: string = `
{
@@ -264,7 +264,7 @@ export class WindowsConfigurations extends Configuration {
return {
"label": configPrefix + name,
"description": localize("attach.with.vs.debugger", "Attach to a process with the Visual Studio C/C++ debugger.").replace(/\"/g, "\\\""),
"description": localize("attach.with.vs.debugger", "Attach to a process with the Visual Studio C/C++ debugger.").replace(/"/g, '\\"'),
"bodyText": body.trim(),
"debuggerType": DebuggerType.cppvsdbg
};
@@ -277,7 +277,7 @@ export class WSLConfigurations extends Configuration {
public bashPipeProgram = process.arch === 'ia32' ? "${env:windir}\\\\sysnative\\\\bash.exe" : "${env:windir}\\\\system32\\\\bash.exe";
public GetLaunchConfiguration(): IConfigurationSnippet {
const name: string = `(${this.MIMode}) ${localize("bash.on.windows.launch", "Bash on Windows Launch").replace(/\"/g, "\\\"")}`;
const name: string = `(${this.MIMode}) ${localize("bash.on.windows.launch", "Bash on Windows Launch").replace(/"/g, '\\"')}`;
const body: string = formatString(`
{
@@ -287,14 +287,14 @@ export class WSLConfigurations extends Configuration {
return {
"label": configPrefix + name,
"description": localize("launch.bash.windows", "Launch in Bash on Windows using {0}.", this.MIMode).replace(/\"/g, "\\\""),
"description": localize("launch.bash.windows", "Launch in Bash on Windows using {0}.", this.MIMode).replace(/"/g, '\\"'),
"bodyText": body.trim(),
"debuggerType": DebuggerType.cppdbg
};
}
public GetAttachConfiguration(): IConfigurationSnippet {
const name: string = `(${this.MIMode}) ${localize("bash.on.windows.attach", "Bash on Windows Attach").replace(/\"/g, "\\\"")}`;
const name: string = `(${this.MIMode}) ${localize("bash.on.windows.attach", "Bash on Windows Attach").replace(/"/g, '\\"')}`;
const body: string = formatString(`
{
@@ -304,7 +304,7 @@ export class WSLConfigurations extends Configuration {
return {
"label": configPrefix + name,
"description": localize("remote.attach.bash.windows", "Attach to a remote process running in Bash on Windows using {0}.", this.MIMode).replace(/\"/g, "\\\""),
"description": localize("remote.attach.bash.windows", "Attach to a remote process running in Bash on Windows using {0}.", this.MIMode).replace(/"/g, '\\"'),
"bodyText": body.trim(),
"debuggerType": DebuggerType.cppdbg
};
+1 -1
View File
@@ -12,7 +12,7 @@ export class ArchitectureReplacer {
public static checkAndReplaceWSLPipeProgram(pipeProgramStr: string, expectedArch: ArchType): string | undefined {
let replacedPipeProgram: string | undefined;
const winDir: string | undefined = process.env.WINDIR ? process.env.WINDIR.toLowerCase() : undefined;
const winDirAltDirSep: string | undefined = process.env.WINDIR ? process.env.WINDIR.replace('\\', '/').toLowerCase() : undefined;
const winDirAltDirSep: string | undefined = process.env.WINDIR ? process.env.WINDIR.replace(/\\/g, '/').toLowerCase() : undefined;
const winDirEnv: string = "${env:windir}";
if (winDir && winDirAltDirSep && (pipeProgramStr.indexOf(winDir) === 0 || pipeProgramStr.indexOf(winDirAltDirSep) === 0 || pipeProgramStr.indexOf(winDirEnv) === 0)) {
@@ -10,7 +10,17 @@ interface FileData
{
version: number;
promise: ManualPromise<vscode.InlayHint[]>;
typeHints: CppInlayHint[];
parameterHints: CppInlayHint[];
inlayHints: vscode.InlayHint[];
inlayHintsAutoDeclarationTypes?: boolean;
inlayHintsAutoDeclarationTypesShowOnLeft?: boolean;
inlayHintsParameterNames?: boolean;
inlayHintsParameterNamesHideLeadingUnderscores?: boolean;
inlayHintsParameterNamesSuppressName?: boolean;
inlayHintsReferenceOperator?: boolean;
inlayHintsReferenceOperatorShowSpace?: boolean;
}
export interface CppInlayHint {
@@ -35,7 +45,7 @@ export class InlayHintsProvider implements vscode.InlayHintsProvider {
public onDidChangeInlayHints?: vscode.Event<void> = this.onDidChangeInlayHintsEvent.event;
private allFileData: Map<string, FileData> = new Map<string, FileData>();
public async provideInlayHints(document: vscode.TextDocument, range: vscode.Range, token: vscode.CancellationToken): Promise<vscode.InlayHint[]> {
public async provideInlayHints(document: vscode.TextDocument, _range: vscode.Range, token: vscode.CancellationToken): Promise<vscode.InlayHint[]> {
const uri: vscode.Uri = document.uri;
const uriString: string = uri.toString();
let fileData: FileData | undefined = this.allFileData.get(uriString);
@@ -44,6 +54,36 @@ export class InlayHintsProvider implements vscode.InlayHintsProvider {
// Make sure file hasn't been changed since the last set of results.
// If a complete promise is present, there should also be a cache.
if (fileData.version === document.version) {
const settings: CppSettings = new CppSettings(vscode.Uri.parse(uriString));
// Check if any of the settings changed.
if (fileData.inlayHintsAutoDeclarationTypes === settings.inlayHintsAutoDeclarationTypes &&
fileData.inlayHintsAutoDeclarationTypesShowOnLeft === settings.inlayHintsAutoDeclarationTypesShowOnLeft &&
fileData.inlayHintsParameterNames === settings.inlayHintsParameterNames &&
fileData.inlayHintsParameterNamesHideLeadingUnderscores === settings.inlayHintsParameterNamesHideLeadingUnderscores &&
fileData.inlayHintsParameterNamesSuppressName === settings.inlayHintsParameterNamesSuppressName &&
fileData.inlayHintsReferenceOperator === settings.inlayHintsReferenceOperator &&
fileData.inlayHintsReferenceOperatorShowSpace === settings.inlayHintsReferenceOperatorShowSpace) {
return fileData.promise;
}
fileData.inlayHints = [];
fileData.inlayHintsAutoDeclarationTypes = settings.inlayHintsAutoDeclarationTypes;
fileData.inlayHintsAutoDeclarationTypesShowOnLeft = settings.inlayHintsAutoDeclarationTypesShowOnLeft;
fileData.inlayHintsParameterNames = settings.inlayHintsParameterNames;
fileData.inlayHintsParameterNamesHideLeadingUnderscores = settings.inlayHintsParameterNamesHideLeadingUnderscores;
fileData.inlayHintsParameterNamesSuppressName = settings.inlayHintsParameterNamesSuppressName;
fileData.inlayHintsReferenceOperator = settings.inlayHintsReferenceOperator;
fileData.inlayHintsReferenceOperatorShowSpace = settings.inlayHintsReferenceOperatorShowSpace;
if (settings.inlayHintsAutoDeclarationTypes) {
const resolvedTypeHints: vscode.InlayHint[] = this.resolveTypeHints(settings, fileData.typeHints);
Array.prototype.push.apply(fileData.inlayHints, resolvedTypeHints);
}
if (settings.inlayHintsParameterNames || settings.inlayHintsReferenceOperator) {
const resolvedParameterHints: vscode.InlayHint[] = this.resolveParameterHints(settings, fileData.parameterHints);
Array.prototype.push.apply(fileData.inlayHints, resolvedParameterHints);
}
fileData.promise = new ManualPromise<vscode.InlayHint[]>();
fileData.promise.resolve(fileData.inlayHints);
this.onDidChangeInlayHintsEvent.fire();
return fileData.promise;
}
} else {
@@ -56,6 +96,8 @@ export class InlayHintsProvider implements vscode.InlayHintsProvider {
fileData = {
version: document.version,
promise: new ManualPromise<vscode.InlayHint[]>(),
typeHints: [],
parameterHints: [],
inlayHints: []
};
this.allFileData.set(uriString, fileData);
@@ -93,6 +135,8 @@ export class InlayHintsProvider implements vscode.InlayHintsProvider {
fileData = {
version: editor.document.version,
promise: new ManualPromise<vscode.InlayHint[]>(),
typeHints: [],
parameterHints: [],
inlayHints: []
};
newPromiseCreated = true;
@@ -105,25 +149,38 @@ export class InlayHintsProvider implements vscode.InlayHintsProvider {
}
if (fileData.version !== editor.document.version) {
fileData.version = editor.document.version;
fileData.typeHints = [];
fileData.parameterHints = [];
fileData.inlayHints = [];
}
}
return [fileData, newPromiseCreated];
})();
const settings: CppSettings = new CppSettings(vscode.Uri.parse(uriString));
if (startNewSet) {
fileData.inlayHints = [];
fileData.typeHints = [];
fileData.parameterHints = [];
fileData.inlayHintsAutoDeclarationTypes = settings.inlayHintsAutoDeclarationTypes;
fileData.inlayHintsAutoDeclarationTypesShowOnLeft = settings.inlayHintsAutoDeclarationTypesShowOnLeft;
fileData.inlayHintsParameterNames = settings.inlayHintsParameterNames;
fileData.inlayHintsParameterNamesHideLeadingUnderscores = settings.inlayHintsParameterNamesHideLeadingUnderscores;
fileData.inlayHintsParameterNamesSuppressName = settings.inlayHintsParameterNamesSuppressName;
fileData.inlayHintsReferenceOperator = settings.inlayHintsReferenceOperator;
fileData.inlayHintsReferenceOperatorShowSpace = settings.inlayHintsReferenceOperatorShowSpace;
}
const typeHints: CppInlayHint[] = cppInlayHints.filter(h => h.inlayHintKind === InlayHintKind.Type);
const paramHints: CppInlayHint[] = cppInlayHints.filter(h => h.inlayHintKind === InlayHintKind.Parameter);
const newTypeHints: CppInlayHint[] = cppInlayHints.filter(h => h.inlayHintKind === InlayHintKind.Type);
const newParameterHints: CppInlayHint[] = cppInlayHints.filter(h => h.inlayHintKind === InlayHintKind.Parameter);
Array.prototype.push.apply(fileData.typeHints, newTypeHints);
Array.prototype.push.apply(fileData.parameterHints, newParameterHints);
const settings: CppSettings = new CppSettings(vscode.Uri.parse(uriString));
if (settings.inlayHintsAutoDeclarationTypes) {
const resolvedTypeHints: vscode.InlayHint[] = this.resolveTypeHints(settings, typeHints);
const resolvedTypeHints: vscode.InlayHint[] = this.resolveTypeHints(settings, newTypeHints);
Array.prototype.push.apply(fileData.inlayHints, resolvedTypeHints);
}
if (settings.inlayHintsParameterNames || settings.inlayHintsReferenceOperator) {
const resolvedParameterHints: vscode.InlayHint[] = this.resolveParameterHints(settings, paramHints);
const resolvedParameterHints: vscode.InlayHint[] = this.resolveParameterHints(settings, newParameterHints);
Array.prototype.push.apply(fileData.inlayHints, resolvedParameterHints);
}
@@ -3,6 +3,7 @@
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import * as vscode from 'vscode';
import { isExperimentEnabled } from '../../telemetry';
import { DefaultClient, GetSymbolInfoRequest, LocalizeSymbolInformation, SymbolScope, WorkspaceSymbolParams } from '../client';
import { getLocalizedString, getLocalizedSymbolScope } from '../localization';
import { makeVscodeLocation } from '../utils';
@@ -14,8 +15,14 @@ export class WorkspaceSymbolProvider implements vscode.WorkspaceSymbolProvider {
}
public async provideWorkspaceSymbols(query: string, token: vscode.CancellationToken): Promise<vscode.SymbolInformation[]> {
// if the query is empty, then return as quickly as possible
if (!query) {
return [];
}
const params: WorkspaceSymbolParams = {
query: query
query: query,
experimentEnabled: await isExperimentEnabled('CppTools1')
};
const symbols: LocalizeSymbolInformation[] = await this.client.languageClient.sendRequest(GetSymbolInfoRequest, params, token);
+130 -32
View File
@@ -53,7 +53,7 @@ import {
import { Location, TextEdit, WorkspaceEdit } from './commonTypes';
import * as configs from './configurations';
import { DataBinding } from './dataBinding';
import { CppSourceStr, clients, configPrefix, updateLanguageConfigurations } from './extension';
import { CppSourceStr, clients, configPrefix, updateLanguageConfigurations, watchForCrashes } from './extension';
import { LocalizeStringParams, getLocaleId, getLocalizedString } from './localization';
import { PersistentFolderState, PersistentWorkspaceState } from './persistentState';
import { createProtocolFilter } from './protocolFilter';
@@ -294,6 +294,7 @@ interface PublishRefactorDiagnosticsParams {
}
export interface CreateDeclarationOrDefinitionParams extends SelectionParams {
formatParams: FormatParams;
copyToClipboard: boolean;
}
@@ -317,6 +318,7 @@ export interface GetDocumentSymbolRequestParams {
export interface WorkspaceSymbolParams extends WorkspaceFolderParams {
query: string;
experimentEnabled: boolean;
}
export enum SymbolScope {
@@ -535,8 +537,18 @@ interface DidChangeActiveEditorParams {
selection?: Range;
}
interface GetIncludesParams
{
maxDepth: number;
}
interface GetIncludesResult
{
includedFiles: string[];
}
// Requests
const InitializationRequest: RequestType<CppInitializationParams, void, void> = new RequestType<CppInitializationParams, void, void>('cpptools/initialize');
const InitializationRequest: RequestType<CppInitializationParams, string, void> = new RequestType<CppInitializationParams, string, void>('cpptools/initialize');
const QueryCompilerDefaultsRequest: RequestType<QueryDefaultCompilerParams, configs.CompilerDefaults, void> = new RequestType<QueryDefaultCompilerParams, configs.CompilerDefaults, void>('cpptools/queryCompilerDefaults');
const QueryTranslationUnitSourceRequest: RequestType<QueryTranslationUnitSourceParams, QueryTranslationUnitSourceResult, void> = new RequestType<QueryTranslationUnitSourceParams, QueryTranslationUnitSourceResult, void>('cpptools/queryTranslationUnitSource');
const SwitchHeaderSourceRequest: RequestType<SwitchHeaderSourceParams, string, void> = new RequestType<SwitchHeaderSourceParams, string, void>('cpptools/didSwitchHeaderSource');
@@ -552,6 +564,7 @@ const ExtractToFunctionRequest: RequestType<ExtractToFunctionParams, WorkspaceEd
const GoToDirectiveInGroupRequest: RequestType<GoToDirectiveInGroupParams, Position | undefined, void> = new RequestType<GoToDirectiveInGroupParams, Position | undefined, void>('cpptools/goToDirectiveInGroup');
const GenerateDoxygenCommentRequest: RequestType<GenerateDoxygenCommentParams, GenerateDoxygenCommentResult | undefined, void> = new RequestType<GenerateDoxygenCommentParams, GenerateDoxygenCommentResult, void>('cpptools/generateDoxygenComment');
const ChangeCppPropertiesRequest: RequestType<CppPropertiesParams, void, void> = new RequestType<CppPropertiesParams, void, void>('cpptools/didChangeCppProperties');
const IncludesRequest: RequestType<GetIncludesParams, GetIncludesResult, void> = new RequestType<GetIncludesParams, GetIncludesResult, void>('cpptools/getIncludes');
// Notifications to the server
const DidOpenNotification: NotificationType<DidOpenTextDocumentParams> = new NotificationType<DidOpenTextDocumentParams>('textDocument/didOpen');
@@ -628,10 +641,13 @@ class ClientModel {
constructor() {
this.isInitializingWorkspace = new DataBinding<boolean>(false);
this.isIndexingWorkspace = new DataBinding<boolean>(false);
this.isParsingWorkspace = new DataBinding<boolean>(false);
this.isParsingWorkspacePaused = new DataBinding<boolean>(false);
this.isParsingFiles = new DataBinding<boolean>(false);
this.isUpdatingIntelliSense = new DataBinding<boolean>(false);
// The following elements add a delay of 500ms before notitfying the UI that the icon can hide itself.
this.isParsingWorkspace = new DataBinding<boolean>(false, 500, false);
this.isParsingWorkspacePaused = new DataBinding<boolean>(false, 500, false);
this.isParsingFiles = new DataBinding<boolean>(false, 500, false);
this.isUpdatingIntelliSense = new DataBinding<boolean>(false, 500, false);
this.isRunningCodeAnalysis = new DataBinding<boolean>(false);
this.isCodeAnalysisPaused = new DataBinding<boolean>(false);
this.codeAnalysisProcessed = new DataBinding<number>(0);
@@ -777,6 +793,7 @@ export interface Client {
getShowConfigureIntelliSenseButton(): boolean;
setShowConfigureIntelliSenseButton(show: boolean): void;
addTrustedCompiler(path: string): Promise<void>;
getIncludes(maxDepth: number): Promise<GetIncludesResult>;
}
export function createClient(workspaceFolder?: vscode.WorkspaceFolder): Client {
@@ -960,6 +977,14 @@ export class DefaultClient implements Client {
return selection ? selection.index : -1;
}
public async showPrompt(sender?: any): Promise<void> {
const buttonMessage: string = localize("selectIntelliSenseConfiguration.string", "Select IntelliSense Configuration...");
const value: string | undefined = await vscode.window.showInformationMessage(localize("setCompiler.message", "You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional."), buttonMessage);
if (value === buttonMessage) {
return this.handleIntelliSenseConfigurationQuickPick(sender);
}
}
public async handleIntelliSenseConfigurationQuickPick(sender?: any, showCompilersOnly?: boolean): Promise<void> {
const settings: CppSettings = new CppSettings(showCompilersOnly ? undefined : this.RootUri);
const paths: string[] = [];
@@ -1024,6 +1049,7 @@ export class DefaultClient implements Client {
settings.defaultCompilerPath = "";
await this.configuration.updateCompilerPathIfSet(settings.defaultCompilerPath);
configurationSelected = true;
await this.showPrompt(sender);
return ui.ShowConfigureIntelliSenseButton(false, this, ConfigurationType.CompilerPath, "disablePrompt");
}
if (installShown && index === paths.length - 2) {
@@ -1432,6 +1458,7 @@ export class DefaultClient implements Client {
maxConcurrentThreads: workspaceSettings.maxConcurrentThreads,
maxCachedProcesses: workspaceSettings.maxCachedProcesses,
maxMemory: workspaceSettings.maxMemory,
maxSymbolSearchResults: workspaceSettings.maxSymbolSearchResults,
loggingLevel: workspaceSettings.loggingLevel,
workspaceParsingPriority: workspaceSettings.workspaceParsingPriority,
workspaceSymbols: workspaceSettings.workspaceSymbols,
@@ -1462,8 +1489,8 @@ export class DefaultClient implements Client {
}
const serverName: string = this.getName(this.rootFolder);
const serverOptions: ServerOptions = {
run: { command: serverModule, options: { detached: false } },
debug: { command: serverModule, args: [serverName], options: { detached: true } }
run: { command: serverModule, options: { detached: false, cwd: util.getExtensionFilePath("bin") } },
debug: { command: serverModule, args: [serverName], options: { detached: true, cwd: util.getExtensionFilePath("bin") } }
};
// The IntelliSense process should automatically detect when AutoPCH is
@@ -1572,7 +1599,7 @@ export class DefaultClient implements Client {
// Move initialization to a separate message, so we can see log output from it.
// A request is used in order to wait for completion and ensure that no subsequent
// higher priority message may be processed before the Initialization request.
await languageClient.sendRequest(InitializationRequest, cppInitializationParams);
watchForCrashes(await languageClient.sendRequest(InitializationRequest, cppInitializationParams));
}
public async sendDidChangeSettings(): Promise<void> {
@@ -1618,6 +1645,24 @@ export class DefaultClient implements Client {
}
}
// If an inlay hints setting has changed, force an inlay provider update on the visible documents.
if (["inlayHints.autoDeclarationTypes.enabled",
"inlayHints.autoDeclarationTypes.showOnLeft",
"inlayHints.parameterNames.enabled",
"inlayHints.parameterNames.hideLeadingUnderscores",
"inlayHints.parameterNames.suppressWhenArgumentContainsName",
"inlayHints.referenceOperator.enabled",
"inlayHints.referenceOperator.showSpace"].some(setting => setting in changedSettings)) {
vscode.window.visibleTextEditors.forEach((visibleEditor: vscode.TextEditor) => {
// The exact range doesn't matter.
const visibleRange: vscode.Range | undefined = visibleEditor.visibleRanges.at(0);
if (visibleRange !== undefined) {
void vscode.commands.executeCommand<vscode.InlayHint[]>('vscode.executeInlayHintProvider',
visibleEditor.document.uri, visibleRange);
}
});
}
const showButtonSender: string = "settingsChanged";
if (changedSettings["default.configurationProvider"] !== undefined) {
void ui.ShowConfigureIntelliSenseButton(false, this, ConfigurationType.ConfigProvider, showButtonSender);
@@ -1826,7 +1871,7 @@ export class DefaultClient implements Client {
if (!this.configurationProvider) {
return;
}
console.log("updateCustomBrowseConfiguration");
const currentProvider: CustomConfigurationProvider1 | undefined = getCustomConfigProviders().get(this.configurationProvider);
if (!currentProvider || !currentProvider.isReady || (requestingProvider && requestingProvider.extensionId !== currentProvider.extensionId)) {
return;
@@ -1963,7 +2008,6 @@ export class DefaultClient implements Client {
DefaultClient.isStarted.reset();
const tokenSource: vscode.CancellationTokenSource = new vscode.CancellationTokenSource();
console.log("provideCustomConfiguration");
const params: QueryTranslationUnitSourceParams = {
uri: docUri.toString(),
@@ -2160,6 +2204,12 @@ export class DefaultClient implements Client {
await this.languageClient.sendNotification(DidOpenNotification, params);
}
public async getIncludes(maxDepth: number): Promise<GetIncludesResult> {
const params: GetIncludesParams = { maxDepth: maxDepth };
await this.ready;
return this.languageClient.sendRequest(IncludesRequest, params);
}
/**
* a Promise that can be awaited to know when it's ok to proceed.
*
@@ -2240,7 +2290,7 @@ export class DefaultClient implements Client {
}
private callTaskWithTimeout<T>(task: () => Thenable<T>, ms: number, cancelToken?: vscode.CancellationTokenSource): Promise<T> {
let timer: NodeJS.Timer;
let timer: NodeJS.Timeout;
// Create a promise that rejects in <ms> milliseconds
const timeout: () => Promise<T> = () => new Promise<T>((resolve, reject) => {
@@ -2300,21 +2350,21 @@ export class DefaultClient implements Client {
this.languageClient.onNotification(CanceledReferencesNotification, this.serverCanceledReferences);
}
private handleIntelliSenseResult(intelliseSenseResult: IntelliSenseResult): void {
const fileVersion: number | undefined = openFileVersions.get(intelliseSenseResult.uri);
if (fileVersion !== undefined && fileVersion !== intelliseSenseResult.fileVersion) {
private handleIntelliSenseResult(intelliSenseResult: IntelliSenseResult): void {
const fileVersion: number | undefined = openFileVersions.get(intelliSenseResult.uri);
if (fileVersion !== undefined && fileVersion !== intelliSenseResult.fileVersion) {
return;
}
if (this.semanticTokensProvider) {
this.semanticTokensProvider.deliverTokens(intelliseSenseResult.uri, intelliseSenseResult.semanticTokens, intelliseSenseResult.clearExistingSemanticTokens);
this.semanticTokensProvider.deliverTokens(intelliSenseResult.uri, intelliSenseResult.semanticTokens, intelliSenseResult.clearExistingSemanticTokens);
}
if (this.inlayHintsProvider) {
this.inlayHintsProvider.deliverInlayHints(intelliseSenseResult.uri, intelliseSenseResult.inlayHints, intelliseSenseResult.clearExistingInlayHint);
this.inlayHintsProvider.deliverInlayHints(intelliSenseResult.uri, intelliSenseResult.inlayHints, intelliSenseResult.clearExistingInlayHint);
}
this.updateInactiveRegions(intelliseSenseResult.uri, intelliseSenseResult.inactiveRegions, intelliseSenseResult.clearExistingInactiveRegions, intelliseSenseResult.isCompletePass);
this.updateSquiggles(intelliseSenseResult.uri, intelliseSenseResult.diagnostics, intelliseSenseResult.clearExistingDiagnostics);
this.updateInactiveRegions(intelliSenseResult.uri, intelliSenseResult.inactiveRegions, intelliSenseResult.clearExistingInactiveRegions, intelliSenseResult.isCompletePass);
this.updateSquiggles(intelliSenseResult.uri, intelliSenseResult.diagnostics, intelliSenseResult.clearExistingDiagnostics);
}
private updateSquiggles(uriString: string, diagnostics: IntelliSenseDiagnostic[], startNewSet: boolean): void {
@@ -3070,10 +3120,8 @@ export class DefaultClient implements Client {
if (sanitized.browsePath.length === 0) {
sanitized.browsePath = ["${workspaceFolder}/**"];
}
console.log("Falling back to last received browse configuration: ", JSON.stringify(sanitized, null, 2));
break;
}
console.log("No browse configuration is available.");
return;
}
@@ -3087,7 +3135,6 @@ export class DefaultClient implements Client {
if (sanitized.browsePath.length === 0) {
sanitized.browsePath = ["${workspaceFolder}/**"];
}
console.log("Falling back to last received browse configuration: ", JSON.stringify(sanitized, null, 2));
break;
}
return;
@@ -3393,8 +3440,11 @@ export class DefaultClient implements Client {
public async handleCreateDeclarationOrDefinition(isCopyToClipboard: boolean, codeActionRange?: Range): Promise<void> {
let range: vscode.Range | undefined;
let uri: vscode.Uri | undefined;
const editor: vscode.TextEditor | undefined = vscode.window.activeTextEditor;
const editorSettings: OtherSettings = new OtherSettings(uri);
const cppSettings: CppSettings = new CppSettings(uri);
if (editor) {
uri = editor.document.uri;
if (codeActionRange !== undefined) {
@@ -3412,10 +3462,55 @@ export class DefaultClient implements Client {
}
}
if (uri === undefined || range === undefined) {
if (uri === undefined || range === undefined || editor === undefined) {
return;
}
let formatParams: FormatParams | undefined;
if (cppSettings.useVcFormat(editor.document))
{
const editorConfigSettings: any = getEditorConfigSettings(uri.fsPath);
formatParams = {
editorConfigSettings: editorConfigSettings,
useVcFormat: true,
insertSpaces: editorConfigSettings.indent_style !== undefined ? editorConfigSettings.indent_style === "space" ? true : false : true,
tabSize: editorConfigSettings.tab_width !== undefined ? editorConfigSettings.tab_width : 4,
character: "",
range: {
start: {
character: 0,
line: 0
},
end: {
character: 0,
line: 0
}
},
onChanges: false,
uri: ''
};
} else {
formatParams = {
editorConfigSettings: {},
useVcFormat: false,
insertSpaces: editorSettings.editorInsertSpaces !== undefined ? editorSettings.editorInsertSpaces : true,
tabSize: editorSettings.editorTabSize !== undefined ? editorSettings.editorTabSize : 4,
character: "",
range: {
start: {
character: 0,
line: 0
},
end: {
character: 0,
line: 0
}
},
onChanges: false,
uri: ''
};
}
const params: CreateDeclarationOrDefinitionParams = {
uri: uri.toString(),
range: {
@@ -3428,6 +3523,7 @@ export class DefaultClient implements Client {
line: range.end.line
}
},
formatParams: formatParams,
copyToClipboard: isCopyToClipboard
};
@@ -3451,7 +3547,6 @@ export class DefaultClient implements Client {
return;
}
// Handle copy to clipboard.
if (result.clipboardText && params.copyToClipboard) {
return vscode.env.clipboard.writeText(result.clipboardText);
}
@@ -3665,9 +3760,9 @@ export class DefaultClient implements Client {
isReplace ? range.end.character :
range.end.character + edit.newText.length - rangeStartCharacter));
if (isSourceFile) {
sourceFormatUriAndRanges.push({uri, range: newFormatRange});
sourceFormatUriAndRanges.push({ uri, range: newFormatRange });
} else {
headerFormatUriAndRanges.push({uri, range: newFormatRange});
headerFormatUriAndRanges.push({ uri, range: newFormatRange });
}
if (isReplace || !isSourceFile) {
// Handle additional declaration lines added before the new function call.
@@ -3717,7 +3812,8 @@ export class DefaultClient implements Client {
// without being opened because otherwise users may not realize that
// the header had changed (unless they view source control differences).
await vscode.window.showTextDocument(headerFormatUriAndRanges[0].uri, {
selection: headerReplaceEditRange, preserveFocus: false });
selection: headerReplaceEditRange, preserveFocus: false
});
}
// Format the new text edits.
@@ -3761,8 +3857,7 @@ export class DefaultClient implements Client {
formatEdits.set(formatUriAndRange.uri, formatTextEdits);
return true;
};
if (!await tryFormat())
{
if (!await tryFormat()) {
await tryFormat(); // Try again;
}
};
@@ -3773,7 +3868,8 @@ export class DefaultClient implements Client {
// This showTextDocument is required in order to get the selection to be
// correct after the formatting edit is applied. It could be a VS Code bug.
await vscode.window.showTextDocument(headerFormatUriAndRanges[0].uri, {
selection: headerReplaceEditRange, preserveFocus: false });
selection: headerReplaceEditRange, preserveFocus: false
});
await vscode.workspace.applyEdit(formatEdits, { isRefactoring: true });
formatEdits = new vscode.WorkspaceEdit();
}
@@ -3781,7 +3877,8 @@ export class DefaultClient implements Client {
// Select the replaced code.
await vscode.window.showTextDocument(sourceFormatUriAndRanges[0].uri, {
selection: sourceReplaceEditRange, preserveFocus: false });
selection: sourceReplaceEditRange, preserveFocus: false
});
await formatRanges(sourceFormatUriAndRanges);
if (formatEdits.size > 0) {
@@ -3983,4 +4080,5 @@ class NullClient implements Client {
getShowConfigureIntelliSenseButton(): boolean { return false; }
setShowConfigureIntelliSenseButton(show: boolean): void { }
addTrustedCompiler(path: string): Promise<void> { return Promise.resolve(); }
getIncludes(): Promise<GetIncludesResult> { return Promise.resolve({} as GetIncludesResult); }
}
+1 -1
View File
@@ -378,7 +378,7 @@ export function publishCodeAnalysisDiagnostics(params: PublishCodeAnalysisDiagno
docPage = `checks${checksGroup}/${checksPage}.html`;
}
// TODO: This should be checking the clang-tidy version used to better support usage of older versions.
const primaryDocUri: vscode.Uri = vscode.Uri.parse(`https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/${docPage}`);
const primaryDocUri: vscode.Uri = vscode.Uri.parse(`https://releases.llvm.org/18.1.1/tools/clang/tools/extra/docs/clang-tidy/${docPage}`);
diagnostic.code = { value: identifier.code, target: primaryDocUri };
if (new CppSettings().clangTidyCodeActionShowDocumentation) {
+68 -27
View File
@@ -289,8 +289,6 @@ export class CppProperties {
}
}
});
this.handleConfigurationChange();
}
public set CompilerDefaults(compilerDefaults: CompilerDefaults) {
this.defaultCompilerPath = compilerDefaults.trustedCompilerFound ? compilerDefaults.compilerPath : null;
@@ -427,6 +425,11 @@ export class CppProperties {
result["workspaceFolderBasename"] = this.rootUri ? path.basename(this.rootUri.fsPath) : "";
result["execPath"] = process.execPath;
result["pathSeparator"] = (os.platform() === 'win32') ? "\\" : "/";
result["/"] = (os.platform() === 'win32') ? "\\" : "/";
result["userHome"] = os.homedir();
if (util.getVcpkgRoot()) {
result["vcpkgRoot"] = util.getVcpkgRoot();
}
return result;
}
@@ -755,7 +758,7 @@ export class CppProperties {
return result;
}
private resolveAndSplit(paths: string[] | undefined, defaultValue: string[] | undefined, env: Environment, glob: boolean = false): string[] {
private resolveAndSplit(paths: string[] | undefined, defaultValue: string[] | undefined, env: Environment, assumeRelative: boolean = true, glob: boolean = false): string[] {
const resolvedVariables: string[] = [];
if (paths === undefined) {
return resolvedVariables;
@@ -767,7 +770,7 @@ export class CppProperties {
// Do not futher try to resolve a "${env:VAR}"
resolvedVariables.push(resolvedVariable);
} else {
const entries: string[] = resolvedVariable.split(path.delimiter).map(e => glob ? this.resolvePath(e, false) : e).filter(e => e);
const entries: string[] = resolvedVariable.split(path.delimiter).map(e => glob ? this.resolvePath(e, false, assumeRelative) : e).filter(e => e);
resolvedVariables.push(...entries);
}
});
@@ -806,8 +809,11 @@ export class CppProperties {
if (isGlobPattern) {
// fastGlob silently strips non-found paths. Limit that behavior to dynamic paths only.
const matches: string[] = fastGlob.isDynamicPattern(normalized) ?
fastGlob.sync(normalized, { onlyDirectories: true, cwd }) : [res];
fastGlob.sync(normalized, { onlyDirectories: true, cwd, suppressErrors: true, deep: 15 }) : [res];
resolvedGlob.push(...matches.map(s => s + suffix));
if (resolvedGlob.length === 0) {
resolvedGlob.push(normalized);
}
} else {
resolvedGlob.push(normalized + suffix);
}
@@ -835,12 +841,12 @@ export class CppProperties {
return property;
}
private updateConfigurationPathsArray(paths: string[] | undefined, defaultValue: string[] | undefined, env: Environment): string[] | undefined {
private updateConfigurationPathsArray(paths: string[] | undefined, defaultValue: string[] | undefined, env: Environment, assumeRelative: boolean = true): string[] | undefined {
if (paths) {
return this.resolveAndSplit(paths, defaultValue, env, true);
return this.resolveAndSplit(paths, defaultValue, env, assumeRelative, true);
}
if (!paths && defaultValue) {
return this.resolveAndSplit(defaultValue, [], env, true);
return this.resolveAndSplit(defaultValue, [], env, assumeRelative, true);
}
return paths;
}
@@ -931,7 +937,7 @@ export class CppProperties {
configuration.macFrameworkPath = this.updateConfigurationStringArray(configuration.macFrameworkPath, settings.defaultMacFrameworkPath, env);
configuration.windowsSdkVersion = this.updateConfigurationString(configuration.windowsSdkVersion, settings.defaultWindowsSdkVersion, env);
configuration.forcedInclude = this.updateConfigurationPathsArray(configuration.forcedInclude, settings.defaultForcedInclude, env);
configuration.forcedInclude = this.updateConfigurationPathsArray(configuration.forcedInclude, settings.defaultForcedInclude, env, false);
configuration.compileCommands = this.updateConfigurationString(configuration.compileCommands, settings.defaultCompileCommands, env);
configuration.compilerArgs = this.updateConfigurationStringArray(configuration.compilerArgs, settings.defaultCompilerArgs, env);
configuration.cStandard = this.updateConfigurationString(configuration.cStandard, settings.defaultCStandard, env);
@@ -1091,7 +1097,7 @@ export class CppProperties {
}
if (configuration.forcedInclude) {
configuration.forcedInclude = configuration.forcedInclude.map((path: string) => this.resolvePath(path));
configuration.forcedInclude = configuration.forcedInclude.map((path: string) => this.resolvePath(path, true, false));
}
if (configuration.includePath) {
@@ -1105,7 +1111,7 @@ export class CppProperties {
}
}
private compileCommandsFileWatcherTimer?: NodeJS.Timer;
private compileCommandsFileWatcherTimer?: NodeJS.Timeout;
private compileCommandsFileWatcherFiles: Set<string> = new Set<string>();
// Dispose existing and loop through cpp and populate with each file (exists or not) as you go.
@@ -1253,11 +1259,28 @@ export class CppProperties {
}
}
private trimPathWhitespace(paths: string[] | undefined): string[] | undefined {
if (paths === undefined) {
return undefined;
}
const trimmedPaths = [];
for (const value of paths) {
const fullPath = this.resolvePath(value);
if (fs.existsSync(fullPath.trim()) && !fs.existsSync(fullPath)) {
trimmedPaths.push(value.trim());
} else {
trimmedPaths.push(value);
}
}
return trimmedPaths;
}
private saveConfigurationUI(): void {
this.parsePropertiesFile(); // Clear out any modifications we may have made internally.
if (this.settingsPanel && this.configurationJson) {
const config: Configuration = this.settingsPanel.getLastValuesFromConfigUI();
this.configurationJson.configurations[this.settingsPanel.selectedConfigIndex] = config;
this.configurationJson.configurations[this.settingsPanel.selectedConfigIndex].includePath = this.trimPathWhitespace(this.configurationJson.configurations[this.settingsPanel.selectedConfigIndex].includePath);
this.settingsPanel.updateErrors(this.getErrorsForConfigUI(this.settingsPanel.selectedConfigIndex));
this.writeToJson();
}
@@ -1493,7 +1516,7 @@ export class CppProperties {
return success;
}
private resolvePath(input_path: string | undefined, replaceAsterisks: boolean = true): string {
private resolvePath(input_path: string | undefined, replaceAsterisks: boolean = true, assumeRelative: boolean = true): string {
if (!input_path || input_path === "${default}") {
return "";
}
@@ -1510,17 +1533,17 @@ export class CppProperties {
result = result.replace("${workspaceRoot}", this.rootUri.fsPath);
}
}
if (result.includes("${vcpkgRoot}") && util.getVcpkgRoot()) {
result = result.replace("${vcpkgRoot}", util.getVcpkgRoot());
}
if (replaceAsterisks && result.includes("*")) {
result = result.replace(/\*/g, "");
}
// Make sure all paths result to an absolute path.
// Do not add the root path to an unresolved env variable.
if (!result.includes("env:") && !path.isAbsolute(result) && this.rootUri) {
result = path.join(this.rootUri.fsPath, result);
if (assumeRelative) {
// Make sure all paths result to an absolute path.
// Do not add the root path to an unresolved env variable.
if (!result.includes("env:") && !path.isAbsolute(result) && this.rootUri) {
result = path.join(this.rootUri.fsPath, result);
}
}
return result;
@@ -1536,9 +1559,15 @@ export class CppProperties {
// Check if config name is unique.
errors.name = this.isConfigNameUnique(config.name);
let resolvedCompilerPath: string | undefined;
// Validate compilerPath
let resolvedCompilerPath: string | undefined = this.resolvePath(config.compilerPath);
if (config.compilerPath) {
resolvedCompilerPath = which.sync(config.compilerPath, { nothrow: true }) ?? undefined;
}
if (resolvedCompilerPath === undefined) {
resolvedCompilerPath = this.resolvePath(config.compilerPath);
}
const settings: CppSettings = new CppSettings(this.rootUri);
const compilerPathAndArgs: util.CompilerPathAndArgs = util.extractCompilerPathAndArgs(!!settings.legacyCompilerArgsBehavior, resolvedCompilerPath);
if (resolvedCompilerPath
@@ -1608,7 +1637,7 @@ export class CppProperties {
errors.browsePath = this.validatePath(config.browse ? config.browse.path : undefined);
// Validate files
errors.forcedInclude = this.validatePath(config.forcedInclude, {isDirectory: false, skipRelativePaths: true});
errors.forcedInclude = this.validatePath(config.forcedInclude, {isDirectory: false, assumeRelative: false});
errors.compileCommands = this.validatePath(config.compileCommands, {isDirectory: false});
errors.dotConfig = this.validatePath(config.dotConfig, {isDirectory: false});
errors.databaseFilename = this.validatePath(config.browse ? config.browse.databaseFilename : undefined, {isDirectory: false});
@@ -1624,7 +1653,7 @@ export class CppProperties {
return errors;
}
private validatePath(input: string | string[] | undefined, {isDirectory = true, skipRelativePaths = false, globPaths = false} = {}): string | undefined {
private validatePath(input: string | string[] | undefined, {isDirectory = true, assumeRelative = true, globPaths = false} = {}): string | undefined {
if (!input) {
return undefined;
}
@@ -1640,7 +1669,7 @@ export class CppProperties {
}
// Resolve and split any environment variables
paths = this.resolveAndSplit(paths, undefined, this.ExtendedEnvironment, globPaths);
paths = this.resolveAndSplit(paths, undefined, this.ExtendedEnvironment, assumeRelative, globPaths);
for (const p of paths) {
let pathExists: boolean = true;
@@ -1651,7 +1680,7 @@ export class CppProperties {
// Check if resolved path exists
if (!fs.existsSync(resolvedPath)) {
if (skipRelativePaths && !path.isAbsolute(resolvedPath)) {
if (assumeRelative && !path.isAbsolute(resolvedPath)) {
continue;
} else if (!this.rootUri) {
pathExists = false;
@@ -1993,14 +2022,26 @@ export class CppProperties {
// Escape the path string for literal use in a regular expression
// Need to escape any quotes to match the original text
let escapedPath: string = curPath.replace(/\"/g, '\\\"');
let escapedPath: string = curPath.replace(/"/g, '\\"');
escapedPath = escapedPath.replace(/[-\"\/\\^$*+?.()|[\]{}]/g, '\\$&');
// Create a pattern to search for the path with either a quote or semicolon immediately before and after,
// and extend that pattern to the next quote before and next quote after it.
const pattern: RegExp = new RegExp(`"[^"]*?(?<="|;)${escapedPath}(?="|;).*?"`, "g");
const configMatches: string[] | null = curText.match(pattern);
if (configMatches) {
let globPath: boolean = false;
const asteriskPosition = curPath.indexOf("*");
if (asteriskPosition !== -1) {
if (asteriskPosition !== curPath.length - 1 && asteriskPosition !== curPath.length - 2) {
globPath = true;
} else if (asteriskPosition === curPath.length - 2) {
if (curPath[asteriskPosition + 1] !== '*') {
globPath = true;
}
}
}
if (configMatches && !globPath) {
let curOffset: number = 0;
let endOffset: number = 0;
for (const curMatch of configMatches) {
@@ -21,8 +21,8 @@ const localize: nls.LocalizeFunc = nls.loadMessageBundle();
export interface CppBuildTaskDefinition extends TaskDefinition {
type: string;
label: string; // The label appears in tasks.json file.
command: string;
args: string[];
command: string | util.IQuotedString;
args: (string | util.IQuotedString)[];
options: cp.ExecOptions | cp.SpawnOptions | undefined;
}
@@ -166,20 +166,24 @@ export class CppBuildTaskProvider implements TaskProvider {
return result;
}
private getTask: (compilerPath: string, appendSourceToName: boolean, compilerArgs?: string[], definition?: CppBuildTaskDefinition, detail?: string) => Task = (compilerPath: string, appendSourceToName: boolean, compilerArgs?: string[], definition?: CppBuildTaskDefinition, detail?: string) => {
const compilerPathBase: string = path.basename(compilerPath);
private getTask: (compilerPath: string | util.IQuotedString, appendSourceToName: boolean, compilerArgs?: (string | util.IQuotedString)[], definition?: CppBuildTaskDefinition, detail?: string) => Task = (compilerPath: string | util.IQuotedString, appendSourceToName: boolean, compilerArgs?: (string | util.IQuotedString)[], definition?: CppBuildTaskDefinition, detail?: string) => {
const compilerPathString: string = util.isString(compilerPath) ? compilerPath : compilerPath.value;
const compilerPathBase: string = path.basename(compilerPathString);
const isCl: boolean = compilerPathBase.toLowerCase() === "cl.exe";
const isClang: boolean = !isCl && compilerPathBase.toLowerCase().includes("clang");
// Double-quote the command if needed.
let resolvedcompilerPath: string = isCl ? compilerPathBase : compilerPath;
resolvedcompilerPath = util.quoteArgument(resolvedcompilerPath);
const resolvedCompilerPathString: string = isCl ? compilerPathBase : compilerPathString;
let resolvedCompilerPath: string | util.IQuotedString = compilerPath;
if (isCl) {
resolvedCompilerPath = compilerPathBase;
}
if (!definition) {
const isWindows: boolean = os.platform() === 'win32';
const taskLabel: string = ((appendSourceToName && !compilerPathBase.startsWith(ext.configPrefix)) ?
ext.configPrefix : "") + compilerPathBase + " " + localize("build.active.file", "build active file");
const programName: string = util.defaultExePath();
let args: string[] = isCl ?
let args: (string | util.IQuotedString)[] = isCl ?
['/Zi', '/EHsc', '/nologo', `/Fe${programName}`, '${file}'] :
isClang ?
['-fcolor-diagnostics', '-fansi-escape-codes', '-g', '${file}', '-o', programName] :
@@ -188,30 +192,38 @@ export class CppBuildTaskProvider implements TaskProvider {
if (compilerArgs && compilerArgs.length > 0) {
args = args.concat(compilerArgs);
}
const cwd: string = isWindows && !isCl && !process.env.PATH?.includes(path.dirname(compilerPath)) ? path.dirname(compilerPath) : "${fileDirname}";
const cwd: string = isWindows && !isCl && !process.env.PATH?.includes(path.dirname(compilerPathString)) ? path.dirname(compilerPathString) : "${fileDirname}";
const options: cp.ExecOptions | cp.SpawnOptions | undefined = { cwd: cwd };
definition = {
type: CppBuildTaskProvider.CppBuildScriptType,
label: taskLabel,
command: isCl ? compilerPathBase : compilerPath,
command: compilerPath,
args: args,
options: options
};
if (isCl) {
definition.command = compilerPathBase;
}
}
const editor: TextEditor | undefined = window.activeTextEditor;
const folder: WorkspaceFolder | undefined = editor ? workspace.getWorkspaceFolder(editor.document.uri) : undefined;
const taskUsesActiveFile: boolean = definition.args.some(arg => arg.indexOf('${file}') >= 0); // Need to check this before ${file} is resolved
const taskUsesActiveFile: boolean = definition.args.some(arg => {
if (util.isString(arg)) {
return arg.indexOf('${file}') >= 0;
}
return arg.value.indexOf('${file}') >= 0;
}); // Need to check this before ${file} is resolved
const scope: WorkspaceFolder | TaskScope = folder ? folder : TaskScope.Workspace;
const task: CppBuildTask = new Task(definition, scope, definition.label, ext.CppSourceStr,
new CustomExecution(async (resolvedDefinition: TaskDefinition): Promise<Pseudoterminal> =>
// When the task is executed, this callback will run. Here, we setup for running the task.
new CustomBuildTaskTerminal(resolvedcompilerPath, resolvedDefinition.args, resolvedDefinition.options, { taskUsesActiveFile, insertStd: isClang && os.platform() === 'darwin' })
new CustomBuildTaskTerminal(resolvedCompilerPath, resolvedDefinition.args, resolvedDefinition.options, { taskUsesActiveFile, insertStd: isClang && os.platform() === 'darwin' })
), isCl ? '$msCompile' : '$gcc');
task.group = TaskGroup.Build;
task.detail = detail ? detail : localize("compiler.details", "compiler:") + " " + resolvedcompilerPath;
task.detail = detail ? detail : localize("compiler.details", "compiler:") + " " + resolvedCompilerPathString;
return task;
};
@@ -354,7 +366,7 @@ class CustomBuildTaskTerminal implements Pseudoterminal {
public get onDidClose(): Event<number> { return this.closeEmitter.event; }
private endOfLine: string = "\r\n";
constructor(private command: string, private args: string[], private options: cp.ExecOptions | cp.SpawnOptions | undefined, private buildOptions: BuildOptions) {
constructor(private command: string | util.IQuotedString, private args: (string | util.IQuotedString)[], private options: cp.ExecOptions | undefined, private buildOptions: BuildOptions) {
}
async open(_initialDimensions: TerminalDimensions | undefined): Promise<void> {
@@ -380,22 +392,29 @@ class CustomBuildTaskTerminal implements Pseudoterminal {
private async doBuild(): Promise<any> {
// Do build.
let command: string = util.resolveVariables(this.command);
let activeCommand: string = command;
let resolvedCommand: string | util.IQuotedString | undefined;
if (util.isString(this.command)) {
resolvedCommand = util.resolveVariables(this.command);
} else {
resolvedCommand = {
value: util.resolveVariables(this.command.value),
quoting: this.command.quoting
};
}
// Create the exe folder path if it doesn't exist.
const exePath: string | undefined = util.resolveVariables(util.findExePathInArgs(this.args));
util.createDirIfNotExistsSync(exePath);
this.args.forEach((value, index) => {
value = util.quoteArgument(util.resolveVariables(value));
activeCommand = activeCommand + " " + value;
this.args[index] = value;
if (util.isString(value)) {
this.args[index] = util.resolveVariables(value);
} else {
value.value = util.resolveVariables(value.value);
}
});
if (this.options) {
this.options.shell = true;
} else {
this.options = { "shell": true };
if (this.options === undefined) {
this.options = { };
}
if (this.options.cwd) {
this.options.cwd = util.resolveVariables(this.options.cwd.toString());
@@ -425,15 +444,12 @@ class CustomBuildTaskTerminal implements Pseudoterminal {
}
};
if (os.platform() === 'win32') {
command = `cmd /c chcp 65001>nul && ${command}`;
}
const activeCommand: string = util.buildShellCommandLine(resolvedCommand, this.command, this.args);
this.writeEmitter.fire(activeCommand + this.endOfLine);
let child: cp.ChildProcess | undefined;
try {
child = cp.spawn(command, this.args, this.options ? this.options : {});
child = cp.exec(activeCommand, this.options);
let error: string = "";
let stdout: string = "";
let stderr: string = "";
+42 -5
View File
@@ -4,13 +4,37 @@
* ------------------------------------------------------------------------------------------ */
import * as vscode from 'vscode';
class Deferral {
private timer?: NodeJS.Timeout;
constructor(callback: () => void, timeout: number) {
this.timer = setTimeout(() => {
this.timer = undefined;
callback();
}, timeout);
}
public cancel() {
if (this.timer) {
clearTimeout(this.timer);
this.timer = undefined;
}
}
}
export class DataBinding<T> {
private value: T;
private valueChanged = new vscode.EventEmitter<T>();
private isActive: boolean = true;
private deferral?: Deferral;
constructor(value: T) {
this.value = value;
/**
* Bind an event to a value so that a data model can automatically update the UI when values change.
* Since values can change quickly and cause UI to flicker, an optional delay/trigger combination can
* be specified to prevent UI elements from appearing/disappearing too quickly.
* @param value The initial value in the binding.
* @param delay An optional delay (in milliseconds) for firing the value changed event.
* @param delayValueTrigger The value that triggers an event delay.
*/
constructor(private value: T, private delay: number = 0, private delayValueTrigger?: T) {
this.isActive = true;
}
@@ -20,8 +44,21 @@ export class DataBinding<T> {
public set Value(value: T) {
if (value !== this.value) {
this.value = value;
this.valueChanged.fire(this.value);
if (this.delay === 0 || value !== this.delayValueTrigger) {
this.value = value;
this.valueChanged.fire(this.value);
} else {
if (this.deferral) {
this.deferral.cancel();
}
this.deferral = new Deferral(() => {
this.value = value;
this.valueChanged.fire(this.value);
}, this.delay);
}
} else if (this.deferral) {
this.deferral.cancel();
this.deferral = undefined;
}
}
+156 -14
View File
@@ -14,6 +14,7 @@ import * as vscode from 'vscode';
import { Range } from 'vscode-languageclient';
import * as nls from 'vscode-nls';
import { TargetPopulation } from 'vscode-tas-client';
import * as which from 'which';
import { logAndReturn } from '../Utility/Async/returns';
import * as util from '../common';
import { PlatformInformation } from '../platform';
@@ -42,7 +43,7 @@ let ui: LanguageStatusUI;
const disposables: vscode.Disposable[] = [];
const commandDisposables: vscode.Disposable[] = [];
let languageConfigurations: vscode.Disposable[] = [];
let intervalTimer: NodeJS.Timer;
let intervalTimer: NodeJS.Timeout;
let codeActionProvider: vscode.Disposable;
export const intelliSenseDisabledError: string = "Do not activate the extension when IntelliSense is disabled.";
@@ -143,8 +144,6 @@ function sendActivationTelemetry(): void {
* activate: set up the extension for language services
*/
export async function activate(): Promise<void> {
console.log("activating extension");
sendActivationTelemetry();
const checkForConflictingExtensions: PersistentState<boolean> = new PersistentState<boolean>("CPP." + util.packageJson.version + ".checkForConflictingExtensions", true);
if (checkForConflictingExtensions.Value) {
@@ -156,7 +155,6 @@ export async function activate(): Promise<void> {
}
}
console.log("starting language server");
clients = new ClientCollection();
ui = getUI();
@@ -402,6 +400,7 @@ export function registerCommands(enabled: boolean): void {
commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ExtractToFreeFunction', enabled ? () => onExtractToFunction(true, false) : onDisabledCommand));
commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ExtractToMemberFunction', enabled ? () => onExtractToFunction(false, true) : onDisabledCommand));
commandDisposables.push(vscode.commands.registerCommand('C_Cpp.ExpandSelection', enabled ? (r: Range) => onExpandSelection(r) : onDisabledCommand));
commandDisposables.push(vscode.commands.registerCommand('C_Cpp.getIncludes', enabled ? (maxDepth: number) => getIncludes(maxDepth) : onDisabledCommand));
}
function onDisabledCommand() {
@@ -922,8 +921,8 @@ function reportMacCrashes(): void {
const crashObject: Record<string, string> = {};
if (err?.code) {
// If the directory isn't there, we have a problem...
crashObject["fs.stat: err.code"] = err.code;
telemetry.logLanguageServerEvent("MacCrash", crashObject, undefined);
crashObject["errCode"] = err.code;
telemetry.logLanguageServerEvent("MacCrash", crashObject);
return;
}
@@ -959,17 +958,67 @@ function reportMacCrashes(): void {
}
}
let previousMacCrashData: string;
let previousMacCrashCount: number = 0;
export function watchForCrashes(crashDirectory: string): void {
if (process.platform !== "win32" && (process.platform === "darwin" || os.arch() === "x64")) {
prevCrashFile = "";
fs.stat(crashDirectory, (err) => {
const crashObject: Record<string, string> = {};
if (err?.code) {
// If the directory isn't there, we have a problem...
crashObject["errCode"] = err.code;
telemetry.logLanguageServerEvent("CppCrash", crashObject);
return;
}
function logMacCrashTelemetry(data: string): void {
// vscode.workspace.createFileSystemWatcher only works in workspace folders.
try {
fs.watch(crashDirectory, (event, filename) => {
if (event !== "rename") {
return;
}
if (!filename || filename === prevCrashFile) {
return;
}
prevCrashFile = filename;
if (!filename.startsWith("cpptools")) {
return;
}
// Wait 5 seconds to allow time for the crash log to finish being written.
setTimeout(() => {
fs.readFile(path.resolve(crashDirectory, filename), 'utf8', (err, data) => {
void handleCrashFileRead(crashDirectory, filename, err, data);
});
}, 5000);
});
} catch (e) {
// The file watcher limit is hit (may not be possible on Mac, but just in case).
}
});
}
}
let previousCrashData: string;
let previousCrashCount: number = 0;
function logCrashTelemetry(data: string, type: string, offsetData?: string): void {
const crashObject: Record<string, string> = {};
const crashCountObject: Record<string, number> = {};
crashObject.CrashingThreadCallStack = data;
previousMacCrashCount = data === previousMacCrashData ? previousMacCrashCount + 1 : 0;
previousMacCrashData = data;
crashCountObject.CrashCount = previousMacCrashCount;
telemetry.logLanguageServerEvent("MacCrash", crashObject, crashCountObject);
if (offsetData !== undefined) {
crashObject.CrashingThreadCallStackOffsets = offsetData;
}
previousCrashCount = data === previousCrashData ? previousCrashCount + 1 : 0;
previousCrashData = data;
crashCountObject.CrashCount = previousCrashCount + 1;
telemetry.logLanguageServerEvent(type, crashObject, crashCountObject);
}
function logMacCrashTelemetry(data: string): void {
logCrashTelemetry(data, "MacCrash");
}
function logCppCrashTelemetry(data: string, offsetData?: string): void {
logCrashTelemetry(data, "CppCrash", offsetData);
}
function handleMacCrashFileRead(err: NodeJS.ErrnoException | undefined | null, data: string): void {
@@ -1062,9 +1111,98 @@ function handleMacCrashFileRead(err: NodeJS.ErrnoException | undefined | null, d
logMacCrashTelemetry(data);
}
async function handleCrashFileRead(crashDirectory: string, crashFile: string, err: NodeJS.ErrnoException | undefined | null, data: string): Promise<void> {
if (err) {
if (err.code === "ENOENT") {
return; // ignore known issue
}
return logCppCrashTelemetry("readFile: " + err.code);
}
const lines: string[] = data.split("\n");
let addressData: string = ".\n.";
data = crashFile + "\n";
const filtPath: string | null = which.sync("c++filt", { nothrow: true });
const isMac: boolean = process.platform === "darwin";
const startStr: string = isMac ? " _" : "<";
const offsetStr: string = isMac ? " + " : "+";
const endOffsetStr: string = isMac ? " " : " <";
const dotStr: string = "…";
data += lines[0]; // signal type
for (let lineNum: number = 2; lineNum < lines.length - 3; ++lineNum) { // skip first/last lines
if (lineNum > 1) {
data += "\n";
addressData += "\n";
}
const line: string = lines[lineNum];
const startPos: number = line.indexOf(startStr);
if (startPos === -1 || line[startPos + (isMac ? 1 : 4)] === "+") {
data += dotStr;
const startAddressPos: number = line.indexOf("0x");
const endAddressPos: number = line.indexOf(endOffsetStr, startAddressPos + 2);
if (startAddressPos === -1 || endAddressPos === -1 || startAddressPos >= endAddressPos) {
addressData += "Unexpected offset";
} else {
addressData += line.substring(startAddressPos, endAddressPos);
}
continue;
}
const offsetPos: number = line.indexOf(offsetStr, startPos + startStr.length);
if (offsetPos === -1) {
data += "Missing offsetStr";
continue; // unexpected
}
const startPos2: number = startPos + 1;
let funcStr: string = line.substring(startPos2, offsetPos);
if (filtPath) {
let ret: util.ProcessReturnType | undefined = await util.spawnChildProcess(filtPath, ["--no-strip-underscore", funcStr], undefined, true).catch(logAndReturn.undefined);
if (ret?.output === funcStr) {
ret = await util.spawnChildProcess(filtPath, [funcStr], undefined, true).catch(logAndReturn.undefined);
}
if (ret !== undefined) {
funcStr = ret.output;
funcStr = funcStr.replace(/std::(?:__1|__cxx11)/g, "std"); // simplify std namespaces.
funcStr = funcStr.replace(/std::basic_/g, "std::");
funcStr = funcStr.replace(/ >/g, ">");
funcStr = funcStr.replace(/, std::(?:allocator|char_traits)<char>/g, "");
funcStr = funcStr.replace(/<char>/g, "");
funcStr = funcStr.replace(/, std::allocator<std::string>/g, "");
}
}
data += funcStr + offsetStr;
const offsetPos2: number = offsetPos + offsetStr.length;
if (isMac) {
data += line.substring(offsetPos2);
const startAddressPos: number = line.indexOf("0x");
if (startAddressPos === -1 || startAddressPos >= startPos) {
// unexpected
data += "<Missing 0x>";
continue;
}
addressData += `${line.substring(startAddressPos, startPos)}`;
} else {
const endPos: number = line.indexOf(">", offsetPos2);
if (endPos === -1) {
data += "<Missing > >";
continue; // unexpected
}
data += line.substring(offsetPos2, endPos);
}
}
if (data.length > 8192) { // The API has an 8k limit.
data = data.substring(0, 8191) + "…";
}
console.log(`Crash call stack:\n${data}`);
logCppCrashTelemetry(data, addressData);
await util.deleteFile(path.resolve(crashDirectory, crashFile)).catch(logAndReturn.undefined);
void util.deleteDirectory(crashDirectory).catch(logAndReturn.undefined);
}
export function deactivate(): Thenable<void> {
clients.timeTelemetryCollector.clear();
console.log("deactivating extension");
telemetry.logLanguageServerEvent("LanguageServerShutdown");
clearInterval(intervalTimer);
commandDisposables.forEach(d => d.dispose());
@@ -1170,3 +1308,7 @@ export async function preReleaseCheck(): Promise<void> {
}
}
}
export async function getIncludes(maxDepth: number): Promise<any> {
return clients.ActiveClient.getIncludes(maxDepth);
}
+4 -1
View File
@@ -10,6 +10,7 @@ import * as fs from 'fs';
import * as os from 'os';
import * as path from 'path';
import * as semver from 'semver';
import { quote } from 'shell-quote';
import * as vscode from 'vscode';
import * as nls from 'vscode-nls';
import * as which from 'which';
@@ -141,6 +142,7 @@ export interface SettingsParams {
maxConcurrentThreads: number | null | undefined;
maxCachedProcesses: number | null | undefined;
maxMemory: number | null | undefined;
maxSymbolSearchResults: number | undefined;
loggingLevel: string | undefined;
workspaceParsingPriority: string | undefined;
workspaceSymbols: string | undefined;
@@ -278,7 +280,7 @@ export class CppSettings extends Settings {
let clangVersion: string;
try {
const exePath: string = getExtensionFilePath(`./LLVM/bin/${clangName}`);
const output: string[] = execSync(`${exePath} --version`).toString().split(" ");
const output: string[] = execSync(quote([exePath, '--version'])).toString().split(" ");
if (output.length < 3 || output[0] !== clangStr || output[1] !== "version" || !semver.valid(output[2])) {
if (output.length === 3) {
return path;
@@ -312,6 +314,7 @@ export class CppSettings extends Settings {
public get maxConcurrentThreads(): number | undefined | null { return super.Section.get<number | null>("maxConcurrentThreads"); }
public get maxMemory(): number | undefined | null { return super.Section.get<number | null>("maxMemory"); }
public get maxSymbolSearchResults(): number | undefined { return super.Section.get<number>("maxSymbolSearchResults"); }
public get maxCachedProcesses(): number | undefined | null { return super.Section.get<number | null>("maxCachedProcesses"); }
public get intelliSenseMaxCachedProcesses(): number | undefined | null { return super.Section.get<number | null>("intelliSense.maxCachedProcesses"); }
public get intelliSenseMaxMemory(): number | undefined | null { return super.Section.get<number | null>("intelliSense.maxMemory"); }
+9 -29
View File
@@ -46,9 +46,6 @@ const commandArguments: string[] = []; // We report the sender of the command
export class LanguageStatusUI {
private currentClient: Client | undefined;
// Timer for icons from appearing too often and for too short of a time.
private readonly iconDelayTime: number = 1000;
// IntelliSense language status
private intelliSenseStatusItem: vscode.LanguageStatusItem;
private readonly updatingIntelliSenseText: string = localize("updating.intellisense.text", "IntelliSense: Updating");
@@ -58,7 +55,6 @@ export class LanguageStatusUI {
private isParsingWorkspace: boolean = false;
private isParsingWorkspacePaused: boolean = false;
private isParsingFiles: boolean = false;
private tagParseTimeout?: NodeJS.Timeout;
private readonly dataBaseIcon: string = "$(database)";
private readonly workspaceParsingInitializing: string = localize("initializing.tagparser.text", "Initializing Workspace");
private readonly workspaceParsingIndexing: string = localize("indexing.tagparser.text", "Indexing Workspace");
@@ -115,25 +111,15 @@ export class LanguageStatusUI {
return item;
}
private flameTimeout?: NodeJS.Timeout;
private setIsUpdatingIntelliSense(val: boolean): void {
this.intelliSenseStatusItem.busy = val;
if (this.flameTimeout) {
clearTimeout(this.flameTimeout);
}
if (val) {
this.intelliSenseStatusItem.text = "$(flame)";
this.intelliSenseStatusItem.detail = this.updatingIntelliSenseText;
this.flameTimeout = undefined;
} else {
this.flameTimeout = setTimeout(() => {
if (this.intelliSenseStatusItem) {
this.intelliSenseStatusItem.text = this.idleIntelliSenseText;
this.intelliSenseStatusItem.detail = "";
}
}, this.iconDelayTime);
this.intelliSenseStatusItem.text = this.idleIntelliSenseText;
this.intelliSenseStatusItem.detail = "";
}
this.intelliSenseStatusItem.command = {
command: "C_Cpp.RestartIntelliSenseForFile",
@@ -220,10 +206,6 @@ export class LanguageStatusUI {
private setTagParseStatus(): void {
// Set busy icon outside of timer for more real-time response
this.tagParseStatusItem.busy = (this.isParsingWorkspace && !this.isParsingWorkspacePaused) || this.isParsingFiles;
if (this.tagParseStatusItem.busy && this.tagParseTimeout) {
clearTimeout(this.tagParseTimeout);
this.tagParseTimeout = undefined;
}
if (this.isParsingWorkspace || this.isParsingFiles) {
this.tagParseStatusItem.text = this.dataBaseIcon;
@@ -251,15 +233,13 @@ export class LanguageStatusUI {
}
} else {
// Parsing completed.
this.tagParseTimeout = setTimeout(() => {
this.tagParseStatusItem.text = this.workspaceParsingDoneText;
this.tagParseStatusItem.detail = "";
this.tagParseStatusItem.command = {
command: "C_Cpp.RescanWorkspace",
title: this.workspaceRescanText,
arguments: commandArguments
};
}, this.iconDelayTime);
this.tagParseStatusItem.text = this.workspaceParsingDoneText;
this.tagParseStatusItem.detail = "";
this.tagParseStatusItem.command = {
command: "C_Cpp.RescanWorkspace",
title: this.workspaceRescanText,
arguments: commandArguments
};
}
}
//#endregion Tag parse language status
+11 -4
View File
@@ -10,9 +10,10 @@ import * as path from 'path';
import {
Configuration, ConfigurationDirective,
ConfigurationEntry,
HostConfigurationDirective, parse,
Type as ConfigurationEntryType,
HostConfigurationDirective,
ResolvedConfiguration,
Type as ConfigurationEntryType
parse
} from 'ssh-config';
import { promisify } from 'util';
import * as vscode from 'vscode';
@@ -57,8 +58,14 @@ function extractHostNames(parsedConfig: Configuration): { [host: string]: string
const hostNames: { [host: string]: string } = Object.create(null);
extractHosts(parsedConfig).forEach(host => {
const resolvedConfig: ResolvedConfiguration = parsedConfig.compute(host);
if (resolvedConfig.HostName) {
let resolvedConfig: ResolvedConfiguration | undefined;
try {
resolvedConfig = parsedConfig.compute(host);
} catch (e) {
getSshChannel().appendLine(localize("failed.to.find.user.info.for.SSH",
"Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features."));
}
if (resolvedConfig?.HostName !== undefined) {
hostNames[host] = resolvedConfig.HostName;
} else {
hostNames[host] = host;
+1 -1
View File
@@ -12,7 +12,7 @@ import { isIdentifierPart, isIdentifierStart } from './characterCodes';
/** simple dynamic tagged literal implementation */
export function taggedLiteral(templateString: string, templateVars: Record<string, any>): string {
return safeEval(`\`${templateString.replace('\\', '\\\\').replace(/`/, '\`')}\`;`, templateVars) as string;
return safeEval(`\`${templateString.replace(/\\/g, '\\\\').replace(/`/g, '\`')}\`;`, templateVars) as string;
}
function parseTaggedLiteral(templateString: string) {
+205 -20
View File
@@ -355,17 +355,6 @@ export function defaultExePath(): string {
return isWindows ? exePath + '.exe' : exePath;
}
export function findExePathInArgs(args: string[]): string | undefined {
const exePath: string | undefined = args.find((arg: string, index: number) => arg.includes(".exe") || (index > 0 && args[index - 1] === "-o"));
if (exePath?.startsWith("/Fe")) {
return exePath.substring(3);
}
if (exePath?.toLowerCase().startsWith("/out:")) {
return exePath.substring(5);
}
return exePath;
}
// Pass in 'arrayResults' if a string[] result is possible and a delimited string result is undesirable.
// The string[] result will be copied into 'arrayResults'.
export function resolveVariables(input: string | undefined, additionalEnvironment?: Record<string, string | string[]>, arrayResults?: string[]): string {
@@ -382,7 +371,7 @@ export function resolveVariables(input: string | undefined, additionalEnvironmen
}
// Replace environment and configuration variables.
const regexp: () => RegExp = () => /\$\{((env|config|workspaceFolder|file|fileDirname|fileBasenameNoExtension|execPath|pathSeparator)(\.|:))?(.*?)\}/g;
const regexp: () => RegExp = () => /\$\{((env|config|workspaceFolder)(\.|:))?(.*?)\}/g;
let ret: string = input;
const cycleCache = new Set<string>();
while (!cycleCache.has(ret)) {
@@ -677,6 +666,22 @@ export function deleteFile(filePath: string): Promise<void> {
});
}
export function deleteDirectory(directoryPath: string): Promise<void> {
return new Promise<void>((resolve, reject) => {
if (fs.existsSync(directoryPath)) {
fs.rmdir(directoryPath, (err) => {
if (err) {
reject(err);
} else {
resolve();
}
});
} else {
resolve();
}
});
}
export function getReadmeMessage(): string {
const readmePath: string = getExtensionFilePath("README.md");
const readmeMessage: string = localize("refer.read.me", "Please refer to {0} for troubleshooting information. Issues can be created at {1}", readmePath, "https://github.com/Microsoft/vscode-cpptools/issues");
@@ -736,14 +741,16 @@ export interface ProcessReturnType {
output: string;
}
export async function spawnChildProcess(program: string, args: string[] = [], continueOn?: string, cancellationToken?: vscode.CancellationToken): Promise<ProcessReturnType> {
export async function spawnChildProcess(program: string, args: string[] = [], continueOn?: string, skipLogging?: boolean, cancellationToken?: vscode.CancellationToken): Promise<ProcessReturnType> {
// Do not use CppSettings to avoid circular require()
const settings: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("C_Cpp", null);
const loggingLevel: string | undefined = settings.get<string>("loggingLevel");
if (loggingLevel === "Information" || loggingLevel === "Debug") {
getOutputChannelLogger().appendLine(`$ ${program} ${args.join(' ')}`);
if (skipLogging === undefined || !skipLogging) {
const settings: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("C_Cpp", null);
const loggingLevel: string | undefined = settings.get<string>("loggingLevel");
if (loggingLevel === "Information" || loggingLevel === "Debug") {
getOutputChannelLogger().appendLine(`$ ${program} ${args.join(' ')}`);
}
}
const programOutput: ProcessOutput = await spawnChildProcessImpl(program, args, continueOn, cancellationToken);
const programOutput: ProcessOutput = await spawnChildProcessImpl(program, args, continueOn, skipLogging, cancellationToken);
const exitCode: number | NodeJS.Signals | undefined = programOutput.exitCode;
if (programOutput.exitCode) {
return { succeeded: false, exitCode, output: programOutput.stderr || programOutput.stdout || localize('process.exited', 'Process exited with code {0}', exitCode) };
@@ -765,12 +772,12 @@ interface ProcessOutput {
stderr: string;
}
async function spawnChildProcessImpl(program: string, args: string[], continueOn?: string, cancellationToken?: vscode.CancellationToken): Promise<ProcessOutput> {
async function spawnChildProcessImpl(program: string, args: string[], continueOn?: string, skipLogging?: boolean, cancellationToken?: vscode.CancellationToken): Promise<ProcessOutput> {
const result = new ManualPromise<ProcessOutput>();
// Do not use CppSettings to avoid circular require()
const settings: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("C_Cpp", null);
const loggingLevel: string | undefined = settings.get<string>("loggingLevel");
const loggingLevel: string | undefined = (skipLogging === undefined || !skipLogging) ? settings.get<string>("loggingLevel") : "None";
let proc: child_process.ChildProcess;
if (await isExecutable(program)) {
@@ -1614,3 +1621,181 @@ export function mergeOverlappingRanges(ranges: Range[]): Range[] {
mergedRanges.length = lastMergedIndex;
return mergedRanges;
}
// Arg quoting utility functions, copied from VS Code with minor changes.
export interface IShellQuotingOptions {
/**
* The character used to do character escaping.
*/
escape?: string | {
escapeChar: string;
charsToEscape: string;
};
/**
* The character used for string quoting.
*/
strong?: string;
/**
* The character used for weak quoting.
*/
weak?: string;
}
export interface IQuotedString {
value: string;
quoting: 'escape' | 'strong' | 'weak';
}
export type CommandString = string | IQuotedString;
export function buildShellCommandLine(originalCommand: CommandString, command: CommandString, args: CommandString[]): string {
let shellQuoteOptions: IShellQuotingOptions;
const isWindows: boolean = os.platform() === 'win32';
if (isWindows) {
shellQuoteOptions = {
strong: '"'
};
} else {
shellQuoteOptions = {
escape: {
escapeChar: '\\',
charsToEscape: ' "\''
},
strong: '\'',
weak: '"'
};
}
// TODO: Support launching with PowerShell
// For PowerShell:
// {
// escape: {
// escapeChar: '`',
// charsToEscape: ' "\'()'
// },
// strong: '\'',
// weak: '"'
// },
function needsQuotes(value: string): boolean {
if (value.length >= 2) {
const first = value[0] === shellQuoteOptions.strong ? shellQuoteOptions.strong : value[0] === shellQuoteOptions.weak ? shellQuoteOptions.weak : undefined;
if (first === value[value.length - 1]) {
return false;
}
}
let quote: string | undefined;
for (let i = 0; i < value.length; i++) {
// We found the end quote.
const ch = value[i];
if (ch === quote) {
quote = undefined;
} else if (quote !== undefined) {
// skip the character. We are quoted.
continue;
} else if (ch === shellQuoteOptions.escape) {
// Skip the next character
i++;
} else if (ch === shellQuoteOptions.strong || ch === shellQuoteOptions.weak) {
quote = ch;
} else if (ch === ' ') {
return true;
}
}
return false;
}
function quote(value: string, kind: 'escape' | 'strong' | 'weak'): [string, boolean] {
if (kind === "strong" && shellQuoteOptions.strong) {
return [shellQuoteOptions.strong + value + shellQuoteOptions.strong, true];
} else if (kind === "weak" && shellQuoteOptions.weak) {
return [shellQuoteOptions.weak + value + shellQuoteOptions.weak, true];
} else if (kind === "escape" && shellQuoteOptions.escape) {
if (isString(shellQuoteOptions.escape)) {
return [value.replace(/ /g, shellQuoteOptions.escape + ' '), true];
} else {
const buffer: string[] = [];
for (const ch of shellQuoteOptions.escape.charsToEscape) {
buffer.push(`\\${ch}`);
}
const regexp: RegExp = new RegExp('[' + buffer.join(',') + ']', 'g');
const escapeChar = shellQuoteOptions.escape.escapeChar;
return [value.replace(regexp, (match) => escapeChar + match), true];
}
}
return [value, false];
}
function quoteIfNecessary(value: CommandString): [string, boolean] {
if (isString(value)) {
if (needsQuotes(value)) {
return quote(value, "strong");
} else {
return [value, false];
}
} else {
return quote(value.value, value.quoting);
}
}
// If we have no args and the command is a string then use the command to stay backwards compatible with the old command line
// model. To allow variable resolving with spaces we do continue if the resolved value is different than the original one
// and the resolved one needs quoting.
if ((!args || args.length === 0) && isString(command) && (command === originalCommand as string || needsQuotes(originalCommand as string))) {
return command;
}
const result: string[] = [];
let commandQuoted = false;
let argQuoted = false;
let value: string;
let quoted: boolean;
[value, quoted] = quoteIfNecessary(command);
result.push(value);
commandQuoted = quoted;
for (const arg of args) {
[value, quoted] = quoteIfNecessary(arg);
result.push(value);
argQuoted = argQuoted || quoted;
}
let commandLine = result.join(' ');
// There are special rules quoted command line in cmd.exe
if (isWindows)
{
commandLine = `chcp 65001>nul && ${commandLine}`;
if (commandQuoted && argQuoted) {
commandLine = '"' + commandLine + '"';
}
commandLine = `cmd /c ${commandLine}`;
}
return commandLine;
}
export function findExePathInArgs(args: CommandString[]): string | undefined {
const isWindows: boolean = os.platform() === 'win32';
let previousArg: string | undefined;
for (const arg of args) {
const argValue = isString(arg) ? arg : arg.value;
if (previousArg === '-o') {
return argValue;
}
if (isWindows && argValue.includes('.exe')) {
if (argValue.startsWith('/Fe')) {
return argValue.substring(3);
} else if (argValue.toLowerCase().startsWith('/out:')) {
return argValue.substring(5);
}
}
previousArg = argValue;
}
return undefined;
}
+3 -3
View File
@@ -20,7 +20,7 @@ export class CppTools implements CppToolsTestApi {
private version: Version;
private providers: CustomConfigurationProvider1[] = [];
private failedRegistrations: CustomConfigurationProvider[] = [];
private timers = new Map<string, NodeJS.Timer>();
private timers = new Map<string, NodeJS.Timeout>();
constructor(version: Version) {
if (version > Version.latest) {
@@ -34,7 +34,7 @@ export class CppTools implements CppToolsTestApi {
private addNotifyReadyTimer(provider: CustomConfigurationProvider1): void {
if (this.version >= Version.v2) {
const timeout: number = 30;
const timer: NodeJS.Timer = global.setTimeout(() => {
const timer: NodeJS.Timeout = global.setTimeout(() => {
console.warn(`registered provider ${provider.extensionId} did not call 'notifyReady' within ${timeout} seconds`);
}, timeout * 1000);
this.timers.set(provider.extensionId, timer);
@@ -43,7 +43,7 @@ export class CppTools implements CppToolsTestApi {
private removeNotifyReadyTimer(provider: CustomConfigurationProvider1): void {
if (this.version >= Version.v2) {
const timer: NodeJS.Timer | undefined = this.timers.get(provider.extensionId);
const timer: NodeJS.Timeout | undefined = this.timers.get(provider.extensionId);
if (timer) {
this.timers.delete(provider.extensionId);
clearTimeout(timer);
+2
View File
@@ -188,6 +188,8 @@ async function makeBinariesExecutable(): Promise<void> {
];
oldMacBinaries.forEach(binary => promises.push(util.allowExecution(util.getExtensionFilePath(binary))));
}
} else if (os.arch() === "x64") {
promises.push(util.allowExecution(util.getExtensionFilePath("./bin/libc.so")));
}
}
await Promise.all(promises);
+1 -3
View File
@@ -79,9 +79,7 @@ export function getExperimentationService(): Promise<IExperimentationService> |
return initializationPromise;
}
// @ts-expect-error The function isExperimentEnabled will be used for future experiments.
// eslint-disable-next-line @typescript-eslint/no-unused-vars
async function isExperimentEnabled(experimentName: string): Promise<boolean> {
export async function isExperimentEnabled(experimentName: string): Promise<boolean> {
if (new CppSettings().experimentalFeatures) {
return true;
}
@@ -226,25 +226,21 @@ suite("resolveVariables", () => {
throw new Error(`quoteArgument failure: for \"${input}\", \"${result}\" !== \"${expectedOutput}\"`);
}
};
/*
this is how the args from tasks.json will be sent to the chilprocess.spawn:
"args":[
"-DTEST1=TEST1 TEST1", // "-DTEST1=TEST1 TEST1"
"-DTEST2=\"TEST2 TEST2\"", // -DTEST2="TEST2 TEST2"
"-DTEST3=\\\"TEST3 TEST3\\\"", // "-DTEST3=\"TEST3 TEST3\""
"-DTEST4=TEST4\\ TEST4", // "-DTEST4=TEST4 TEST4"
"-DTEST5='TEST5 TEST5'", // -DTEST5='TEST5 TEST5'
"-DTEST6=TEST6\\ TEST6 Test6", // "-DTEST6=TEST6 TEST6 Test6"
]
*/
testQuoteArgumentScenario("-DTEST1=TEST1 TEST1", "\"-DTEST1=TEST1 TEST1\"");
testQuoteArgumentScenario("-DTEST2=\"TEST2 TEST2\"", "-DTEST2=\"TEST2 TEST2\"");
testQuoteArgumentScenario("-DTEST3=\\\"TEST3 TEST3\\\"", "\"-DTEST3=\\\"TEST3 TEST3\\\"\"");
testQuoteArgumentScenario("-DTEST4=TEST4\\ TEST4", "\"-DTEST4=TEST4 TEST4\"");
testQuoteArgumentScenario("-DTEST5=\'TEST5 TEST5\'", "-DTEST5=\'TEST5 TEST5\'");
testQuoteArgumentScenario("-DTEST4=TEST4\\ TEST4", "-DTEST4=TEST4\\ TEST4");
testQuoteArgumentScenario("-DTEST5='TEST5 TEST5'", "-DTEST5='TEST5 TEST5'");
testQuoteArgumentScenario("-DTEST6=TEST6\\ TEST6 Test6", "\"-DTEST6=TEST6 TEST6 Test6\"");
if (os.platform() === 'win32') {
testQuoteArgumentScenario(`-DTEST1=TEST1 TEST1`, `"-DTEST1=TEST1 TEST1"`);
testQuoteArgumentScenario(`-DTEST2="TEST2 TEST2"`, `"-DTEST2=\\"TEST2 TEST2\\""`);
testQuoteArgumentScenario(`-DTEST3=\\"TEST3 TEST3\\"`, `"-DTEST3=\\\\\\"TEST3 TEST3\\\\\\""`);
testQuoteArgumentScenario(`-DTEST4=TEST4\\ TEST4`, `"-DTEST4=TEST4\\ TEST4"`);
testQuoteArgumentScenario(`-DTEST5='TEST5 TEST5'`, `"-DTEST5='TEST5 TEST5'"`);
testQuoteArgumentScenario(`-DTEST6=TEST6\\ TEST6 Test6`, `"-DTEST6=TEST6\\ TEST6 Test6"`);
} else {
testQuoteArgumentScenario(`-DTEST1=TEST1 TEST1`, `'-DTEST1=TEST1 TEST1'`);
testQuoteArgumentScenario(`-DTEST2="TEST2 TEST2"`, `'-DTEST2="TEST2 TEST2"'`);
testQuoteArgumentScenario(`-DTEST3=\\"TEST3 TEST3\\"`, `'-DTEST3=\\"TEST3 TEST3\\"'`);
testQuoteArgumentScenario(`-DTEST4=TEST4\\ TEST4`, `'-DTEST4=TEST4\\ TEST4'`);
testQuoteArgumentScenario(`-DTEST5='TEST5 TEST5'`, `'-DTEST5='\\''TEST5 TEST5'\\'''`);
testQuoteArgumentScenario(`-DTEST6=TEST6\\ TEST6 Test6`, `'-DTEST6=TEST6\\ TEST6 Test6'`);
}
});
interface ResolveTestFlowEnvironment {
+1 -1
View File
@@ -321,7 +321,7 @@ class SettingsApp {
private showErrorWithInfo(elementID: string, errorInfo: string): void {
this.showElement(elementID, errorInfo ? true : false);
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
document.getElementById(elementID)!.innerHTML = errorInfo ? errorInfo : "";
document.getElementById(elementID)!.textContent = errorInfo ? errorInfo : "";
}
private updateConfigSelection(message: any): void {
+693 -555
View File
File diff suppressed because it is too large Load Diff