Compare commits

...
449 Commits
Author SHA1 Message Date
Colen Garoutte-Carson 8ac65e65b5 Only show warning channel the first time populated (#6330) 2020-10-15 17:55:42 -07:00
Andrew Wang 2ec525e129 Use 'resolveDebugConfigWithSubVariables' (#6328)
This PR uses the
DebugConfigurationProvider.resolveDebugConfigurationWithSubstitutedVariables
which allows the debug configuration to wait for the preLaunchTask to
complete before continuing on and resolving variables that may have been
set in the 'tasks.json'.

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

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

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

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

* add new cppBuildTaskProvider

* add Sean's changes  to tasks

* draft

* draft 2

* draft 3 - working

* windows version

* fix cwd path

* fix cwd

* change header and source file set

* minor changes

* make new instance

* create new instance

* remove compilerPath input

* review changes

* solving the error due to space in file name

* showing the error message

* fix lint

* add set timeout and setinterval from timers

* Rename cppbuildTaskProvider.ts to cppBuildTaskProvider.ts

* fire the events with zero

* delete filewatcher

* localize strings

* change changelog.md

* changelog

* changelog

* change format

* wait dobuild

* use checkFileExists

* after test

* after test2

* add properties

* change the doBuild

* this.closeEmitter.fire(result);

* change doBuild

* very minor change

* label vs name resolved

* draft

* draft for Sean

* before cleaning the code

* Stable, Clean, Before API proposal

* adding details to the tasks menue

* add TODO

* remove extra ",remove description,merge from local

* remove task rename in this versoin

* remove TODOs

* merge the "default" stuff

* remove some parts of proposals

* fix linter errors

* add import * as which from 'which';

* clean up the code after version 1.0.0

* add new line

* adapt to the new Vs Code API

* linter error

* revert changelog

Co-authored-by: Elaheh Rashedi <[email protected]>
Co-authored-by: Sean McManus <[email protected]>
2020-09-22 12:52:10 -07:00
Bob Brown (DEVDIV) 79d0b01722 Merge branch 'bobbrow/mergeToMaster' of https://github.com/Microsoft/vscode-cpptools into bobbrow/mergeToMaster 2020-09-22 10:25:24 -07:00
Bob Brown (DEVDIV) 8ad680b57b removing duplicate installation stage 2020-09-22 10:25:19 -07:00
Bob Brown 1822556dc2 Merge branch 'master' into bobbrow/mergeToMaster 2020-09-22 10:22:23 -07:00
Bob Brown (DEVDIV) f2ca7a2c03 update package.json 2020-09-22 10:20:27 -07:00
Sean McManusandColen Garoutte-Carson 0940fb709c Merge pull request #6177 from microsoft/1.0.1
* Fix issue with LSP process not getting shut down gracefully (#6141)
* Update version number and changelog
* Update changelog, fwlinks, and hashes.

Co-authored-by: Colen Garoutte-Carson <[email protected]>
Co-authored-by: Sean McManus <[email protected]>
2020-09-21 16:51:25 -07:00
Sean McManus 9d79f0ff2b Update changelog, fwlinks, and hashes. 2020-09-21 15:38:48 -07:00
Bob Brown (DEVDIV) c23d218403 Update version 2020-09-21 12:21:45 -07:00
Bob Brown (DEVDIV) 8dacea0cd5 Update changelog 2020-09-21 12:20:18 -07:00
Bob Brown (DEVDIV) 04e93a9bb4 update changelog 2020-09-16 15:55:32 -07:00
Bob Brown (DEVDIV) a17c8e6dd4 remove #6147 from the list of fixes 2020-09-16 15:27:10 -07:00
Bob Brown (DEVDIV) 4508c95dac one more changelog update 2020-09-16 13:30:15 -07:00
Bob Brown (DEVDIV) bcc45e5d60 Update version number and changelog 2020-09-16 13:28:29 -07:00
Colen Garoutte-Carson df83a38c61 Fix issue with LSP process not getting shut down gracefully (#6141) 2020-09-16 13:00:53 -07:00
csigs 348be98436 Localization - Translated Strings (#6146) 2020-09-15 14:37:24 -07:00
Colen Garoutte-Carson 927a0a8995 Fix casing of some loc strings (#6098) 2020-09-15 13:45:03 -07:00
Colen Garoutte-Carson 9f8a5ad797 Fix issue with LSP process not getting shut down gracefully (#6141) 2020-09-15 13:23:46 -07:00
Sean McManus 27b5faca11 Merge pull request #5998 from devabhishekpal/provider_5871
Refactored provider classes from client.ts to providers.ts
2020-09-14 18:07:08 -07:00
Sean McManus fc72913cb5 Merge branch 'master' into provider_5871 2020-09-14 14:44:58 -07:00
Sean McManus 857256b753 Update node-fetch. (#6119) 2020-09-14 14:35:29 -07:00
Sean McManus c2af2c9296 Fix jsonc handling for non-active c_cpp_properties.json. (#6133) 2020-09-14 14:15:02 -07:00
Sean McManus 9525fc702d Merge pull request #6131 from microsoft/master
Fix build and debug active file with no .vscode folder on Linux/Mac. …
2020-09-13 12:01:19 -07:00
Sean McManus 0820b5ef52 Fix build and debug active file with no .vscode folder on Linux/Mac. (#6130) 2020-09-13 12:00:14 -07:00
Sean McManus 58d071c917 Merge pull request #6124 from microsoft/master
Merge for 1.0.0 (2nd time)
2020-09-12 15:14:15 -07:00
Sean McManus 9650bb7d9f Fix bug with failed downloads not erroring out. (#6123) 2020-09-12 15:11:07 -07:00
Sean McManus 3c06384078 Update binary hashes. (#6122) 2020-09-12 14:56:25 -07:00
Sean McManus ec0f671ecf Merge pull request #6118 from microsoft/seanmcm/1_0_0_release
Merge for 1.0.0 release
2020-09-11 16:44:11 -07:00
Sean McManus fb3c9af085 Merge branch 'master' into seanmcm/1_0_0_release 2020-09-11 16:19:10 -07:00
Sean McManus 19f918d111 Update changelog for 1.0 and update aarch64 fwlinks (#6109)
* Update changelog for 1.0.
* Update aarch fwlinks.
2020-09-11 16:17:30 -07:00
Sean McManus c22ed1e843 Merge for 1.0.0. 2020-09-10 14:41:11 -07:00
Abhishek Pal 6aab5a14f7 Merge branch 'master' into provider_5871 2020-09-10 20:23:52 +05:30
Abhishek Pal c1a5f25b5b Update renameProvider.ts 2020-09-10 17:08:23 +05:30
Abhishek Pal be06726777 Update onTypeFormattingEditProvider.ts 2020-09-10 17:07:55 +05:30
Abhishek Pal 888d38632a Update documentSymbolProvider.ts 2020-09-10 17:07:30 +05:30
Abhishek Pal 2f35092acf Update documentFormattingEditProvider.ts 2020-09-10 17:07:01 +05:30
Abhishek Pal 75b4240b3e Update client.ts 2020-09-10 17:06:09 +05:30
Abhishek Pal b5ac4e8515 Update .eslintrc.js
Updated .eslintrc.js
2020-09-10 15:47:00 +05:30
Elaheh Rashedi 825ecc350d remove preview from extension (#6100)
* remove preview

* change second readme

* modify readme

* arm 32 bit
2020-09-09 19:49:38 -07:00
Sean McManus 81d0baa321 Update changelog for 0.30.0-insiders5. (#6099)
* Update changelog for 0.30.0-insiders5.
* Fix markup.
2020-09-09 15:25:48 -07:00
Sean McManus 99b198f281 Update serialize-javascript. (#6085) 2020-09-09 15:13:00 -07:00
Abhishek Pal 99b956c319 Update client.ts
Fixed linter errors
2020-09-10 00:37:43 +05:30
Abhishek Pal dd1ab75d13 Fixed eror on line 1360 2020-09-09 14:36:33 +05:30
Sean McManus 58e60ac36a Merge branch 'master' into provider_5871 2020-09-08 12:14:47 -07:00
Abhishek Pal e1596fe3a9 Updated client with current master and fixed extra spaces 2020-09-06 00:27:06 +05:30
Abhishek Pal 66a9890551 Revert "Undo previous commit and changing variables to public static"
This reverts commit d04aa1c4a5.
2020-09-05 23:13:10 +05:30
csigsandDevDiv Build Lab - Dev14 8ea26d6e62 Localization - Translated Strings (#6083)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-09-04 10:28:15 -07:00
Abhishek Pal d04aa1c4a5 Undo previous commit and changing variables to public static 2020-09-04 16:44:53 +05:30
Abhishek Pal 536a94ca3d Revert "Refactored the params into DefaultClient as static members"
This reverts commit ff24cdf33a.
2020-09-04 16:27:00 +05:30
csigsandDevDiv Build Lab - Dev14 3713694b47 Localization - Translated Strings (#6077)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-09-03 12:26:17 -07:00
Elaheh RashediandSean McManus a177759d3a Creating extension pack (#6051)
* initialize extension pack

* initial release

* CMake

* MIT license

* modify changelog

* modify readme

* version update

* new packages added

Co-authored-by: Sean McManus <[email protected]>
2020-09-03 10:38:04 -07:00
Elaheh Rashedi 6e60876af8 which.sync modified (#6073) 2020-09-02 16:49:08 -07:00
csigs c752e31cb4 Localization - Translated Strings (#6070) 2020-09-02 12:23:10 -07:00
Elaheh Rashedi 48d5fef90a bypass launch.json (#6072) 2020-09-02 11:20:18 -07:00
devabhishekpal ff24cdf33a Refactored the params into DefaultClient as static members 2020-09-02 14:16:39 +05:30
Colen Garoutte-Carson abde9a33b9 Split format requests into separate messages for telemetry (#6068) 2020-09-01 17:05:30 -07:00
Elaheh Rashedi e8bc0e8c42 create '.vscode' directory before creating 'tasks.json' (#6065)
* getRawTasksJson modify

* add lib

* create folders while creating a file

* fix linter errors

* remove details from this version

* getRawTasksJson modified

* revert getRawTasksJson
2020-09-01 15:57:22 -07:00
dan-shaw ca777ddf92 Adds a JSON parsing library for tasks.json (#5954)
* add json with comments parser for tasks.json
2020-09-01 12:52:44 -07:00
csigsandDevDiv Build Lab - Dev14 c90c130d05 Localization - Translated Strings (#6063)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-09-01 09:59:03 -07:00
Sean McManus bcb7cd5875 Update changelog for 0.30.0-insiders4. (#6059) 2020-08-31 17:57:50 -07:00
Colen Garoutte-Carson 35fa7f63a0 Plumbing for sending 'files.encoding' to native process (#6040) 2020-08-31 14:40:21 -07:00
Elaheh Rashedi 85936c3cf3 dont squiggel for resolved compilerpath (#6057) 2020-08-31 14:16:53 -07:00
Elaheh RashediandSean McManus 61360a8313 Improving the progress bar (#6050)
* add increment to progress bar

* remove localized string

* calculate the increment based on num of packages

* change increment function

* cleanup extra progress

* add typedef

Co-authored-by: Sean McManus <[email protected]>
2020-08-31 13:59:42 -07:00
csigsandDevDiv Build Lab - Dev14 6d29964cb3 Localization - Translated Strings (#6055)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-08-31 13:13:30 -07:00
Bob BrownandSean McManus bf67be3000 Fix a regression in resolveVariables (#6049)
Co-authored-by: Sean McManus <[email protected]>
2020-08-28 13:06:01 -07:00
csigs 462a8565ab Localization - Translated Strings (#6045) 2020-08-28 11:53:37 -07:00
Colen Garoutte-Carson ab5d4329f8 Switch to using asWebviewUri instead of vscode-resource (#6041) 2020-08-27 17:42:45 -07:00
Colen Garoutte-Carson e621e98595 Switch to using asWebviewUri instead of vscode-resource (#6041) 2020-08-27 17:42:00 -07:00
csigsandDevDiv Build Lab - Dev14 a84ab7e549 Localization - Translated Strings (#6038)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-08-27 10:13:38 -07:00
Abhishek Pal babafd20d0 Merge branch 'master' into provider_5871 2020-08-26 14:18:23 +05:30
Abhishek Pal d688979d4f Moved all providers to Providers folder and removed holder classes 2020-08-26 14:17:35 +05:30
Sean McManus a0b948057e Fix some linter errors. (#6026) 2020-08-25 16:08:43 -07:00
csigsandDevDiv Build Lab - Dev14 a08a9b6e11 Localization - Translated Strings (#6015)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-08-25 15:07:01 -07:00
Sean McManus 1f43948f92 Remove unintended loc. (#6023) 2020-08-25 14:06:21 -07:00
Abhishek Pal e8d91542a8 Added links to the C/C++ properties reference (#5991)
* Added links to the C/C++ properties reference
2020-08-25 13:36:27 -07:00
Abhishek Pal f9c1dec542 Deleted wrong commit 2020-08-25 22:53:23 +05:30
Abhishek Pal 834bfbc8eb Add localization title and changed sentence 2020-08-25 22:47:02 +05:30
Bob Brown 2cc1f62b0f Rename telemetry property that is being filtered (#6017) 2020-08-24 15:50:36 -07:00
Abhishek Pal 64cf9270ed Merge branch 'provider_5871' of https://github.com/devabhishekpal/vscode-cpptools into provider_5871 2020-08-22 16:46:58 +05:30
Abhishek Pal 02cc49b5ab Refixed spaces for linting 2020-08-22 16:46:37 +05:30
Abhishek Pal 742299309b Merge branch 'master' into provider_5871 2020-08-22 16:42:35 +05:30
Abhishek Pal 42664952a1 Fixed linting issues 2020-08-22 16:40:21 +05:30
Abhishek Pal 5aa64f156d Created individual files for providers 2020-08-22 16:16:43 +05:30
Michelle Matias 4e4828694a Add 3 fixes to changelog for 0.30.0-insiders3 (#6005) 2020-08-21 14:56:48 -07:00
Elaheh Rashedi 4ab525fd51 Adding the defaultFolder to the configuration.includePath (#5989)
* update description
* change UI description (match with Docs description)
2020-08-21 12:29:15 -07:00
Abhishek Pal d390344167 Merge branch 'provider_5871' of https://github.com/devabhishekpal/vscode-cpptools into provider_5871 2020-08-21 23:41:19 +05:30
Abhishek Pal 8e2b2e67b7 Added comment lines for azure pipeline error 2020-08-21 23:40:46 +05:30
Sean McManus ea26e533c0 Merge branch 'master' into provider_5871 2020-08-21 10:08:05 -07:00
csigsandDevDiv Build Lab - Dev14 1852c504bf Localization - Translated Strings (#6002)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-08-21 10:04:35 -07:00
Abhishek Pal 18b7f8d8e4 Fixed lint errors in Azure pipeline 2020-08-21 16:16:55 +05:30
Abhishek Pal fa1b16293e Refactored provider classes from client.ts 2020-08-21 16:00:53 +05:30
Colen Garoutte-Carson 5f7e208926 Fix issue with clang-format on-type failing at end of file (#5995) 2020-08-20 19:37:44 -07:00
Colen Garoutte-Carson 80f41b7c06 Fix issue with clang-format on-type (#5994) 2020-08-20 18:24:15 -07:00
Sean McManus 3e8df13031 Update changelog for 0.30.0-insiders3 (#5992)
* Update changelog for 0.30.0-insiders3
* Update TPN.
2020-08-20 17:13:21 -07:00
Michelle Matias 5743471b68 Generate and validate integrity of downloaded packages (#5978) 2020-08-20 14:29:59 -07:00
Tarik Brown 61c22d7b22 EditorConfig Support (#5932) 2020-08-20 13:27:37 -07:00
Sean McManus f82c1ed901 Add new localized IntelliSense strings. (#5983) 2020-08-19 15:22:24 -07:00
Elaheh Rashedi 2e10951389 change the default to 1.44.0 (#5987) 2020-08-19 12:00:06 -07:00
Elaheh Rashedi 81b6d710f6 insiders upgrade/downgrade after we recall an insider release (#5959)
change GetTargetBuild
Add more tests
2020-08-18 12:12:52 -07:00
csigsandDevDiv Build Lab - Dev14 c87bd6576d Localization - Translated Strings (#5979)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-08-18 11:11:56 -07:00
Elaheh Rashedi ca72441372 Improve the description of the browse.path setting (#5974)
* change definition of browse.path
2020-08-17 12:58:07 -07:00
Elaheh Rashedi 8312941547 Check the insiders version to be compatible with vscode (#5839)
Check the insiders version to be compatible with vscode
2020-08-17 09:30:10 -07:00
Colen Garoutte-Carson 837cd84d8c Resolve compiler filename if in PATH (#5965) 2020-08-14 16:22:51 -07:00
csigs 86dfc01518 Localization - Translated Strings (#5961) 2020-08-13 11:58:08 -07:00
Elaheh Rashedi bcbabb9ff7 don't downgrade pre-release (#5946)
* no downgrade on pre-release in default channel
2020-08-12 14:42:42 -07:00
Sean McManus 5d97af0fc1 Updates for aarch64 (#5955) 2020-08-12 10:32:12 -07:00
csigsandDevDiv Build Lab - Dev14 de6bc2fae2 Localization - Translated Strings (#5957)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-08-12 10:18:52 -07:00
Elaheh Rashedi 8246ad066f add telemetry for missing files (#5944) 2020-08-11 16:46:40 -07:00
Sean McManus b063b69a3a Update changelog for 0.30.0-insiders2 (#5956)
* Update changelog for 0.30.0-insiders2
2020-08-11 16:42:45 -07:00
csigs 96433e00a8 Localization - Translated Strings (#5952) 2020-08-11 12:00:30 -07:00
Colen Garoutte-Carson 02f0349010 Correct vcFormat default values (#5949) 2020-08-11 11:41:11 -07:00
Colen Garoutte-Carson ebd7fb169e Revert descriptions to prior to adding clangFormat -> vcFormat fallback (#5948) 2020-08-10 17:46:50 -07:00
Bob BrownandSean McManus fff393310f add telemetry for missing format style (#5933)
Co-authored-by: Sean McManus <[email protected]>
2020-08-10 15:33:36 -07:00
csigs 6eb189944a Localization - Translated Strings (#5943) 2020-08-10 12:39:21 -07:00
csigs a4dfac77a4 Localization - Translated Strings (#5930) 2020-08-07 13:05:36 -07:00
csigs 63cd557eac Localization - Translated Strings (#5916) 2020-08-06 11:54:18 -07:00
Sean McManus cd04d2a51c Set jsonc for c_cpp_properties.json. (#5911)
Fix c_cpp_properties.json not opening as JSON with comments. Follow up to #5885
Fix the configuration UI disappearing when selection moves to the C/C++ or Log Diagnostics window, mentioned at #5822 .
Fix an unreported bug where the configuration UI wouldn't appear for non-cpp files that are active on startup (until the selection changed).
Add more more C/C++ related files to ShowConfigurations.
2020-08-05 18:02:22 -07:00
Colen Garoutte-Carson a051c15bb0 Add localized string label for compiler probe command (#5909) 2020-08-05 17:06:55 -07:00
csigs 85377fa4c2 Localization - Translated Strings (#5900) 2020-08-05 10:38:18 -07:00
Sean McManus 19f14d1516 Update changelog with Colen's latest fixes. (#5895) 2020-08-04 16:25:29 -07:00
csigsandDevDiv Build Lab - Dev14 2912ce5223 Localization - Translated Strings (#5892)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-08-04 11:26:52 -07:00
Colen Garoutte-Carson 3017c5e83f Allow comments in c_cpp_properties.json (use JSONC) (#5888) 2020-08-03 19:02:11 -07:00
Shogan Aversa-Druesne 5dce5534ff Update settings.html (#5876)
Fix UI:  gnu17 -> gnu18.
2020-08-03 15:50:25 -07:00
csigsandDevDiv Build Lab - Dev14 6a4ba9638d Localization - Translated Strings (#5878)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-08-03 15:49:02 -07:00
Sean McManus 10859b38af Fix formatting settings. (#5887) 2020-08-03 15:48:38 -07:00
Bob Brown 2a0cfd26a9 fix a typo in the formatting settings descriptions (#5886) 2020-08-03 15:48:19 -07:00
Tarik Brown a44c5e4f2c Merge pull request #5872 from microsoft/dev/t-tabro/tsbug
Dev/t tabro/tsbug
2020-07-30 16:51:58 -07:00
Bob Brown c31de3cb1a Merge branch 'master' into dev/t-tabro/tsbug 2020-07-30 15:23:03 -07:00
Bob Brown (DEVDIV) d7a9e077ff PR comments 2020-07-30 15:20:36 -07:00
Tarik Brown ff2356e96d Fix Typo 2020-07-30 14:39:56 -07:00
9baa974219 Localization - Translated Strings (#5863)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
Co-authored-by: Sean McManus <[email protected]>
2020-07-30 14:22:48 -07:00
Bob Brown b9392b4ab7 Add enum descriptions and clarify a few formatting descriptions (#5868)
* Add enum descriptions and clarify a few formatting descriptions
2020-07-30 14:06:08 -07:00
Tarik Brown 292aa0e647 Merge branch 'master' of https://github.com/Microsoft/vscode-cpptools 2020-07-30 13:32:28 -07:00
Colen Garoutte-Carson 236ea2af7a Fix another issue with resolving compilerPath when compileCommands are used. (#5855) 2020-07-29 17:38:30 -07:00
Sean McManus ddb62591c2 Update changelog. (#5860) 2020-07-29 17:29:30 -07:00
dependabot[bot] 24f7a15fa0 Bump elliptic from 6.5.2 to 6.5.3 in /Extension (#5859)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-29 16:34:58 -07:00
Elaheh Rashedi 9903bc708d Extension installation/download failures (#5823)
Authored-by: Elaheh Rashedi <[email protected]>
bug fix: https://github.com/microsoft/vscode-cpptools/issues/4829
- Check for the core binary files in the extension folder and show this warning message if any of the binaries are missing:
- Check for the important JSON files in the extension folder and show this error message if any of the binaries are missing (the message is shown if the user has installed a VSIX that doesn't match their OS).
2020-07-29 16:11:43 -07:00
Colen Garoutte-Carson 42e41bb122 Use detected default compiler (#5838) 2020-07-28 19:02:06 -07:00
Tarik Brown a83b58b090 Merge pull request #5841 from microsoft/dev/t-tabro/bugfixes
Formatting Bug Fixes
2020-07-28 13:00:32 -07:00
Tarik Brown 5ffc2e05c1 Fix Lint Issue 2020-07-28 09:04:43 -07:00
Tarik Brown 9649aa793b Merge branch 'dev/t-tabro/bugfixes' of https://github.com/Microsoft/vscode-cpptools into dev/t-tabro/bugfixes 2020-07-28 08:54:49 -07:00
Tarik Brown 67661a188b Fix Issues 2020-07-28 08:54:43 -07:00
Colen Garoutte-Carson 9c4f93050e Merge branch 'master' into dev/t-tabro/bugfixes 2020-07-27 16:28:12 -07:00
Tarik Brown 5994640826 Push Branch 2020-07-27 15:04:30 -07:00
Tarik Brown 3121cd9ca6 Fix Changes 2020-07-27 15:01:20 -07:00
Tarik Brown f383145b11 Fix PR Changes 2020-07-27 14:58:49 -07:00
Tarik Brown 6f288bb086 TS 2020-07-27 14:41:30 -07:00
Tarik Brown 94756538fd Changes 2020-07-27 12:56:36 -07:00
Tarik Brown 12f04343d5 Merge pull request #5785 from microsoft/dev/t-tabro/formatting
Formatting Feature - First Pass
2020-07-24 08:53:53 -07:00
Colen Garoutte-Carson a469383507 Merge branch 'master' into dev/t-tabro/formatting 2020-07-23 19:21:43 -07:00
Colen Garoutte-Carson 7d3559127b Make commentContinuationPatterns, enhancedColorization and codeFolding window scope (#5830) 2020-07-23 18:20:27 -07:00
Tarik Brown 15fe2279c7 Fix issues 2020-07-23 12:15:42 -07:00
Colen Garoutte-Carson 3a1e751f22 Remove file from semantic token cached when closed (#5824) 2020-07-22 21:00:25 -07:00
Sean McManus 4899e8936b Use GitHub created MIT License. (#5787) 2020-07-22 18:04:27 -07:00
Tarik Brown e6d146e4b8 Remove tabSize and insertSpaces 2020-07-22 14:36:50 -07:00
Tarik Brown b99c86b288 Fix Booleans 2020-07-22 14:32:42 -07:00
Tarik Brown f013b1fdb8 Merge branch 'master' of https://github.com/Microsoft/vscode-cpptools into dev/t-tabro/formatting 2020-07-22 14:26:23 -07:00
Tarik Brown 9584ce76ac rever * 2020-07-22 14:25:26 -07:00
Tarik Brown 3a3e4a9554 Fix formatting 2020-07-22 14:20:03 -07:00
Tarik Brown 955ea7cc9b Merge branch 'dev/t-tabro/formatting' of https://github.com/Microsoft/vscode-cpptools into dev/t-tabro/formatting 2020-07-22 14:18:25 -07:00
Tarik Brown d1a1fe2f41 Fix PR 2020-07-22 14:18:19 -07:00
Michelle Matias 25cc0cdfc6 Update quickInfo test (#5816) 2020-07-22 13:05:34 -07:00
Colen Garoutte-Carson e55adab7f9 Fix semantic tokens in multiroot (#5814) 2020-07-21 15:42:59 -07:00
Sean McManus ac0920a52b Merge branch 'master' into dev/t-tabro/formatting 2020-07-21 14:16:34 -07:00
Tarik Brown e7e99e7da8 Adresss PR 2020-07-21 13:13:47 -07:00
Sean McManus ff7baa5135 Update loc. (#5813) 2020-07-21 13:07:09 -07:00
Sean McManus db13ca2680 Changes for ARM support (#5810)
* Changes to enable ARM.
* Update fwlinks.
2020-07-21 12:35:35 -07:00
dependabot[bot] 6bd63798d6 Bump lodash from 4.17.15 to 4.17.19 in /Extension (#5793)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-16 15:18:25 -07:00
Sean McManus 287ef10bf2 Update fwlinks and changelog. (#5792)
* Update fwlinks and changelog.
2020-07-16 15:03:07 -07:00
Sean McManus a6f012a251 Merge pull request #5789 from microsoft/seanmcm/0_29_0_release
0_29_0 release
2020-07-15 17:29:58 -07:00
Sean McManus 7cfe3606ff Merge. 2020-07-15 15:54:09 -07:00
Elaheh Rashedi 1192d5b38e changelog Version 0.29.0: July 15, 2020 (#5788)
* changelog Version 0.29.0: July 15, 2020
2020-07-15 15:45:04 -07:00
Sean McManus 8f2016e8ee Change GitHub repo license from .txt to .md. (#5786) 2020-07-15 12:55:05 -07:00
Tarik Brown 0828a20096 Formatting Feature - TypeScript First Pass 2020-07-15 10:33:46 -07:00
Tarik Brown 4e34f2dbe4 Formatting Feature - TypeScript First Pass 2020-07-15 10:32:48 -07:00
Colen Garoutte-Carson faa6d9e28e Add missing semantic token old scope mappings (#5771) 2020-07-13 13:02:23 -07:00
Colen Garoutte-Carson e17ff5e93e Ensure semantic tokens are re-requested if changed without the file having changed (#5755) 2020-07-09 17:28:19 -07:00
Bob Brown 471f9b3701 Fix settings telemetry to handle more deeply nested settings (#5749) 2020-07-08 13:00:31 -07:00
Colen Garoutte-Carson 196510aa19 Update Changelog. Format package.json (#5743) 2020-07-07 19:16:55 -07:00
Sean McManus af8ea7c0a3 Add configuration provider input info to log diagnostics (#5719)
* Add custom config logging.
2020-07-07 16:23:00 -07:00
Michelle Matias ed15700734 Add settings to optionally simplify structured comments (Doxygen) (#5730) 2020-07-07 15:04:28 -07:00
csigsandDevDiv Build Lab - Dev14 977f1f6342 Localization - Translated Strings (#5725)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-07-07 10:26:20 -07:00
Elaheh Rashedi 45a9907832 add ${default} to the end of includePath (#5413) 2020-07-06 13:12:58 -07:00
Sean McManus a9d86c8f62 Merge pull request #5705 from microsoft/seanmcm/screenSizeCherryPick
Screen size cherry pick
2020-07-02 11:25:37 -07:00
Sean McManus 7673fd0ec4 Merge branch 'master' into seanmcm/screenSizeCherryPick 2020-07-02 11:14:38 -07:00
csigsandDevDiv Build Lab - Dev14 02a7c5c45a Localization - Translated Strings (#5716)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-07-02 10:51:43 -07:00
Colen Garoutte-Carson f7165bae4f Switch to Semantic Tokens API (#5401) 2020-07-01 14:48:26 -07:00
Sean McManus d87cc30854 Screen size follow up. 2020-06-26 11:00:10 -07:00
nukoyluoglu 32b997d3d8 ignore 'screen size is bogus' error; fixes microsoft/vscode/issues/100563 (and microsoft/vscode/issues/75932) (#5669)
* ignore 'screen size is bogus' error; fixes microsoft/vscode#75932; imitiates similar fix for a different extension microsoft/vscode-node-debug/commit/5298920
2020-06-26 10:56:30 -07:00
Sean McManus 832165fc9f Fix compileCommand updating. (#5688) 2020-06-25 14:33:53 -07:00
Bob Brown 2efdb847a9 Generate a new telemetry key for comment continuation patterns (#5691) 2020-06-24 17:13:26 -07:00
Sean McManus d8cdeee035 Update changelog for 0.29.0-insiders. (#5684)
* Update changelog for 0.29.0-insiders.
2020-06-23 18:50:54 -07:00
nukoyluoglu 9db05b6945 ignore 'screen size is bogus' error; fixes microsoft/vscode/issues/100563 (and microsoft/vscode/issues/75932) (#5669)
* ignore 'screen size is bogus' error; fixes microsoft/vscode#75932; imitiates similar fix for a different extension microsoft/vscode-node-debug/commit/5298920
2020-06-23 14:59:29 -07:00
Sean McManus d80e04ec66 updateChannel fixes. (#5465)
Fixes:
- It doesn't check for a downgrade to non-insiders on startup, only when the setting changes.
- There was a bug with the timer code that checks for a new insiders every hour.
- It wasn't bypassing the autoUpdate check when the user manually switches the updateChannel.
2020-06-22 16:31:25 -07:00
Michelle Matias 929d548419 Doxygen strings for localization (#5658) 2020-06-22 13:27:46 -07:00
Michelle Matias 64b949583d Update vscode-cpptools to 4.0.1 (#5623) 2020-06-22 13:10:09 -07:00
Andrew Wang de4a6babef [cppvsdbg] Add logging ThreadExit and ProcessExit (#5652)
* [cppvsdbg] Add logging ThreadExit and ProcessExit

This PR adds two log flags for ThreadExit and ProcessExit events.
This will remove the "The thread 10564 has exited with code 0 (0x0)."
and "The program '[24104] ConsoleApplication1.exe' has exited with code
0 (0x0)." messages.
2020-06-18 17:55:30 -07:00
Colen Garoutte-Carson 37dfc2dda4 Additional localized strings for hover and auto-complete (#5651) 2020-06-17 14:19:32 -07:00
Andrew WangandSean McManus b7cd0d9d7d Print launch.json to C/C++ Output Log (#5644)
* Print launch.json to C/C++ Output Log

This PR adds a check in resolveDebugConfiguration so that if a user adds
logging.engineLogging = true in the launch.json, we will output the
resovled json in the C/C++ Output.

* Use GitHub bug notation and add title for log

Co-authored-by: Sean McManus <[email protected]>
2020-06-17 11:17:57 -07:00
Sean McManus 7821797aae Merge pull request #5645 from microsoft/seanmcm/customConfigurationVariableCherryPick
custom configuration variable cherry pick
2020-06-15 15:43:48 -07:00
Sean McManus 3a5a00bab4 Edit customConfigurationVariables description. 2020-06-15 15:02:24 -07:00
Sean McManus a6df7eeaba Fix linter errors. 2020-06-15 14:52:50 -07:00
bugengine 1942a701bf Added system to store and query properties from the active C/C++ configuration (#5453)
* Added system to store and query properties from the active C/C++ configuration
Co-authored-by: yngwe@farnsworth <yngwe@farnsworth>
Co-authored-by: yngwe@bender <yngwe@bender>
2020-06-15 14:50:38 -07:00
Sean McManus 1f1b2b0236 Add prefer-const to eslint. Fix some other lint errors. (#5634) 2020-06-15 14:44:55 -07:00
bugengine eedadd9ba0 Added system to store and query properties from the active C/C++ configuration (#5453)
* Added system to store and query properties from the active C/C++ configuration
Co-authored-by: yngwe@farnsworth <yngwe@farnsworth>
Co-authored-by: yngwe@bender <yngwe@bender>
2020-06-15 14:22:32 -07:00
Andrew Wang 0dea2e48c2 Support Debug Welcome Panel (#5503)
This PR enables the Debug Welcome Panel for c/cpp languages.
2020-06-15 13:46:20 -07:00
Andrew Wang f3c44319b3 Add quoteArgs to schema (#5639)
With https://github.com/microsoft/MIEngine/pull/1006, the debug adapter
supports 'quoteArgs' in pipeTransports. If the user wishes to handle the
quoting for pipeTransport arguments, they should set this field to
'false'. It currently defaults to true.

For example, if quoteArgs is 'true', the pipe command will result in
"bash.exe -c '/usr/bin/gdb --interpreter=mi'" If false,
it will result to "wsl.exe -c /usr/bin/gdb --interpreter=mi"
2020-06-15 13:31:42 -07:00
Sean McManus 86a81392de Fix files.associations updating. (#5626)
Fix for #5618
Scenario 1: Manually change files.associations. Bug: We weren't sending files.associations along with the settings change.
Scenario 2: Open a .C file. Bug: The language associations need to be changed before sending the didOpen.
2020-06-10 10:20:03 -07:00
Michelle Matias b33117997a Update cpptools-api to 4.0.1 in release branch for 0.28.3 (#5624) 2020-06-08 15:54:31 -07:00
Sean McManus 34457f222c Update strings and fwlinks (#5614)
* Update strings.
* Update fwlinks.
2020-06-05 18:20:38 -07:00
Sean McManus e3db8a5bf4 Fix cwd on Windows. (#5605) 2020-06-04 13:00:47 -07:00
Sean McManus 734ce74be2 Merge pull request #5593 from microsoft/seanmcm/0_28_2_release
0_28_2 release
2020-06-02 12:17:27 -07:00
Sean McManus 5262a75d87 Merge. 2020-06-01 15:56:51 -07:00
Sean McManus b7488e61b0 0_28_2 changelog (#5592)
* Update changelog for 0.28.2.
2020-06-01 15:55:09 -07:00
Sean McManus 5210e23479 Fix task bugs. (#5585)
Fixes https://github.com/microsoft/vscode-docs/issues/3724, https://github.com/microsoft/vscode-cpptools/issues/5561, https://github.com/microsoft/vscode-cpptools/issues/3295, https://github.com/microsoft/vscode-cpptools/issues/4761 .

Problems are:
1. The task source was incorrectly changed to "shell" (regression). Only the "type" registered task type needed to be shell: https://github.com/microsoft/vscode-docs/issues/3724 . 
2. Using Configure Default Build Task would create a task with "shell: " or "C/C++: " in the name, while F5 would not. The adding of the source to the name is caused by VS. I had added a bug report at https://github.com/microsoft/vscode/issues/98838, but I just closed it since we can work around the issue via always adding the source to the name.
3. Added the problemMatcher and group fields to the tasks created from F5 (and Build and Debug Active File): https://github.com/microsoft/vscode-cpptools/issues/3295 .
4. Change the cwd to be ${workspaceFolder} instead of "/usr/bin": https://github.com/microsoft/vscode-cpptools/issues/4761 . The reason we did this originally was because Cygwin would fail, but that can be worked around via either adding Cygwin's bin folder the path or changing the cwd for those cases (but most users won't want cwd to be the path to the compiler, and Cygwin usage is low compared to other scenarios).
2020-06-01 13:40:36 -07:00
Krishna Ersson 64ecdb78ad Join string arrays in env with the correct delimiter based on platform (#5510) 2020-05-29 15:16:01 -07:00
csigsandDevDiv Build Lab - Dev14 8c3e10cb5e Localization - Translated Strings (#5582)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-05-29 10:27:04 -07:00
csigsandDevDiv Build Lab - Dev14 2737f46885 Localization - Translated Strings (#5576)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-05-28 10:57:08 -07:00
Colen Garoutte-Carson dfca58c539 Handle quoted spaces when stripping args from compilerPath (#5513) 2020-05-21 12:09:24 -07:00
Sean McManus 214a22911d Update changelog. (#5539) 2020-05-20 12:59:54 -07:00
Sean McManus c8a36e091e Merge pull request #5530 from microsoft/seanmcm/0_28_1_release
0_28_1 release
2020-05-19 17:49:21 -07:00
Sean McManus 6c95236356 Merge. 2020-05-19 17:26:27 -07:00
Sean McManus 8a2e6738eb Update changelog, fwlinks, version. (#5529)
* Update changelog, fwlinks, version.
2020-05-19 17:22:48 -07:00
csigsandDevDiv Build Lab - Dev14 d036a413c5 Localization - Translated Strings (#5520)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-05-18 10:45:22 -07:00
csigs d2f9113397 Localization - Translated Strings (#5495) 2020-05-14 12:37:11 -07:00
csigsandDevDiv Build Lab - Dev14 881836c0e8 Localization - Translated Strings (#5482)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-05-13 10:42:49 -07:00
Sean McManus 6bdf5f2495 Merge pull request #5475 from microsoft/seanmcm/0_28_0_release2
0_28_0_release2
2020-05-12 13:57:01 -07:00
Sean McManus 9b559d0a18 Merge. 2020-05-12 13:48:23 -07:00
csigsandDevDiv Build Lab - Dev14 25022e93d3 Localization - Translated Strings (#5472)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-05-12 13:35:26 -07:00
Bob Brown 17ddec484a Merge pull request #5466 from microsoft/bobbrow/downgradeFix
Fix a bug with downgrading
2020-05-11 20:29:46 -07:00
Bob Brown (DEVDIV) a4535a9feb Fix a bug with downgrading 2020-05-11 17:32:10 -07:00
csigsandDevDiv Build Lab - Dev14 7b2eb67be9 Localization - Translated Strings (#5459)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-05-11 09:26:54 -07:00
Sean McManus 1fbbd6be51 Updates for 0.28.0. (#5446)
* Updates for 0.28.0.
* Update string.
* Update TPN.
2020-05-08 20:43:18 -07:00
Sean McManus 7ab06da098 Fix online vsix error message. (#5443) 2020-05-08 17:08:15 -07:00
Sean McManus c71c100efb Merge pull request #5442 from microsoft/seanmcm/0_28_0_shell
Change C/C++ taskSourceStr to shell.
Fixes https://github.com/microsoft/vscode-cpptools/issues/5388
2020-05-08 14:48:18 -07:00
Sean McManus 1d4371268c Update change. Change min Insiders version back to 1.42.1. 2020-05-08 14:40:51 -07:00
Sean McManus 66a62b36a7 Update changelog. 2020-05-08 14:34:02 -07:00
Sean McManus c74908f4ae Change C/C++ taskSourceStr to shell. 2020-05-08 13:13:14 -07:00
csigsandDevDiv Build Lab - Dev14 fde1427e44 Localization - Translated Strings (#5440)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-05-08 10:21:15 -07:00
Sean McManus 255ecac866 Merge pull request #5438 from microsoft/seanmcm/0_28_0_release
Merge for 0_28_0 release
2020-05-07 19:53:56 -07:00
Sean McManus f97729a8cb Merge. 2020-05-07 19:36:43 -07:00
Sean McManus d6a9927435 Merge pull request #5436 from microsoft/seanmcm/0_27_1_cherryPick
Cherry pick "Disable Insiders updates for unsupported cases."
Other minor changes to.
2020-05-07 19:32:18 -07:00
Sean McManus 39af7295d5 Upgrade yargs-parser. 2020-05-07 19:23:18 -07:00
Sean McManus 7906500259 Fix bad merge. 2020-05-07 19:09:28 -07:00
Sean McManus a62cb72ca6 Merge branch 'master' into seanmcm/0_27_1_cherryPick 2020-05-07 19:02:05 -07:00
Sean McManus 48f90bd944 Changelog for 0.28.0. (#5437) 2020-05-07 19:01:47 -07:00
Sean McManus 61fca7feeb Change insider requirement to 1.44. 2020-05-07 18:59:21 -07:00
Sean McManus af92309090 Disable Insiders updates for unsupported cases. (#5371)
* Disable Insiders updates for unsupported cases.
2020-05-07 18:35:39 -07:00
Sean McManus c295ad8a64 Merge. 2020-05-07 18:34:21 -07:00
Michelle Matias 55aaeccc36 Delete temporary VSIX created during installation (#5422) 2020-05-07 17:39:55 -07:00
Colen Garoutte-Carson 9e3eecc9af Add setting to enable/disable code folding provider (#5435) 2020-05-07 17:28:47 -07:00
5fe62db314 add new error message for Custom config provider extension users (#5406)
* add new error message

* add error to the end of the list

* add new error message with no squiggles

* adding more info to the error message

Co-authored-by: Elaheh Rashedi <[email protected]>
Co-authored-by: Sean McManus <[email protected]>
Co-authored-by: Bob Brown <[email protected]>
2020-05-07 15:26:41 -07:00
Bob Brown 40ac9fd074 Merge pull request #5399 from microsoft/elrashed/4121
Change C_Cpp.clang_format_path to be scope machine-overridable
2020-05-07 14:12:55 -07:00
csigsandDevDiv Build Lab - Dev14 8168a12737 Localization - Translated Strings (#5432)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-05-07 10:35:10 -07:00
Colen Garoutte-Carson ef120e8313 Add telemetry event for main process crashes (#5425) 2020-05-06 17:46:39 -07:00
Sean McManus fd200daff1 Fix Find All Refs status. (#5420) 2020-05-06 17:31:07 -07:00
Michelle Matias 552c86c98b Add ARM IntelliSenseMode options to default settings (#5423) 2020-05-06 17:02:12 -07:00
csigsandDevDiv Build Lab - Dev14 9b2c34b7b9 Localization - Translated Strings (#5419)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-05-06 14:05:50 -07:00
Colen Garoutte-Carson bc5002041c Default registration of callbacks until settings have been processed (#5412) 2020-05-05 13:18:00 -07:00
csigs 5767a5e19d Localization - Translated Strings (#5407) 2020-05-04 12:47:52 -07:00
Elaheh Rashedi dbc0d90158 adding clang-format-style and fallback-style 2020-05-01 16:39:05 -07:00
Elaheh Rashedi 4ce4631167 machine_overridable 2020-05-01 16:04:21 -07:00
Elaheh Rashedi fc57be8d9d Change C_Cpp.clang_format_path machine-overridable 2020-05-01 12:27:05 -07:00
Sean McManus 8292868a86 0.28.0-insiders2 changelog. (#5394) 2020-04-30 18:40:20 -07:00
Sean McManus 1b38713e30 Fix "" compilerPath. (#5393) 2020-04-30 17:34:14 -07:00
Sean McManus b31e464d95 String update. (#5390) 2020-04-30 14:02:52 -07:00
csigsandDevDiv Build Lab - Dev14 ba4825c00e Localization - Translated Strings (#5387)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-04-30 10:34:50 -07:00
Michelle Matias 50a82baaff Add GNU standards and C18 standard for querying compiler (#5321) 2020-04-29 13:10:22 -07:00
csigsandDevDiv Build Lab - Dev14 53970a6351 Localization - Translated Strings (#5378)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-04-29 11:23:40 -07:00
Sean McManus a88ca881ad Disable Insiders updates for unsupported cases. (#5371)
* Disable Insiders updates for unsupported cases.
2020-04-28 14:41:01 -07:00
4216aa4605 check offline/insiders VSIX (#5341)
* check offline/insiders VSIX

* draft

* add offline url, modify warning message

* check offline/insiders VSIX

* draft

* add offline url, modify warning message

* modify warning message

* fix reviewers comments

* changing the approach to determine the platform

* fixing the integration test

* testing

Co-authored-by: Elaheh Rashedi <[email protected]>
Co-authored-by: Bob Brown <[email protected]>
2020-04-28 13:07:58 -07:00
Sean McManus 118bed15b6 Attempt to fix c_cpp_properties resetting. (#5368) 2020-04-28 12:40:35 -07:00
csigsandDevDiv Build Lab - Dev14 c9f46cc19f Localization - Translated Strings (#5373)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-04-28 10:48:42 -07:00
Michelle Matias 3efc997fcc valid cl/clang-cl and msvc intellisensemode 2020-04-27 16:43:17 -07:00
Sean McManus 6b0ab5ef37 Add changelog. (#5369) 2020-04-27 14:09:00 -07:00
Sean McManus 3b1284196a Update changelog for 0.28.0-insiders (#5359)
* Update changelog for 0.28.0-insiders
2020-04-24 16:43:56 -07:00
Sean McManus 58c50dc38b Remove some 32-bit Linux stuff. (#5357) 2020-04-24 13:31:19 -07:00
Sean McManus 4980ff732a Update for 3 assets (no more 32-bit Linux) (#5350) 2020-04-23 16:44:59 -07:00
Sean McManus abc19f357c Fix onFileSystem activation. (#5355) 2020-04-23 16:33:41 -07:00
Colen Garoutte-Carson c6017ef418 Code Folding (#5307) 2020-04-22 21:39:38 -07:00
Michelle Matias 820a82293c Update readme: add GCC Linux tutorial and deprecate Linux 32bit (#5348) 2020-04-22 18:31:25 -07:00
ddbf7a3dd7 insiders update/downgrade improvements (#5309)
* add test, no warning yet

* check for the assets, add more test

* addd test for Default channel

* fix spelling srrors

* update Default chanel tests

Co-authored-by: Elaheh Rashedi <[email protected]>
Co-authored-by: Sean McManus <[email protected]>
2020-04-21 13:56:43 -07:00
csigsandDevDiv Build Lab - Dev14 c5946e2f08 Localization - Translated Strings (#5339)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-04-21 10:26:53 -07:00
Pierson Lee eb9da46a83 Adding the arm/arm64 packages for mono runtime (#5064)
* Adding the arm/arm64 packages for mono runtime

Adding the arm/arm64 packages for the mono runtime. This is to enable
remote-ssh extension debugging.

* Undo activate change

* Fix lint error

* Remove vsce dependency
2020-04-20 17:11:22 -07:00
Sean McManus 0d0e0042de Fix duplicate config squiggles. (#5323) 2020-04-20 11:35:38 -07:00
csigsandDevDiv Build Lab - Dev14 7a0d5feefc Localization - Translated Strings (#5330)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-04-20 10:36:30 -07:00
Sean McManus 2a8a60b9ad Fix path not a directory in "env" (#5320)
* Remove path is not a directory squiggle for env.
2020-04-17 14:57:09 -07:00
csigsandDevDiv Build Lab - Dev14 c5463c6c20 Localization - Translated Strings (#5317)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-04-17 11:18:27 -07:00
Sean McManus 26911f91b4 Fix cpptools restarting. (#5305)
* Fix cpptools restarting.
2020-04-16 20:44:20 -07:00
csigsandDevDiv Build Lab - Dev14 418e1fc177 Localization - Translated Strings (#5312)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-04-16 10:58:41 -07:00
csigsandDevDiv Build Lab - Dev14 0b4a761875 Localization - Translated Strings (#5300)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-04-15 10:44:10 -07:00
csigsandDevDiv Build Lab - Dev14 fdfc1b7ca6 Localization - Translated Strings (#5234)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-04-10 17:41:45 -07:00
Michelle Matias 4c7ddbcf62 Update IntelliSense Features E2E tests (#5281) 2020-04-10 15:46:35 -07:00
Sean McManus 07bb7dd411 Remove workaround for v3 providers. (#5263)
* Remove workaround for v3 providers.
2020-04-09 19:46:33 -07:00
Elaheh Rashedi 38d49bf23a modify nativeString.json (#5260)
bugfix: https://github.com/microsoft/vscode-cpptools/issues/5160
2020-04-07 13:04:33 -07:00
Michelle Matias a037a70449 Add ARM IntelliSenseModes (#5250) 2020-04-06 17:35:48 -07:00
Sean McManus c268e8a2a7 Fix test linter issues. (#5252)
* Fix test linter issues.
* Add .eslintignore.
2020-04-06 15:36:42 -07:00
Sean McManus e420f54746 Update mocha/diff. (#5251) 2020-04-06 13:06:36 -07:00
Sean McManus ac2398d987 Use autoDetect problemMatcher. (#3916) 2020-04-03 12:15:13 -07:00
Colen Garoutte-Carson 82d462fef7 Update engine version to match vscode/types (#5249) 2020-04-03 10:43:23 -07:00
Colen Garoutte-Carson 289562e442 Remove Rename UI in favor of new WorkspaceEdit Preview API (#5133) 2020-04-01 16:26:22 -07:00
Elaheh Rashedi 873775aafe define path delimiter based on windows/mac config (#5229)
* define path delimiter based on windows/mac config
https://github.com/microsoft/vscode-cpptools/issues/3940
2020-04-01 12:00:42 -07:00
Sean McManus 941d31ce91 Fix error string. (#5195) 2020-03-31 17:48:11 -07:00
Sean McManus dd174e241d Update fwlinks (#5231)
* Update version and fwlinks.
2020-03-31 17:06:45 -07:00
Sean McManus 03bed1c17c New IntelliSense error messages. (#5214) 2020-03-31 16:51:57 -07:00
Elaheh Rashedi e2e1868270 fix Bug 5124, adding namespace indent
* fix Bug 5124, adding namespace indent
https://github.com/microsoft/vscode-cpptools/issues/5124
2020-03-30 10:09:43 -07:00
Sean McManus 9ea6727743 Merge pull request #5218 from microsoft/seanmcm/0_27_0_release_merge2
Seanmcm/0 27 0 release merge2
2020-03-27 18:26:11 -07:00
Sean McManus bd1f66b411 Merge branch 'release' into seanmcm/0_27_0_release_merge2 2020-03-27 18:14:51 -07:00
Sean McManus a8ade55826 Update changelog for 0.27.0. (#5216)
* Update changelog for 0.27.0.
2020-03-27 17:29:34 -07:00
Sean McManus 913ddf4785 Fix incorrect compiler path with spaces and args squiggle. (#5217)
* Fix invalid `c_cpp_properties.json` and configuration UI warning `Compiler path with spaces and arguments is missing double quotes`.
2020-03-27 17:02:53 -07:00
Sean McManus c5be0b55c7 Merge pull request #5205 from microsoft/seanmcm/0_27_0_release_merge
Seanmcm/0 27 0 release merge
2020-03-26 14:07:45 -07:00
Sean McManus e8080fc86f Merge branch 'seanmcm/0_27_0_release_merge' of https://github.com/Microsoft/vscode-cpptools into seanmcm/0_27_0_release_merge 2020-03-26 13:45:08 -07:00
Sean McManus 579e4db42b Merge. 2020-03-26 13:44:36 -07:00
Sean McManus eba352eb07 Update changelog. (#5206) 2020-03-26 13:41:58 -07:00
Sean McManus 16bc8f6e5d Merge branch 'release' into seanmcm/0_27_0_release_merge 2020-03-26 13:16:05 -07:00
Andrew WangandSean McManus 05014a36c3 Add darwin OS version change check for lldb-mi (#5197)
If the darwin version changes and is upgraded to Mojave or higher, users
will need to use ./debugAdapters/lldb-mi. These changes will cleanup the
old files and cause the online installation process to run again.

Co-authored-by: Sean McManus <[email protected]>
2020-03-26 12:32:52 -07:00
Sean McManus 276e095d2c Update changelog. (#5199)
* Update changelog.
2020-03-26 12:13:02 -07:00
Sean McManus 208f28bfd6 Update some dependencies. (#5198) 2020-03-26 11:28:54 -07:00
Elaheh Rashedi 3f09f608a9 fix for validating cl compiler path (#5196)
bug fix 5151
2020-03-25 17:20:26 -07:00
Sean McManus b5fc4cc9b2 Fix crash with a workspace with no folders. (#5193) 2020-03-25 15:26:04 -07:00
Sean McManus 4062d86dff Fix databse when no folder is open. (#5186) 2020-03-24 17:59:37 -07:00
Sean McManus b7c0624369 Fix updateChannel being settable per workspace. (#5185) 2020-03-24 15:40:42 -07:00
csigsandDevDiv Build Lab - Dev14 9697ee65f0 Localization - Translated Strings (#5179)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-03-24 10:18:14 -07:00
Michelle Matias 155ed2b669 fix version filtering (#5175) 2020-03-23 17:57:31 -07:00
Sean McManus 6c4080832b Seanmcm/0 27 0 insider4 changelog2 (#5172)
* Update changelog.
2020-03-23 14:48:36 -07:00
Sean McManus 882b62c25b Fix package.json activation events. (#5173) 2020-03-23 14:40:37 -07:00
Sean McManusandAndrew Wang 5878686eac Add cleanUnusedBinaries stage (#5170)
Our offline installer will include two versions of lldb.
./debugAdapters/lldb is lldb-mi 3.8 and is used for High-Sierra and older
./debugAdapters/lldb-mi is lldb-mi 10.x and is used for Mojave and
higher.

Co-authored-by: Andrew Wang <[email protected]>
2020-03-23 14:39:20 -07:00
Andrew Wang 9b2c568db5 Add cleanUnusedBinaries stage (#5153)
Our offline installer will include two versions of lldb.
./debugAdapters/lldb is lldb-mi 3.8 and is used for High-Sierra and older
./debugAdapters/lldb-mi is lldb-mi 10.x and is used for Mojave and
higher.
2020-03-23 13:10:38 -07:00
Sean McManus f87944a72a Merge pull request #5158 from microsoft/seanmcm/0_27_0_insiders4_merge
Seanmcm/0 27 0 insiders4 merge
2020-03-20 17:26:01 -07:00
Sean McManus 5986aee6da Fix search.exclude for Go to Symbol in Workspace (#5101)
* Fix workspace folder settings bug: https://github.com/microsoft/vscode-cpptools/issues/5134
* Fix bug with rescan folder getting called once per workspace folder.
* Update changelog.
2020-03-19 18:49:32 -07:00
Colen Garoutte-Carson 2ffd9210d2 Use optional arg in client constructor instead of | undefined (#5140) 2020-03-17 13:39:28 -07:00
csigs de6ddc2440 Localization - Translated Strings (#5111) 2020-03-17 11:03:50 -07:00
Sean McManus 70944b6352 Fix workspace folder settings being incorrect. (#5135) 2020-03-16 20:14:32 -07:00
Colen Garoutte-Carson 0c9e000a4f Fix open file scenario bugs due to struct null changes (#5137) 2020-03-16 19:28:05 -07:00
dependabot[bot] 2091cc2614 Bump minimist from 1.2.0 to 1.2.2 in /Extension (#5132) 2020-03-16 16:29:56 -07:00
Colen Garoutte-Carson 927d2bb9e6 Fix some settings so they are editable in settings UI (#5126) 2020-03-16 15:37:09 -07:00
Colen Garoutte-Carson 502eb84116 Undo bad fix for check in getVcpkgRoot (#5116) 2020-03-13 16:58:26 -07:00
Colen Garoutte-Carson 1c8b8f4d6d Fix error when renaming (#5114) 2020-03-13 16:36:32 -07:00
Colen Garoutte-Carson 399e8ad1db Remove use of tilde from setting descriptions (#5108) 2020-03-12 22:14:17 -07:00
Sean McManus 8e0a0792b8 Merge pull request #5106 from microsoft/seanmcm/0_27_0_merge
0_27_0 merge to release
2020-03-12 14:57:51 -07:00
Sean McManus 6712181c45 Merge. 2020-03-12 14:11:19 -07:00
Sean McManus 940a720501 Update version. 2020-03-12 14:09:25 -07:00
csigsandDevDiv Build Lab - Dev14 5b68300c02 Localization - Translated Strings (#5104)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-03-12 10:16:52 -07:00
Sean McManus 5ef1d8db35 update 0 27 0 insiders3 changelog (#5098)
* More changelog entries.
2020-03-11 18:31:43 -07:00
Colen Garoutte-Carson 98ba6828cc Remove null default for intelliSenseCachePath (#5097) 2020-03-11 16:01:06 -07:00
Michelle Matias f1328840d2 Update issue language template (#5089) 2020-03-11 10:25:53 -07:00
csigsandDevDiv Build Lab - Dev14 f2eb925120 Localization - Translated Strings (#5094)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-03-11 10:15:32 -07:00
Sean McManus 80a293b83d 0 27 0 insiders3 changelog (#5088)
* Update changelog for 0.27.0-insiders3
2020-03-10 16:08:53 -07:00
Helloimbob 831f29c963 Optionally enable backtick command substitution for pickRemoteProcess (#5053)
* Backtick substiution
Co-authored-by: Thomas A. George <[email protected]>
2020-03-10 14:27:03 -07:00
Michelle Matias c648c1f56b Ask for logs for language service 2020-03-10 13:51:21 -07:00
Sean McManus 6cd03fc81b Update acorn dependencies. (#5087) 2020-03-10 13:08:16 -07:00
Sean McManus 6ece751d81 Fix debugger regressions. (#5086)
Fix null reference on call to "this.resolveEnvFile" ("this" was undefined) when doing Attach debugging.
2020-03-10 11:38:19 -07:00
csigsandDevDiv Build Lab - Dev14 7ca75be2ac Localization - Translated Strings (#5083)
Co-authored-by: DevDiv Build Lab - Dev14 <[email protected]>
2020-03-09 09:02:25 -07:00
Sean McManus d3020a39e9 Fix error after editing a document too early. (#5077) 2020-03-06 17:49:26 -08:00
Sean McManus 46335eb722 Fix bugs when c_cpp_properties.json doesn't exist. (#5065)
* Fix bugs when c_cpp_properties.json doesn't exist.
* Fix crash that sometimes occurs when switching color themes (with multiroot workspaces): https://github.com/microsoft/vscode-cpptools/issues/5063
2020-03-06 11:59:12 -08:00
Sean McManus bab6eff42f Minor telemetry change. (#5058) 2020-03-05 12:19:57 -08:00
Colen Garoutte-Carson f1bec1e564 Enable strictNullChecks (#5030) 2020-03-05 11:50:02 -08:00
Sean McManus 33a6b6699e Attempt to fix Mac crash telemetry. (#5056)
* Attept to fix Mac crash telemetry.
2020-03-04 14:56:15 -08:00
Sean McManus fc21920a65 Fix null reference in updateCustomBrowseConfiguration. (#5055)
* Fix null reference in updateCustomBrowseConfiguration.
2020-03-04 13:20:04 -08:00
Sean McManus d4910cc370 Fix the "Open File..." scenario (without a workspace folder) (#5054)
Fix the "Open File..." scenario (without a workspace folder)
2020-03-04 12:58:08 -08:00
Colen Garoutte-Carson 62222e592e Localization - Translated Strings (#5050) 2020-03-04 12:15:18 -08:00
Sean McManus e52fdd51da Fix C_Cpp.default.configurationProvider changes not taking effect. (#5043)
* Fix C_Cpp.default.configurationProvider changes not taking effect.
2020-03-03 12:53:09 -08:00
csigs dfe7ff348f Localization - Translated Strings (#5046) 2020-03-03 09:46:12 -08:00
Sean McManus 8f79cfae66 Fix bug with multiroot persistent folder states. (#5042) 2020-03-02 18:26:16 -08:00
csigs e0253a5f15 Localization - Translated Strings (#5037) 2020-03-02 10:01:22 -08:00
Colen Garoutte-Carson 8dbb12554c Fix issue with onDidChangeSettings never returning changed settings (#5026) 2020-02-27 18:15:52 -08:00
Sean McManus 8e7c8357ac Fix settings not getting sent after add folder. (#5021) 2020-02-27 16:41:17 -08:00
Colen Garoutte-Carson 5567e3abd8 Fix issue with cancellation of rename (#5025) 2020-02-27 16:14:31 -08:00
csigs 8aac4eccb1 [Auto] Localization - Translated Strings (#5017) 2020-02-27 10:13:04 -08:00
Sean McManus cfd09cf9e6 Update changelog. (#5016)
* Update changelog.
2020-02-26 18:26:44 -08:00
Colen Garoutte-Carson cda9491ffa Fix setting name for intelliSenseEngineFallback (#5015) 2020-02-26 17:08:20 -08:00
Sean McManus ffa9ca3249 Fix config switching after adding folder. (#5010) 2020-02-26 14:53:49 -08:00
csigs b83519cdd2 Localization - Translated Strings (#5013) 2020-02-26 10:14:50 -08:00
Colen Garoutte-Carson 51f7d1e5e1 Address issue with wrong problem matcher added to tasks.json (#5008) 2020-02-25 18:04:32 -08:00
Colen Garoutte-Carson 0f089261af Switch to returning CodeActions from CodeActionProvider (#5007) 2020-02-25 17:10:37 -08:00
Sean McManus 1041278dca New multi-root (#4809)
Adds multiroot support for a single language server process.

Instead of a single settings and cpp_properties objects, there are one per workspace folder.
There is a single browse database, but multiple browse-related settings (e.g. for per-folder files.exclude), so workspace parsing operates with a separate pass per workspace folder.
2020-02-25 13:47:41 -08:00
Colen Garoutte-Carson b77eee9197 Localize 'build and debug active file' (#5006) 2020-02-25 13:27:59 -08:00
csigs e5bf202d4f Localization - Translated Strings (#5004) 2020-02-25 10:00:36 -08:00
csigs 0e45efcfc1 Localization - Translated Strings (#5002) 2020-02-24 17:55:49 -08:00
Andrew Wang af8cf554a5 Validate dependencies for lldb-mi (#4911)
If a user does not provide a custom lldb-mi on macOS running in LLDB
mode. We check to see if the XCode/XCode CLI LLDB.framework dependencies
exist.

Also adds both LLDB-MI Package based on versionRegex

This PR also adds in PlatformInfo.version and IPackage.versionRegex and
IPackage.matchVersion.

Currently only darwin PlatformInfo.version is set since only the LLDB-MI
package utilizes IPackage.versionRegex and matchVersion.

The LLDB-MI 3.8 package is used for High Sierra and lower and the newer
lldb-mi is used for Mojave and higher
2020-02-21 11:24:16 -08:00
Michelle Matias 3c6438c12f update loc for Feb 20 FI (#4993) 2020-02-20 16:49:50 -08:00
Colen Garoutte-Carson a8285cbc0e Prompt again for provider if config is cleared (#4987) 2020-02-19 17:18:32 -08:00
Colen Garoutte-Carson 8fa7cbbde2 Get a stable yarn lock (#4986) 2020-02-19 13:05:26 -08:00
Colen Garoutte-Carson 548d6a82d4 Migrate from TSLint to ESLint (#4974) 2020-02-18 14:33:26 -08:00
Colen Garoutte-Carson 764b1d143a Use system installed clang-format only if newer, or bundled version is not executable (#4968) 2020-02-14 13:29:54 -08:00
csigs d59bad705f Localization - Translated Strings (#4973) 2020-02-14 09:30:17 -08:00
csigs 28b567ca8e Localization - Translated Strings (#4964) 2020-02-13 09:55:57 -08:00
Michelle Matias cd73fb3755 Initial E2E IntelliSense Features tests (#4856) 2020-02-12 17:06:00 -08:00
Andrew Wang 772b7f948e Create .yml for building LLDB-MI (#4910)
Add build for LLDB-MI
2020-02-12 13:38:43 -08:00
Colen Garoutte-Carson 0225a566e9 Remove knownCompilers from Configuration interface, entirely (#4960) 2020-02-12 12:35:50 -08:00
Colen Garoutte-Carson da17ded7fa Remove knownCompilers if found in c_cpp_properties.json (#4956) 2020-02-12 10:04:07 -08:00
csigs 823b5879eb Localization - Translated Strings (#4952) 2020-02-11 16:53:33 -08:00
Colen Garoutte-Carson 60847b3962 Handle missing assert in getVsixDownloadUrl (#4951) 2020-02-10 13:43:26 -08:00
Colen Garoutte-Carson 0d91db0e06 Undo settings renames (#4938) 2020-02-10 09:50:05 -08:00
csigs 3fa056f4d5 Localization - Translated Strings (#4937) 2020-02-07 16:54:37 -08:00
csigs 05f2b24011 Localization - Translated Strings (#4923) 2020-02-04 10:20:42 -08:00
Colen Garoutte-Carson 2f0c3fddd3 Update fw links for clang-format (#4918) 2020-02-03 19:49:36 -08:00
csigs 21c8d54373 Localization - Translated Strings (#4915) 2020-01-30 11:40:15 -08:00
aleksey-sergey 2aeb48d722 add support for a new command: cpptools.setActiveConfigName (#4893)
* add support for a new command: cpptools.setActiveConfigName

Command allows other extensions to control activeConfigName

* post review fix: localized config-name-not-found message
2020-01-29 18:46:37 -08:00
Colen Garoutte-Carson bf2802e4e4 Rename various settings (#4907) 2020-01-29 18:33:26 -08:00
Colen Garoutte-Carson e01071a625 Fix issue with disabled compiler path in config UI if none detected (#4912) 2020-01-29 18:32:59 -08:00
csigs 4a8802a38d Localization - Translated Strings (#4906) 2020-01-28 09:52:22 -08:00
csigs 631ecff716 Localization - Translated Strings (#4903) 2020-01-27 09:42:53 -08:00
Colen Garoutte-Carson 997161f862 Avoid unrecognized uri schemes when processing open/visible file event (#4896) 2020-01-24 16:33:07 -08:00
csigs 3cbc918860 Localization - Translated Strings (#4895) 2020-01-24 09:45:07 -08:00
csigs 4f24cafb45 Localization - Translated Strings (#4886) 2020-01-23 18:23:23 -08:00
Colen Garoutte-Carson 0122819f26 Update fwlinks (#4892) 2020-01-23 17:57:38 -08:00
Colen Garoutte-Carson 2b1054bf41 rename native binaries (#4882) 2020-01-23 12:34:04 -08:00
Colen Garoutte-Carson 53d65fd430 Move all webpacked dependencies to devDependencies (#4884) 2020-01-22 17:26:06 -08:00
Colen Garoutte-Carson 79e0d487d0 Remove unused script (#4883) 2020-01-22 15:59:35 -08:00
csigs 13f740ed99 Localization - Translated Strings (#4880) 2020-01-22 09:51:41 -08:00
394 changed files with 19636 additions and 7032 deletions
+3
View File
@@ -2,6 +2,9 @@
name: Debugger
about: Issues pertaining to debugging such as call stack, breakpoints, watch window,
launching or attaching to a debuggee.
title: ''
labels: ''
assignees: ''
---
@@ -1,6 +1,9 @@
---
name: General Extension
about: Issues pertaining to downloading, installing, or building the extension.
title: ''
labels: ''
assignees: ''
---
+20 -4
View File
@@ -1,6 +1,9 @@
---
name: Language Service
about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
title: ''
labels: ''
assignees: ''
---
@@ -19,10 +22,11 @@ about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
- VS Code Version:
- C/C++ Extension Version:
- Other extensions you installed (and if the issue persists after disabling them):
- A clear and concise description of what the bug is.
- Does this issue involve using SSH remote to run the extension on a remote machine?:
- A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).
**To Reproduce**
<!-- Steps to reproduce the behavior: -->
**Steps to reproduce**
<!-- Provide clear steps to reproduce the behavior: -->
<!-- *The most actionable issue reports include a code sample including configuration files such as c_cpp_properties.json* -->
1. Go to '...'
2. Click on '....'
@@ -32,11 +36,23 @@ about: 'Issues pertaining to IntelliSense, autocomplete, code editing, etc. '
**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->
<!-- Please provide the following logs that show diagnostics and debugging information about the language server.
1. Logs from the command `C/C++: Log Diagnostics`
2. Logs from [the language server](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-language-server)
-->
<details>
<summary><strong>Logs</strong></summary>
<!-- Note: do not remove empty line after </summary> tag, otherwise the code blocks formatting won't show correctly. -->
```
Insert logs here.
```
</details>
**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->
**Additional context**
<!--
* Call Stacks: For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
* Add any other context about the problem here including log messages in your Output window ("C_Cpp.loggingLevel": "Debug" in settings.json).
-->
+3
View File
@@ -0,0 +1,3 @@
# ignore dependency packages
node_modules
*.js.map
+44
View File
@@ -0,0 +1,44 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Locker = void 0;
const utils_1 = require("../common/utils");
const ActionBase_1 = require("../common/ActionBase");
class Locker extends ActionBase_1.ActionBase {
constructor(github, daysSinceClose, daysSinceUpdate, labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
this.github = github;
this.daysSinceClose = daysSinceClose;
this.daysSinceUpdate = daysSinceUpdate;
}
async run() {
const closedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceClose);
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceUpdate);
const query = this.buildQuery((this.daysSinceClose ? `closed:<${closedTimestamp} ` : "") + (this.daysSinceUpdate ? `updated:<${updatedTimestamp} ` : "") + "is:closed is:unlocked");
for await (const page of this.github.query({ q: query })) {
await Promise.all(page.map(async (issue) => {
const hydrated = await issue.getIssue();
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
// TODO: Verify closed and updated timestamps
) {
console.log(`Locking issue ${hydrated.number}`);
await issue.lockIssue();
}
else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is already locked. Ignoring`);
}
else {
console.log('Query returned an invalid issue:' +
JSON.stringify({ ...hydrated, body: 'stripped' }));
}
}
}));
}
}
}
exports.Locker = Locker;
//# sourceMappingURL=Locker.js.map
+58
View File
@@ -0,0 +1,58 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { GitHub, Issue } from '../api/api'
import { daysAgoToHumanReadbleDate } from '../common/utils'
import { ActionBase } from '../common/ActionBase'
export class Locker extends ActionBase {
constructor(
private github: GitHub,
private daysSinceClose: number,
private daysSinceUpdate: number,
labels?: string,
milestoneName?: string,
milestoneId?: string,
ignoreLabels?: string,
ignoreMilestoneNames?: string,
ignoreMilestoneIds?: string,
minimumVotes?: number,
maximumVotes?: number
)
{
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
}
async run() {
const closedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceClose)
const updatedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceUpdate)
const query = this.buildQuery((this.daysSinceClose ? `closed:<${closedTimestamp} ` : "") + (this.daysSinceUpdate ? `updated:<${updatedTimestamp} ` : "") + "is:closed is:unlocked");
for await (const page of this.github.query({ q: query })) {
await Promise.all(
page.map(async (issue) => {
const hydrated = await issue.getIssue()
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
// TODO: Verify closed and updated timestamps
) {
console.log(`Locking issue ${hydrated.number}`)
await issue.lockIssue()
} else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is already locked. Ignoring`)
} else {
console.log(
'Query returned an invalid issue:' +
JSON.stringify({ ...hydrated, body: 'stripped' }),
)
}
}
}),
)
}
}
}
+31
View File
@@ -0,0 +1,31 @@
name: Locker
description: Lock closed issues and PRs after some time has passed
inputs:
token:
description: GitHub token with issue, comment, and label read/write permissions
default: ${{ github.token }}
daysSinceClose:
description: Days to wait since closing before locking the item
required: true
daysSinceUpdate:
description: days to wait since the last interaction before locking the item
required: true
milestoneName:
description: items with these milestones will be considered (name only, must match ID)
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
ignoredMilestoneNames:
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
ignoredMilestoneIds:
description: items with these milestones will not be considered (IDs only, must match names)
ignoredLabels:
description: items with these labels will not be considered
minimumVotes:
descriptions: Only issues with at least this many votes will be considered.
maximumVotes:
descriptions: Only issues fewer or equal to this many votes will be considered.
runs:
using: 'node12'
main: 'index.js'
+20
View File
@@ -0,0 +1,20 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../common/utils");
const Locker_1 = require("./Locker");
const Action_1 = require("../common/Action");
class LockerAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'Locker';
}
async onTriggered(github) {
await new Locker_1.Locker(github, +utils_1.getRequiredInput('daysSinceClose'), +utils_1.getRequiredInput('daysSinceUpdate'), utils_1.getInput('labels') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoredLabels') || undefined, utils_1.getInput('ignoredMilestoneNames') || undefined, utils_1.getInput('ignoredMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999)).run();
}
}
new LockerAction().run(); // eslint-disable-line
//# sourceMappingURL=index.js.map
+31
View File
@@ -0,0 +1,31 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit } from '../api/octokit'
import { getInput, getRequiredInput } from '../common/utils'
import { Locker } from './Locker'
import { Action } from '../common/Action'
class LockerAction extends Action {
id = 'Locker'
async onTriggered(github: OctoKit) {
await new Locker(
github,
+getRequiredInput('daysSinceClose'),
+getRequiredInput('daysSinceUpdate'),
getInput('labels') || undefined,
getInput('milestoneName') || undefined,
getInput('milestoneId') || undefined,
getInput('ignoredLabels') || undefined,
getInput('ignoredMilestoneNames') || undefined,
getInput('ignoredMilestoneIds') || undefined,
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999)
).run()
}
}
new LockerAction().run() // eslint-disable-line
@@ -0,0 +1,87 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.StaleCloser = void 0;
const ActionBase_1 = require("../common/ActionBase");
const utils_1 = require("../common/utils");
class StaleCloser extends ActionBase_1.ActionBase {
constructor(github, closeDays, labels, closeComment, pingDays, pingComment, additionalTeam, addLabels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
this.github = github;
this.closeDays = closeDays;
this.closeComment = closeComment;
this.pingDays = pingDays;
this.pingComment = pingComment;
this.additionalTeam = additionalTeam;
this.addLabels = addLabels;
}
async run() {
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.closeDays);
const pingTimestamp = this.pingDays ? utils_1.daysAgoToTimestamp(this.pingDays) : undefined;
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue();
const lastCommentIterator = await issue.getComments(true).next();
if (lastCommentIterator.done) {
throw Error('Unexpected comment data');
}
const lastComment = lastCommentIterator.value[0];
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
) {
if (!lastComment ||
lastComment.author.isGitHubApp ||
// TODO: List the collaborators once per go rather than checking a single user each issue
(pingTimestamp != undefined &&
(this.additionalTeam.includes(lastComment.author.name) ||
(await issue.hasWriteAccess(lastComment.author))))) {
if (lastComment) {
console.log(`Last comment on ${hydrated.number} by ${lastComment.author.name}. Closing.`);
}
else {
console.log(`No comments on ${hydrated.number}. Closing.`);
}
if (this.closeComment) {
await issue.postComment(this.closeComment);
}
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
console.log(`Adding label on ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
console.log(`Closing ${hydrated.number}.`);
await issue.closeIssue();
}
else if (pingTimestamp != undefined) {
// Ping
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
console.log(`Last comment on ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
if (this.pingComment) {
await issue.postComment(this.pingComment
.replace('${assignee}', hydrated.assignee)
.replace('${author}', hydrated.author.name));
}
}
else {
console.log(`Last comment on ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
}
}
}
else {
console.log('Query returned an invalid issue:' +
JSON.stringify({ ...hydrated, body: 'stripped' }));
}
}
}
}
}
exports.StaleCloser = StaleCloser;
//# sourceMappingURL=StaleCloser.js.map
+110
View File
@@ -0,0 +1,110 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { GitHub } from '../api/api'
import { ActionBase } from '../common/ActionBase'
import { daysAgoToHumanReadbleDate, daysAgoToTimestamp } from '../common/utils'
export class StaleCloser extends ActionBase {
constructor(
private github: GitHub,
private closeDays: number,
labels: string,
private closeComment: string,
private pingDays: number,
private pingComment: string,
private additionalTeam: string[],
private addLabels?: string,
milestoneName?: string,
milestoneId?: string,
ignoreLabels?: string,
ignoreMilestoneNames?: string,
ignoreMilestoneIds?: string,
minimumVotes?: number,
maximumVotes?: number
)
{
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes);
}
async run() {
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays)
const pingTimestamp = this.pingDays ? daysAgoToTimestamp(this.pingDays) : undefined;
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue()
const lastCommentIterator = await issue.getComments(true).next()
if (lastCommentIterator.done) {
throw Error('Unexpected comment data')
}
const lastComment = lastCommentIterator.value[0]
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
) {
if (
!lastComment ||
lastComment.author.isGitHubApp ||
// TODO: List the collaborators once per go rather than checking a single user each issue
(pingTimestamp != undefined &&
(this.additionalTeam.includes(lastComment.author.name) ||
(await issue.hasWriteAccess(lastComment.author))))
) {
if (lastComment) {
console.log(
`Last comment on ${hydrated.number} by ${lastComment.author.name}. Closing.`,
)
} else {
console.log(`No comments on ${hydrated.number}. Closing.`)
}
if (this.closeComment) {
await issue.postComment(this.closeComment)
}
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
console.log(`Adding label on ${hydrated.number}: ${addLabel}`)
await issue.addLabel(addLabel)
}
}
}
console.log(`Closing ${hydrated.number}.`)
await issue.closeIssue()
} else if (pingTimestamp != undefined) {
// Ping
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
console.log(
`Last comment on ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`,
)
if (this.pingComment) {
await issue.postComment(
this.pingComment
.replace('${assignee}', hydrated.assignee)
.replace('${author}', hydrated.author.name),
)
}
} else {
console.log(
`Last comment on ${hydrated.number} by ${lastComment.author.name}. Skipping.${
hydrated.assignee ? ' cc @' + hydrated.assignee : ''
}`,
)
}
}
} else {
console.log(
'Query returned an invalid issue:' +
JSON.stringify({ ...hydrated, body: 'stripped' }),
)
}
}
}
}
}
+39
View File
@@ -0,0 +1,39 @@
name: Stale Issue Closer
description: Close issues that are marked with a specified label and were last interacted with by a contributor or bot
inputs:
token:
description: GitHub token with issue, comment, and label read/write permissions
default: ${{ github.token }}
closeDays:
description: Days to wait before closing the issue
required: true
closeComment:
description: Comment to add upon closing the issue
pingDays:
description: Days to wait before pinging the assignee, if any. If set, issue is not closed if there is an assignee.
additionalTeam:
description: Pipe-separated list of additional users to treat as team members
pingComment:
description: Comment to add when pinging assignee. ${assignee} and ${author} are replaced.
milestoneName:
description: items with these milestones will be considered (name only, must match ID)
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
required: true
ignoredMilestoneNames:
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
ignoredMilestoneIds:
description: items with these milestones will not be considered (IDs only, must match names)
ignoredLabels:
description: items with these labels will not be considered
addLabels:
description: Labels to add to issue as it is closed.
minimumVotes:
descriptions: Only issues with at least this many votes will be considered.
maximumVotes:
descriptions: Only issues fewer or equal to this many votes will be considered.
runs:
using: 'node12'
main: 'index.js'
+21
View File
@@ -0,0 +1,21 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../common/utils");
const StaleCloser_1 = require("./StaleCloser");
const Action_1 = require("../common/Action");
class StaleCloserAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'StaleCloser';
}
async onTriggered(github) {
var _a;
await new StaleCloser_1.StaleCloser(github, +utils_1.getRequiredInput('closeDays'), utils_1.getRequiredInput('labels'), utils_1.getInput('closeComment') || '', +(utils_1.getInput('pingDays') || 0), utils_1.getInput('pingComment') || '', ((_a = utils_1.getInput('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), utils_1.getInput('addLabels') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoredLabels') || undefined, utils_1.getInput('ignoredMilestoneNames') || undefined, utils_1.getInput('ignoredMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999)).run();
}
}
new StaleCloserAction().run(); // eslint-disable-line
//# sourceMappingURL=index.js.map
+35
View File
@@ -0,0 +1,35 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit } from '../api/octokit'
import { getInput, getRequiredInput } from '../common/utils'
import { StaleCloser } from './StaleCloser'
import { Action } from '../common/Action'
class StaleCloserAction extends Action {
id = 'StaleCloser'
async onTriggered(github: OctoKit) {
await new StaleCloser(
github,
+getRequiredInput('closeDays'),
getRequiredInput('labels'),
getInput('closeComment') || '',
+(getInput('pingDays') || 0),
getInput('pingComment') || '',
(getInput('additionalTeam') ?? '').split(','),
getInput('addLabels') || undefined,
getInput('milestoneName') || undefined,
getInput('milestoneId') || undefined,
getInput('ignoredLabels') || undefined,
getInput('ignoredMilestoneNames') || undefined,
getInput('ignoredMilestoneIds') || undefined,
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999)
).run()
}
}
new StaleCloserAction().run() // eslint-disable-line
+7
View File
@@ -0,0 +1,7 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=api.js.map
+99
View File
@@ -0,0 +1,99 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
export interface GitHub {
query(query: Query): AsyncIterableIterator<GitHubIssue[]>
hasWriteAccess(user: User): Promise<boolean>
repoHasLabel(label: string): Promise<boolean>
createLabel(label: string, color: string, description: string): Promise<void>
deleteLabel(label: string): Promise<void>
readConfig(path: string): Promise<any>
dispatch(title: string): Promise<void>
createIssue(owner: string, repo: string, title: string, body: string): Promise<void>
releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'>
}
export interface GitHubIssue extends GitHub {
getIssue(): Promise<Issue>
postComment(body: string): Promise<void>
deleteComment(id: number): Promise<void>
getComments(last?: boolean): AsyncIterableIterator<Comment[]>
closeIssue(): Promise<void>
lockIssue(): Promise<void>
setMilestone(milestoneId: number): Promise<void>
addLabel(label: string): Promise<void>
removeLabel(label: string): Promise<void>
addAssignee(assignee: string): Promise<void>
removeAssignee(assignee: string): Promise<void>
getClosingInfo(): Promise<{ hash: string | undefined; timestamp: number } | undefined>
}
type SortVar =
| 'comments'
| 'reactions'
| 'reactions-+1'
| 'reactions--1'
| 'reactions-smile'
| 'reactions-thinking_face'
| 'reactions-heart'
| 'reactions-tada'
| 'interactions'
| 'created'
| 'updated'
type SortOrder = 'asc' | 'desc'
export type Reactions = {
'+1': number
'-1': number
laugh: number
hooray: number
confused: number
heart: number
rocket: number
eyes: number
}
export interface User {
name: string
isGitHubApp?: boolean
}
export interface Comment {
author: User
body: string
id: number
timestamp: number
}
export interface Issue {
author: User
body: string
title: string
labels: string[]
open: boolean
locked: boolean
number: number
numComments: number
reactions: Reactions
milestoneId: number | null
assignee?: string
createdAt: number
updatedAt: number
closedAt?: number
}
export interface Query {
q: string
sort?: SortVar
order?: SortOrder
}
+396
View File
@@ -0,0 +1,396 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.OctoKitIssue = exports.OctoKit = exports.getNumRequests = void 0;
const core_1 = require("@actions/core");
const github_1 = require("@actions/github");
const child_process_1 = require("child_process");
let numRequests = 0;
exports.getNumRequests = () => numRequests;
class OctoKit {
constructor(token, params, options = { readonly: false }) {
this.token = token;
this.params = params;
this.options = options;
// when in readonly mode, record labels just-created so at to not throw unneccesary errors
this.mockLabels = new Set();
this.writeAccessCache = {};
this._octokit = new github_1.GitHub(token);
}
get octokit() {
numRequests++;
return this._octokit;
}
// TODO: just iterate over the issues in a page here instead of making caller do it
async *query(query) {
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`;
console.log(`Querying for ${q}:`);
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
...query,
q,
per_page: 100,
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
});
let pageNum = 0;
const timeout = async () => {
if (pageNum < 2) {
/* pass */
}
else if (pageNum < 4) {
await new Promise((resolve) => setTimeout(resolve, 3000));
}
else {
await new Promise((resolve) => setTimeout(resolve, 30000));
}
};
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
await timeout();
numRequests++;
const page = pageResponse.data;
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
yield page.map((issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue)));
}
}
async createIssue(owner, repo, title, body) {
core_1.debug(`Creating issue \`${title}\` on ${owner}/${repo}`);
if (!this.options.readonly)
await this.octokit.issues.create({ owner, repo, title, body });
}
octokitIssueToIssue(issue) {
var _a, _b, _c, _d, _e, _f;
return {
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
body: issue.body,
number: issue.number,
title: issue.title,
labels: issue.labels.map((label) => label.name),
open: issue.state === 'open',
locked: issue.locked,
numComments: issue.comments,
reactions: issue.reactions,
assignee: (_b = (_a = issue.assignee) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : (_d = (_c = issue.assignees) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.login,
milestoneId: (_f = (_e = issue.milestone) === null || _e === void 0 ? void 0 : _e.number) !== null && _f !== void 0 ? _f : null,
createdAt: +new Date(issue.created_at),
updatedAt: +new Date(issue.updated_at),
closedAt: issue.closed_at ? +new Date(issue.closed_at) : undefined,
};
}
async hasWriteAccess(user) {
if (user.name in this.writeAccessCache) {
core_1.debug('Got permissions from cache for ' + user);
return this.writeAccessCache[user.name];
}
core_1.debug('Fetching permissions for ' + user);
const permissions = (await this.octokit.repos.getCollaboratorPermissionLevel({
...this.params,
username: user.name,
})).data.permission;
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write');
}
async repoHasLabel(name) {
try {
await this.octokit.issues.getLabel({ ...this.params, name });
return true;
}
catch (err) {
if (err.status === 404) {
return this.options.readonly && this.mockLabels.has(name);
}
throw err;
}
}
async createLabel(name, color, description) {
core_1.debug('Creating label ' + name);
if (!this.options.readonly)
await this.octokit.issues.createLabel({ ...this.params, color, description, name });
else
this.mockLabels.add(name);
}
async deleteLabel(name) {
core_1.debug('Deleting label ' + name);
try {
if (!this.options.readonly)
await this.octokit.issues.deleteLabel({ ...this.params, name });
}
catch (err) {
if (err.status === 404) {
return;
}
throw err;
}
}
async readConfig(path) {
core_1.debug('Reading config at ' + path);
const repoPath = `.github/${path}.json`;
try {
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data;
if ('type' in data && data.type === 'file') {
if (data.encoding === 'base64' && data.content) {
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'));
}
throw Error(`Could not read contents "${data.content}" in encoding "${data.encoding}"`);
}
throw Error('Found directory at config path when expecting file' + JSON.stringify(data));
}
catch (e) {
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e));
}
}
async releaseContainsCommit(release, commit) {
return new Promise((resolve, reject) => child_process_1.exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
if (!err || err.code === 1) {
resolve(!err ? 'yes' : 'no');
}
else if (err.message.includes(`Not a valid commit name ${release}`)) {
// release branch is forked. Probably in endgame. Not released.
resolve('no');
}
else if (err.message.includes(`Not a valid commit name ${commit}`)) {
// commit is probably in a different repo.
resolve('unknown');
}
else {
reject(err);
}
}));
}
async dispatch(title) {
core_1.debug('Dispatching ' + title);
if (!this.options.readonly)
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title });
}
}
exports.OctoKit = OctoKit;
class OctoKitIssue extends OctoKit {
constructor(token, params, issueData, options = { readonly: false }) {
super(token, params, options);
this.params = params;
this.issueData = issueData;
console.log('running bot on issue', issueData.number);
}
async addAssignee(assignee) {
core_1.debug('Adding assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.addAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
});
}
}
async removeAssignee(assignee) {
core_1.debug('Removing assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.removeAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
});
}
}
async closeIssue() {
core_1.debug('Closing issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
issue_number: this.issueData.number,
state: 'closed',
});
}
async lockIssue() {
core_1.debug('Locking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number });
}
async getIssue() {
if (isIssue(this.issueData)) {
core_1.debug('Got issue data from query result ' + this.issueData.number);
return this.issueData;
}
console.log('Fetching issue ' + this.issueData.number);
const issue = (await this.octokit.issues.get({
...this.params,
issue_number: this.issueData.number,
mediaType: { previews: ['squirrel-girl'] },
})).data;
return (this.issueData = this.octokitIssueToIssue(issue));
}
async postComment(body) {
core_1.debug(`Posting comment ${body} on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.createComment({
...this.params,
issue_number: this.issueData.number,
body,
});
}
async deleteComment(id) {
core_1.debug(`Deleting comment ${id} on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.deleteComment({
owner: this.params.owner,
repo: this.params.repo,
comment_id: id,
});
}
async setMilestone(milestoneId) {
core_1.debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
issue_number: this.issueData.number,
milestone: milestoneId,
});
}
async *getComments(last) {
core_1.debug('Fetching comments for ' + this.issueData.number);
const response = this.octokit.paginate.iterator(this.octokit.issues.listComments.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
per_page: 100,
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
}));
for await (const page of response) {
numRequests++;
yield page.data.map((comment) => ({
author: { name: comment.user.login, isGitHubApp: comment.user.type === 'Bot' },
body: comment.body,
id: comment.id,
timestamp: +new Date(comment.created_at),
}));
}
}
async addLabel(name) {
core_1.debug(`Adding label ${name} to ${this.issueData.number}`);
if (!(await this.repoHasLabel(name))) {
throw Error(`Action could not execute becuase label ${name} is not defined.`);
}
if (!this.options.readonly)
await this.octokit.issues.addLabels({
...this.params,
issue_number: this.issueData.number,
labels: [name],
});
}
async getAssigner(assignee) {
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
});
let assigner;
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++;
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if (timelineEvent.event === 'assigned' &&
timelineEvent.assignee.login === assignee) {
assigner = timelineEvent.actor.login;
}
}
}
if (!assigner) {
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.');
}
return assigner;
}
async removeLabel(name) {
core_1.debug(`Removing label ${name} from ${this.issueData.number}`);
try {
if (!this.options.readonly)
await this.octokit.issues.removeLabel({
...this.params,
issue_number: this.issueData.number,
name,
});
}
catch (err) {
if (err.status === 404) {
console.log(`Label ${name} not found on issue`);
return;
}
throw err;
}
}
async getClosingInfo(alreadyChecked = []) {
var _a, _b, _c, _d, _e, _f, _g;
if (alreadyChecked.includes(this.issueData.number)) {
return undefined;
}
alreadyChecked.push(this.issueData.number);
if ((await this.getIssue()).open) {
return;
}
const closingHashComment = /(?:\\|\/)closedWith (\S*)/;
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
});
let closingCommit;
const crossReferencing = [];
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++;
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if ((timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
timelineEvent.commit_id &&
timelineEvent.commit_url
.toLowerCase()
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())) {
closingCommit = {
hash: timelineEvent.commit_id,
timestamp: +new Date(timelineEvent.created_at),
};
}
if (timelineEvent.event === 'reopened') {
closingCommit = undefined;
}
if (timelineEvent.event === 'commented' &&
!((_a = timelineEvent.body) === null || _a === void 0 ? void 0 : _a.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE')) &&
closingHashComment.test(timelineEvent.body)) {
closingCommit = {
hash: closingHashComment.exec(timelineEvent.body)[1],
timestamp: +new Date(timelineEvent.created_at),
};
}
if (timelineEvent.event === 'cross-referenced' && ((_c = (_b = timelineEvent.source) === null || _b === void 0 ? void 0 : _b.issue) === null || _c === void 0 ? void 0 : _c.number) && ((_f = (_e = (_d = timelineEvent.source) === null || _d === void 0 ? void 0 : _d.issue) === null || _e === void 0 ? void 0 : _e.pull_request) === null || _f === void 0 ? void 0 : _f.url.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
crossReferencing.push(timelineEvent.source.issue.number);
}
}
}
// If we dont have any closing info, try to get it from linked issues (PRs).
// If there's a linked issue that was closed at almost the same time, guess it was a PR that closed this.
if (!closingCommit) {
for (const id of crossReferencing.reverse()) {
const closed = await new OctoKitIssue(this.token, this.params, {
number: id,
}).getClosingInfo(alreadyChecked);
if (closed) {
if (Math.abs(closed.timestamp - ((_g = (await this.getIssue()).closedAt) !== null && _g !== void 0 ? _g : 0)) < 5000) {
closingCommit = closed;
break;
}
}
}
}
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
return closingCommit;
}
}
exports.OctoKitIssue = OctoKitIssue;
function isIssue(object) {
const isIssue = 'author' in object &&
'body' in object &&
'title' in object &&
'labels' in object &&
'open' in object &&
'locked' in object &&
'number' in object &&
'numComments' in object &&
'reactions' in object &&
'milestoneId' in object;
return isIssue;
}
//# sourceMappingURL=octokit.js.map
+460
View File
@@ -0,0 +1,460 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { debug } from '@actions/core'
import { GitHub as GitHubAPI } from '@actions/github'
import { Octokit } from '@octokit/rest'
import { exec } from 'child_process'
import { Comment, GitHub, GitHubIssue, Issue, Query, User } from './api'
let numRequests = 0
export const getNumRequests = () => numRequests
export class OctoKit implements GitHub {
private _octokit: GitHubAPI
protected get octokit(): GitHubAPI {
numRequests++
return this._octokit
}
// when in readonly mode, record labels just-created so at to not throw unneccesary errors
protected mockLabels: Set<string> = new Set()
constructor(
protected token: string,
protected params: { repo: string; owner: string },
protected options: { readonly: boolean } = { readonly: false },
) {
this._octokit = new GitHubAPI(token)
}
// TODO: just iterate over the issues in a page here instead of making caller do it
async *query(query: Query): AsyncIterableIterator<GitHubIssue[]> {
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`
console.log(`Querying for ${q}:`)
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
...query,
q,
per_page: 100,
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
})
let pageNum = 0
const timeout = async () => {
if (pageNum < 2) {
/* pass */
} else if (pageNum < 4) {
await new Promise((resolve) => setTimeout(resolve, 3000))
} else {
await new Promise((resolve) => setTimeout(resolve, 30000))
}
}
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
await timeout()
numRequests++
const page: Array<Octokit.SearchIssuesAndPullRequestsResponseItemsItem> = pageResponse.data
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`)
yield page.map(
(issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue)),
)
}
}
async createIssue(owner: string, repo: string, title: string, body: string): Promise<void> {
debug(`Creating issue \`${title}\` on ${owner}/${repo}`)
if (!this.options.readonly) await this.octokit.issues.create({ owner, repo, title, body })
}
protected octokitIssueToIssue(
issue: Octokit.IssuesGetResponse | Octokit.SearchIssuesAndPullRequestsResponseItemsItem,
): Issue {
return {
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
body: issue.body,
number: issue.number,
title: issue.title,
labels: (issue.labels as Octokit.IssuesGetLabelResponse[]).map((label) => label.name),
open: issue.state === 'open',
locked: (issue as any).locked,
numComments: issue.comments,
reactions: (issue as any).reactions,
assignee: issue.assignee?.login ?? (issue as any).assignees?.[0]?.login,
milestoneId: issue.milestone?.number ?? null,
createdAt: +new Date(issue.created_at),
updatedAt: +new Date(issue.updated_at),
closedAt: issue.closed_at ? +new Date((issue.closed_at as unknown) as string) : undefined,
}
}
private writeAccessCache: Record<string, boolean> = {}
async hasWriteAccess(user: User): Promise<boolean> {
if (user.name in this.writeAccessCache) {
debug('Got permissions from cache for ' + user)
return this.writeAccessCache[user.name]
}
debug('Fetching permissions for ' + user)
const permissions = (
await this.octokit.repos.getCollaboratorPermissionLevel({
...this.params,
username: user.name,
})
).data.permission
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write')
}
async repoHasLabel(name: string): Promise<boolean> {
try {
await this.octokit.issues.getLabel({ ...this.params, name })
return true
} catch (err) {
if (err.status === 404) {
return this.options.readonly && this.mockLabels.has(name)
}
throw err
}
}
async createLabel(name: string, color: string, description: string): Promise<void> {
debug('Creating label ' + name)
if (!this.options.readonly)
await this.octokit.issues.createLabel({ ...this.params, color, description, name })
else this.mockLabels.add(name)
}
async deleteLabel(name: string): Promise<void> {
debug('Deleting label ' + name)
try {
if (!this.options.readonly) await this.octokit.issues.deleteLabel({ ...this.params, name })
} catch (err) {
if (err.status === 404) {
return
}
throw err
}
}
async readConfig(path: string): Promise<any> {
debug('Reading config at ' + path)
const repoPath = `.github/${path}.json`
try {
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data
if ('type' in data && data.type === 'file') {
if (data.encoding === 'base64' && data.content) {
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'))
}
throw Error(`Could not read contents "${data.content}" in encoding "${data.encoding}"`)
}
throw Error('Found directory at config path when expecting file' + JSON.stringify(data))
} catch (e) {
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e))
}
}
async releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'> {
return new Promise((resolve, reject) =>
exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
if (!err || err.code === 1) {
resolve(!err ? 'yes' : 'no')
} else if (err.message.includes(`Not a valid commit name ${release}`)) {
// release branch is forked. Probably in endgame. Not released.
resolve('no')
} else if (err.message.includes(`Not a valid commit name ${commit}`)) {
// commit is probably in a different repo.
resolve('unknown')
} else {
reject(err)
}
}),
)
}
async dispatch(title: string): Promise<void> {
debug('Dispatching ' + title)
if (!this.options.readonly)
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title })
}
}
export class OctoKitIssue extends OctoKit implements GitHubIssue {
constructor(
token: string,
protected params: { repo: string; owner: string },
private issueData: { number: number } | Issue,
options: { readonly: boolean } = { readonly: false },
) {
super(token, params, options)
console.log('running bot on issue', issueData.number)
}
async addAssignee(assignee: string): Promise<void> {
debug('Adding assignee ' + assignee + ' to ' + this.issueData.number)
if (!this.options.readonly) {
await this.octokit.issues.addAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
})
}
}
async removeAssignee(assignee: string): Promise<void> {
debug('Removing assignee ' + assignee + ' to ' + this.issueData.number)
if (!this.options.readonly) {
await this.octokit.issues.removeAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
})
}
}
async closeIssue(): Promise<void> {
debug('Closing issue ' + this.issueData.number)
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
issue_number: this.issueData.number,
state: 'closed',
})
}
async lockIssue(): Promise<void> {
debug('Locking issue ' + this.issueData.number)
if (!this.options.readonly)
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number })
}
async getIssue(): Promise<Issue> {
if (isIssue(this.issueData)) {
debug('Got issue data from query result ' + this.issueData.number)
return this.issueData
}
console.log('Fetching issue ' + this.issueData.number)
const issue = (
await this.octokit.issues.get({
...this.params,
issue_number: this.issueData.number,
mediaType: { previews: ['squirrel-girl'] },
})
).data
return (this.issueData = this.octokitIssueToIssue(issue))
}
async postComment(body: string): Promise<void> {
debug(`Posting comment ${body} on ${this.issueData.number}`)
if (!this.options.readonly)
await this.octokit.issues.createComment({
...this.params,
issue_number: this.issueData.number,
body,
})
}
async deleteComment(id: number): Promise<void> {
debug(`Deleting comment ${id} on ${this.issueData.number}`)
if (!this.options.readonly)
await this.octokit.issues.deleteComment({
owner: this.params.owner,
repo: this.params.repo,
comment_id: id,
})
}
async setMilestone(milestoneId: number) {
debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`)
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
issue_number: this.issueData.number,
milestone: milestoneId,
})
}
async *getComments(last?: boolean): AsyncIterableIterator<Comment[]> {
debug('Fetching comments for ' + this.issueData.number)
const response = this.octokit.paginate.iterator(
this.octokit.issues.listComments.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
per_page: 100,
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
}),
)
for await (const page of response) {
numRequests++
yield (page.data as Octokit.IssuesListCommentsResponseItem[]).map((comment) => ({
author: { name: comment.user.login, isGitHubApp: comment.user.type === 'Bot' },
body: comment.body,
id: comment.id,
timestamp: +new Date(comment.created_at),
}))
}
}
async addLabel(name: string): Promise<void> {
debug(`Adding label ${name} to ${this.issueData.number}`)
if (!(await this.repoHasLabel(name))) {
throw Error(`Action could not execute becuase label ${name} is not defined.`)
}
if (!this.options.readonly)
await this.octokit.issues.addLabels({
...this.params,
issue_number: this.issueData.number,
labels: [name],
})
}
async getAssigner(assignee: string): Promise<string> {
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
})
let assigner: string | undefined
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
for (const timelineEvent of timelineEvents) {
if (
timelineEvent.event === 'assigned' &&
(timelineEvent as any).assignee.login === assignee
) {
assigner = timelineEvent.actor.login
}
}
}
if (!assigner) {
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.')
}
return assigner
}
async removeLabel(name: string): Promise<void> {
debug(`Removing label ${name} from ${this.issueData.number}`)
try {
if (!this.options.readonly)
await this.octokit.issues.removeLabel({
...this.params,
issue_number: this.issueData.number,
name,
})
} catch (err) {
if (err.status === 404) {
console.log(`Label ${name} not found on issue`)
return
}
throw err
}
}
async getClosingInfo(
alreadyChecked: number[] = [],
): Promise<{ hash: string | undefined; timestamp: number } | undefined> {
if (alreadyChecked.includes(this.issueData.number)) {
return undefined
}
alreadyChecked.push(this.issueData.number)
if ((await this.getIssue()).open) {
return
}
const closingHashComment = /(?:\\|\/)closedWith (\S*)/
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
})
let closingCommit: { hash: string | undefined; timestamp: number } | undefined
const crossReferencing: number[] = []
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
for (const timelineEvent of timelineEvents) {
if (
(timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
timelineEvent.commit_id &&
timelineEvent.commit_url
.toLowerCase()
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())
) {
closingCommit = {
hash: timelineEvent.commit_id,
timestamp: +new Date(timelineEvent.created_at),
}
}
if (timelineEvent.event === 'reopened') {
closingCommit = undefined
}
if (
timelineEvent.event === 'commented' &&
!((timelineEvent as any).body as string)?.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE') &&
closingHashComment.test((timelineEvent as any).body)
) {
closingCommit = {
hash: closingHashComment.exec((timelineEvent as any).body)![1],
timestamp: +new Date(timelineEvent.created_at),
}
}
if (
timelineEvent.event === 'cross-referenced' &&
(timelineEvent as any).source?.issue?.number &&
(timelineEvent as any).source?.issue?.pull_request?.url.includes(
`/${this.params.owner}/${this.params.repo}/`.toLowerCase(),
)
) {
crossReferencing.push((timelineEvent as any).source.issue.number)
}
}
}
// If we dont have any closing info, try to get it from linked issues (PRs).
// If there's a linked issue that was closed at almost the same time, guess it was a PR that closed this.
if (!closingCommit) {
for (const id of crossReferencing.reverse()) {
const closed = await new OctoKitIssue(this.token, this.params, {
number: id,
}).getClosingInfo(alreadyChecked)
if (closed) {
if (Math.abs(closed.timestamp - ((await this.getIssue()).closedAt ?? 0)) < 5000) {
closingCommit = closed
break
}
}
}
}
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`)
return closingCommit
}
}
function isIssue(object: any): object is Issue {
const isIssue =
'author' in object &&
'body' in object &&
'title' in object &&
'labels' in object &&
'open' in object &&
'locked' in object &&
'number' in object &&
'numComments' in object &&
'reactions' in object &&
'milestoneId' in object
return isIssue
}
+129
View File
@@ -0,0 +1,129 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Action = void 0;
const octokit_1 = require("../api/octokit");
const github_1 = require("@actions/github");
const utils_1 = require("./utils");
const core_1 = require("@actions/core");
class Action {
constructor() {
this.token = utils_1.getRequiredInput('token');
this.username = new github_1.GitHub(this.token).users.getAuthenticated().then((v) => v.data.name);
}
async run() {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
console.log('running ', this.id, 'with context', {
...github_1.context,
payload: {
issue: (_b = (_a = github_1.context.payload) === null || _a === void 0 ? void 0 : _a.issue) === null || _b === void 0 ? void 0 : _b.number,
label: (_d = (_c = github_1.context.payload) === null || _c === void 0 ? void 0 : _c.label) === null || _d === void 0 ? void 0 : _d.name,
repository: (_f = (_e = github_1.context.payload) === null || _e === void 0 ? void 0 : _e.repository) === null || _f === void 0 ? void 0 : _f.html_url,
sender: (_j = (_h = (_g = github_1.context.payload) === null || _g === void 0 ? void 0 : _g.sender) === null || _h === void 0 ? void 0 : _h.login) !== null && _j !== void 0 ? _j : (_l = (_k = github_1.context.payload) === null || _k === void 0 ? void 0 : _k.sender) === null || _l === void 0 ? void 0 : _l.type,
},
});
if (utils_1.errorLoggingIssue) {
const { repo, issue, owner } = utils_1.errorLoggingIssue;
if (github_1.context.repo.repo === repo &&
github_1.context.repo.owner === owner &&
((_m = github_1.context.payload.issue) === null || _m === void 0 ? void 0 : _m.number) === issue) {
return console.log('refusing to run on error logging issue to prevent cascading errors');
}
}
try {
const token = utils_1.getRequiredInput('token');
const readonly = !!core_1.getInput('readonly');
const issue = (_o = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.issue) === null || _o === void 0 ? void 0 : _o.number;
if (issue) {
const octokit = new octokit_1.OctoKitIssue(token, github_1.context.repo, { number: issue }, { readonly });
if (github_1.context.eventName === 'issue_comment') {
await this.onCommented(octokit, github_1.context.payload.comment.body, github_1.context.actor);
}
else if (github_1.context.eventName === 'issues') {
switch (github_1.context.payload.action) {
case 'opened':
await this.onOpened(octokit);
break;
case 'reopened':
await this.onReopened(octokit);
break;
case 'closed':
await this.onClosed(octokit);
break;
case 'labeled':
await this.onLabeled(octokit, github_1.context.payload.label.name);
break;
case 'unassigned':
await this.onUnassigned(octokit, github_1.context.payload.assignee.login);
break;
case 'edited':
await this.onEdited(octokit);
break;
case 'milestoned':
await this.onMilestoned(octokit);
break;
default:
throw Error('Unexpected action: ' + github_1.context.payload.action);
}
}
}
else {
await this.onTriggered(new octokit_1.OctoKit(token, github_1.context.repo, { readonly }));
}
}
catch (e) {
await this.error(e);
}
const usage = await utils_1.getRateLimit(this.token);
}
async error(error) {
const details = {
message: `${error.message}\n${error.stack}`,
id: this.id,
user: await this.username,
};
if (github_1.context.issue.number)
details.issue = github_1.context.issue.number;
const rendered = `
Message: ${details.message}
Actor: ${details.user}
ID: ${details.id}
`;
await utils_1.logErrorToIssue(rendered, true, this.token);
core_1.setFailed(error.message);
}
async onTriggered(_octokit) {
throw Error('not implemented');
}
async onEdited(_issue) {
throw Error('not implemented');
}
async onLabeled(_issue, _label) {
throw Error('not implemented');
}
async onUnassigned(_issue, _label) {
throw Error('not implemented');
}
async onOpened(_issue) {
throw Error('not implemented');
}
async onReopened(_issue) {
throw Error('not implemented');
}
async onClosed(_issue) {
throw Error('not implemented');
}
async onMilestoned(_issue) {
throw Error('not implemented');
}
async onCommented(_issue, _comment, _actor) {
throw Error('not implemented');
}
}
exports.Action = Action;
//# sourceMappingURL=Action.js.map
+137
View File
@@ -0,0 +1,137 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit, OctoKitIssue, getNumRequests } from '../api/octokit'
import { context, GitHub } from '@actions/github'
import { getRequiredInput, logErrorToIssue, getRateLimit, errorLoggingIssue } from './utils'
import { getInput, setFailed } from '@actions/core'
export abstract class Action {
abstract id: string
private username: Promise<string>
private token = getRequiredInput('token')
constructor() {
this.username = new GitHub(this.token).users.getAuthenticated().then((v) => v.data.name)
}
public async run() {
console.log('running ', this.id, 'with context', {
...context,
payload: {
issue: context.payload?.issue?.number,
label: context.payload?.label?.name,
repository: context.payload?.repository?.html_url,
sender: context.payload?.sender?.login ?? context.payload?.sender?.type,
},
})
if (errorLoggingIssue) {
const { repo, issue, owner } = errorLoggingIssue
if (
context.repo.repo === repo &&
context.repo.owner === owner &&
context.payload.issue?.number === issue
) {
return console.log('refusing to run on error logging issue to prevent cascading errors')
}
}
try {
const token = getRequiredInput('token')
const readonly = !!getInput('readonly')
const issue = context?.issue?.number
if (issue) {
const octokit = new OctoKitIssue(token, context.repo, { number: issue }, { readonly })
if (context.eventName === 'issue_comment') {
await this.onCommented(octokit, context.payload.comment.body, context.actor)
} else if (context.eventName === 'issues') {
switch (context.payload.action) {
case 'opened':
await this.onOpened(octokit)
break
case 'reopened':
await this.onReopened(octokit)
break
case 'closed':
await this.onClosed(octokit)
break
case 'labeled':
await this.onLabeled(octokit, context.payload.label.name)
break
case 'unassigned':
await this.onUnassigned(octokit, context.payload.assignee.login)
break
case 'edited':
await this.onEdited(octokit)
break
case 'milestoned':
await this.onMilestoned(octokit)
break
default:
throw Error('Unexpected action: ' + context.payload.action)
}
}
} else {
await this.onTriggered(new OctoKit(token, context.repo, { readonly }))
}
} catch (e) {
await this.error(e)
}
const usage = await getRateLimit(this.token)
}
private async error(error: Error) {
const details: any = {
message: `${error.message}\n${error.stack}`,
id: this.id,
user: await this.username,
}
if (context.issue.number) details.issue = context.issue.number
const rendered = `
Message: ${details.message}
Actor: ${details.user}
ID: ${details.id}
`
await logErrorToIssue(rendered, true, this.token)
setFailed(error.message)
}
protected async onTriggered(_octokit: OctoKit): Promise<void> {
throw Error('not implemented')
}
protected async onEdited(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
}
protected async onLabeled(_issue: OctoKitIssue, _label: string): Promise<void> {
throw Error('not implemented')
}
protected async onUnassigned(_issue: OctoKitIssue, _label: string): Promise<void> {
throw Error('not implemented')
}
protected async onOpened(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
}
protected async onReopened(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
}
protected async onClosed(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
}
protected async onMilestoned(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
}
protected async onCommented(_issue: OctoKitIssue, _comment: string, _actor: string): Promise<void> {
throw Error('not implemented')
}
}
+148
View File
@@ -0,0 +1,148 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ActionBase = void 0;
class ActionBase {
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
this.labels = labels;
this.milestoneName = milestoneName;
this.milestoneId = milestoneId;
this.ignoreLabels = ignoreLabels;
this.ignoreMilestoneNames = ignoreMilestoneNames;
this.ignoreMilestoneIds = ignoreMilestoneIds;
this.minimumVotes = minimumVotes;
this.maximumVotes = maximumVotes;
this.labelsSet = [];
this.ignoreLabelsSet = [];
this.ignoreMilestoneNamesSet = [];
this.ignoreMilestoneIdsSet = [];
this.ignoreAllWithLabels = false;
this.ignoreAllWithMilestones = false;
}
buildQuery(baseQuery) {
var _a, _b;
let query = baseQuery;
console.log(`labels: ${this.labels}`);
console.log(`milestoneName: ${this.milestoneName}`);
console.log(`milestoneId: ${this.milestoneId}`);
console.log(`ignoreLabels: ${this.ignoreLabels}`);
console.log(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
console.log(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
console.log(`minimumVotes: ${this.minimumVotes}`);
console.log(`maximumVotes: ${this.maximumVotes}`);
// Both milestone name and milestone Id must be provided and must match.
// The name is used to construct the query, which does not accept ID.
// The ID is used for comparisons with issue data, which does not include the name.
// TODO: Figure out a way to convert either from milestone name to ID, or vice versa.
// If inclusion and exclusion are mixed, exclusion will take precedence.
// For example, an issue with both labels A and B will not match if B is excluded, even if A is included.
// GitHub does not appear to support searching for all issues with milestones (not lacking a milestone). "-no:milestone" does not work.
// GitHub does not appear to support searching for all issues with labels (not lacking a label). "-no:label" does not work.
// All indicated labels must be present
if (this.labels) {
this.labelsSet = (_a = this.labels) === null || _a === void 0 ? void 0 : _a.split(',');
for (const str of this.labelsSet) {
if (str != "") {
query = query.concat(` label:"${str}"`);
}
}
}
if (this.ignoreLabels) {
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
query = query.concat(` no:label`);
this.ignoreAllWithLabels = true;
}
else {
this.ignoreLabelsSet = (_b = this.ignoreLabels) === null || _b === void 0 ? void 0 : _b.split(',');
for (const str of this.ignoreLabelsSet) {
if (str != "") {
query = query.concat(` -label:"${str}"`);
}
}
}
}
if (this.ignoreMilestoneNames && this.ignoreMilestoneIds) {
if (this.ignoreMilestoneNames == "*" && !this.milestoneName) { // only if no milestone
query = query.concat(` no:milestone`);
this.ignoreAllWithMilestones = true;
}
else {
this.ignoreMilestoneNamesSet = this.ignoreMilestoneNames.split(',');
this.ignoreMilestoneIdsSet = this.ignoreMilestoneIds.split(',');
for (const str of this.ignoreMilestoneNamesSet) {
if (str != "") {
query = query.concat(` -milestone:"${str}"`);
}
}
}
}
return query;
}
// This is necessary because GitHub sometimes returns incorrect results,
// and because issues may get modified while we are processing them.
validateIssue(issue) {
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
return false;
}
}
else {
// Make sure all labels we wanted are present.
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
return false;
}
for (const str of this.labelsSet) {
if (!issue.labels.includes(str)) {
return false;
}
}
// Make sure no labels we wanted to ignore are present.
if (issue.labels && issue.labels.length > 0) {
for (const str of this.ignoreLabelsSet) {
if (issue.labels.includes(str)) {
return false;
}
}
}
}
if (this.ignoreAllWithMilestones) {
// Validate that the issue does not have a milestone.
if (issue.milestoneId != null) {
return false;
}
}
else {
// Make sure milestone is present, if required.
if (this.milestoneId != undefined && issue.milestoneId != +this.milestoneId) {
return false;
}
// Make sure a milestones we wanted to ignore is not present.
if (issue.milestoneId != null) {
for (const str of this.ignoreMilestoneIdsSet) {
if (issue.milestoneId == +str) {
return false;
}
}
}
}
// Verify the issue has a sufficient number of upvotes
if (this.minimumVotes != undefined) {
if (issue.reactions['+1'] < this.minimumVotes) {
return false;
}
}
// Verify the issue does not have too many upvotes
if (this.maximumVotes != undefined) {
if (issue.reactions && issue.reactions['+1'] && issue.reactions['+1'] > this.maximumVotes) {
return false;
}
}
return true;
}
}
exports.ActionBase = ActionBase;
//# sourceMappingURL=ActionBase.js.map
+152
View File
@@ -0,0 +1,152 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Issue } from '../api/api'
export class ActionBase {
constructor(
private labels?: string,
private milestoneName?: string,
private milestoneId?: string,
private ignoreLabels?: string,
private ignoreMilestoneNames?: string,
private ignoreMilestoneIds?: string,
private minimumVotes?: number,
private maximumVotes?: number
) {}
private labelsSet: string[] = [];
private ignoreLabelsSet: string[] = [];
private ignoreMilestoneNamesSet: string[] = [];
private ignoreMilestoneIdsSet: string[] = [];
private ignoreAllWithLabels: boolean = false;
private ignoreAllWithMilestones: boolean = false;
buildQuery(baseQuery: string): string {
let query = baseQuery;
console.log(`labels: ${this.labels}`);
console.log(`milestoneName: ${this.milestoneName}`);
console.log(`milestoneId: ${this.milestoneId}`);
console.log(`ignoreLabels: ${this.ignoreLabels}`);
console.log(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
console.log(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
console.log(`minimumVotes: ${this.minimumVotes}`);
console.log(`maximumVotes: ${this.maximumVotes}`);
// Both milestone name and milestone Id must be provided and must match.
// The name is used to construct the query, which does not accept ID.
// The ID is used for comparisons with issue data, which does not include the name.
// TODO: Figure out a way to convert either from milestone name to ID, or vice versa.
// If inclusion and exclusion are mixed, exclusion will take precedence.
// For example, an issue with both labels A and B will not match if B is excluded, even if A is included.
// GitHub does not appear to support searching for all issues with milestones (not lacking a milestone). "-no:milestone" does not work.
// GitHub does not appear to support searching for all issues with labels (not lacking a label). "-no:label" does not work.
// All indicated labels must be present
if (this.labels) {
this.labelsSet = this.labels?.split(',');
for (const str of this.labelsSet) {
if (str != "") {
query = query.concat(` label:"${str}"`)
}
}
}
if (this.ignoreLabels) {
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
query = query.concat(` no:label`)
this.ignoreAllWithLabels = true;
} else {
this.ignoreLabelsSet = this.ignoreLabels?.split(',');
for (const str of this.ignoreLabelsSet) {
if (str != "") {
query = query.concat(` -label:"${str}"`)
}
}
}
}
if (this.ignoreMilestoneNames && this.ignoreMilestoneIds) {
if (this.ignoreMilestoneNames == "*" && !this.milestoneName) { // only if no milestone
query = query.concat(` no:milestone`)
this.ignoreAllWithMilestones = true;
} else {
this.ignoreMilestoneNamesSet = this.ignoreMilestoneNames.split(',');
this.ignoreMilestoneIdsSet = this.ignoreMilestoneIds.split(',');
for (const str of this.ignoreMilestoneNamesSet) {
if (str != "") {
query = query.concat(` -milestone:"${str}"`)
}
}
}
}
return query;
}
// This is necessary because GitHub sometimes returns incorrect results,
// and because issues may get modified while we are processing them.
validateIssue(issue: Issue): boolean {
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
return false;
}
} else {
// Make sure all labels we wanted are present.
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
return false;
}
for (const str of this.labelsSet) {
if (!issue.labels.includes(str)) {
return false;
}
}
// Make sure no labels we wanted to ignore are present.
if (issue.labels && issue.labels.length > 0) {
for (const str of this.ignoreLabelsSet) {
if (issue.labels.includes(str)) {
return false;
}
}
}
}
if (this.ignoreAllWithMilestones) {
// Validate that the issue does not have a milestone.
if (issue.milestoneId != null) {
return false;
}
} else {
// Make sure milestone is present, if required.
if (this.milestoneId != undefined && issue.milestoneId != +this.milestoneId) {
return false;
}
// Make sure a milestones we wanted to ignore is not present.
if (issue.milestoneId != null) {
for (const str of this.ignoreMilestoneIdsSet) {
if (issue.milestoneId == +str) {
return false;
}
}
}
}
// Verify the issue has a sufficient number of upvotes
if (this.minimumVotes != undefined) {
if (issue.reactions['+1'] < this.minimumVotes) {
return false;
}
}
// Verify the issue does not have too many upvotes
if (this.maximumVotes != undefined) {
if (issue.reactions && issue.reactions['+1'] && issue.reactions['+1'] > this.maximumVotes) {
return false;
}
}
return true;
}
}
+99
View File
@@ -0,0 +1,99 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.logErrorToIssue = exports.errorLoggingIssue = exports.getRateLimit = exports.daysAgoToHumanReadbleDate = exports.daysAgoToTimestamp = exports.loadLatestRelease = exports.normalizeIssue = exports.getRequiredInput = exports.getInput = void 0;
const core = require("@actions/core");
const github_1 = require("@actions/github");
const axios_1 = require("axios");
const octokit_1 = require("../api/octokit");
exports.getInput = (name) => core.getInput(name) || undefined;
exports.getRequiredInput = (name) => core.getInput(name, { required: true });
exports.normalizeIssue = (issue) => {
let { body, title } = issue;
body = body !== null && body !== void 0 ? body : '';
title = title !== null && title !== void 0 ? title : '';
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body);
const isFeatureRequest = body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body);
const cleanse = (str) => {
let out = str
.toLowerCase()
.replace(/<!--.*-->/gu, '')
.replace(/.* version: .*/gu, '')
.replace(/issue type: .*/gu, '')
.replace(/vs ?code/gu, '')
.replace(/we have written.*please paste./gu, '')
.replace(/steps to reproduce:/gu, '')
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
.replace(/\s+/gu, ' ')
.replace(/```[^`]*?```/gu, '');
while (out.includes(`<details>`) &&
out.includes('</details>') &&
out.indexOf(`</details>`) > out.indexOf(`<details>`)) {
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10);
}
return out;
};
return {
body: cleanse(body),
title: cleanse(title),
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
};
};
exports.loadLatestRelease = async (quality) => (await axios_1.default.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data;
exports.daysAgoToTimestamp = (days) => +new Date(Date.now() - days * 24 * 60 * 60 * 1000);
exports.daysAgoToHumanReadbleDate = (days) => new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
exports.getRateLimit = async (token) => {
const usageData = (await new github_1.GitHub(token).rateLimit.get()).data.resources;
const usage = {};
['core', 'graphql', 'search'].forEach(async (category) => {
usage[category] = 1 - usageData[category].remaining / usageData[category].limit;
});
return usage;
};
exports.errorLoggingIssue = (() => {
try {
const repo = github_1.context.repo.owner.toLowerCase() + '/' + github_1.context.repo.repo.toLowerCase();
if (repo === 'microsoft/vscode-cpptools') {
return { repo: 'vscode-cpptools', owner: 'Microsoft', issue: 6282 };
}
else if (exports.getInput('errorLogIssueNumber')) {
return { ...github_1.context.repo, issue: +exports.getRequiredInput('errorLogIssueNumber') };
}
else {
return undefined;
}
}
catch (e) {
console.error(e);
return undefined;
}
})();
exports.logErrorToIssue = async (message, ping, token) => {
// Attempt to wait out abuse detection timeout if present
await new Promise((resolve) => setTimeout(resolve, 10000));
const dest = exports.errorLoggingIssue;
if (!dest)
return console.log('no error logging repo defined. swallowing error:', message);
return new octokit_1.OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue })
.postComment(`
Workflow: ${github_1.context.workflow}
Error: ${message}
Issue: ${ping ? `${github_1.context.repo.owner}/${github_1.context.repo.repo}#` : ''}${github_1.context.issue.number}
Repo: ${github_1.context.repo.owner}/${github_1.context.repo.repo}
<!-- Context:
${JSON.stringify(github_1.context, null, 2)
.replace(/<!--/gu, '<@--')
.replace(/-->/gu, '--@>')
.replace(/\/|\\/gu, 'slash-')}
-->
`);
};
//# sourceMappingURL=utils.js.map
+119
View File
@@ -0,0 +1,119 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as core from '@actions/core'
import { context, GitHub } from '@actions/github'
import axios from 'axios'
import { OctoKitIssue } from '../api/octokit'
export const getInput = (name: string) => core.getInput(name) || undefined
export const getRequiredInput = (name: string) => core.getInput(name, { required: true })
export const normalizeIssue = (issue: {
body: string
title: string
}): { body: string; title: string; issueType: 'bug' | 'feature_request' | 'unknown' } => {
let { body, title } = issue
body = body ?? ''
title = title ?? ''
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body)
const isFeatureRequest =
body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body)
const cleanse = (str: string) => {
let out = str
.toLowerCase()
.replace(/<!--.*-->/gu, '')
.replace(/.* version: .*/gu, '')
.replace(/issue type: .*/gu, '')
.replace(/vs ?code/gu, '')
.replace(/we have written.*please paste./gu, '')
.replace(/steps to reproduce:/gu, '')
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
.replace(/\s+/gu, ' ')
.replace(/```[^`]*?```/gu, '')
while (
out.includes(`<details>`) &&
out.includes('</details>') &&
out.indexOf(`</details>`) > out.indexOf(`<details>`)
) {
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10)
}
return out
}
return {
body: cleanse(body),
title: cleanse(title),
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
}
}
export interface Release {
productVersion: string
timestamp: number
version: string
}
export const loadLatestRelease = async (quality: 'stable' | 'insider'): Promise<Release | undefined> =>
(await axios.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data
export const daysAgoToTimestamp = (days: number): number => +new Date(Date.now() - days * 24 * 60 * 60 * 1000)
export const daysAgoToHumanReadbleDate = (days: number) =>
new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '')
export const getRateLimit = async (token: string) => {
const usageData = (await new GitHub(token).rateLimit.get()).data.resources
const usage = {} as { core: number; graphql: number; search: number }
;(['core', 'graphql', 'search'] as const).forEach(async (category) => {
usage[category] = 1 - usageData[category].remaining / usageData[category].limit
})
return usage
}
export const errorLoggingIssue = (() => {
try {
const repo = context.repo.owner.toLowerCase() + '/' + context.repo.repo.toLowerCase()
if (repo === 'microsoft/vscode-cpptools') {
return { repo: 'vscode-cpptools', owner: 'Microsoft', issue: 6282 }
} else if (getInput('errorLogIssueNumber')) {
return { ...context.repo, issue: +getRequiredInput('errorLogIssueNumber') }
} else {
return undefined
}
} catch (e) {
console.error(e)
return undefined
}
})()
export const logErrorToIssue = async (message: string, ping: boolean, token: string): Promise<void> => {
// Attempt to wait out abuse detection timeout if present
await new Promise((resolve) => setTimeout(resolve, 10000))
const dest = errorLoggingIssue
if (!dest) return console.log('no error logging repo defined. swallowing error:', message)
return new OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue })
.postComment(`
Workflow: ${context.workflow}
Error: ${message}
Issue: ${ping ? `${context.repo.owner}/${context.repo.repo}#` : ''}${context.issue.number}
Repo: ${context.repo.owner}/${context.repo.repo}
<!-- Context:
${JSON.stringify(context, null, 2)
.replace(/<!--/gu, '<@--')
.replace(/-->/gu, '--@>')
.replace(/\/|\\/gu, 'slash-')}
-->
`)
}
+1453
View File
File diff suppressed because it is too large Load Diff
+21
View File
@@ -0,0 +1,21 @@
{
"name": "vscode-cpptools-github-triage-actions",
"version": "1.0.0",
"description": "GitHub Actions used by VS Code cpptools for triaging issues",
"scripts": {
"build": "tsc",
"lint": "eslint -c .eslintrc --fix --ext .ts .",
"watch": "tsc --watch"
},
"keywords": [],
"author": "",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/github": "^2.1.1",
"axios": "^0.19.2"
},
"devDependencies": {
"eslint": "^6.8.0",
"typescript": "^3.8.3"
}
}
+18
View File
@@ -0,0 +1,18 @@
{
"compilerOptions": {
"target": "es2019",
"strict": true,
"module": "commonjs",
"moduleResolution": "node",
"removeComments": false,
"resolveJsonModule": true,
"sourceMap": true,
"lib": [
"es2020"
]
},
"exclude": [
"**/*.test.ts",
"**/vm-filesystem/**"
]
}
+23
View File
@@ -0,0 +1,23 @@
name: By Design Closer
on:
schedule:
- cron: 0 12 * * * # Run at 12:00 PM UTC (4:00 AM PST, 5:00 AM PDT)
workflow_dispatch:
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
labels: by design
ignoredLabels: debugger,Feature Request,more info needed
closeDays: 60
closeComment: "This issue has been closed automatically because it's labeled as 'by design' and has not had recent activity."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
+55
View File
@@ -0,0 +1,55 @@
name: CI (Linux)
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 10.16.x
uses: actions/setup-node@v1
with:
node-version: 10.16.x
- name: Install Dependencies
run: yarn install
working-directory: Extension
- name: Generate hashes for runtime dependency packages
run: yarn run generatePackageHashes
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Validate Extension/package.json
run: yarn run pr-check
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
uses: GabrielBB/[email protected]
with:
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
uses: GabrielBB/[email protected]
with:
run: yarn run integrationTests
working-directory: Extension
+55
View File
@@ -0,0 +1,55 @@
name: CI (Mac)
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 10.16.x
uses: actions/setup-node@v1
with:
node-version: 10.16.x
- name: Install Dependencies
run: yarn install
working-directory: Extension
- name: Generate hashes for runtime dependency packages
run: yarn run generatePackageHashes
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Validate Extension/package.json
run: yarn run pr-check
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
uses: GabrielBB/[email protected]
with:
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
uses: GabrielBB/[email protected]
with:
run: yarn run integrationTests
working-directory: Extension
+51
View File
@@ -0,0 +1,51 @@
name: CI (Windows)
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 10.16.x
uses: actions/setup-node@v1
with:
node-version: 10.16.x
- name: Install Dependencies
run: yarn install
working-directory: Extension
- name: Generate hashes for runtime dependency packages
run: yarn run generatePackageHashes
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Validate Extension/package.json
run: yarn run pr-check
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
- name: Compile Test Sources
run: yarn run pretest
working-directory: Extension
- name: Run unit tests
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
run: yarn run integrationTests
working-directory: Extension
+23
View File
@@ -0,0 +1,23 @@
name: Duplicate Closer
on:
schedule:
- cron: 10 12 * * * # Run at 12:10 PM UTC (4:10 AM PST, 5:10 AM PDT)
workflow_dispatch:
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
labels: duplicate
ignoredLabels: debugger,Feature Request,more info needed,by design
closeDays: 60
closeComment: "This issue has been closed automatically because it's labeled as a 'duplicate' and has not had recent activity."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
@@ -0,0 +1,25 @@
name: Feature Request Closer
on:
schedule:
- cron: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
workflow_dispatch:
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
labels: Feature Request
ignoredLabels: debugger
addLabels: more votes needed
closeDays: 60
maximumVotes: 1
closeComment: "This feature request is being closed due to insufficient upvotes. When at least 2 upvotes are received, this issue will be eligible for our backlog."
milestoneName: Backlog
milestoneId: 28
@@ -0,0 +1,25 @@
name: Feature Request Closer
on:
schedule:
- cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
workflow_dispatch:
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
labels: Feature Request
ignoredLabels: debugger
addLabels: more votes needed
closeDays: 60
maximumVotes: 1
closeComment: "This feature request is being closed due to insufficient upvotes. When at least 2 upvotes are received, this issue will be eligible for our backlog."
milestoneName: Triage
milestoneId: 30
+20
View File
@@ -0,0 +1,20 @@
name: Locker
on:
schedule:
- cron: 30 11 * * * # Run at 11:30 AM UTC (3:30 AM PST, 4:30 AM PDT)
workflow_dispatch:
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Locker
uses: ./.github/actions/Locker
with:
daysSinceClose: 45
daysSinceUpdate: 3
ignoredLabels: more votes needed,debugger
@@ -0,0 +1,23 @@
name: More Info Needed Closer
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
workflow_dispatch:
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
labels: more info needed
ignoredLabels: debugger
closeDays: 60
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
+23
View File
@@ -0,0 +1,23 @@
name: Question Closer
on:
schedule:
- cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT)
workflow_dispatch:
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
labels: question
ignoredLabels: debugger
closeDays: 60
closeComment: "This issue has been closed automatically because it's labeled as a 'question' and has not had recent activity."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
+299
View File
@@ -0,0 +1,299 @@
NOTICES AND INFORMATION
Do Not Translate or Localize
This software incorporates material from third parties. Microsoft makes certain
open source code available at https://3rdpartysource.microsoft.com, or you may
send a check or money order for US $5.00, including the product name, the open
source component name, and version number, to:
Source Code Compliance Team
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
USA
Notwithstanding any other terms, you may reverse engineer this software to the
extent required to debug changes to any libraries licensed under the GNU Lesser
General Public License.
---
LLDB-MI
==============================================================================
The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
==============================================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
---- LLVM Exceptions to the Apache 2.0 License ----
As an exception, if, as a result of your compiling your source code, portions
of this Software are embedded into an Object form of such source code, you
may redistribute such embedded portions in such Object form without complying
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
In addition, if you combine or link compiled forms of this Software with
software that is licensed under the GPLv2 ("Combined Software") and if a
court of competent jurisdiction determines that the patent provision (Section
3), the indemnity provision (Section 9) or other Section of the License
conflicts with the conditions of the GPLv2, you may retroactively and
prospectively choose to deem waived or otherwise exclude such Section(s) of
the License, but only in their entirety and only with respect to the Combined
Software.
==============================================================================
Software from third parties included in the LLVM Project:
==============================================================================
The LLVM Project contains third party software which is under different license
terms. All such code will be identified clearly using at least one of two
mechanisms:
1) It will be in a separate directory tree with its own `LICENSE.txt` or
`LICENSE` file at the top containing the specific license and restrictions
which apply to that software, or
2) It will contain specific license and restriction terms at the top of every
file.
==============================================================================
Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
==============================================================================
University of Illinois/NCSA
Open Source License
Copyright (c) 2010 Apple Inc.
All rights reserved.
Developed by:
LLDB Team
http://lldb.llvm.org/
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal with
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:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of the LLDB Team, copyright holders, nor the names of
its contributors may be used to endorse or promote products derived from
this Software without specific prior written permission.
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
CONTRIBUTORS 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 WITH THE
SOFTWARE.
---
+125
View File
@@ -0,0 +1,125 @@
variables:
llvm_repo: https://github.com/llvm/llvm-project.git
llvm_branch: release/10.x
llvm_build_type: Release
llvm_arch: x86_64
llvm_additional_parameters: "-DLLDB_RELOCATABLE_PYTHON=1 -DLLDB_INCLUDE_TESTS=OFF -DLLDB_BUILD_FRAMEWORK=1"
# TODO: fix lldb_mi_repo and lldb_mi_branch (https://github.com/lldb-tools/lldb-mi/pull/37 and https://github.com/lldb-tools/lldb-mi/pull/39)
lldb_mi_repo: https://github.com/WardenGnaw/lldb-mi # TODO: Change to lldb-tools
lldb_mi_branch: release/cpptools # TODO: Change to master
lldb_mi_additional_parameters: "-DUSE_LLDB_FRAMEWORK=1"
jobs:
- job: LLDB_MI
timeoutInMinutes: 360
pool:
vmImage: 'macOS-latest'
steps:
- task: CmdLine@2
displayName: 'Install Dependencies'
inputs:
script: brew install cmake ninja swig
continueOnError: true
- task: CmdLine@2
displayName: 'Build LLVM Project'
inputs:
script: |
log_and_exec_cmd() {
echo "##[command] $1"
$1
}
log_and_exec_cmd "cd $(Build.StagingDirectory)"
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace"
log_and_exec_cmd "git clone $(llvm_repo) llvm-project"
log_and_exec_cmd "cd llvm-project"
log_and_exec_cmd "git checkout $(llvm_branch)"
log_and_exec_cmd "./lldb/scripts/macos-setup-codesign.sh"
log_and_exec_cmd "cd .."
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-inst"
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-build"
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace/llvm-build"
log_and_exec_cmd "cmake -DLLVM_ENABLE_PROJECTS=clang;lldb -DCMAKE_BUILD_TYPE=$(llvm_build_type) -DCMAKE_INSTALL_PREFIX=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=$(llvm_arch) $(llvm_additional_parameters) -GNinja $(Build.StagingDirectory)/llvm-project/llvm"
if [[ $? -ne 0 ]]
then
echo "##[error] cmake llvm failed"
cat $(Build.SourcesDirectory)/buildspace/llvm-build/CMakeFiles/CMakeError.log
exit 1
fi
log_and_exec_cmd ninja
if [[ $? -ne 0 ]]
then
echo "##[error] ninja failed"
exit 1
fi
### Workaround for https://github.com/llvm/llvm-project/issues/108
log_and_exec_cmd "ninja install"
# Remove conflicting LLDB.framework file.
log_and_exec_cmd "rm -rf $(Build.StagingDirectory)/buildspace/llvm-inst/Library/Frameworks/LLDB.framework"
# Build lldb/sources/API first
log_and_exec_cmd "cmake -P $(Build.StagingDirectory)/buildspace/llvm-build/tools/lldb/source/API/cmake_install.cmake"
### End of Workaround
log_and_exec_cmd "ninja install"
if [[ $? -ne 0 ]]
then
echo "##[error] ninja install failed"
exit 1
fi
echo "##[section] Build LLDB-MI"
# Download lldb-mi and build it against our custom installation.
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace"
log_and_exec_cmd "git clone $(lldb_mi_repo) lldb-mi"
log_and_exec_cmd "cd lldb-mi"
log_and_exec_cmd "git checkout $(lldb_mi_branch)"
# Create a separate build directory for building lldb-mi.
log_and_exec_cmd "mkdir build"
log_and_exec_cmd "cd build"
log_and_exec_cmd "cmake -DCMAKE_PREFIX_PATH=$(Build.StagingDirectory)/buildspace/llvm-inst/ $(lldb_mi_additional_parameters) -GNinja .."
log_and_exec_cmd "ninja"
if [[ $? -ne 0 ]]
then
echo "##[error] ninja failed"
exit 1
fi
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/publish"
log_and_exec_cmd "cd $(Build.StagingDirectory)/publish"
log_and_exec_cmd "mkdir -p ./debugAdapters/lldb-mi/bin"
log_and_exec_cmd "cp $(Build.StagingDirectory)/buildspace/lldb-mi/build/src/lldb-mi ./debugAdapters/lldb-mi/bin/."
# Set rpath for finding LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath @rpath/LLDB.framework/Versions/A/LLDB ./debugAdapters/lldb-mi/bin/lldb-mi"
# Set rpath for App Store XCode LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath /Applications/Xcode.app/Contents/SharedFrameworks/ ./debugAdapters/lldb-mi/bin/lldb-mi"
# Set rpath for XCode CLI LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath /Library/Developer/CommandLineTools/Library/PrivateFrameworks/ ./debugAdapters/lldb-mi/bin/lldb-mi"
# Set rpath next to the lldb-mi executable LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath @executable_path/. ./debugAdapters/lldb-mi/bin/lldb-mi"
# Grab NOTICE.TXT
cp $(Build.SourcesDirectory)/Build/lldb-mi/NOTICE.TXT ./debugAdapters/lldb-mi/.
# Build can be found at https://dev.azure.com/ms/vscode-cpptools/_build?definitionId=313
# Click on the build and select 'Artifacts'
- task: PublishPipelineArtifact@1
displayName: 'Publish LLDB-MI'
inputs:
targetPath: '$(Build.StagingDirectory)/publish'
artifactName: 'lldb-mi'
+4
View File
@@ -0,0 +1,4 @@
*.js
test/**/index.ts
test/**/runTest.ts
tools/prepublish.js
+147
View File
@@ -0,0 +1,147 @@
module.exports = {
"env": {
"browser": true,
"es6": true,
"node": true
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "tsconfig.json",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"@typescript-eslint/tslint",
"eslint-plugin-jsdoc",
"@typescript-eslint/eslint-plugin-tslint",
"eslint-plugin-import",
],
"rules": {
"@typescript-eslint/adjacent-overload-signatures": "error",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/class-name-casing": "error",
"@typescript-eslint/indent": "error",
"@typescript-eslint/member-delimiter-style": [
"error",
{
"multiline": {
"delimiter": "semi",
"requireLast": true
},
"singleline": {
"delimiter": "semi",
"requireLast": false
}
}
],
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-non-null-assertion": "error",
"@typescript-eslint/no-extra-non-null-assertion": "error",
"@typescript-eslint/no-this-alias": "error",
"@typescript-eslint/no-unnecessary-qualifier": "error",
"@typescript-eslint/no-unnecessary-type-arguments": "error",
"@typescript-eslint/no-var-requires": "error",
"@typescript-eslint/prefer-function-type": "error",
"@typescript-eslint/prefer-namespace-keyword": "error",
"@typescript-eslint/semi": "error",
"@typescript-eslint/triple-slash-reference": "error",
"@typescript-eslint/type-annotation-spacing": "error",
"@typescript-eslint/unified-signatures": "error",
"arrow-body-style": "error",
"comma-dangle": "error",
"constructor-super": "error",
"curly": "error",
"eol-last": "error",
"eqeqeq": [
"error",
"always"
],
"import/no-default-export": "error",
"import/no-unassigned-import": "error",
"jsdoc/no-types": "error",
"new-parens": "error",
"no-bitwise": "error",
"no-caller": "error",
"no-cond-assign": "error",
"no-debugger": "error",
"no-duplicate-case": "error",
"no-duplicate-imports": "error",
"no-eval": "error",
"no-fallthrough": "error",
"no-invalid-this": "error",
"no-irregular-whitespace": "error",
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0}],
"no-new-wrappers": "error",
"no-redeclare": "error",
"no-return-await": "error",
"no-sequences": "error",
"no-sparse-arrays": "error",
"no-trailing-spaces": "error",
"no-undef-init": "error",
"no-unsafe-finally": "error",
"no-unused-expressions": "error",
"no-unused-labels": "error",
"no-var": "error",
"one-var": [
"error",
"never"
],
"prefer-const": "error",
"prefer-object-spread": "error",
"space-in-parens": [
"error",
"never"
],
"spaced-comment": [
"error",
"always"
],
"use-isnan": "error",
"valid-typeof": "error",
"yoda": "error",
"@typescript-eslint/tslint/config": [
"error",
{
"rules": {
"encoding": true,
"file-header": [
true,
".*"
],
"import-spacing": true,
"match-default-export-name": true,
"no-boolean-literal-compare": true,
"no-mergeable-namespace": true,
"no-reference-import": true,
"no-unnecessary-callback-wrapper": true,
"number-literal-format": true,
"one-line": [
true,
"check-catch",
"check-finally",
"check-else",
"check-open-brace",
"check-whitespace"
],
"prefer-method-signature": true,
"prefer-while": true,
"typedef": [
true,
"variable-declaration",
"call-signature",
"variable-declaration-ignore-function"
],
"whitespace": [
true,
"check-branch",
"check-operator",
"check-separator",
"check-preblock",
"check-type"
]
}
}
]
}
};
+5 -2
View File
@@ -9,8 +9,10 @@ dist
server
debugAdapters
LLVM
bin/Microsoft.VSCode.CPP.*
bin/vcmeta.dll
bin/cpptools*
bin/*.dll
bin/.vs
bin/LICENSE.txt
# ignore lock files
install.lock
@@ -31,3 +33,4 @@ localized_string_ids.h
# ignore generate files. It will be generated when building
src/nativeStrings.ts
+36 -19
View File
@@ -77,13 +77,47 @@
"preLaunchTask": "TypeScript Compile Watch",
},
{
"name": "Launch Tests",
"name": "Launch Unit Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests"
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests/index"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "Pretest"
},
{
"name": "Launch Integration Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer/index"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "Pretest",
},
{
"name": "Launch E2E IntelliSense features tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"C:/git/Vcls-vscode-test/SingleRootProject",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/IntelliSenseFeatures/index"
],
"stopOnEntry": false,
"sourceMaps": true,
@@ -98,22 +132,5 @@
"request": "attach",
"port": 5858
},
{
"name": "Launch Integration Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/test/integrationTests/testAssets/SimpleCppProject",
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "Pretest"
},
]
}
+2 -2
View File
@@ -33,11 +33,11 @@
"command": "yarn",
"args": [
"run",
"tslint"
"lint"
],
"problemMatcher": {
"fileLocation": "absolute",
"source": "tslint",
"source": "lint",
"pattern": [
{
"regexp": "(ERROR:) ([a-zA-Z/:\\-\\.]*)\\[(\\d+), (\\d+)\\]: (.*)",
+1
View File
@@ -25,6 +25,7 @@ jobs/**
tsconfig.json
test.tsconfig.json
tslint.json
.eslintrc.js
webpack.config.js
tscCompileList.txt
gulpfile.js
+264 -2
View File
@@ -1,5 +1,267 @@
# C/C++ for Visual Studio Code Change Log
## Version 1.1.0-insiders2: October 15, 2020
### Bug Fixes
* Fix `Build and Debug Active File` race condition with EngineLogs. [#6304](https://github.com/microsoft/vscode-cpptools/pull/6304)
* Prevent configuration warnings from stealing focus. [#6308](https://github.com/microsoft/vscode-cpptools/issues/6308)
* Fix `/std:c++latest` downgrading to `/std:c++17` when set via `compilerArgs` with cl.exe. [#6323](https://github.com/microsoft/vscode-cpptools/issues/6323)
* Fix `cStandard` not being used. [#6324](https://github.com/microsoft/vscode-cpptools/issues/6324)
## Version 1.1.0-insiders: October 13, 2020
### Enhancements
* Add support to run c/cpp build tasks. [#3674](https://github.com/microsoft/vscode-cpptools/issues/3674), [#5270](https://github.com/microsoft/vscode-cpptools/issues/5270), [#5285](https://github.com/microsoft/vscode-cpptools/issues/5285)
* Tasks: Configure Task
* Tasks: Run Build Task
* C/C++: Build and debug active file.
* Add logging around compiler probing, and the "C/C++ Configuration Warnings" output channel. [#5259](https://github.com/microsoft/vscode-cpptools/issues/5259)
* Add compile commands info to Log Diagnostics. [#5761](https://github.com/microsoft/vscode-cpptools/issues/5761)
* Enable support for specifying a compiler by only the filename if it's in the environment path. [#6179](https://github.com/microsoft/vscode-cpptools/issues/6179)
* Restart the IntelliSense process if its memory usage exceeds the `C_Cpp.intelliSenseMemoryLimit` setting. [#6230](https://github.com/microsoft/vscode-cpptools/issues/6230)
* Add handling of the "-ansi" compiler arg when querying gcc/clang compilers.
* Add support for inferring the IntelliSenseMode based on the "--target" compiler arg.
* Add support for inferring the C standard based on new c11/c17 language standard args for cl.exe.
* Allow custom config providers to omit IntelliSenseMode and C/C++ language standard, enabling them to be inferred from the `compilerPath` and `compilerArgs`.
### Bug Fixes
* Fix issues with IntelliSense for clang-cl.exe. [#6075](https://github.com/microsoft/vscode-cpptools/issues/6075)
* Fix "Comments are not permitted in JSON" error when `c_cpp_properties.json` is open but not active. [#6132](https://github.com/microsoft/vscode-cpptools/issues/6132)
* Rename the C language standard setting values from c18 and gnu18 to c17 and gnu17. [#6105](https://github.com/microsoft/vscode-cpptools/issues/6105)
* Add more IntelliSense support for std ranges, concepts, and modules exports (__cpp_lib_concepts is now enabled). [#6173](https://github.com/microsoft/vscode-cpptools/issues/6173)
* Add "-fnoblocks" when querying clang on Mac, as IntelliSense does not currently support blocks. [#6189](https://github.com/microsoft/vscode-cpptools/issues/6189)
* Fix clang-format on 32-bit Windows. [#6195](https://github.com/microsoft/vscode-cpptools/issues/6195)
* Fix incorrect formatting results when clang-format removes duplicate includes. [#6205](https://github.com/microsoft/vscode-cpptools/issues/6205)
* Fix a case where the main process could get stuck. [#6207](https://github.com/microsoft/vscode-cpptools/issues/6207)
* Fix C files being treated as C++ files with compile_commands.json. [#6279](https://github.com/microsoft/vscode-cpptools/issues/6279)
* Fix issues with the handling of the standard version for clang-cl.exe.
* Fix the handling of various compiler arg pairs when querying compilers.
* Avoid parsing entries in compile_commands.json for file types that we do not support.
* Fixed an issue in which only C or C++ system headers were added to the browse path, rather than both.
### Other Contributions
* Refactoring provider classes.
* Abhishek Pal (@devabhishekpal) [PR #5998](https://github.com/microsoft/vscode-cpptools/pull/5998)
## Version 1.0.1: September 21, 2020
### Bug Fixes
* Fix "No IL available" IntelliSense error on Linux/macOS when `#error` directives are present in the source code. [#6009](https://github.com/microsoft/vscode-cpptools/issues/6009), [#6114](https://github.com/microsoft/vscode-cpptools/issues/6114)
* Fix issue on Windows with the language server not shutting down properly which causes the IntelliSense database to become corrupted. [PR #6141](https://github.com/microsoft/vscode-cpptools/issues/6141)
* Fix "No IL available" IntelliSense error when predefined macros are undefined. [#6147](https://github.com/microsoft/vscode-cpptools/issues/6147)
* Fix infinite loop IntelliSense regression. [#6166](https://github.com/microsoft/vscode-cpptools/issues/6166)
## Version 1.0.0: September 14, 2020
### New Features
* Support non-UTF-8 file encodings (GBK, UTF-16, etc.), excluding `files.autoGuessEncoding` support. [#414](https://github.com/microsoft/vscode-cpptools/issues/414)
* Support for running the extension on Linux ARM devices (armhf/armv7l and aarch64/arm64), using remoting. [#429](https://github.com/microsoft/vscode-cpptools/issues/429), [#2506](https://github.com/microsoft/vscode-cpptools/issues/2506)
* Add the `vcFormat` option to `C_Cpp.formatting` (with `C_Cpp.vcFormat.*` options) to enable VS-style formatting (instead of clang-format formatting). [#657](https://github.com/microsoft/vscode-cpptools/issues/657)
* Add support for vcFormat settings in `.editorconfig` files. [PR #5932](https://github.com/microsoft/vscode-cpptools/pull/5932)
### Enhancements
* Improve the download and installation progress bar. [#1961](https://github.com/microsoft/vscode-cpptools/issues/1961)
* Add error codes and the "C/C++" source to IntelliSense errors. [#2345](https://github.com/microsoft/vscode-cpptools/issues/2345)
* Add support for `/Zc:__cplusplus` in `compilerArgs` for cl.exe. [#2595](https://github.com/microsoft/vscode-cpptools/issues/2595)
* Search for `compilerPath` in the PATH environment variable. [#3078](https://github.com/microsoft/vscode-cpptools/issues/3078), [#5908](https://github.com/microsoft/vscode-cpptools/issues/5908)
* Validate crypto signatures of binaries we download. [#5268](https://github.com/microsoft/vscode-cpptools/issues/5268)
* Add link to the documentation in the configuration UI. [#5875](https://github.com/microsoft/vscode-cpptools/issues/5875)
* Abhishek Pal (@devabhishekpal) [PR #5991](https://github.com/microsoft/vscode-cpptools/pull/5991)
* Allow comments, trailing commas, etc. in `c_cpp_properties.json` [#5885](https://github.com/microsoft/vscode-cpptools/issues/5885)
* Prevent comments from being removed from json files when the extension modifies them.
* @dan-shaw [PR #5954](https://github.com/microsoft/vscode-cpptools/pull/5954)
* Add diagnostics on potentially conflicting recursive includes to `C/C++: Log Diagnostics`, i.e. if a workspace uses files with the same name as system headers. [#6009](https://github.com/microsoft/vscode-cpptools/issues/6009)
* Add workspace parsing diagnostics. [#6048](https://github.com/microsoft/vscode-cpptools/issues/6048)
* Add `wmain` snippet on Windows. [#6064](https://github.com/microsoft/vscode-cpptools/issues/6064)
* More C++20 support.
### Bug Fixes
* Fix member completion in C code after an operator is used in an expression. [#2184](https://github.com/microsoft/vscode-cpptools/issues/2184)
* Fix extension not creating `tasks.json` if the `.vscode` folder doesnt exist. [#4280](https://github.com/microsoft/vscode-cpptools/issues/4280)
* Fix installation of clang-format 10 with the online vsix. [#5194](https://github.com/microsoft/vscode-cpptools/issues/5194)
* Get the compiler type to determine if it's Clang when querying for default compiler so that the correct default `intelliSenseMode` is set. [#5352](https://github.com/microsoft/vscode-cpptools/issues/5352)
* Get the default language standard of the compiler and use that std version if no version is specified. [#5579](https://github.com/microsoft/vscode-cpptools/issues/5579)
* Fix `configuration.includePath` to only add the `defaultFolder` when the default `includePath` is set. [#5621](https://github.com/microsoft/vscode-cpptools/issues/5621)
* Fix an IntelliSense crash when using C++20 on Linux. [#5727](https://github.com/microsoft/vscode-cpptools/issues/5727)
* Get the default target of the compiler. If the default target is ARM/ARM64, do not use the generic "--target" option to determine bitness. [#5772](https://github.com/microsoft/vscode-cpptools/issues/5772)
* Fix `compilerArgs` not being used if no `compilerPath` is set. [#5776](https://github.com/microsoft/vscode-cpptools/issues/5776)
* Fix an incorrect IntelliSense error squiggle. [#5783](https://github.com/microsoft/vscode-cpptools/issues/5783)
* Fix semantic colorization and inactive regions for multiroot workspaces. [#5812](https://github.com/microsoft/vscode-cpptools/issues/5812), [#5828](https://github.com/microsoft/vscode-cpptools/issues/5828)
* Fix bug with cl.exe flags /FU and /FI not being processed. [#5819](https://github.com/microsoft/vscode-cpptools/issues/5819)
* Fix `cStandard` being set to `c11` instead of `gnu18` with gcc. [#5834](https://github.com/microsoft/vscode-cpptools/issues/5834)
* Fix Doxygen parameterHint comment to display for a parameter name that is followed by colon. [#5836](https://github.com/microsoft/vscode-cpptools/issues/5836)
* Fix compiler probing when relative paths are used in `compile_commands.json`. [#5848](https://github.com/microsoft/vscode-cpptools/issues/5848)
* Fix the compile commands compiler not being used if `C_Cpp.default.compilerPath` is set. [#5848](https://github.com/microsoft/vscode-cpptools/issues/5848)
* Fix Doxygen comment to escape markdown characters. [#5904](https://github.com/microsoft/vscode-cpptools/issues/5904)
* Remove keyword completion of C identifiers that are defined in headers and aren't keywords (e.g. `alignas`). [#6022](https://github.com/microsoft/vscode-cpptools/issues/6022)
* Fix error message with `Build and Debug Active File`. [#6071](https://github.com/microsoft/vscode-cpptools/issues/6071)
* Restore fallback to the base configuration if a custom configuration provider does not provide a configuration for a file and does not provide compiler info in a custom browse configuration.
* Fix a bug that could cause the extension to delay processing a newly opened file until any outstanding IntelliSense operations are complete, if using a custom configuration provider.
* Fix a bug with incorrect configuration of a file when using a custom configuration provider and no custom configuration is available for that file. This now falls back to the compiler info received from the configuration provider with the browse configuration.
* Fix a bug in which making a modification to `c_cpp_properties.json` could result in custom configurations for currently open files being discarded and not re-requested.
### Potentially Breaking Changes
* Settings `commentContinuationPatterns`, `enhancedColorization`, and `codeFolding` are no longer available in per-Folder settings (only Workspace or higher settings). [PR #5830](https://github.com/microsoft/vscode-cpptools/pull/5830)
* Fix compile command arguments not being used when `compilerPath` is set (so the compile command arguments need to be compatible now).
* If a non-matching `intelliSenseMode` was being used, such as clang-x64 with a gcc ARM compiler, then we may auto-fix it internally, which may cause changes to IntelliSense behavior.
### Known Issues
* Using `clang-format` on ARM may require installing libtinfo5. [#5958](https://github.com/microsoft/vscode-cpptools/issues/5958)
## Version 0.29.0: July 15, 2020
### New Features
* Add Doxygen comment support (to tooltip display of hover, completion, and signature help). [#658](https://github.com/microsoft/vscode-cpptools/issues/658)
* The way comments are formatted is controlled by the `C_Cpp.simplifyStructuredComments` setting.
* Auto-convert `.` to `->` when the type is a pointer. [#862](https://github.com/microsoft/vscode-cpptools/issues/862)
* Switch to using the VS Code Semantic Tokens API for semantic colorization (works with remoting). [PR #5401](https://github.com/microsoft/vscode-cpptools/pull/5401), [#3932](https://github.com/microsoft/vscode-cpptools/issues/3932), [#3933](https://github.com/microsoft/vscode-cpptools/issues/3933), [#3942](https://github.com/microsoft/vscode-cpptools/issues/3942)
* Add support for LogMessage Breakpoints for debug type `cppdbg`. [MIEngine#1013](https://github.com/microsoft/MIEngine/pull/1013)
### Enhancements
* Automatically add `"${default}"` to the default `includePath` in `c_cpp_properties.json` if `C_Cpp.default.includePath` is set. [#3733](https://github.com/microsoft/vscode-cpptools/issues/3733)
* Add configuration provider logging to `C/C++: Log Diagnostics`. [#4826](https://github.com/microsoft/vscode-cpptools/issues/4826)
* Add support for the Debug Welcome Panel. [#4837](https://github.com/microsoft/vscode-cpptools/issues/4837)
* Update to clang-format 10. [#5194](https://github.com/microsoft/vscode-cpptools/issues/5194)
* Add system to store and query properties from the active C/C++ configuration.
* bugengine (@bugengine) [PR #5453](https://github.com/microsoft/vscode-cpptools/pull/5453)
* Add `quoteArgs` to `launch.json` schema. [PR #5639](https://github.com/microsoft/vscode-cpptools/pull/5639)
* Add logs for a resolved `launch.json` if "engineLogging" is enabled. [PR #5644](https://github.com/microsoft/vscode-cpptools/pull/5644)
* Add threadExit and processExit logging flags for 'cppvsdbg'. [PR #5652](https://github.com/microsoft/vscode-cpptools/pull/5652)
### Bug Fixes
* Fix IntelliSense when using "import_" in a variable name. [#5272](https://github.com/microsoft/vscode-cpptools/issues/5272)
* Add localization support for autocomplete and hover text. [#5370](https://github.com/microsoft/vscode-cpptools/issues/5370)
* Some `updateChannel` fixes. [PR #5465](https://github.com/microsoft/vscode-cpptools/pull/5465)
* Fix wrong language standard used with compile commands. [#5498](https://github.com/microsoft/vscode-cpptools/issues/5498)
* Fix issue with defines and includes not being handled correctly in `compilerPath` or `compilerArgs`. [#5512](https://github.com/microsoft/vscode-cpptools/issues/5512)
* Add gcc/gcc-10 compiler detection. [#5540](https://github.com/microsoft/vscode-cpptools/issues/5540)
* Fix `--target` compiler arg getting overridden. [#5557](https://github.com/microsoft/vscode-cpptools/issues/5557)
* Matt Schulte (@schultetwin1)
* Fix Find All References and Rename when multiple references are on the same line. [#5568](https://github.com/microsoft/vscode-cpptools/issues/5568)
* Fix IntelliSense process crashes. [#5584](https://github.com/microsoft/vscode-cpptools/issues/5584), [#5629](https://github.com/microsoft/vscode-cpptools/issues/5629)
* Fix an add/remove workspace folder crash. [#5591](https://github.com/microsoft/vscode-cpptools/issues/5591)
* Fix default build tasks failing on Windows if the compiler isn't on the PATH. [#5604](https://github.com/microsoft/vscode-cpptools/issues/5604)
* Fix updating `files.associations` and .C files being associated with C instead of C++. [#5618](https://github.com/microsoft/vscode-cpptools/issues/5618)
* Fix IntelliSense malfunction when RxCpp is used. [#5619](https://github.com/microsoft/vscode-cpptools/issues/5619)
* Fix an incorrect IntelliSense error. [#5627](https://github.com/microsoft/vscode-cpptools/issues/5627)
* Ignore "screen size is bogus" error when debugging. [PR #5669](https://github.com/microsoft/vscode-cpptools/pull/5669)
* nukoyluoglu (@nukoyluoglu)
* Fix `compile_commands.json` sometimes not updating. [#5687](https://github.com/microsoft/vscode-cpptools/issues/5687)
* Add msys2 clang compilers to the compiler search list (previously only gcc was handled). [#5697](https://github.com/microsoft/vscode-cpptools/issues/5697)
* Fix extension getting stuck when an "@" response file that doesn't end with ".rsp" is used in `compilerArgs`. [#5731](https://github.com/microsoft/vscode-cpptools/issues/5731)
* Fix forced includes not handled properly when parsed as compiler args. [#5738](https://github.com/microsoft/vscode-cpptools/issues/5738)
* Fix potential thread deadlock in cpptools.
* Fix copying a long value from debug watch results in pasting partial value [#5470](https://github.com/microsoft/vscode-cpptools/issues/5470)
* [PR MIEngine#1009](https://github.com/microsoft/MIEngine/pull/1009)
* Fix Modifying conditional breakpoints [#2297](https://github.com/microsoft/vscode-cpptools/issues/2297)
* [PR MIEngine#1010](https://github.com/microsoft/MIEngine/pull/1010)
* Fix find <miDebuggerPath>.exe in Windows path [#3076](https://github.com/microsoft/vscode-cpptools/issues/3076)
* [PR MIEngine#1001](https://github.com/microsoft/MIEngine/pull/1001)
## Version 0.28.3: June 9, 2020
### Enhancements
* Update version of vscode-cpptools API to 4.0.1 [PR #5624](https://github.com/microsoft/vscode-cpptools/pull/5624)
## Version 0.28.2: June 1, 2020
### Regression Bug Fixes
* Fix string arrays in `env` not being joined properly. [#5509](https://github.com/microsoft/vscode-cpptools/issues/5509)
* Krishna Ersson (@kersson) [PR #5510](https://github.com/microsoft/vscode-cpptools/pull/5510)
* Fix `shell` being used as the C/C++ build task source instead of `C/C++`. [vscode-docs#3724](https://github.com/microsoft/vscode-docs/issues/3724)
### Other Bug Fixes
* Fix `problemMatcher` not being added to C/C++ build tasks. [#3295](https://github.com/microsoft/vscode-cpptools/issues/3295)
* Fix `/usr/bin` being used as the default `cwd` (instead of `${workspaceFolder}`) for C/C++ build tasks. [#4761](https://github.com/microsoft/vscode-cpptools/issues/4761)
* Fix processing of quoted arguments with spaces in `compilerPath`. [PR #5513](https://github.com/microsoft/vscode-cpptools/pull/5513)
* Fix inconsistent task `label` and `preLaunchTask` being used for C/C++ build tasks. [#5561](https://github.com/microsoft/vscode-cpptools/issues/5561)
## Version 0.28.1: May 20, 2020
### Bug Fixes
* Fix errors not appearing after switching between a WSL and non-WSL config on Windows. [#5474](https://github.com/microsoft/vscode-cpptools/issues/5474)
* Fix cpptools crash when gcc is not in $PATH in a Docker container. [#5484](https://github.com/microsoft/vscode-cpptools/issues/5484)
* Fix top IntelliSense crash regression. [#5486](https://github.com/microsoft/vscode-cpptools/issues/5486)
* Fix squiggles appearing too soon (while typing). [#5531](https://github.com/microsoft/vscode-cpptools/issues/5531)
## Version 0.28.0: May 12, 2020
### New Features
* Add C/C++ language-aware code folding. [#407](https://github.com/microsoft/vscode-cpptools/issues/407)
* Add GNU (and C17) language standard options. [#2782](https://github.com/microsoft/vscode-cpptools/issues/2782)
* Add ARM and ARM64 IntelliSense modes. [#4271](https://github.com/microsoft/vscode-cpptools/issues/4271), [PR #5250](https://github.com/microsoft/vscode-cpptools/pull/5250)
### Enhancements
* Change the `gcc` problem matcher to use `autoDetect` for `fileLocation` . [#1915](https://github.com/microsoft/vscode-cpptools/issues/1915)
* Add support for IntelliSense-based `Go to Definition` on `#include` statements. [#2564](https://github.com/microsoft/vscode-cpptools/issues/2564)
* Support relative paths with `forcedInclude`. [#2780](https://github.com/microsoft/vscode-cpptools/issues/2780)
* Make the `Visual Studio` formatting style respect the C++ standard (e.g. `> >` for C++03 or earlier). [#3578](https://github.com/microsoft/vscode-cpptools/issues/3578)
* Add support for more C++20 features, such as concepts (not 100% complete yet). [#4195](https://github.com/microsoft/vscode-cpptools/issues/4195)
* Process the "std" and bitness (-m64/-m32) compiler args. [#4726](https://github.com/microsoft/vscode-cpptools/issues/4726)
* Switch from our custom Rename UI to VS Code's Refactor Preview. [#4990](https://github.com/microsoft/vscode-cpptools/issues/4990)
### Bug Fixes
* Fix `browse.path` not getting set correctly when `compileCommands` is used. [#1163](https://github.com/microsoft/vscode-cpptools/issues/1163)
* Fix an issue with squiggle updates not occurring when a dependent file is created, deleted, or renamed. [#3670](https://github.com/microsoft/vscode-cpptools/issues/3670)
* Fix temporary VSIX files not getting deleted after installation [#3923](https://github.com/microsoft/vscode-cpptools/issues/3923)
* Process "$CPATH" on non-Windows OS's. [#3940](https://github.com/microsoft/vscode-cpptools/issues/3940)
* Fix missing include message when a configuration provider is used. [#3971](https://github.com/microsoft/vscode-cpptools/issues/3971)
* Change machine-dependent settings to use remote settings instead of user settings. [#4121](https://github.com/microsoft/vscode-cpptools/issues/4121)
* Fix compiler querying for compilers that output non-English strings. [#4542](https://github.com/microsoft/vscode-cpptools/issues/4542)
* Fix compiler querying when the '-include' argument is used. [#4655](https://github.com/microsoft/vscode-cpptools/issues/4655)
* Fix the "Unable to load schema" error for `c_cpp_properties.json`. [#4841](https://github.com/microsoft/vscode-cpptools/issues/4841)
* Change "Visual Studio" `clang_format_fallback_style` setting to use NamespaceIndentation All. [#5124](https://github.com/microsoft/vscode-cpptools/issues/5124)
* Fix "C++98" and "C++0x" modes. [#5157](https://github.com/microsoft/vscode-cpptools/issues/5157), [#5225](https://github.com/microsoft/vscode-cpptools/issues/5225)
* Improve the error message for multiroot projects using `compile_commands.json`. [#5160](https://github.com/microsoft/vscode-cpptools/issues/5160)
* Fix some cpptools process crashes. [#5280](https://github.com/microsoft/vscode-cpptools/issues/5280)
* Avoid `<…>` truncation on hover. [#5291](https://github.com/microsoft/vscode-cpptools/issues/5291)
* Fix incorrect translations. [PR #5300](https://github.com/microsoft/vscode-cpptools/pull/5300)
* Fix cpptools auto-restarting after a crash. [#5303](https://github.com/microsoft/vscode-cpptools/issues/5303)
* Fix incorrect `c_cpp_properties.json` squiggles. [#5314](https://github.com/microsoft/vscode-cpptools/issues/5314), [#5322](https://github.com/microsoft/vscode-cpptools/issues/5322)
* Fix error `The task provider for "C/C++" tasks unexpectedly provided a task of type "shell".` [#5388](https://github.com/microsoft/vscode-cpptools/issues/5388)
* Fix `compilerPath` set to `""` not working. [#5392](https://github.com/microsoft/vscode-cpptools/issues/5392)
* Fix IntelliSense sometimes not working on a header file (or giving "Cannot Confirm Reference") if an existing TU is chosen that doesn't actually contain the header file.
* Fix random crashes after a settings change.
* Fix redundant squiggle updates.
## Version 0.27.1: April 28, 2020
### Bug Fix
* Disable Insiders `updateChannel` for 32-bit Linux and VS Code older than 1.43.0.
## Version 0.27.0: March 30, 2020
### Enhancements
* Improved multi-root implementation with a single language server process and database for the entire workspace (shared between workspace folders). Fixes most [multi-root bugs](https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature%3A+Multiroot%22+label%3A%22fixed+%28release+pending%29%22+milestone%3A0.27.0).
* Update to clang-format 9.0.1 (and without shared library dependencies). [#2887](https://github.com/microsoft/vscode-cpptools/issues/2887), [#3174](https://github.com/microsoft/vscode-cpptools/issues/3174)
* Add new setting `C_Cpp.debugger.useBacktickCommandSubstitution` to fix debugging when CShell is the remote default shell. [#4015](https://github.com/microsoft/vscode-cpptools/issues/4015)
* @Helloimbob [PR #5053](https://github.com/microsoft/vscode-cpptools/pull/5053)
* Rename language server processes to `cpptools` and `cpptools-srv` (IntelliSense process). [#4364](https://github.com/microsoft/vscode-cpptools/issues/4364)
* Add support for `-iframework` in `compile_commands.json`. [#4819](https://github.com/microsoft/vscode-cpptools/issues/4819)
* Add `cpptools.setActiveConfigName` command. [#4870](https://github.com/microsoft/vscode-cpptools/issues/4870)
* @aleksey-sergey [PR #4893](https://github.com/microsoft/vscode-cpptools/pull/4893)
* Default to the bundled `clang-format` if its version is newer. [#4963](https://github.com/microsoft/vscode-cpptools/issues/4963)
* Add URI's to the debug logging for messages (e.g. `fileChanged`). [#5062](https://github.com/microsoft/vscode-cpptools/issues/5062)
* Use `lldb-mi` for macOS Mojave or newer.
* Fix visualization of standard library types in lldb. [#1768](https://github.com/microsoft/vscode-cpptools/issues/1768)
* Enable debugging support on macOS Catalina. [#3829](https://github.com/microsoft/vscode-cpptools/issues/3829)
* Support '`' in addition to '-exec' for sending gdb commands [PR MIEngine#967](https://github.com/microsoft/MIEngine/pull/976)
### Bug Fixes
* Fix issue in which the user is not again prompted to use a custom configuration provider if settings files have been deleted. [#2346](https://github.com/microsoft/vscode-cpptools/issues/2346)
* Fix "Unrecognized format of field "msg" in result" on macOS. [#2492](https://github.com/microsoft/vscode-cpptools/issues/2492)
* Fix IntelliSense using too much CPU when switching branches. [#2806](https://github.com/microsoft/vscode-cpptools/issues/2806)
* Fix for timeout on slow terminals while debugging. [#2889](https://github.com/microsoft/vscode-cpptools/issues/2889)
* @Epikem [PR MIEngine#965](https://github.com/microsoft/MIEngine/pull/965)
* Fix non-localized text. [#4481](https://github.com/microsoft/vscode-cpptools/issues/4481), [#4879](https://github.com/microsoft/vscode-cpptools/issues/4879)
* Fix issues with paths containing certain Unicode sequences on Mac. [#4712](https://github.com/microsoft/vscode-cpptools/issues/4712)
* Fix IntelliSense parsing bugs and crashes. [#4717](https://github.com/microsoft/vscode-cpptools/issues/4717), [#4798](https://github.com/microsoft/vscode-cpptools/issues/4798)
* Fix configuration UI disabling `compilerPath` if no default compiler is found. [#4727](https://github.com/microsoft/vscode-cpptools/issues/4727)
* Fix issue with providing custom configurations for files specified using URIs schemes we do not recognize. [#4889](https://github.com/microsoft/vscode-cpptools/issues/4889)
* Fix Outline view not updating fast enough after switching branches. [#4894](https://github.com/microsoft/vscode-cpptools/issues/4894)
* Fix failure to detect CL.exe if VS Installer files are stored on a drive other than the system drive. [#4929](https://github.com/microsoft/vscode-cpptools/issues/4929)
* Fix extension randomly getting stuck while communicating with the IntelliSense process on Mac. [#4989](https://github.com/microsoft/vscode-cpptools/issues/4989)
* Fix completion results appearing after numeric literals. [#5019](https://github.com/microsoft/vscode-cpptools/issues/5019)
* Fix issue with cancellation of a `Rename` operation causing subsequent `Find All References` and `Rename` operations to fail. [#5022](https://github.com/microsoft/vscode-cpptools/issues/5022)
* Fix some settings not being editable in the UI. [PR #5126](https://github.com/microsoft/vscode-cpptools/pull/5126)
* Fix `cpp_properties.json` error squiggles not appearing. [#5131](https://github.com/microsoft/vscode-cpptools/issues/5131)
* Fix `search.exclude` not applying if there are > 1 symbols matching in the excluded file. [#5152](https://github.com/microsoft/vscode-cpptools/issues/5152)
* Fix tag parsing not working on Windows 7 without SP1. [#5155](https://github.com/microsoft/vscode-cpptools/issues/5155)
* Fix `updateChannel` being settable per-workspace. [PR #5185](https://github.com/microsoft/vscode-cpptools/pull/5185)
* Fix opened files external to the workspace folder being removed from the database during loading. [#5190](https://github.com/microsoft/vscode-cpptools/issues/5190)
* Fix invalid `c_cpp_properties.json` and configuration UI warning `Compiler path with spaces and arguments is missing double quotes`. [#5215](https://github.com/microsoft/vscode-cpptools/issues/5215)
* Fix environment variables used for the RunInTerminal Request. [MIEngine#979](https://github.com/microsoft/MIEngine/issues/979)
* Fix a race condition that could cause the Outline, `Find All References`, etc. to stop working.
## Version 0.26.3: January 22, 2020
### Bug Fixes
* IntelliSense bug fixes. [#2774](https://github.com/microsoft/vscode-cpptools/issues/2774)
@@ -14,7 +276,7 @@
* Fix custom configurations sometimes not being applied to headers. [#4649](https://github.com/microsoft/vscode-cpptools/issues/4649)
* Fix headers opening into header-only TU's instead of TU's for candidate source files. [#4696](https://github.com/microsoft/vscode-cpptools/issues/4696)
* Fix the missing description of `C_Cpp.clang_format_style`.
* @Enna1 [PR 4734](https://github.com/microsoft/vscode-cpptools/pull/4734)
* @Enna1 [PR #4734](https://github.com/microsoft/vscode-cpptools/pull/4734)
* Fix Insiders channel not auto-downgrading after an Insiders vsix is unpublished. [#4760](https://github.com/microsoft/vscode-cpptools/issues/4760)
* Fix compiler querying with more than 40 `compilerArgs`. [#4791](https://github.com/microsoft/vscode-cpptools/issues/4791)
* Fix an issue in which files may be unnecessarily removed from the tag parser database on startup, if using a custom configuration provider, resulting in a large number of files being reparsed. [#4802](https://github.com/microsoft/vscode-cpptools/issues/4802)
@@ -432,7 +694,7 @@
* Don't show `includePath` code actions if compile commands or custom configuration providers are used. [#2334](https://github.com/Microsoft/vscode-cpptools/issues/2334)
* Fix `C_Cpp.clang_format_path` not accepting environment variables. [#2344](https://github.com/Microsoft/vscode-cpptools/issues/2344)
* Fix IntelliSense not working with non-ASCII characters in the WSL install path. [#2351](https://github.com/Microsoft/vscode-cpptools/issues/2351)
* Filter out buggy IntelliSense error `"= delete" can only appear on the first declaration of a function`. [#2352](https://github.com/Microsoft/vscode-cpptools/issues/2352)
* Filter out incorrect IntelliSense error `"= delete" can only appear on the first declaration of a function`. [#2352](https://github.com/Microsoft/vscode-cpptools/issues/2352)
* Fix IntelliSense failing with WSL if gcc is installed bug g++ isn't. [#2360](https://github.com/Microsoft/vscode-cpptools/issues/2360)
* Fix WSL paths starting with `/mnt/` failing to get symbols parsed. [#2361](https://github.com/Microsoft/vscode-cpptools/issues/2361)
* Fix IntelliSense process crash when hovering over a designated initializer list with an anonymous struct. [#2370](https://github.com/Microsoft/vscode-cpptools/issues/2370)
+12 -7
View File
@@ -4,14 +4,17 @@
[![Badge](https://aka.ms/vsls-badge)](https://aka.ms/vsls)
This preview release of the C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.
The C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.
## Overview and getting started
## Overview and tutorials
* [C/C++ extension overview](https://code.visualstudio.com/docs/languages/cpp)
* [Get Started with C++ and Windows Subsystem for Linux (WSL)](https://code.visualstudio.com/docs/cpp/config-wsl)
* [Get Started with C++ and Mingw-w64](https://code.visualstudio.com/docs/cpp/config-mingw)
* [Get Started with C++ and Clang/LLVM on macOS](https://code.visualstudio.com/docs/cpp/config-clang-mac)
* [Get Started with C++ and Microsoft C++ compiler (MSVC)](https://code.visualstudio.com/docs/cpp/config-msvc)
C/C++ extension tutorials per compiler and platform
* [Microsoft C++ compiler (MSVC) on Windows](https://code.visualstudio.com/docs/cpp/config-msvc)
* [GCC and Mingw-w64 on Windows](https://code.visualstudio.com/docs/cpp/config-mingw)
* [GCC on Windows Subsystem for Linux (WSL)](https://code.visualstudio.com/docs/cpp/config-wsl)
* [GCC on Linux](https://code.visualstudio.com/docs/cpp/config-linux)
* [Clang on macOS](https://code.visualstudio.com/docs/cpp/config-clang-mac)
## Quick links
* [Editing features (IntelliSense)](https://code.visualstudio.com/docs/cpp/cpp-ide)
@@ -49,9 +52,11 @@ The extension has platform-specific binary dependencies, therefore installation
Package | Platform
:--- | :---
`cpptools-linux.vsix` | Linux 64-bit
`cpptools-linux32.vsix` | Linux 32-bit
`cpptools-linux-armhf.vsix` | Linux ARM 32-bit
`cpptools-linux-aarch64.vsix` | Linux ARM 64-bit
`cpptools-osx.vsix` | macOS
`cpptools-win32.vsix` | Windows 64-bit & 32-bit
`cpptools-linux32.vsix` | Linux 32-bit ([available up to version 0.27.0](https://github.com/microsoft/vscode-cpptools/issues/5346))
## Contribution
+135 -85
View File
@@ -327,6 +327,31 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
-------------------------------------------------------------------
lru-cache 4.1.5 - ISC
https://github.com/isaacs/node-lru-cache#readme
Copyright (c) Isaac Z. Schlueter and Contributors
The ISC License
Copyright (c) Isaac Z. Schlueter and Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
-------------------------------------------------------------------
@@ -429,6 +454,31 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
-------------------------------------------------------------------
sigmund 1.0.1 - ISC
https://github.com/isaacs/sigmund#readme
Copyright (c) Isaac Z. Schlueter and Contributors
The ISC License
Copyright (c) Isaac Z. Schlueter and Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-------------------------------------------------------------------
-------------------------------------------------------------------
@@ -815,6 +865,35 @@ Copyright (c) Microsoft Corporation.
SOFTWARE
-------------------------------------------------------------------
-------------------------------------------------------------------
editorconfig 0.15.3 - MIT
https://github.com/editorconfig/editorconfig-core-js#readme
Copyright (c) 2012 EditorConfig Team
Copyright © 2012 EditorConfig Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-------------------------------------------------------------------
-------------------------------------------------------------------
@@ -948,64 +1027,60 @@ The above copyright notice and this permission notice shall be included in all c
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.
-------------------------------------------------------------------
-------------------------------------------------------------------
jsonc-parser 2.2.0 - MIT
https://github.com/microsoft/node-jsonc-parser#readme
Copyright (c) Microsoft
Copyright 2018, Microsoft
Copyright (c) Microsoft Corporation.
libiconv - Pre-installed on target platforms: Mac, Linux
https://www.gnu.org/software/libiconv/
/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
The MIT License (MIT)
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
Copyright (c) Microsoft
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
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:
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
https://www.gnu.org/licenses/. */
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.
http://www.gnu.org/licenses/lgpl.html
-------------------------------------------------------------------
-------------------------------------------------------------------
minimist 0.0.8 - MIT
https://github.com/substack/minimist
comment-json 3.0.0 - MIT
https://github.com/kaelzhang/node-comment-json#readme
This software is released under the MIT license:
Copyright (c) 2013 kaelzhang <>, contributors
http://kael.me/
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.
-------------------------------------------------------------------
@@ -1043,7 +1118,7 @@ THE SOFTWARE.
-------------------------------------------------------------------
ms 2.1.2 - MIT
ms 2.0.0 - MIT
https://github.com/zeit/ms#readme
Copyright (c) 2016 Zeit, Inc.
@@ -1074,7 +1149,7 @@ SOFTWARE.
-------------------------------------------------------------------
ms 2.0.0 - MIT
ms 2.1.2 - MIT
https://github.com/zeit/ms#readme
Copyright (c) 2016 Zeit, Inc.
@@ -1264,7 +1339,7 @@ SOFTWARE.
-------------------------------------------------------------------
vscode-cpptools 3.1.0 - MIT
vscode-cpptools 4.0.1 - MIT
https://github.com/Microsoft/vscode-cpptools-api#readme
Copyright (c) Microsoft Corporation.
@@ -1282,48 +1357,6 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-------------------------------------------------------------------
-------------------------------------------------------------------
vscode-debugadapter 1.37.1 - MIT
https://github.com/Microsoft/vscode-debugadapter-node#readme
Copyright (c) Microsoft Corporation.
Copyright (c) Microsoft Corporation
All rights reserved.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-------------------------------------------------------------------
-------------------------------------------------------------------
vscode-debugprotocol 1.37.0 - MIT
https://github.com/Microsoft/vscode-debugadapter-node#readme
Copyright (c) Microsoft Corporation.
Copyright (c) Microsoft Corporation
All rights reserved.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-------------------------------------------------------------------
-------------------------------------------------------------------
@@ -1532,6 +1565,23 @@ SOFTWARE.
-------------------------------------------------------------------
-------------------------------------------------------------------
xmldom 0.1.31 - MIT OR LGPL-2.0-only
https://github.com/xmldom/xmldom
You can choose any one of those:
The MIT License (MIT):
link:http://opensource.org/licenses/MIT
LGPL:
http://www.gnu.org/licenses/lgpl.html
-------------------------------------------------------------------
+149 -20
View File
@@ -171,7 +171,7 @@
"Očekávala se deklarace.",
"Ukazatel ukazuje mimo podkladový objekt.",
"neplatný typ konverze",
"konflikt externího/interního propojení s předchozí deklarací",
"konflikt externího/interního propojení s předchozí deklarací %p",
"Hodnota s plovoucí desetinnou čárkou se nevejde do požadovaného integrálního typu.",
"Výraz nemá žádný účinek.",
"Dolní index je mimo rozsah.",
@@ -420,9 +420,9 @@
"Použije se víc než jedna funkce pro převod z %t na předdefinovaný typ:",
"Konstanta %n",
"Odkaz %n",
"%npT",
"%npTd",
"předdefinovaný operátor %sq",
"%no (zděděná dvojznačnost)",
"%nod, nejednoznačné kvůli dědičnosti",
"Adresa konstruktoru nebo destruktoru se pravděpodobně nepřevzala.",
null,
"Pro původní hodnotu odkazu na nekonstantní typ se použilo temporary (anachronizmus).",
@@ -1361,7 +1361,7 @@
"Proměnné atributy vyskytující se po inicializátoru v závorkách se ignorují.",
"Výsledek tohoto přetypování se nedá použít jako l-hodnota.",
"negace hodnoty s pevnou desetinnou čárkou bez znaménka",
"Tento operátor není v tuto chvíli povolený, použijte závorky.",
null,
null,
"Názvy registru se můžou použít jenom pro proměnné registru.",
"Proměnné pojmenovaného registru nemůžou být typu void.",
@@ -1535,7 +1535,7 @@
"neplatná hodnota cannot-redefine",
"duplicitní modifikátor funkce",
"neplatný znak pro literál char16_t",
"__LPREFIX se nedá použít u literálů char8_t, char16_t nebo char32_t.",
null,
"Nerozpoznaná konvence volání %s, musí být jednou z:",
null,
null,
@@ -2354,7 +2354,7 @@
"Před použitím std::initializer_list je potřeba zadat #include <seznam_inicializátorů>, včetně implicitního použití.",
"Klíčové slovo inline se u deklarace aliasu oboru názvů nedá použít.",
"Předchozí deklarace %n nebyla deklarovaná jako inline.",
"Změna deklarace modifikátoru inline %n musí být deklarova jako inline.",
"%n se dříve deklarovalo jako vložené.",
"Prvním argumentem musí být celočíselná konstanta.",
"Specifikátor se nedá použít s neagregačním typem %t.",
"Specifikátor člena anonymního sjednocení se dá zadat jenom uvnitř závorek, které odpovídají tomuto anonymnímu sjednocení.",
@@ -2435,7 +2435,7 @@
"Konstruktor constexpr musí inicializovat přímou základní třídu %t.",
"Je pravděpodobné, že vytvoření objektu std::initializer_list v inicializátoru pole nebude fungovat podle očekávání, protože podkladové pole se na konci úplného výrazu zničí.",
"V konstantním výrazu se this nedá použít.",
"Prázdný inicializátor není pro tento typ union platný. (Je nejednoznačné, který člen by se měl inicializovat.)",
null,
"U explicitní direktivy vytváření instancí není povolený modifikátor constexpr.",
"Kvůli cyklické závislosti se nedá určit specifikace výjimky výchozího konstruktoru.",
"%p definované anonymním sjednocením",
@@ -2474,7 +2474,7 @@
"neplatný kvalifikátor pro %t (odvozená třída tady není povolená)",
"Atribut always_inline se u funkcí, které nejsou vložené, ignoruje.",
"Dědící konstruktory musí být zděděné od přímé základní třídy.",
"%np už zdědil od %t.",
null,
"Očekávalo se návěstí.",
"Po %%l se očekávalo číslo operandu.",
"Číslo operandu pro %%l neodkazuje na platný argument návěstí.",
@@ -2515,7 +2515,7 @@
"Odstraněné funkce jsou funkcí C++11.",
"Funkce nastavené na výchozí hodnotu jsou funkcí C++11.",
"Třída úložiště není u explicitní specializace povolená.",
"%t není třída nebo vymezený výčet.",
null,
"Nevymezený výčet musí být neprůhledný, aby mohl být specializovaný.",
"Deklarace šablony výčtu musí odkazovat na dříve deklarovaný člen šablony třídy.",
"Očekává se vektorový operand.",
@@ -2759,7 +2759,7 @@
"Proměnná nemůže mít nekompletní typ %t.",
"Přístup k neinicializovanému podobjektu (%n)",
"Přístup k neinicializovanému podobjektu (základní třída %t)",
"Volání prázdného desktruktoru",
"Volání pseudodestruktoru v konstantním výrazu se nepovoluje.",
"Pokus o změnu úložiště",
null,
null,
@@ -2790,7 +2790,7 @@
"typ elementu vektoru musí být integrál, výčet nebo reálné číslo s plovoucí desetinnou čárkou",
"předdefinovaná funkce není dostupná, protože 128bitová celá čísla nejsou podporovaná",
"předdefinovaná funkce není dostupná, protože vektorové typy nejsou podporované",
"d po sobě jdoucí levé hranaté závorky můžou uvozovat jenom seznam atributů",
"Dma levými hranatými závorkami za sebou vždy začíná seznam atributů, ale tady se seznam atributů nemůže nacházet.",
"nerozpoznaný atribut target znemožňuje, aby tuto rutinu použila rutina překladače",
"%t není vektorový typ",
"vektorové typy %t1 a %t2 musí mít stejnou délku",
@@ -2806,11 +2806,11 @@
"inicializátor výchozího členu není v hodnotové třídě povolený",
"--implicit_noexcept vyžaduje režim, který aktivuje operátor noexcept.",
"Nejde složit operaci, která zahrnuje virtuální základní třídu (%t).",
null,
"Inicializace není konstantní.",
"Nejde vyhodnotit hodnotu nekompletní položky %t.",
"Systém ignoroval návratovou hodnotu z rutiny deklarované pomocí atributu nodiscard.",
"Systém ignoroval typ návratové hodnoty s atributem nodiscard.",
"Atribut nodiscard neplatí pro konstruktory, destruktory nebo rutiny s návratovým typem void.",
"Atribut nodiscard neplatí pro destruktory nebo rutiny s návratovým typem void.",
"Atribut fallthrough platí jenom pro příkazy null.",
"Atribut fallthrough se může vyskytovat jenom uvnitř příkazu switch.",
"Příkaz fallthrough musí předcházet návěstí větve příkazu switch nebo výchozí hodnotě.",
@@ -2821,7 +2821,7 @@
"__has_include se nemůže vyskytovat mimo #if.",
"Nešlo přidat základní třídu CComCoClass.",
"nejde o řetězec zakončený hodnotou null.",
"neskalární typ %t nelze použít ve volání prázdného destruktoru.",
"Neskalární typ %t se nedá použít ve volání pseudodestruktoru.",
"Adresa weak %n není konstantní.",
"Příliš mnoho rekurzivních náhrad signatur šablony funkce",
"Neplatný specifikátor pro deklaraci strukturované vazby",
@@ -3122,7 +3122,7 @@
"zachytávání *this je v tomto režimu nestandardní",
"Předpona atributu using ve stylu C++17 je v tomto režimu nestandardní.",
"Vnořené obory názvů ve stylu C++17 jsou v tomto režimu nestandardní.",
"V deklaraci nemůžou být současně constexpr i consteval.",
"V deklaraci se může vyskytovat jen jedna z těchto možností: constexpr, consteval a constinit",
"funkce nemůže být v tomto režimu zároveň consteval a virtuální",
"U explicitní direktivy vytváření instancí není povolený modifikátor consteval.",
"Modifikátor consteval tady není platný.",
@@ -3166,17 +3166,17 @@
"Atribut internal_linkage se nevyskytuje v předchozí deklaraci.",
"Pro %n se nenašel žádný vhodný kandidát pro dedukci argumentu šablony.",
"Volání plně kvalifikovaného konstruktoru se nepovoluje.",
"Operátor porovnání se dá nastavit na výchozí hodnotu jen v definici třídy.",
"Operátor porovnání nastavený jako výchozí musí být členem třídy, na kterou se vztahuje, nebo pro ni musí být nastavený jako friend.",
"Chybný typ %t pro parametr výchozího operátoru porovnání (musí to být odkaz na const X, kde X je uzavírající typ třídy)",
"Návratový typ výchozího operátoru porovnání musí být bool.",
"Výchozí operátor porovnání členů musí být const.",
"V této třídě je více než jeden definovaný výchozí třícestný operátor.",
null,
"Typ příslibu korutiny %t nemůže mít nastavené return_void a return_value zároveň.",
"return_value deklarované v %p",
"return_void deklarovalo %p.",
"Chybí příkaz co_return, přestože %t nemá na konci %n žádné return_void.",
"Pro přidělení stavu korutiny se nenašla žádná varianta nothrow globálního operator new.",
"Pro uvolnění stavu korutiny se nenašel žádný vhodný operator delete.",
"Pro zrušení přidělení stavu korutiny se nenašel žádný vhodný operator delete.",
"Funkce constexpr nemůže být korutina.",
"Operand tohoto výrazu %s se překládá na typ %t, který není třída.",
"Výraz co_await se ve statickém inicializátoru nepovoluje.",
@@ -3220,7 +3220,136 @@
"Atribut ext_vector_type se vztahuje pouze na celočíselné typy (integer) nebo s plovoucí desetinnou čárkou (floating-point).",
"Toto makro testu funkcí je ignorováno (a vrátí hodnotu 0) v aktuálním režimu kompilace.",
"Nejde vyhodnotit agregační inicializátor s více elementy pro sjednocení.",
"%nd vybraný pro přepis operátoru nevrací typ bool.",
"new-expression volající funkci přidělení specifickou pro třídu se nedá vyhodnotit jako konstanta",
"výraz s umístěním new se nedá vyhodnotit podle konstanty",
"odstranění přes ukazatel na podobjekt vyžaduje virtuální destruktor",
"%npTd s obrácenými argumenty",
"operand __INTADDR__ musí být odsazený od nulového ukazatele",
"_Obecný konstruktor odpovídá více typům",
"druhá shoda je %t",
"Atribut availability, který se tady používá, se ignoruje.",
"Výraz inicializátoru podle C++20 v příkazu for založeném na rozsahu není v tomto režimu standardní.",
"co_await se může vztahovat jen na příkaz for založený na rozsahu.",
"Typ rozsahu ve smyčce for založené na rozsahu se nedá vyvodit.",
"Vložené proměnné jsou funkce standardu C++17.",
"Destrukční operátor delete vyžaduje jako první parametr %t.",
"Destrukční operátor delete nemůže mít parametry jiné než std::size_t a std::align_val_t.",
"možnosti volné (relaxed) abstraktní třídy se dají použít jenom při kompilaci C++",
"Neplatný začátek výrazu v klauzuli requires",
"Výraz cast v klauzuli requires musí být v uvozovkách.",
"Tento operátor se nemůže v klauzuli requires vyskytovat na nejvyšší úrovni (bez závorek).",
"Atomické omezení musí mít logický typ.",
"Nepodařilo se nahradit atomické omezení.",
"Atomické omezení není konstanta.",
"Hodnota atomického omezení se vyhodnotí jako false.",
"Omezení šablony není splněné.",
"V tomto oboru se definice konceptu nemůže vyskytovat.",
"Neplatná změna deklarace %nd",
"Nepovedlo se nahradit argumenty %T pro concept-id.",
"Pro argumenty %T je koncept false.",
"Klauzule requires tady není povolena (nejedná se o funkci se šablonami).",
"Šablona konceptu",
"Klauzule requires není kompatibilní s %nfd.",
"Očekával se atribut.",
null,
"Očekával se název typu.",
"Parametr výpustky není ve výrazu requires povolený.",
"Nepojmenovaný parametr ve výrazu requires nemá žádný efekt.",
"Očekával se název konceptu.",
"Výsledkem volání %s v konstantním výrazu je vždy hodnota true.",
"Výsledkem volání %s v kontextu consteval je vždy hodnota true.",
"Výsledkem volání %s ve funkci, která není constexpr, je vždy hodnota false.",
"Omezení typu pro %t se nezdařilo.",
"Možnost export se nedá použít v režimech, kde jsou povolené moduly C++.",
"Deklaraci fragmentu globálního modulu musí předcházet nějaká jiná deklarace.",
"Deklaraci modulu může předcházet pouze fragment globálního modulu.",
"Fragmentu privátního modulu musí předcházet deklarace modulu.",
"Fragment modulu %s nelze exportovat.",
"Nelze deklarovat více než jeden modul.",
"Nelze deklarovat více než jeden fragment modulu %s.",
"Modul musí být deklarovaný s názvem, který není prázdný.",
"%sq není importovatelné záhlaví.",
"Nelze importovat modul bez názvu.",
"Modul nemůže mít závislost rozhraní sám na sebe.",
"Modul %sq je už importovaný.",
"Soubor modulu",
"Nepovedlo se najít soubor modulu %sq pro import.",
"Soubor modulu %sq se nepovedlo naimportovat."
"Nepodařilo se najít soubor modulu pro modul %sq.",
"Soubor modulu %sq se nepovedlo naimportovat.",
"Očekávalo se %s1, ale našlo se %s2.",
"Při otevírání souboru modulu %sq",
"Neznámý název oddílu %sq",
"neznámý soubor modulu",
"soubor modulu s importovatelnou hlavičkou",
"soubor modulu EDG",
"soubor modulu IFC",
"neočekávaný soubor modulu",
"Typ druhého operandu %t2 musí mít stejnou velikost jako %t1.",
"Typ musí být možné triviálně kopírovat.",
"Typ %t se pro vyhodnocování constexpr v __builtin_bit_cast v současné době nepodporuje.",
"Typy tříd s bitovými poli %t se pro vyhodnocování constexpr v __builtin_bit_cast v současné době nepodporuje.",
"Nestatický datový člen typu odkazu %t brání vyhodnocování constexpr v __builtin_bit_cast.",
"Nestálý typ %t brání vyhodnocování constexpr v __builtin_bit_cast.",
"Typ sjednocení, ukazatele nebo ukazatele na člen %t brání vyhodnocování constexpr v __builtin_bit_cast.",
"%npTd, zděděno pomocí decl %p",
"Podobjekt %t pro dědící konstruktory se nedá vytvořit -- implicitní výchozí konstruktor se odstranil.",
"%n musí vracet void.",
"Neplatný začátek deklarace členu",
"Očekává se klíčové slovo auto.",
"Tento operátor se na tomto místě nepodporuje. Uzavřete předchozí výraz new do závorek.",
"Neplatné použití konceptu",
"Výchozí operátor porovnání členů nemůže být kvalifikovaný jako &&.",
"Výchozí funkce pro porovnání constexpr volá funkci %nd, která constexpr není.",
"Porovnání paměti constexpr se podporuje jen pro celé číslo nejvyšší úrovně nebo objekty polí celých čísel.",
"Šablona konceptu nemůže mít přidružená omezení.",
"export se nepovoluje.",
"Export jednotlivých členů třídy se nepodporuje.",
"Exportovaná deklarace musí zavést název.",
"Deklarace exportu nemůže obsahovat deklaraci exportu (předchozí deklarace %p).",
"Deklarace exportu nemůže obsahovat deklaraci importu modulu.",
"Deklarace exportu se může vyskytnout jen v jednotce rozhraní modulu.",
"Deklarace exportu nemůže exportovat název s interním propojením.",
"Deklarace using zahrnuje %nfd.",
"Předdefinovaná funkce není dostupná, protože typy s plovoucí desetinnou čárkou __fp16 se nepodporují.",
"Výraz requires musí určovat alespoň jeden požadavek.",
"Modifikátor constinit tady není platný.",
"Modifikátor constinit je platný jen pro deklarace proměnných s dobou trvání úložiště static nebo thread.",
"Proměnná constinit vyžaduje dynamickou inicializaci.",
"Proměnná se už dříve deklarovala s constinit %p.",
"Použití deklarátoru funkce, která není prototyp",
"Argument nemůže mít typ kvalifikovaný jako const.",
"Ukazatel na člen neúplného typu %t se nepovoluje.",
"Rozšíření balíčku v init-capture se v tomto režimu nepodporuje.",
"Rozšíření balíčku v init-capture je funkce jazyka C++20.",
"Operátor porovnání v definici třídy nastavený jako výchozí musí být první deklarace daného operátoru porovnání (%nd).",
"Rozšíření balíčku v init-capture se dá použít jen ve variadické šabloně.",
"Omezení typu používá %nd, které není konceptem typu (tj. šablona konceptu, jejíž první parametr je parametr typu).",
"Odvozený typ zástupného symbolu %t nesplnil omezení typu.",
"Výchozí konstruktor pro %t není oprávněný.",
"Destruktor pro %t je nejednoznačný kvůli neuspořádaným omezením.",
"Destruktor pro %t není oprávněný kvůli neúspěšným omezením.",
"Kandidát nejednoznačného destruktoru",
"Virtuální funkce nemůže mít na konci klauzuli requires.",
"%nd nesplňuje svá omezení.",
"Výsledek kvalifikátoru decltype %t není třída ani výčet.",
"Porovnání je ve standardním C++20 nejednoznačné, protože implikovaný operátor porovnání se zaměněnými parametry je stejně dobrá shoda -- příčinou je obvykle chybějící kvalifikátor const u operátoru porovnání. Podívejte se na %nod.",
"Neplatné concept-id",
"Nepovedlo se nahradit argumenty %T pro klauzuli requires.",
"Omezení pro %nd se nesplnila.",
"typ proměnné %t ve funkci constexpr má virtuální základní třídy",
"konstantní výraz nemůže přidělit virtuální základní podobjekt (pro typ %t)",
"parametr šablony typu třídy musí být typu strukturální třídy",
"podpora pro literály UTF-8 vyžaduje podporu literálů u-literal.",
"mapování souborů modulu pro %s bylo zadané více než jednou",
"mapování jednotek záhlaví pro %s bylo zadané více než jednou",
"není zadané žádné mapování pro %s",
"mapování souborů modulu pro %s je neplatné",
"nejde najít záhlaví %s, které se má importovat",
"více než jeden soubor v seznamu souborů modulu odpovídá %s",
"soubor modulu, který se našel pro %s, je pro jiný modul",
"libovolný druh souboru modulu",
"nejde přečíst soubor modulu",
"předdefinovaná funkce není k dispozici, protože typ char8_t se nepodporuje s aktuálními možnostmi",
"možnost příkazového řádku --ms_await nejde zadat, pokud jsou povolené korutiny C++20",
"nestandardní použití explicitního konstruktoru %nod pro inicializaci výchozího agregačního elementu"
]
+162 -33
View File
@@ -171,7 +171,7 @@
"Es wurde eine Deklaration erwartet.",
"Der Zeiger zeigt auf eine Stelle außerhalb des zugrunde liegenden Objekts.",
"Ungültige Typkonvertierung.",
"Konflikt für externe/interne Bindung mit vorheriger Deklaration.",
"Konflikt für externe/interne Bindung mit vorheriger Deklaration %p",
"Der Gleitkommawert passt nicht in den erforderlichen integralen Typ.",
"Der Ausdruck hat keinen Effekt.",
"Index außerhalb des definierten Bereichs.",
@@ -311,7 +311,7 @@
"Mehrere Instanzen des Konstruktors \"%no\" stimmen mit der Argumentliste überein:",
"Das Standardargument vom Typ \"%t1\" ist mit dem Parameter vom Typ \"%t2\" inkompatibel.",
"Funktionen, die sich nur durch den Rückgabetyp unterscheiden, können nicht überladen werden.",
"Es ist keine passende benutzerdefinierte Konvertierung von \" %t1\" in \"%t2\" vorhanden.",
"Es ist keine passende benutzerdefinierte Konvertierung von %t1 in %t2 vorhanden.",
null,
"Nur nicht statische Memberfunktionen dürfen virtuell sein.",
"Das Objekt weist Typqualifizierer auf, die nicht mit der Memberfunktion kompatibel sind.",
@@ -321,7 +321,7 @@
"Der reine Spezifizierer (\"= 0\") ist nur in virtuellen Funktionen zulässig.",
"Falsch formatierter reiner Spezifizierer (nur \"= 0\" ist zulässig).",
"Ein Datenmemberinitialisierer ist nicht zulässig.",
"Ein Objekt vom Typ \"%t\" einer abstrakten Klasse ist nicht zulässig:",
"Ein Objekt vom Typ %t einer abstrakten Klasse ist nicht zulässig:",
"Eine Funktion, die die abstrakte Klasse \"%t\" zurückgibt, ist nicht zulässig:",
"Doppelte Frienddeklaration.",
"Der Inlinespezifizierer ist nur in Funktionsdeklarationen zulässig.",
@@ -352,8 +352,8 @@
"Mehr als ein %sq-Operator stimmt mit diesen Operanden überein:",
"Der erste Parameter der Speicherbelegungsfunktion muss vom Typ \"size_t\" sein.",
"Die Speicherbelegungsfunktion erfordert den Rückgabetyp \"void *\".",
"Die Funktion zum Aufheben der Zuordnung erfordert den Rückgabetyp \"void\".",
"Der erste Parameter der Funktion zum Aufheben der Zuordnung muss vom Typ \"void *\" sein.",
"Die Funktion zur Belegungsfreigabe erfordert den Rückgabetyp \"void\".",
"Der erste Parameter der Funktion zur Belegungsfreigabe muss vom Typ \"void *\" sein.",
null,
"Der Typ muss ein Objekttyp sein.",
"Die Basisklasse \"%t\" wurde bereits initialisiert.",
@@ -388,7 +388,7 @@
"Keine Instanz von \"%n\" stimmt mit dem erforderlichen Typ überein.",
"delete array size-Ausdruck wurde verwendet (Anachronismus)",
null,
"Eine Umwandlung in die abstrakte Klasse \"%t\" ist nicht zulässig:",
"Eine Umwandlung in die abstrakte Klasse %t ist nicht zulässig:",
"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.",
@@ -420,9 +420,9 @@
"Es gilt mehr als eine Konvertierungsfunktion von \"%t\" in einen integrierten Typ:",
"Konstante \"%n\"",
"Verweis \"%n\"",
"%npT",
"%npTd",
"Integrierter %sq-Operator",
"%no (mehrdeutig durch Vererbung)",
"%nod, mehrdeutig durch Vererbung",
"Die Adresse eines Konstruktors oder Destruktors darf nicht verwendet werden.",
null,
"Es wurde ein temporärer Wert für den Anfangswert des Verweises auf die Nicht-Konstante verwendet (Anachronismus).",
@@ -602,8 +602,8 @@
"Der Strict-Modus ist inkompatibel mit zulassenden Anachronismen.",
"Ein throw-Ausdruck darf nicht den Typ \"void\" aufweisen.",
"Der lokale Instanziierungsmodus ist inkompatibel mit der automatischen Instanziierung.",
"Ein Parameter vom Typ \"%t\" einer abstrakten Klasse ist nicht zulässig:",
"Ein Array einer abstrakten Klasse \"%t\" ist nicht zulässig:",
"Ein Parameter vom Typ %t einer abstrakten Klasse ist nicht zulässig:",
"Ein Array einer abstrakten Klasse %t ist nicht zulässig:",
"Der Gleitkommawert-Vorlagenparameter entspricht nicht dem Standard.",
"Dieses Pragma muss unmittelbar vor einer Deklaration stehen.",
"Dieses Pragma muss unmittelbar vor einer Anweisung stehen.",
@@ -732,7 +732,7 @@
"%n ist keine Klassenvorlage.",
"Ein Array mit unvollständigem Elementtyp entspricht nicht dem Standard.",
"Ein Speicherbelegungsoperator darf nicht in einem Namespace deklariert werden.",
"Ein Operator zum Aufheben der Zuordnung darf nicht in einem Namespace deklariert werden.",
"Ein Operator zur Belegungsfreigabe darf nicht in einem Namespace deklariert werden.",
"\"%np1\" steht mit der using-Deklaration von \"%np2\" in Konflikt.",
"Die using-Deklaration von \"%np1\" steht mit \"%npd2\" in Konflikt.",
"Die namespaces-Option kann nur beim Kompilieren von C++ verwendet werden.",
@@ -857,7 +857,7 @@
"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.",
"\"%n\" ist keine reine virtuelle Funktion.",
"%n ist eine reine virtuelle Funktion",
"\"%n\" (rein virtuell) hat keinen Überschreiber.",
"__declspec-Attribute werden ignoriert.",
"Ungültiges Zeichen in Eingabedatei.",
@@ -986,7 +986,7 @@
"Für den new- und den delete-Operator kann keine interne Bindung angegeben werden.",
"Die Speicherklasse \"mutable\" ist für anonyme Unions nicht zulässig.",
"Ungültige vorkompilierte Headerdatei.",
"Der abstrakte Klassentyp \"%t\" ist nicht als Catch-Typ zulässig:",
"Der abstrakte Klassentyp %t ist nicht als Catch-Typ zulässig:",
"Ein qualifizierter Funktionstyp kann nicht zum Deklarieren einer Nichtmemberfunktion oder einer statischen Memberfunktion verwendet werden.",
"Ein qualifizierter Funktionstyp kann nicht zum Deklarieren eines Parameters verwendet werden.",
"Es kann kein Zeiger oder Verweis auf einen qualifizierten Funktionstyp erstellt werden.",
@@ -1361,7 +1361,7 @@
"Variablenattribute nach einem in Klammern gesetzten Initialisierer werden ignoriert.",
"Das Ergebnis dieser Umwandlung kann nicht als lvalue verwendet werden.",
"Negation eines nicht signierten Festkommawerts.",
"Dieser Operator ist an dieser Stelle nicht zulässig; verwenden Sie Klammern.",
null,
null,
"Registrierungsnamen können nur für Registrierungswerte verwendet werden.",
"Variablen mit benannter Registrierung können nicht den Typ \"void\" aufweisen.",
@@ -1535,7 +1535,7 @@
"Ungültiger Wert für Neudefinitionsfehler.",
"Doppelter Funktionsmodifizierer.",
"Ungültiges Zeichen für char16_t-Literal.",
"__LPREFIX kann nicht auf char8_t-, char16_t- oder char32_t-Literale angewendet werden.",
null,
"Unbekannte Aufrufkonvention \"%s\", muss eine der folgenden Optionen sein:",
null,
null,
@@ -2065,7 +2065,7 @@
"ein cli::pin_ptr-Rückgabetyp ist nicht zulässig",
"Attribut %sq wird nur im %[C++/CLI]-Modus angewendet",
"ein einfacher (Nicht-Nachverfolgungs-)Verweis kann nicht an eine Entität im verwalteten Heap gebunden werden",
"übertragbare Assembly",
"portierbare Assembly",
"'%s' nicht von Standardassemblys geladen",
"die Listeninitialisierungssyntax ist eine C++11-Funktion",
"der Operand von sizeof kann kein Verweisklassentyp oder Schnittstellenklassentyp sein",
@@ -2354,7 +2354,7 @@
"\"#include <initializer_list>\" ist vor der Verwendung von \"std::initializer_list\" erforderlich, einschließlich einer impliziten Verwendung.",
"Das 'inline'-Schlüsselwort darf nicht in einer Namespacealiasdeklaration verwendet werden.",
"Die vorherige Deklaration von \"%n\" wurde nicht inline deklariert.",
"Eine Neudeklaration von \"%n\" (inline) muss inline deklariert werden.",
"%n wurde zuvor als Inline deklariert.",
"Das erste Argument muss eine ganzzahlige Konstante sein.",
"Ein Kennzeichner darf nicht mit einem Nicht-Aggregattyp %t verwendet werden.",
"Ein Kennzeichner für einen anonymen Union-Member darf nur innerhalb geschweifter Klammern auftreten, die zu dieser anonymen Union gehören.",
@@ -2435,7 +2435,7 @@
"Der constexpr-Konstruktor muss die direkte Basisklasse %t initialisieren.",
"Das Erstellen eines \"std::initializer_list\"-Objekts in einem Feldinitialisierer funktioniert wahrscheinlich nicht wie erwartet, da das zugrunde liegende Array am Ende des vollständigen Ausdrucks zerstört wird.",
"'this' kann nicht in einem konstanten Ausdruck verwendet werden.",
"Ein leerer Initialisierer ist für diesen Union-Typ nicht gültig (der zu initialisierende Member ist nicht eindeutig).",
null,
"'constexpr' ist in einer expliziten Instanziierungsdirektive nicht zulässig.",
"Die Ausnahmespezifikation des Standardkonstruktors kann aufgrund einer Ringabhängigkeit nicht bestimmt werden.",
"Anonyme Union definiert als %p",
@@ -2474,7 +2474,7 @@
"Ungültiger Qualifizierer für \"%t\" (eine abgeleitete Klasse ist an dieser Stelle nicht zulässig).",
"Das Attribut \"always_inline\" wird für Nicht-Inlinefunktionen ignoriert.",
"Erbende Konstruktoren müssen von einer direkten Basisklasse geerbt werden.",
"\"%np\" hat bereits von \"%t\" geerbt.",
null,
"Bezeichnung erwartet",
"Operandennummer nach \"%%l\" erwartet",
"Operandennummer für '%%l' verweist nicht auf ein gültiges Bezeichnungsargument.",
@@ -2515,7 +2515,7 @@
"Gelöschte Funktionen sind eine C++11-Funktion.",
"Standardfunktionen sind eine C++11-Funktion.",
"Eine Speicherklasse ist in einer expliziten Spezialisierung nicht zulässig.",
"\"%t\" ist keine Klasse oder Enumeration mit eigenem Gültigkeitsbereich.",
null,
"Eine Enumeration ohne eigenen Gültigkeitsbereich muss undurchsichtig sein, um spezialisiert werden zu können.",
"Eine Enumerationsvorlagendeklaration muss auf einen zuvor deklarierten Member einer Klassenvorlage verweisen.",
"Es wurde ein Vektoroperand erwartet.",
@@ -2759,7 +2759,7 @@
"Die Variable darf keinen unvollständigen Typ \"%t\" aufweisen.",
"Zugriff auf nicht initialisiertes Teilobjekt (%n).",
"Zugriff auf nicht initialisiertes Teilobjekt (Basisklasse %t).",
"Leerer Destruktoraufruf.",
"Ein Pseudodestruktoraufruf ist in einem Konstantenausdruck nicht zulässig.",
"Versuch, const-Speicher zu ändern.",
null,
null,
@@ -2790,7 +2790,7 @@
"Der Vektorelementtyp muss eine Ganzzahl, eine Enumeration oder ein echter Gleitkommatyp sein.",
"Die integrierte Funktion ist nicht verfügbar, da 128-Bit-Ganzzahlen nicht unterstützt werden.",
"Die integrierte Funktion ist nicht verfügbar, da Vektortypen nicht unterstützt werden.",
"Zwei aufeinanderfolgende linke eckige Klammern können nur eine Attributliste einleiten.",
"Zwei aufeinanderfolgende öffnende eckige Klammern leiten immer eine Attributliste ein, aber eine Attributliste darf an dieser Stelle nicht vorkommen.",
"Ein nicht erkanntes Zielattribut schließt diese Routine von der Verwendung durch eine Resolverroutine aus.",
"\"%t\" ist kein Vektortyp.",
"Die Vektortypen %t1 und %t2 müssen gleich lang sein.",
@@ -2806,11 +2806,11 @@
"Ein Standardmemberinitialisierer ist in einer Werteklasse nicht zulässig.",
"\"--implicit_noexcept\" erfordert einen Modus, der \"noexcept\" aktiviert.",
"Ein Vorgang, der eine virtuelle Basisklasse (%t) beinhaltet, kann nicht gefaltet werden.",
null,
"Die Initialisierung ist nicht konstant.",
"Der unvollständige %t-Wert kann nicht ausgewertet werden.",
"Der Rückgabewert der Routine, die mit dem Attribut \"nodiscard\" deklariert ist, wird ignoriert.",
"Der Rückgabewerttyp mit dem Attribut \"nodiscard\" wird ignoriert.",
"Das Attribut \"nodiscard\" gilt nicht für Konstruktoren, Destruktoren oder Routinen mit einem ungültigen Rückgabetyp.",
"Das Attribut \"nodiscard\" gilt nicht für Destruktoren oder Routinen mit einem ungültigen Rückgabetyp.",
"Das Attribut \"fallthrough\" gilt nur für NULL-Anweisungen.",
"Das Attribut \"fallthrough\" erscheint unter Umständen nur in einer einschließenden switch-Anweisung.",
"Die \"fallthrough\"-Anweisung muss einer \"switch case\"-Bezeichnung oder \"default\" vorausgehen.",
@@ -2821,7 +2821,7 @@
"\"__has_include\" kann nicht außerhalb von \"#if\" vorkommen.",
"Die Basisklasse \"CComCoClass\" konnte nicht hinzugefügt werden.",
"Keine NULL-terminierte Zeichenfolge.",
"Der nicht skalare Typ %t kann nicht in einem leeren Destruktoraufruf verwendet werden.",
"Der nicht skalare Typ \"%t\" kann nicht in einem Pseudodestruktoraufruf verwendet werden.",
"Die Adresse von \"weak\" %n ist nicht konstant.",
"Zu viele rekursive Ersetzungen von Funktionsvorlagensignaturen.",
"Ungültiger Spezifizierer für eine strukturierte Bindungsdeklaration.",
@@ -3122,7 +3122,7 @@
"Das Erfassen von *this ist in diesem Modus nicht standardisiert.",
"Attributpräfix \"using\" im C++17-Stil ist in diesem Modus nicht standardisiert.",
"Geschachtelte Namespaces im C++17-Stil sind in diesem Modus nicht standardisiert.",
"\"constexpr\" und \"consteval\" können in einer Deklaration nicht zugleich auftreten.",
"In einer Deklaration kann nur einer der Werte \"constexpr\", \"consteval\" und \"constinit\" verwendet werden.",
"Eine Funktion kann in diesem Modus nicht zugleich consteval und virtual sein.",
"\"consteval\" ist in einer expliziten Instanziierungsdirektive nicht zulässig.",
"\"consteval\" ist hier nicht gültig.",
@@ -3166,11 +3166,11 @@
"Das Attribut \"internal_linkage\" war in keiner vorherigen Deklaration vorhanden.",
"Für \"%n\" wurde kein geeigneter Kandidat für die Vorlagenargumentdeduktion gefunden.",
"Der Aufruf eines vollqualifizierten Konstruktors ist nicht zulässig.",
"Ein Vergleichsoperator kann nur in einer Klassendefinition standardmäßig verwendet werden.",
"Ein auf den Standardwert festgelegter Vergleichsoperator muss ein Member oder Friend der Klasse sein, auf die er angewendet wird.",
"Ungültiger Typ \"%t\" für den Parameter des Standardvergleichsoperators (muss \"reference to const X\" lauten, wobei X für den einschließenden Klassentyp steht).",
"Der Rückgabetyp des Standardvergleichsoperators muss \"bool\" lauten.",
"Ein standardmäßiger Membervergleichsoperator muss \"const\" lauten.",
"In dieser Klasse ist mehr als ein standardmäßiger spaceship-Operator definiert.",
null,
"Für den promise-Typ \"%t\" einer Coroutine kann nicht sowohl \"return_void\" als auch \"return_value\" festgelegt werden.",
"\"return_value\" in \"%p\" deklariert.",
"\"return_void\" hat \"%p\" deklariert.",
@@ -3190,10 +3190,10 @@
"Kein statisches constexpr-Datenmember \"%sq\" in \"%t\" gefunden.",
"Die Anzahl der Elemente (%d) ist zu groß für die dynamische Zuordnung.",
"Die Anforderung für die dynamische constexpr-Zuordnung ist zu groß.",
"Die Zuordnung des nicht dynamisch zugeordneten Speichers wird aufgehoben.",
"Die Größe der Zuordnungsaufhebung (%d1) entspricht nicht der Zuordnungsgröße (%d2).",
"Belegungsfreigabe für nicht dynamisch zugeordneten Speicher",
"Die Größe der Belegungsfreigabe (%d1) entspricht nicht der Größe der Speicherbelegung (%d2).",
"Zuordnung hier erfolgt",
"Der Typ der Zuordnungsaufhebung (%t1) entspricht nicht dem Zuordnungstyp (%t2).",
"Der Typ der Belegungsfreigabe (%t1) entspricht nicht dem Typ der Speicherbelegung (%t2).",
"Einige dynamische Zuordnungen (Gesamtzahl = %d) wurden nicht aufgehoben.",
"%n (systemintern) mit unerwarteter Signatur deklariert (Typ \"%t\").",
">> Ausgabe von std::__report_constexpr_value",
@@ -3220,7 +3220,136 @@
"Das Attribut \"ext_vector_type\" gilt nur für ganze Zahlen oder Gleitkommatypen.",
"Dieses Feature-Test-Makro wird im aktuellen Kompilierungsmodus ignoriert (und gibt 0 zurück).",
"Ein Aggregatinitialisierer mit mehreren Elementen für eine Union kann nicht ausgewertet werden.",
"\"%nd\", für Operatorumschreibung ausgewählt, gibt nicht den Typ \"bool\" zurück.",
"Ein new-expression mit Aufruf einer klassenspezifischen Zuteilungsfunktion kann nicht in einem konstanten Ausdruck ausgewertet werden.",
"Ein new-expression mit Platzierung kann nicht in einem konstanten Ausdruck ausgewertet werden.",
"Das Löschen über einen Teilobjektzeiger erfordert einen virtuellen Destruktor.",
"%npTd, mit umgekehrten Argumenten",
"Der Operand von __INTADDR__ muss ein Offset vom NULL-Zeiger aufweisen.",
"_Generic-Konstrukt stimmt mit mehreren Typen überein.",
"Die andere Übereinstimmung lautet \"%t\".",
"Das hier verwendete Attribut \"availability\" wird ignoriert.",
"Die C++20-Initialisierungsanweisung in einer bereichsbasierten for-Anweisung entspricht in diesem Modus nicht dem Standard.",
"co_await kann nur auf eine bereichsbasierte for-Anweisung angewendet werden.",
"Der Typ des Bereichs kann in einer bereichsbasierten for-Schleife nicht abgeleitet werden.",
"Inlinevariablen sind ein C++17-Feature.",
"Für eine \"operator delete\"-Funktion mit Zerstörung wird \"%t\" als erster Parameter benötigt.",
"Eine \"operator delete\"-Funktion mit Zerstörung kann nur die Parameter \"std::size_t\" und \"std::align_val_t\" aufweisen.",
"Optionen einer lockeren abstrakten Klasse können nur beim Kompilieren von C++ verwendet werden.",
"Ungültiger Start des Ausdrucks in requires-Klausel.",
"Ein cast-Ausdruck in einer requires-Klausel muss in Klammern gesetzt werden.",
"Der this-Operator darf in einer requires-Klausel nicht auf oberster Ebene (ohne Klammern) verwendet werden.",
"Die atomische Einschränkung muss den Typ \"bool\" aufweisen.",
"Fehler beim Ersetzen der atomischen Einschränkung.",
"Die atomische Einschränkung ist nicht konstant.",
"Die atomische Einschränkung wird als FALSE ausgewertet.",
"Die Vorlageneinschränkung wurde nicht erfüllt.",
"Die Konzeptdefinition kann in diesem Bereich nicht verwendet werden.",
"Ungültige Neudeklaration von \"%nd\".",
"Fehler beim Ersetzen von Argumenten \"%T\" für \"concept-id\".",
"Das Konzept für die Argumente \"%T\" ist FALSE.",
"Eine requires-Klausel ist hier nicht zulässig (keine Funktion mit Vorlagen).",
"Konzeptvorlage",
"Die requires-Klausel ist nicht mit \"%nfd\" kompatibel.",
"Es wurde ein Attribut erwartet.",
null,
"Es wurde ein Typname erwartet.",
"Ein ellipsis-Parameter ist in einem requires-Ausdruck nicht zulässig.",
"Ein unbenannter Parameter in einem requires-Ausdruck hat keine Auswirkungen.",
"Es wurde ein Konzeptname erwartet.",
"Der Aufruf von \"%s\" in einem konstanten Ausdruck führt immer zur Ausgabe von TRUE.",
"Der Aufruf von \"%s\" in einem consteval-Kontext führt immer zur Ausgabe von TRUE.",
"Der Aufruf von \"%s\" in einer Nicht-constexpr-Funktion führt immer zur Ausgabe von FALSE.",
"Fehler bei Typeinschränkung für \"%t\".",
"Die Option \"export\" kann nicht in einem Modus verwendet werden, in dem C++-Module aktiviert sind.",
"Eine globale Modulfragmentdeklaration muss einer anderen Deklaration vorangestellt sein.",
"Einer Moduldeklaration kann nur ein globales Modulfragment vorangestellt sein.",
"Einem privaten Modulfragment muss eine Moduldeklaration vorangestellt sein.",
"Ein Modulfragment vom Typ \"%s\" kann nicht exportiert werden.",
"Es kann nicht mehr als ein Modul deklariert werden.",
"Es kann nur ein Modulfragment vom Typ \"%s\" deklariert werden.",
"Ein Modul muss mit einem nicht leeren Namen deklariert werden.",
"\"%sq\" ist kein importierbarer Header.",
"Ein Modul ohne Namen kann nicht importiert werden.",
"Ein Modul kann keine Schnittstellenabhängigkeit von sich selbst aufweisen.",
"Das Modul \"%sq\" wurde bereits importiert.",
"Moduldatei",
"Die Moduldatei \"%sq\" für den Import wurde nicht gefunden.",
"Die Moduldatei \"%sq\" konnte nicht importiert werden."
"Die Moduldatei für das Modul \"%sq\" wurde nicht gefunden.",
"Die Moduldatei \"%sq\" konnte nicht importiert werden.",
"Erwartet wurde \"%s1\", stattdessen gefunden: \"%s2\".",
"beim Öffnen der Moduldatei \"%sq\"",
"Unbekannter Partitionsname \"%sq\".",
"Unbekannte Moduldatei",
"Importierbare Headermoduldatei",
"EDG-Moduldatei",
"IFC-Moduldatei",
"Unerwartete Moduldatei",
"Der Typ des zweiten Operanden, \"%t2\", muss die gleiche Größe aufweisen wie \"%t1\".",
"Der Typ muss trivial kopierbar sein.",
"Der Typ \"%t\" wird derzeit für die constexpr-Auswertung von \"__builtin_bit_cast\" nicht unterstützt.",
"Klassentypen mit %t-Bitfeldern werden derzeit für die constexpr-Auswertung von \"__builtin_bit_cast\" nicht unterstützt.",
"Ein nicht statischer Datenmember vom Verweistyp \"%t\" verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
"Ein flüchtiger %t-Typ verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
"Ein Union-, Zeiger- oder Pointer-to-Member-Typ \"%t\" verhindert die constexpr-Auswertung von \"__builtin_bit_cast\".",
"%npTd, geerbt über die Verwendung von decl %p",
"Die Teilobjekterstellung von \"%t\" für erbende Konstruktoren kann nicht durchgeführt werden der implizite Standardkonstruktor wurde gelöscht.",
"\"%n\" muss \"void\" zurückgeben.",
"Ungültiger Beginn der Memberdeklaration.",
"Erwartet wurde \"auto\".",
"Der this-Operator ist an dieser Stelle nicht zulässig. Schließen Sie den vorangehenden new-Ausdruck in Klammern ein.",
"Ungültige Verwendung von \"concept\".",
"Ein standardmäßiger Membervergleichsoperator kann nicht &&-qualifiziert sein.",
"Die constexpr-Standardvergleichsfunktion ruft die Nicht-constexpr-Funktion \"%nd\" auf.",
"Der constexpr-Speichervergleich wird nur für integer-Objekte oder array-of-integer-Objekte oberster Ebene unterstützt.",
"Einer Konzeptvorlage können keine Einschränkungen zugeordnet sein.",
"\"export\" ist nicht zulässig.",
"Das Exportieren einzelner Klassenmember ist nicht zulässig.",
"Eine exportierte Deklaration muss einen Namen einführen.",
"Eine Exportdeklaration kann keine Exportdeklaration enthalten (vorherige Deklaration: %p).",
"Eine Exportdeklaration kann keine Modulimportdeklaration enthalten.",
"Eine Exportdeklaration kann nur in einer Modulschnittstelleneinheit verwendet werden.",
"Eine Exportdeklaration kann keinen Namen mit interner Verknüpfung exportieren.",
"Die using-Deklaration enthält \"%nfd\".",
"Die integrierte Funktion ist nicht verfügbar, weil __fp16-Gleitkommatypen nicht unterstützt werden.",
"Für einen requires-Ausdruck muss mindestens eine Anforderung angegeben werden.",
"\"constinit\" ist hier nicht gültig.",
"\"constinit\" ist nur für Deklarationen von Variablen mit Speicherdauer \"static\" oder \"thread\" gültig.",
"Die constinit-Variable erfordert eine dynamische Initialisierung.",
"Die Variable wurde zuvor mit \"constinit\" %p deklariert.",
"Verwendung eines Funktionsdeklarators ohne Prototyp ",
"Das Argument darf keinen const-qualifizierten Typ aufweisen.",
"Eine Pointer-to-Member-Funktion eines unvollständigen Typs \"%t\" ist nicht zulässig.",
"Die Paketerweiterung in \"init-capture\" ist in diesem Modus nicht aktiviert.",
"Die Paketerweiterung in \"init-capture\" ist ein C++ 20-Feature.",
"Ein auf den Standardwert festgelegter Vergleichsoperator in einer Klassendefinition muss als erste Deklaration dieses Vergleichsoperators (%nd) aufgeführt sein.",
"Eine Paketerweiterung in \"init-capture\" kann nur in einer variadischen Vorlage verwendet werden.",
"Die Typeinschränkung verwendet \"%nd\". Dies ist kein Typkonzept (d. h. eine Konzeptvorlage, deren erster Parameter ein Typparameter ist).",
"Fehler bei der Typeinschränkung aufgrund des hergeleiteten Platzhaltertyps \"%t\".",
"Der Standardkonstruktor für \"%t\" ist nicht gültig.",
"Der Destruktor für \"%t\" ist aufgrund ungeordneter Einschränkungen mehrdeutig.",
"Der Destruktor für \"%t\" ist aufgrund fehlerhafter Einschränkungen nicht gültig.",
"Mehrdeutiger Destruktorkandidat",
"Eine virtuelle Funktion darf keine nachfolgende requires-Klausel aufweisen.",
"\"%nd\" erfüllt nicht die Einschränkungen.",
"Das Ergebnis des decltype-Qualifizierers \"%t\" ist keine Klasse oder Enumeration.",
"Der Vergleich ist in standardmäßigem C++20 mehrdeutig, weil der implizite Vergleichsoperator mit umgekehrten Parametern eine gleichwertige Übereinstimmung darstellt. Dies wird normalerweise durch einen fehlenden const-Qualifizierer für den Vergleichsoperator ausgelöst. Siehe \"%nod\".",
"Ungültige concept-id",
"Fehler beim Ersetzen von Argumenten \"%T\" für requires-Klausel.",
"Einschränkungen für \"%nd\" sind nicht erfüllt.",
"Der Variablentyp \"%t\" in der constexpr-Funktion weist virtuelle Basisklassen auf.",
"Ein konstanter Ausdruck kann kein virtuelles Basisteilobjekt zuordnen (für den Typ \"%t\").",
"Ein Vorlagenparameter des Klassentyps muss einen strukturellen Klassentyp aufweisen.",
"Die Unterstützung für UTF-8-Literale erfordert Unterstützung für u-Literale.",
"Die Moduldateizuordnung für \"%s\" wurde mehrmals angegeben.",
"Die Zuordnung der Headereinheit für \"%s\" wurde mehrmals angegeben.",
"Für \"%s\" wurde keine Zuordnung angegeben.",
"Die Moduldateizuordnung für \"%s\" ist ungültig.",
"Der zu importierende Header \"%s\" wurde nicht gefunden.",
"Mehrere Dateien in der Moduldateiliste stimmen mit \"%s\" überein.",
"Die für \"%s\" gefundene Moduldatei ist für ein anderes Modul bestimmt.",
"Beliebige Art von Moduldatei",
"Die Moduldatei kann nicht gelesen werden.",
"Die integrierte Funktion ist nicht verfügbar, weil der char8_t-Typ mit den aktuellen Optionen nicht unterstützt wird.",
"Die Befehlszeilenoption \"--ms_await\" kann nicht angegeben werden, wenn C++20-Coroutinen aktiviert sind.",
"Nicht standardmäßige Verwendung des expliziten Konstruktors \"%nod\" für die standardmäßige Aggregatelementinitialisierung"
]
+149 -20
View File
@@ -171,7 +171,7 @@
"se esperaba una declaración",
"el puntero señala fuera del objeto subyacente",
"conversión de tipo no válida",
"conflicto de vinculación externa o interna con la declaración anterior",
"conflicto de vinculación externa o interna con la declaración anterior %p",
"el valor de punto flotante no incluye el tipo entero requerido",
"la expresión no tiene efecto",
"el subíndice está fuera del intervalo",
@@ -420,9 +420,9 @@
"se aplica más de una función de conversión de %t a un tipo integrado:",
"const %n",
"referencia %n",
"%npT",
"%npTd",
"operador integrado %sq",
"%no (ambiguo por herencia)",
"%nod, ambiguo por herencia",
"no se puede tomar la dirección de un constructor o destructor",
null,
"elemento temporal usado para el valor inicial de referencia a un elemento que no es const (anacronismo)",
@@ -1361,7 +1361,7 @@
"los atributos de variable que aparecen después de un inicializador entre paréntesis se omiten",
"el resultado de esta conversión no se puede usar como valor L",
"negación de un valor de punto fijo sin signo",
"este operador no está permitido en este punto; use paréntesis",
null,
null,
"los nombres de registro solo se pueden usar para las variables de registro",
"las variables de registro con nombre no pueden tener el tipo void",
@@ -1535,7 +1535,7 @@
"valor que indica que no se puede definir de nuevo no válido",
"modificador de función duplicado",
"carácter no válido para el literal char16_t",
"__LPREFIX no se puede aplicar a los literales char8_t, char16_t o char32_t",
null,
"convención de llamada %s no reconocida, debe ser una de las siguientes:",
null,
null,
@@ -2065,7 +2065,7 @@
"no se permite el tipo de valor devuelto cli::pin_ptr",
"el atributo %sq se aplica solamente en el modo %[C++/CLI]",
"una referencia simple (que no sea de seguimiento) no se puede enlazar a una entidad en el montón administrado",
"ensamblado portátil",
"ensamblado portable",
"'%s' no se cargó de los ensamblados predeterminados",
"la sintaxis de inicialización de la lista es una funcionalidad de C++11",
"el operando de sizeof no puede ser un tipo de clase ref o interface",
@@ -2354,7 +2354,7 @@
"es necesario #include <lista_de_inicializadores> antes de usar std::initializer_list, incluido un uso implícito",
"la palabra clave 'inline' no se puede usar en una declaración de alias de espacio de nombres",
"la declaración de %n anterior no se declaró como inline",
"una nueva declaración de %n inline debe declararse como inline",
"%n se declaró anteriormente como inline",
"el primer argumento debe ser una constante de tipo entero",
"un designador no se puede usar con un tipo %t no agregado",
"Un designador de un miembro de unión anónima solo puede aparecer entre las llaves correspondientes a esa unión anónima",
@@ -2435,7 +2435,7 @@
"el constructor constexpr debe inicializar la clase base directa %t",
"es probable que la creación de un objeto std::initializer_list en un inicializador de campo no funcione según lo esperado porque la matriz subyacente se destruirá al final de la expresión completa",
"'this' no se puede usar en una expresión constante",
"un inicializador vacío no es válido para este tipo de unión (la elección del miembro que debe inicializarse es ambigua)",
null,
"\"constexpr\" no se permite en una directiva de creación de una instancia explícita",
"no se puede determinar la especificación de excepción del constructor predeterminado debido a una dependencia circular",
"la unión anónima definió %p",
@@ -2474,7 +2474,7 @@
"calificador no válido para %t (no se permite aquí una clase derivada)",
"el atributo \"always_inline\" se omite en funciones no insertadas",
"los constructores de herencia deben heredarse de una clase base directa",
"%np ya se ha heredado de %t",
null,
"se esperaba una etiqueta",
"se esperaba un número de operando después de \"%%l\"",
"el número de operando de \"%%l\" no hace referencia a un argumento de etiqueta válido",
@@ -2515,7 +2515,7 @@
"las funciones eliminadas son una característica de C++11",
"las funciones con valores predeterminados son una característica de C++11",
"no se permite una clase de almacenamiento en una especialización explícita",
"%t no es una clase o una enumeración con ámbito",
null,
"Una enumeración sin ámbito debe ser opaca para que pueda especializarse",
"una declaración de plantilla de enumeración debe hacer referencia a un miembro anteriormente declarado de una plantilla de clase",
"se esperaba un operando vectorial",
@@ -2759,7 +2759,7 @@
"la variable no puede tener el tipo %t incompleto",
"acceso a subobjeto no inicializado (%n)",
"acceso a subobjeto no inicializado (clase base %t)",
"llamada a destructor vacío",
"no se permite una llamada a un pseudodestructor en una expresión constante",
"intento de modificar almacén de constantes",
null,
null,
@@ -2790,7 +2790,7 @@
"el tipo de elemento de vector debe ser integral, enumeración o punto flotante real",
"la función builtin no está disponible porque no se admiten enteros de 128 bits",
"la función builtin no está disponible porque no se admiten tipos de vectores",
"dos corchetes izquierdos consecutivos solo pueden introducir una lista de atributos",
"dos corchetes izquierdos consecutivos siempre introducen una lista de atributos, pero aquí no puede aparecer una lista de ese tipo",
"el atributo \"target\" no reconocido descalifica esta rutina para su uso por la rutina de resolución",
"%t no es un tipo de vector",
"los tipos de vector %t1 y %t2 deben tener la misma longitud",
@@ -2806,11 +2806,11 @@
"no se permite un inicializador de miembros predeterminado en una clase de valor",
"\"--implicit_noexcept\" requiere un modo que habilite noexcept",
"no se puede plegar una operación que implica a la clase base virtual (%t)",
null,
"la inicialización no es constante",
"no se puede evaluar el valor de %t incompleto",
"ignorando el valor devuelto de la rutina declarada con el atributo \"nodiscard\"",
"ignorando el tipo de valor devuelto con el atributo \"nodiscard\"",
"el atributo \"nodiscard\" no se aplica a constructores, destructores ni rutinas con el tipo de valor devuelto void",
"el atributo \"nodiscard\" no se aplica a los destructores ni a las rutinas con un tipo de valor devuelto void",
"El atributo \"fallthrough\" solo se aplica a instrucciones null",
"El atributo \"fallthrough\" solo puede aparecer dentro de una instrucción switch",
"la instrucción fallthrough debe preceder a la etiqueta switch case o default",
@@ -2821,7 +2821,7 @@
"__has_include no puede aparecer fuera de #if",
"no se puede agregar la clase base CComCoClass",
"no es una cadena terminada en NULL",
"el tipo %t no escalar no se puede usar en la llamada a un destructor vacío",
"el tipo no escalar \"%t\" no se puede usar en una llamada a un pseudodestructor",
"la dirección de \"weak\" %n no es constante",
"demasiadas sustituciones recursivas de firmas de plantilla de función",
"especificador no válido para declaración de enlace estructurado",
@@ -3122,7 +3122,7 @@
"la captura de *this no es estándar en este modo",
"El prefijo del atributo \"using\" de estilo C++17 no es estándar en este modo",
"Los espacios de nombres anidados de estilo C++17 no son estándar en este modo",
"\"constexpr\" y \"consteval\" no pueden aparecer simultáneamente en una declaración",
"solo puede aparecer uno de los elementos \"constexpr\", \"consteval\" y \"constinit'' en una declaración",
"una función no puede ser consteval y virtual a la vez en este modo",
"\"consteval\" no se permite en una directiva de creación de una instancia explícita",
"\"consteval\" no es válido aquí",
@@ -3166,11 +3166,11 @@
"El atributo \"internal_linkage\" no aparecía en una declaración anterior",
"no se ha encontrado ningún candidato de deducción de argumentos de plantilla viable para %n",
"no se permite una llamada de constructor completa",
"a un operador de comparación solo se le puede asignar un valor predeterminado en una definición de clase",
"un operador de comparación predeterminado debe ser un miembro o un elemento de confianza de la clase a la que se aplica",
"tipo %t incorrecto para el parámetro del operador de comparación con valores predeterminados (debe ser una \"referencia a const X\", donde X es el tipo de clase envolvente)",
"el tipo de valor devuelto del operador de comparación con valores predeterminados debe ser \"bool\"",
"un operador de comparación de miembros con valores predeterminados debe ser \"const\"",
"Se ha definido más de un operador de nave espacial con valores predeterminados en esta clase",
null,
"un tipo de promesa %t de corrutina no puede tener \"return_void\" y \"return_value\" establecidos a la vez",
"\"return_value\" ha declarado %p",
"\"return_void\" ha declarado %p",
@@ -3220,7 +3220,136 @@
"el atributo \"ext_vector_type\" solo se aplica a tipos de punto flotante o enteros",
"esta macro de prueba de funcionalidades se ignora (y devuelve 0) en el modo de compilación actual",
"no se puede evaluar un inicializador de agregado con varios elementos para una unión",
"El elemento %nd seleccionado para la reescritura del operador no devuelve un tipo bool",
"una expresión \"new\" que llama a una función de asignación específica de clase no se puede evaluar como constante",
"una expresión de colocación \"new\" no se puede evaluar como constante",
"la eliminación mediante un puntero de subobjeto requiere un destructor virtual",
"%npTd, con argumentos inversos",
"el operando de __INTADDR__ debe estar desplazado respecto al puntero nulo",
"La construcción _Generic coincide con varios tipos",
"la otra coincidencia es %t",
"el atributo \"availability\" usado aquí se ignora",
"La instrucción del inicializador de estilo C++20 en una instrucción \"for\" basada en intervalo no es estándar en este modo",
"co_await solo se puede aplicar a una instrucción for basada en intervalo",
"no se puede deducir el tipo de intervalo en el bucle \"for\" basado en intervalo",
"las variables insertadas son una característica de C++17",
"el operador de destrucción requiere %t como primer parámetro",
"un operador de destrucción \"delete\" no puede tener parámetros distintos de std::size_t y std::align_val_t",
"las opciones de clase abstracta flexible solo se pueden usar al compilar C++",
"inicio no válido de la expresión en la cláusula requires",
"una expresión cast en una cláusula requires debe estar entre paréntesis",
"este operador no puede aparecer en el nivel superior (sin paréntesis) de una cláusula requires",
"la restricción atómica debe tener un tipo bool",
"error de sustitución de la restricción atómica",
"restricción atómica no constante",
"la restricción atómica se evalúa como false",
"la restricción de plantilla no se cumple",
"la definición de concepto no puede aparecer en este ámbito",
"nueva declaración de %nd no válida",
"error de sustitución de los argumentos %T para concept-id",
"el concepto es false para los argumentos %T",
"no se permite una cláusula requires aquí (no es una función basada en plantilla)",
"plantilla de concepto",
"la cláusula requires es incompatible con %nfd",
"se esperaba un atributo",
null,
"se esperaba un nombre de tipo",
"no se permite un parámetro de puntos suspensivos en una expresión requires",
"el parámetro sin nombre de la expresión requires no tiene ningún efecto",
"se esperaba un nombre de concepto",
"la llamada a %s que aparece en una expresión constante siempre genera \"true\"",
"la llamada a %s que aparece en un contexto consteval siempre genera \"true\"",
"la llamada a %s que aparece en una función que no es constexpr siempre genera \"false\"",
"error de la restricción de tipo de %t",
"no se puede usar la opción \"export\" en los modos en los que estén habilitados los módulos de C++",
"una declaración de fragmento de módulo global debe preceder a cualquier otra declaración",
"una declaración de módulo solo puede ir precedida de un fragmento de módulo global",
"un fragmento de módulo privado debe ir precedido de una declaración de módulo",
"no se puede exportar un fragmento de módulo de %s",
"no se puede declarar más de un módulo",
"no se puede declarar más de un fragmento de módulo de %s",
"un módulo debe declararse con un nombre que no esté vacío",
"%sq no es un encabezado que se pueda importar",
"no se puede importar un módulo sin nombre",
"un módulo no puede tener una dependencia de interfaz de sí mismo",
"el módulo %sq ya se ha importado",
"archivo de módulo",
"No se encuentra el archivo de módulo %sq para importarlo.",
"No se puede importar el archivo de módulo %sq."
"no se encuentra el archivo del módulo %sq",
"No se puede importar el archivo de módulo %sq.",
"se esperaba %s1, pero se encontró %s2 en su lugar",
"al abrir el archivo de módulo %sq",
"nombre de partición %sq desconocido",
"un archivo de módulo desconocido",
"un archivo de módulo de encabezado importable",
"un archivo de módulo EDG",
"un archivo de módulo IFC",
"un archivo de módulo inesperado",
"el tipo del segundo operando %t2 debe tener el mismo tamaño que %t1",
"el tipo debe poder copiarse de forma trivial",
"no se admite el tipo %t para la evaluación constexpr de __builtin_bit_cast",
"no se admiten los tipos de clase con campos de bits %t para la evaluación constexpr de __builtin_bit_cast",
"un miembro de datos no estático del tipo de referencia %t impide la evaluación constexpr de __builtin_bit_cast",
"un tipo volatile %t impide la evaluación constexpr de __builtin_bit_cast",
"un tipo de unión, puntero o puntero a miembro %t impide la evaluación constexpr de __builtin_bit_cast",
"%npTd, heredado mediante el uso de la declaración %p",
"no se puede realizar la construcción de subobjetos de %t para los constructores de herencia; se elimina el constructor predeterminado implícito",
"%n debe devolver void",
"inicio de declaración de miembro no válido",
"se esperaba \"auto\"",
"este operador no está permitido en este punto; incluya la expresión \"new\" anterior entre paréntesis",
"uso no válido del concepto",
"un operador de comparación de miembros con valores predeterminados no puede estar calificado con \"&&\"",
"la función de comparación constexpr predeterminada llama a una función %nd que no es constexpr",
"la comparación de memoria de constexpr solo se admite para objetos de matriz de enteros o enteros de nivel superior",
"una plantilla de concepto no puede tener restricciones asociadas",
"no se permite \"export\"",
"no se permite la exportación de miembros de clases individuales",
"una declaración exportada debe introducir un nombre",
"una declaración de exportación no puede contener otra declaración de exportación (declaración %p anterior)",
"una declaración de exportación no puede contener una declaración de importación de módulo",
"una declaración de exportación solo puede aparecer en una unidad de interfaz de módulo",
"una declaración de exportación no puede exportar un nombre con vinculación interna",
"la declaración using incluye %nfd",
"la función builtin no está disponible porque no se admiten tipos de punto flotante __fp16",
"una expresión requires debe especificar al menos un requisito",
"\"constexpr\" no es válido aquí",
"\"constinit\" solo es válido para las declaraciones de variables con duración de almacenamiento estático o de subproceso",
"la variable constinit requiere la inicialización dinámica",
"la variable se declaró previamente con \"constinit\" %p",
"uso del declarador de función no prototipo",
"el argumento no puede tener un tipo calificado constante",
"no se permite un puntero a miembro de un tipo %t incompleto",
"la expansión del paquete en la captura de inicialización no está habilitada en este modo",
"la expansión del paquete en la captura de inicialización es una característica de C++20",
"un operador de comparación con valor predeterminado en una definición de clase debe ser la primera declaración de ese operador de comparación (%nd)",
"una expansión del paquete en una captura de inicialización solo se puede usar en una plantilla variádica",
"la restricción de tipo usa %nd, que no es un concepto de tipo (es decir, una plantilla de concepto cuyo primer parámetro es un parámetro de tipo)",
"el tipo de marcador de posición %t deducido generó un error en la restricción de tipo",
"el constructor predeterminado de %t no es elegible",
"el destructor de %t es ambiguo debido a restricciones desordenadas",
"el destructor de %t no es elegible debido a restricciones con errores",
"candidato destructor ambiguo",
"una función virtual no puede tener una cláusula requires final",
"%nd no cumple sus restricciones",
"el resultado del calificador decltype %t no es una clase ni una enumeración",
"la comparación es ambigua en C++ 20 estándar porque el operador de comparación implicado con los parámetros inversos es una coincidencia igualmente buena. Esto suele deberse a que falta un calificador \"const\" en el operador de comparación; vea %nod",
"identificador de concepto no válido",
"error de sustitución de los argumentos %T para la cláusula requires",
"no se cumplen las restricciones de %nd",
"el tipo de variable %t de la función constexpr tiene clases base virtuales",
"una expresión constante no puede asignar un subobjeto base virtual (para el tipo %t)",
"un parámetro de plantilla de tipo de clase debe ser un tipo de clase estructural",
"la compatibilidad con los literales UTF-8 requiere compatibilidad con u-literal.",
"la asignación de archivos de módulo para \"%s\" se especificó más de una vez",
"la asignación de unidades de encabezado para \"%s\" se especificó más de una vez",
"no se especificó ninguna asignación para \"%s\"",
"la asignación del archivo de módulo para \"%s\" no es válida",
"no se encuentra el encabezado \"%s\" para importar",
"hay más de un archivo de la lista de archivos de módulo que coincide con \"%s\"",
"el archivo de módulo que se encontró para \"%s\" es para otro módulo",
"cualquier tipo de archivo de módulo",
"no se puede leer el archivo de módulo",
"la función integrada no está disponible porque no se admite el tipo char8_t con las opciones actuales",
"no se puede especificar la opción de línea de comandos --ms_await si están habilitadas las corrutinas de C++ 20",
"uso no estándar de %nod de constructor explícito para la inicialización predeterminada del elemento de agregado"
]
+155 -26
View File
@@ -171,7 +171,7 @@
"déclaration attendue",
"le pointeur pointe en dehors de l'objet sous-jacent",
"conversion de type non valide",
"conflit entre la liaison externe/interne et la déclaration précédente",
"conflit entre la liaison externe/interne et la déclaration précédente %p",
"la valeur à virgule flottante ne peut pas être contenue dans le type intégral requis",
"Expression sans effet",
"Indice hors limites",
@@ -420,9 +420,9 @@
"plusieurs fonctions de conversion de %t en type intégré s'appliquent :",
"const %n",
"référence %n",
"%npT",
"%npTd",
"opérateur intégré %sq",
"%no (ambigu par héritage)",
"%nod, ambigu par héritage",
"impossible de prendre l'adresse d'un constructeur ou d'un destructeur",
null,
"utilisation temporaire pour la valeur initiale d'une référence à une non-constante (anachronisme)",
@@ -1289,8 +1289,8 @@
"qualificateur const ignoré",
null,
"qualificateurs asm GNU non valides",
"un type de classe qui ne peut pas être copié de manière triviale a été passé via des points de suspension",
"un type de classe qui ne peut pas être copié de manière triviale ne peut pas être récupéré (fetch) par va_arg",
"un type de classe qui ne peut pas être copié de manière évidente a été passé via des points de suspension",
"un type de classe qui ne peut pas être copié de manière évidente ne peut pas être récupéré (fetch) par va_arg",
"le suffixe 'u' ou 'U' doit apparaître avant le suffixe 'l' ou 'L' dans un littéral à virgule fixe",
"l'option 'fixed_point' peut uniquement être utilisée lors de la compilation de C++",
"un opérande entier peut entraîner un dépassement de capacité à virgule fixe",
@@ -1361,7 +1361,7 @@
"plusieurs variables apparaissant après un initialiseur entre parenthèses sont ignorées",
"impossible d'utiliser le résultat de ce cast comme une lvalue",
"négation d'une valeur à virgule fixe non signée",
"cet opérateur n'est pas autorisé actuellement ; utilisez des parenthèses",
null,
null,
"les noms de registre peuvent uniquement être utilisés pour les variables de registre",
"les variables de registre nommées ne peuvent pas avoir le type void",
@@ -1535,7 +1535,7 @@
"valeur cannot-redefine non valide",
"modificateur de fonction dupliqué",
"caractère non valide pour le littéral char16_t",
"Impossible d'appliquer __LPREFIX aux littéraux char8_t, char16_t ou char32_t",
null,
"convention d'appel inconnue %s, doit être l'une des suivantes :",
null,
null,
@@ -1739,7 +1739,7 @@
"impossible de capturer une variable locale en dehors de la portée de la fonction active",
"impossible de faire référence à la fonction englobante 'this' dans le corps d'une expression lambda, sauf si elle figure dans la liste de capture",
null,
"impossible de copier la variable de capture lambda de type %t1 dans le champ closure class de type %t2",
"impossible de copier la variable capturée lambda de type %t1 dans le champ closure class de type %t2",
"répertoire de modèles non valide : %s",
"erreur",
"erreurs",
@@ -2354,7 +2354,7 @@
"#include <initializer_list> est nécessaire avant l'utilisation de std::initializer_list, dont une utilisation implicite",
"Le mot clé 'inline' ne peut pas être utilisé sur une déclaration d'alias d'espace de noms",
"la déclaration précédente de %n n'était pas déclarée inline",
"une redéclaration de %n inline doit être déclarée inline",
"%n a déjà été déclaré Inline",
"le premier argument doit être une constante entière",
"impossible d'utiliser un désignateur avec un type différent d'un agrégat %t",
"un désignateur pour un membre d'union anonyme peut uniquement apparaître entre des accolades qui correspondent à cette union anonyme",
@@ -2435,7 +2435,7 @@
"le constructeur constexpr doit initialiser la classe de base directe %t",
"la création d'un objet std::initializer_list dans un initialiseur de champ ne fonctionne généralement pas comme il le devrait, car le tableau sous-jacent est détruit à la fin de l'expression complète",
"Impossible d'utiliser 'this' dans une expression constante",
"initialiseur vide non valide pour ce type d'union (ambiguïté quant au membre à initialiser)",
null,
"'constexpr' n'est pas autorisé sur une directive d'instanciation explicite",
"impossible de déterminer la spécification d'exception du constructeur par défaut en raison d'une dépendance circulaire",
"union anonyme définie %p",
@@ -2474,7 +2474,7 @@
"qualificateur non valide pour %t (classe dérivée non autorisée ici)",
"l'attribut 'always_inline' est ignoré dans les fonctions non inline",
"les constructeurs d'héritage doivent être hérités d'une classe de base directe",
"%np déjà hérité de %t",
null,
"étiquette attendue",
"nombre d'opérande attendu après '%%l'",
"le nombre d'opérande pour '%%l' ne fait pas référence à un argument d'étiquette valide",
@@ -2515,7 +2515,7 @@
"les fonctions supprimées sont une fonctionnalité C++11",
"les fonctions par défaut sont une fonctionnalité C++11",
"impossible d'utiliser une classe de stockage dans une spécialisation explicite",
"%t n'est pas une classe ni une énumération délimitée",
null,
"une énumération non délimitée doit être opaque pour être spécialisée",
"une déclaration de modèle d'énumération doit faire référence à un membre précédemment déclaré d'un modèle de classe",
"opérande de vecteur attendu",
@@ -2759,7 +2759,7 @@
"la variable ne peut pas avoir le type incomplet %t",
"accès au sous-objet non initialisé (%n)",
"accès au sous-objet non initialisé (classe de base %t)",
"appel de destructeur vide",
"un appel de pseudo-destructeur n'est pas autorisé dans une expression constante",
"tentative de modification du stockage de const",
null,
null,
@@ -2790,7 +2790,7 @@
"le type d'élément de vecteur doit être intégral, enum ou un type à virgule flottante réel",
"la fonction intégrée n'est pas disponible car les entiers 128 bits ne sont pas pris en charge",
"la fonction intégrée n'est pas disponible car les types de vecteur ne sont pas pris en charge",
"deux crochets gauches consécutifs peuvent uniquement introduire une liste d'attributs",
"deux crochets gauches successifs introduisent toujours une liste d'attributs, mais aucune liste d'attributs ne peut apparaître ici",
"un attribut 'target' non reconnu empêche cette routine d'être utilisée par la routine de résolution",
"%t n'est pas un type de vecteur",
"les types de vecteur %t1 et %t2 doivent avoir la même longueur",
@@ -2806,11 +2806,11 @@
"un initialiseur de membre par défaut n'est pas autorisé dans une classe value",
"'--implicit_noexcept' nécessite un mode qui active noexcept",
"impossible de plier une opération impliquant une classe de base virtuelle (%t)",
null,
"l'initialisation n'est pas constante",
"impossible d'évaluer la valeur du %t incomplet",
"valeur retournée ignorée dans la routine déclarée avec l'attribut 'nodiscard'",
"type valeur retourné ignoré avec l'attribut 'nodiscard'",
"l'attribut 'nodiscard' ne s'applique pas aux constructeurs, destructeurs ou routines ayant le type de retour void",
"l'attribut 'nodiscard' ne s'applique pas aux destructeurs ou routines ayant le type de retour void",
"l'attribut 'fallthrough' s'applique uniquement aux instructions ayant une valeur null",
"l'attribut 'fallthrough' peut apparaître uniquement dans une instruction switch englobante",
"l'instruction fallthrough doit précéder l'étiquette case ou default de switch",
@@ -2821,7 +2821,7 @@
"__has_include ne peut pas apparaître en dehors de #if",
"impossible d'ajouter la classe de base CComCoClass",
"ne représente pas une chaîne finissant par une valeur null",
"impossible d'utiliser le type non-scalaire %t dans un appel de destructeur vide",
"impossible d'utiliser le type non-scalaire %t dans un appel de pseudo-destructeur",
"l'adresse de 'weak' %n n'est pas une constante",
"trop de substitutions récursives des signatures de modèle de fonction",
"spécificateur non valide pour la déclaration de liaison structurée",
@@ -3122,7 +3122,7 @@
"la capture de *this n'est pas standard dans ce mode",
"Le préfixe d'attribut 'using' de style C++17 n'est pas standard dans ce mode",
"Les espaces de noms imbriqués de style C++17 ne sont pas standard dans ce mode",
"'constexpr' et 'consteval' ne peuvent pas apparaître tous les deux dans une déclaration",
"seule une instance de 'constexpr', 'consteval' et 'constinit' peut apparaître dans une déclaration",
"une fonction ne peut pas être à la fois consteval et virtual dans ce mode",
"'consteval' n'est pas autorisé sur une directive d'instanciation explicite",
"'consteval' est non valide ici",
@@ -3166,17 +3166,17 @@
"l'attribut 'internal_linkage' n'est pas apparu dans une déclaration antérieure",
"aucun candidat de déduction d'argument de modèle viable n'a été localisé pour %n",
"un appel de constructeur complet n'est pas autorisé",
"un opérateur de comparaison peut uniquement être utilisé par défaut dans une définition de classe",
"un opérateur de comparaison par défaut doit être membre ou ami de la classe à laquelle il s'applique",
"type %t incorrect pour le paramètre de l'opérateur de comparaison par défaut (il doit s'agir d'une 'référence à const X' où X est le type classe englobant)",
"le type de retour de l'opérateur de comparaison par défaut doit être 'bool'",
"un opérateur de comparaison de membres par défaut doit être 'const'",
"plusieurs opérateurs vaisseau spatial par défaut définis dans cette classe",
null,
"le type de promesse %t d'une coroutine ne peut pas avoir à la fois 'return_void' et 'return_value' définis",
"'return_value' déclaré dans %p",
"'return_void' déclaré %p",
"instruction co_return manquante alors que %t n'a aucun 'return_void' à la fin de %n",
"variante nothrow de la fonction globale 'operator new' introuvable pour l'allocation d'état de la coroutine",
"'operator delete' viable introuvable pour la libération d'état de la coroutine",
"'operator delete' viable introuvable pour la désallocation d'état de la coroutine",
"une fonction constexpr ne peut pas être une coroutine",
"l'opérande de cette expression %s est résolu en un %t qui n'est pas une classe",
"une expression co_await n'est pas autorisée dans un initialiseur statique",
@@ -3190,10 +3190,10 @@
"membre de données statique constexpr %sq introuvable dans %t",
"nombre d'éléments (%d) trop grand pour une allocation dynamique",
"demande d'allocation dynamique constexpr trop grande",
"libération de stockage non alloué dynamiquement",
"la taille de libération (%d1) ne correspond pas à la taille allouée (%d2)",
"désallocation de stockage non alloué dynamiquement",
"la taille de désallocation (%d1) ne correspond pas à la taille allouée (%d2)",
"une allocation s'est produite ici",
"le type de libération (%t1) ne correspond pas au type d'allocation (%t2)",
"le type de désallocation (%t1) ne correspond pas au type d'allocation (%t2)",
"certaines allocations dynamiques (nombre total = %d) n'ont pas été libérées",
"%n intrinsèque déclaré avec une signature inattendue (type %t)",
">> sortie de std::__report_constexpr_value",
@@ -3220,7 +3220,136 @@
"l'attribut 'ext_vector_type' s'applique uniquement aux types entiers ou à virgule flottante",
"cette macro de test de fonctionnalité est ignorée (et retourne 0) dans le mode de compilation actuel",
"impossible d'évaluer un initialiseur d'agrégat avec plusieurs éléments pour une union",
"La sélection de %nd pour la réécriture d'opérateur ne retourne pas le type bool",
"une expression new qui appelle une fonction d'allocation spécifique à une classe ne peut pas être évaluée en tant que constante",
"une expression new de placement ne peut pas être évaluée en tant que constante",
"une suppression via un pointeur de sous-objet nécessite un destructeur virtuel",
"%npTd, avec des arguments inversés",
"l'opérande de __INTADDR__ doit être décalé par rapport au pointeur null",
"La construction _Generic correspond à plusieurs types",
"l'autre correspondance est %t",
"l'attribut 'availability' utilisé ici est ignoré",
"L'instruction de l'initialiseur de style C++20 dans une instruction 'for' basée sur une plage n'est pas standard dans ce mode",
"co_await peut s'appliquer uniquement à une instruction for basée sur une plage",
"impossible de déduire le type de la plage dans une boucle 'for' basée sur une plage",
"les variables inline sont une fonctionnalité C++17",
"l'opérateur delete de destruction nécessite %t en tant que premier paramètre",
"un opérateur delete de destruction ne peut pas avoir d'autres paramètres que std::size_t et std::align_val_t",
"les options de classe abstraite non limitées peuvent uniquement être utilisées durant la compilation en C++",
"début d'expression non valide dans la clause requires",
"une expression cast dans une clause requires doit être entre parenthèses",
"cet opérateur ne peut pas apparaître au niveau supérieur (sans parenthèses) dans une clause requires",
"la contrainte atomique doit être de type bool",
"échec de substitution de la contrainte atomique",
"la contrainte atomique n'est pas une constante",
"la contrainte atomique a la valeur false",
"contrainte de modèle non satisfaite",
"la définition de concept ne peut pas apparaître dans cette étendue",
"redéclaration non valide de %nd",
"échec de la substitution des arguments %T pour l'ID de concept",
"le concept est faux pour les arguments %T",
"une clause requires n'est pas autorisée ici (il ne s'agit pas d'une fonction basée sur un modèle)",
"modèle de concept",
"clause requires incompatible avec %nfd",
"attribut attendu",
null,
"nom de type attendu",
"un paramètre ellipse n'est pas autorisé dans une expression requires",
"un paramètre sans nom dans une expression requires n'a aucun effet",
"nom de concept attendu",
"un appel à %s apparaissant dans une expression constante produit toujours 'true'",
"un appel à %s apparaissant dans un contexte consteval produit toujours 'true'",
"un appel à %s apparaissant dans une fonction non constexpr produit toujours 'false'",
"échec de la contrainte de type pour %t",
"l'option 'export' ne peut pas être utilisée dans les modes où les modules C++ sont activés",
"une déclaration de fragment de module global doit précéder toute autre déclaration",
"une déclaration de module ne peut être précédée que d'un fragment de module global",
"un fragment de module privé doit être précédé d'une déclaration de module",
"un fragment de module %s ne peut pas être exporté",
"impossible de déclarer plusieurs modules",
"impossible de déclarer plusieurs fragments de module %s",
"un module doit être déclaré avec un nom non vide",
"%sq n'est pas un en-tête importable",
"impossible d'importer un module sans nom",
"un module ne peut pas avoir de dépendance d'interface par rapport à lui-même",
"le module %sq a déjà été importé",
"fichier de module",
"fichier de module %sq introuvable pour l'importation",
"impossible d'importer le fichier de module %sq"
"fichier de module introuvable pour le module %sq",
"impossible d'importer le fichier de module %sq",
"%s1 attendu, %s2 trouvé à la place",
"à l'ouverture du fichier de module %sq",
"nom de partition inconnu %sq",
"fichier de module inconnu",
"fichier de module d'en-tête importable",
"fichier de module EDG",
"fichier de module IFC",
"fichier de module inattendu",
"le type du deuxième opérande %t2 doit avoir la même taille que %t1",
"le type doit pouvoir être copié de façon triviale",
"le type %t n'est pas pris en charge pour l'évaluation de constexpr de __builtin_bit_cast",
"les types classe avec des champs de bits %t ne sont pas pris en charge pour l'évaluation de constexpr de __builtin_bit_cast",
"un membre de données non statique de type référence %t empêche l'évaluation de constexpr de __builtin_bit_cast",
"un type volatile %t empêche l'évaluation de constexpr de __builtin_bit_cast",
"un type union, pointeur ou pointeur vers membre %t empêche l'évaluation de constexpr de __builtin_bit_cast",
"%npTd, hérité via l'utilisation de decl %p",
"la construction de sous-objet de %t pour l'héritage de constructeurs ne peut pas être effectuée -- le constructeur par défaut implicite est supprimé",
"%n doit retourner void",
"début de déclaration de membre non valide",
"'auto' attendu",
"cet opérateur n'est pas autorisé à ce stade ; mettez entre parenthèses l'expression new précédente",
"utilisation non valide du concept",
"un opérateur de comparaison de membres par défaut ne peut pas être qualifié en tant que '&&'",
"la fonction de comparaison constexpr par défaut appelle la fonction non constexpr %nd",
"la comparaison de mémoire constexpr est prise en charge uniquement pour les objets d'entiers de niveau supérieur ou les objets de tableaux d'entiers",
"un modèle de concept ne peut pas avoir de contraintes associées",
"'export' n'est pas autorisé",
"l'exportation de membres de classe individuels n'est pas autorisée",
"une déclaration exportée doit introduire un nom",
"une déclaration export ne peut pas contenir de déclaration export (déclaration précédente %p)",
"une déclaration export ne peut pas contenir de déclaration import de module",
"une déclaration export ne peut apparaître que dans une unité d'interface de module",
"une déclaration export ne peut pas exporter un nom avec une liaison interne",
"la déclaration using inclut %nfd",
"la fonction intégrée n'est pas disponible, car les types à virgule flottante __fp16 ne sont pas pris en charge",
"une expression requires doit spécifier au moins une exigence",
"'constinit' est non valide ici",
"'constinit' est valide uniquement pour les déclarations de variables ayant une durée de stockage statique ou de thread",
"la variable constinit nécessite une initialisation dynamique",
"la variable a été déclarée avec 'constinit' %p",
"utilisation d'un déclarateur de fonction non-prototype",
"l'argument ne peut pas avoir un type qualifié const",
"un pointeur vers membre de type incomplet %t n'est pas autorisé",
"l'expansion de pack dans init-capture n'est pas activée dans ce mode",
"l'expansion de pack dans init-capture est une fonctionnalité C++20",
"un opérateur de comparaison par défaut dans une définition de classe doit être la première déclaration de cet opérateur de comparaison (%nd)",
"une expansion de pack dans une capture d'initialisation peut uniquement être utilisée dans un modèle variadique",
"la contrainte de type utilise %nd qui n'est pas un concept de type (c'est-à-dire un modèle de concept dont le premier paramètre est un paramètre de type)",
"échec de la contrainte de type pour le type d'espace réservé déduit %t",
"le constructeur par défaut pour %t n'est pas éligible",
"le destructeur pour %t est ambigu en raison de contraintes non ordonnées",
"le destructeur pour %t est inéligible en raison de l'échec de contraintes",
"candidat destructeur ambigu",
"une fonction virtuelle ne peut pas avoir de clause requires de fin",
"%nd ne respecte pas ses contraintes",
"le résultat du qualificateur decltype %t n'est pas une classe ou une énumération",
"la comparaison est ambiguë dans la norme C++20, car l'opérateur de comparaison implicite avec des paramètres inversés représente une correspondance tout aussi appropriée (cela est généralement dû à un qualificateur 'const' manquant sur l'opérateur de comparaison) ; consultez %nod",
"ID de concept non valide",
"échec de la substitution des arguments %T pour la clause requires",
"les contraintes pour %nd ne sont pas satisfaites",
"le type de variable %t dans la fonction constexpr a des classes de base virtuelles",
"une expression constante ne peut pas allouer un sous-objet de base virtuel (pour le type %t)",
"un paramètre de modèle de type classe doit être de type classe structurelle",
"la prise en charge des littéraux UTF-8 nécessite une prise en charge du littéral u.",
"mappage de fichier de module pour '%s' spécifié plusieurs fois",
"mappage d'unité d'en-tête pour '%s' spécifié plusieurs fois",
"aucun mappage spécifié pour '%s'",
"le mappage de fichier de module pour '%s' est non valide",
"l'en-tête '%s' à importer est introuvable",
"plusieurs fichiers dans la liste de fichiers de module correspondent à '%s'",
"le fichier de module trouvé pour '%s' est destiné à un autre module",
"n'importe quel genre de fichier de module",
"impossible de lire le fichier de module",
"la fonction intégrée n'est pas disponible, car le type char8_t n'est pas pris en charge avec les options actuelles",
"l'option de ligne de commande --ms_await ne peut pas être spécifiée si les coroutines C++20 sont activées",
"utilisation non standard du constructeur explicite %nod pour l'initialisation de l'élément d'agrégation par défaut"
]
+151 -22
View File
@@ -171,7 +171,7 @@
"prevista una dichiarazione",
"il puntatore punta all'esterno dell'oggetto sottostante",
"conversione di tipo non valida",
"conflitto tra collegamenti esterni/interni con la dichiarazione precedente",
"conflitto tra collegamenti esterni/interni con la dichiarazione precedente %p",
"il valore a virgola mobile non rientra nel tipo integrale richiesto",
"l'espressione non ha effetto",
"indice non incluso nell'intervallo",
@@ -420,9 +420,9 @@
"è disponibile più di una funzione di conversione da %t a un tipo incorporato:",
"costante %n",
"riferimento %n",
"%npT",
"%npTd",
"operatore predefinito %sq",
"%no (ambiguo per ereditarietà)",
"%nod, ambiguo per ereditarietà",
"un costruttore o un distruttore non può accettare il relativo indirizzo",
null,
"memoria temporanea utilizzata per il valore iniziale del riferimento a non const (anacronismo)",
@@ -732,7 +732,7 @@
"%n non è un modello di classe",
"matrice con tipo di elementi incompleto non conforme allo standard",
"impossibile dichiarare un operatore di allocazione in uno spazio dei nomi",
"impossibile dichiarare un operatore di deallocazione in uno spazio dei nomi",
"non è possibile dichiarare un operatore di deallocazione in uno spazio dei nomi",
"conflitto tra %np1 e la dichiarazione using di %np2",
"conflitto tra la dichiarazione using di %np1 e %npd2",
"è possibile utilizzare l'opzione namespaces solo quando si esegue la compilazione nel linguaggio C++",
@@ -1361,7 +1361,7 @@
"gli attributi di variabile inseriti dopo un inizializzatore tra parentesi vengono ignorati",
"impossibile utilizzare il risultato di questo cast come lvalue",
"negazione di un valore a virgola fissa senza segno",
"operatore non consentito in questo punto. Usare le parentesi",
null,
null,
"i nomi di registro possono essere utilizzati solo per le variabili register",
"il tipo delle variabili denominato nel registro non può essere void",
@@ -1535,7 +1535,7 @@
"valore di Impossibile ridefinire non valido",
"modificatore di funzione duplicato",
"carattere non valido per il valore letterale char16_t",
"non è possibile applicare __LPREFIX al valore letterale char8_t, char16_t o char32_t",
null,
"convenzione di chiamata %s non riconosciuta. Deve essere una delle seguenti:",
null,
null,
@@ -1739,7 +1739,7 @@
"impossibile acquisire una variabile locale all'esterno dell'ambito di funzione corrente",
"impossibile fare riferimento alla funzione contenitore 'this' nel corpo di un'espressione lambda a meno che non sia inclusa nell'elenco di acquisizione",
null,
"impossibile copiare la variabile acquisita di tipo %t1 dell'espressione lambda nel campo closure class di tipo %t2",
"non è possibile copiare la variabile catturata di tipo %t1 dell'espressione lambda nel campo closure class di tipo %t2",
"directory del modello non valida: %s",
"errore",
"errori",
@@ -2065,7 +2065,7 @@
"tipo restituito cli::pin_ptr non consentito",
"l'attributo %sq si applica solo in modalità %[C++/CLI]",
"non è possibile associare un riferimento semplice (non di traccia) a un'entità nell'heap gestito",
"assembly portatile",
"assembly portabile",
"'%s' non caricato da assembly predefiniti",
"la sintassi di inizializzazione elenco è una funzionalità C++11",
"l'operando di sizeof non può essere un tipo classe di interfaccia o un tipo classe di riferimento",
@@ -2354,7 +2354,7 @@
"#include <initializer_list> è necessario prima di utilizzare std::initializer_list, compreso un utilizzo implicito",
"impossibile utilizzare la parola chiave 'inline' in una dichiarazione di alias dello spazio dei nomi",
"la dichiarazione precedente di %n non è stata dichiarata inline",
"una ridichiarazione di inline %n deve essere dichiarata inline",
"%n è stato dichiarato in precedenza come inline",
"il primo argomento deve essere una costante integer",
"non è possibile usare un indicatore con un tipo non aggregato %t",
"un indicatore per un membro di unione anonima può essere presente solo all'interno delle parentesi graffe corrispondenti a tale unione anonima",
@@ -2435,7 +2435,7 @@
"il costruttore constexpr deve inizializzare la classe base diretta %t",
"è improbabile che la creazione di un oggetto std::initializer_list in un inizializzatore di campo funzioni come previsto perché la matrice sottostante verrà distrutta alla fine dell'espressione completa",
"impossibile utilizzare 'this' in un'espressione costante",
"un inizializzatore vuoto non è valido per questo tipo di unione (il membro da inizializzare è ambiguo)",
null,
"'constexpr' non è consentito in una direttiva di creazione esplicita di un'istanza",
"impossibile determinare la specificazione dell'espressione del costruttore predefinito a causa di una dipendenza circolare",
"%p definito da unione anonima",
@@ -2474,7 +2474,7 @@
"il qualificatore per %t non è valido. In questo punto non sono consentite classi derivate.",
"l'attributo 'always_inline' viene ignorato in funzioni non inline",
"i costruttori che ereditano devono essere ereditati da una classe base diretta",
"%np è già ereditato da %t",
null,
"è prevista un'etichetta",
"è previsto un numero operando dopo '%%l'",
"il numero operando per '%%l' non fa riferimento a un argomento di etichetta valido",
@@ -2515,7 +2515,7 @@
"le funzioni eliminate sono una funzionalità di C++11",
"le funzioni impostate come predefinite sono una funzionalità di C++11",
"una classe di archiviazione non è consentita in una specializzazione esplicita",
"%t non è una classe o un'enumerazione con ambito",
null,
"un'enumerazione senza ambito deve essere opaca per essere specializzata",
"una dichiarazione di modello dell'enumerazione deve fare riferimento a un membro precedentemente dichiarato di un modello di classe",
"è previsto un operando vettore",
@@ -2759,7 +2759,7 @@
"la variabile non può contenere il tipo incompleto %t",
"accesso al sotto-oggetto non inizializzato (%n)",
"accesso al sotto-oggetto non inizializzato (classe di base %t)",
"chiamata al distruttore vuota",
"in un'espressione costante non è consentita una chiamata allo pseudodistruttore",
"si è provato a modificare l'archivio const",
null,
null,
@@ -2790,7 +2790,7 @@
"il tipo di elemento di vettore deve essere integrale, enumerazione o reale a virgola mobile",
"la funzione predefinita non è disponibile perché gli interi a 128 bit non sono supportati",
"la funzione predefinita non è disponibile perché i tipi di vettore non sono supportati",
"due parentesi quadre aperte consecutive possono solo introdurre un elenco di attributi",
"due parentesi quadre aperte consecutive introducono sempre un elenco di attributi, ma in questo punto non è possibile specificare un elenco di attributi",
"l'attributo 'target' non è riconosciuto, di conseguenza questa routine non può essere usata dalla routine del resolver",
"%t non è un tipo di vettore",
"i tipi di vettore %t1 e %t2 devono avere la stessa lunghezza",
@@ -2806,11 +2806,11 @@
"in una classe di valori non sono consentiti inizializzatori di membri predefiniti",
"con '--implicit_noexcept' è richiesta una modalità che abilita noexcept",
"non è possibile ridurre l'operazione che riguarda la classe di base virtuale (%t)",
null,
"l'inizializzazione non è costante",
"non è possibile valutare il valore dell'oggetto incompleto %t",
"il valore restituito dalla routine dichiarata con l'attributo 'nodiscard' verrà ignorato",
"il tipo del valore restituito con l'attributo 'nodiscard' verrà ignorato",
"l'attributo 'nodiscard' non può essere applicato a costruttori, distruttori o routine con tipo restituito void",
"l'attributo 'nodiscard' non può essere applicato a distruttori o routine con tipo restituito void",
"l'attributo 'fallthrough' si applica solo a istruzioni Null",
"l'attributo 'fallthrough' può essere usato solo in un'istruzione switch in cui è incluso",
"l'attributo fallthrough deve precedere un'etichetta switch case o default",
@@ -2821,7 +2821,7 @@
"non è possibile specificare __has_include all'esterno di #if",
"non è stato possibile aggiungere la classe di base CComCoClass",
"non è una stringa con terminazione Null",
"non è possibile usare il tipo non scalare %t in una chiamata al distruttore vuota",
"non è possibile usare il tipo non scalare %t in una chiamata allo pseudodistruttore",
"l'indirizzo di 'weak' %n non è costante",
"sono presenti troppe sostituzioni ricorsive delle firme del modello di funzione",
"l'identificatore non è valido per la dichiarazione di binding strutturato",
@@ -3122,7 +3122,7 @@
"l'acquisizione di *this non è standard in questa modalità",
"il prefisso dell'attributo di 'using' di tipo C++17 non è standard in questa modalità",
"gli spazi dei nomi annidati di tipo C++17 non sono standard in questa modalità",
"una dichiarazione non può contenere sia 'constexpr' che 'consteval'",
"una dichiarazione può contenere solo una tra le variabili 'constexpr', 'consteval' e 'constinit'",
"una funzione non può essere contemporaneamente consteval e virtual in questa modalità",
"'consteval' non è consentito in una direttiva di creazione esplicita di un'istanza",
"'consteval' non è valido in questo punto",
@@ -3166,11 +3166,11 @@
"l'attributo 'internal_linkage' non era presente in una dichiarazione precedente",
"non è stato trovato alcun candidato di deduzione dell'argomento di modello valido per %n",
"una chiamata al costruttore completo non è consentita",
"un operatore di confronto può essere impostato come predefinito solo in una definizione di classe",
"l'operatore di confronto impostato come predefinito deve essere un membro o un elemento friend della classe a cui si applica",
"il tipo %t per il parametro dell'operatore di confronto impostato come predefinito non è valido. Deve essere 'reference to const X' dove X è il tipo della classe contenitore",
"il tipo restituito dell'operatore di confronto impostato come predefinito deve essere 'bool'",
"un operatore di confronto membri impostato come predefinito non può essere 'const'",
"in questa classe sono stati definiti più operatori di confronto combinato impostati come predefiniti",
null,
"non è possibile impostare sia 'return_void' che 'return_value' per il tipo di promessa %t di una coroutine",
"'return_value' ha dichiarato %p",
"'return_void' ha dichiarato %p",
@@ -3220,7 +3220,136 @@
"l'attributo 'ext_vector_type' si applica solo a tipi interi o a virgola mobile",
"questa macro di test delle funzionalità viene ignorata (e restituisce 0) nella modalità di compilazione corrente",
"non è possibile valutare un inizializzatore di aggregazione con più elementi per un'unione",
"l'elemento %nd selezionato per la riscrittura dell'operatore non restituisce il tipo bool",
"un'espressione expr.new che chiama una funzione di allocazione specifica della classe non può essere valutata in un'espressione costante",
"un'espressione new di posizionamento non può essere valutata in un'espressione costante",
"per l'eliminazione tramite un puntatore a sotto-oggetto è richiesto un distruttore virtuale",
"%npTd, con argomenti invertiti",
"l'operando di __INTADDR__ deve essere scostato dal puntatore Null",
"Il costrutto _generico corrisponde a più tipi",
"l'altra corrispondenza è %t",
"l'attributo 'availability' usato in questo punto viene ignorato",
"l'istruzione di inizializzatore di tipo C++20 in un'istruzione 'for' basata su intervallo non è standard in questa modalità",
"co_await può essere applicato solo a un'istruzione for basata su intervallo",
"non è possibile dedurre il tipo dell'intervallo nel ciclo 'for' basato su intervallo",
"le variabili inline sono una funzionalità di C++17",
"per l'eliminazione dell'operatore di eliminazione definitiva è necessario specificare %t come primo parametro",
"per l'eliminazione di un operatore di eliminazione definitiva non è possibile specificare parametri diversi da std::size_t e std::align_val_t",
"è possibile usare le opzioni di classe astratta di tipo relaxed solo quando si esegue la compilazione nel linguaggio C++",
"l'inizio dell'espressione non è valido nella clausola requires",
"un'espressione cast in una clausola requires deve essere racchiusa tra parentesi",
"non è possibile specificare questo operatore al primo livello (senza parentesi) in una clausola requires",
"il vincolo atomico deve essere di tipo bool",
"la sostituzione del vincolo atomico non è riuscita",
"il vincolo atomico non è costante",
"il vincolo atomico restituisce false",
"il vincolo del modello non è soddisfatto",
"la definizione del concetto non può essere presente in questo ambito",
"la ridichiarazione di %nd non è valida",
"la sostituzione degli argomenti %T per l'ID concetto non è riuscita",
"il concetto è false per gli argomenti %T",
"in questo punto non sono consentite clausole requires (non è una funzione basata su modelli)",
"modello di concetto",
"la clausola requires non è compatibile con %nfd",
"è previsto un attributo",
null,
"è previsto un nome di tipo",
"in un'espressione requires non sono consentiti parametri con puntini di sospensione",
"il parametro senza nome nell'espressione requires non ha alcun effetto",
"è previsto un nome di concetto",
"la chiamata a %s presente in un'espressione costante restituisce sempre 'true'",
"la chiamata a %s presente in un contesto consteval restituisce sempre 'true'",
"la chiamata a %s presente in una funzione non constexpr restituisce sempre 'false'",
"vincolo di tipo non riuscito per %t",
"non è possibile usare l'opzione 'export' in modalità in cui sono abilitati i moduli C++",
"una dichiarazione di frammento di modulo globale deve precedere qualsiasi altra dichiarazione",
"una dichiarazione di modulo può essere preceduta solo da un frammento di modulo globale",
"un frammento di modulo privato deve essere preceduto da una dichiarazione di modulo",
"non è possibile esportare un frammento di modulo %s",
"non è possibile dichiarare più di un modulo",
"non è possibile dichiarare più di un frammento di modulo %s",
"è necessario dichiarare un modulo con un nome non vuoto",
"%sq non è un'intestazione importabile",
"non è possibile importare un modulo senza nome",
"un modulo non può avere una dipendenza di interfaccia impostata su se stesso",
"il modulo %sq è già stato importato",
"file di modulo",
"non è stato possibile trovare il file di modulo %sq per l'importazione",
"non è stato possibile importare il file di modulo %sq"
"non è stato possibile trovare il file di modulo per il modulo %sq",
"non è stato possibile importare il file di modulo %sq",
"è previsto %s1, ma è stato trovato %s2",
"durante l'apertura del file di modulo %sq",
"il nome di partizione %sq è sconosciuto",
"un file di modulo sconosciuto",
"un file di modulo intestazione importabile",
"un file di modulo EDG",
"un file di modulo IFC",
"un file di modulo imprevisto",
"il tipo del secondo operando %t2 deve avere le stesse dimensioni di %t1",
"il tipo deve essere facilmente copiabile",
"il tipo %t non è attualmente supportato per la valutazione constexpr di __builtin_bit_cast",
"i tipi di classe con campi di bit %t non sono attualmente supportati per la valutazione constexpr di __builtin_bit_cast",
"il membro dati non statico del tipo riferimento %t impedisce la valutazione constexpr di __builtin_bit_cast",
"un tipo volatile %t impedisce la valutazione constexpr di __builtin_bit_cast",
"un tipo unione, puntatore o puntatore a membro %t impedisce la valutazione constexpr di __builtin_bit_cast",
"%npTd, ereditato tramite l'uso della dichiarazione %p",
"non è possibile costruire oggetti secondari di %t per ereditare costruttori. Il costruttore predefinito implicito è stato eliminato",
"%n deve restituire void",
"l'inizio della dichiarazione di membro non è valido",
"è previsto 'auto'",
"questo operatore non è consentito in questo punto. Racchiudere tra parentesi l'espressione new precedente",
"uso del concetto non valido",
"un operatore di confronto membri impostato come predefinito non può essere qualificato con '&&'",
"la funzione di confronto constexpr predefinita chiama la funzione non constexpr %nd",
"il confronto di memoria constexpr è supportato solo per gli oggetti intero o matrice di intero di primo livello",
"un modello di concetto non può avere vincoli associati",
"'export' non è consentito",
"l'esportazione di singoli membri di classe non è consentita",
"una dichiarazione esportata deve introdurre un nome",
"una dichiarazione di esportazione non può contenere una dichiarazione di esportazione (dichiarazione precedente %p)",
"una dichiarazione di esportazione non può contenere una dichiarazione di importazione del modulo",
"una dichiarazione di esportazione può essere presente solo in un'unità di interfaccia del modulo",
"una dichiarazione di esportazione non può esportare un nome con collegamento interno",
"la dichiarazione using include %nfd",
"la funzione predefinita non è disponibile perché i tipi a virgola mobile __fp16 non sono supportati",
"un'espressione requires deve specificare almeno un requisito",
"'constinit' non è valida in questo punto",
"'constinit' è valida solo per dichiarazioni con durata di archiviazione del thread o statica",
"con la variabile constinit è richiesta l'inizializzazione dinamica",
"la variabile è stata dichiarata in precedenza con 'constinit' alla posizione %p",
"uso del dichiaratore di funzione non prototipo",
"l'argomento non può avere un tipo qualificato da const",
"non è consentito un puntatore a membro di un tipo incompleto %t",
"l'espansione del pacchetto in init-capture non è abilitata in questa modalità",
"l'espansione del pacchetto in init-capture è una funzionalità di C++20",
"un operatore di confronto impostato come predefinito in una definizione di classe deve essere la prima dichiarazione di tale operatore di confronto (%nd)",
"un'espansione di pacchetto in init-capture può essere usata solo in un modello variadic",
"il vincolo di tipo usa %nd che non è un concetto di tipo, ad esempio un modello di concetto il cui primo parametro è un parametro di tipo",
"il tipo di segnaposto dedotto %t non soddisfa il vincolo di tipo",
"il costruttore predefinito per %t non è idoneo",
"il distruttore per %t è ambiguo a causa di vincoli non ordinati",
"il distruttore per %t non è idoneo a causa di vincoli non soddisfatti",
"candidato di distruttore ambiguo",
"una funzione virtuale non può includere una clausola requires finale",
"%nd non soddisfa i vincoli",
"il risultato del qualificatore decltype %t non è una classe o un'enumerazione",
"il confronto è ambiguo in C++20 standard perché l'operatore di confronto implicito con parametri invertiti è una corrispondenza altrettanto valida. In genere questo problema dipende dalla mancanza di un qualificatore 'const' nell'operatore di confronto. Vedere %nod",
"ID concetto non valido",
"la sostituzione degli argomenti %T per la clausola requires non è riuscita",
"i vincoli per %nd non sono soddisfatti",
"il tipo di variabile %t nella funzione constexpr contiene classi di base virtuali",
"un'espressione costante non può allocare un sotto-oggetto di base virtuale (per il tipo %t)",
"un parametro di modello di tipo classe deve essere un tipo classe strutturale",
"per il supporto dei valori letterali UTF-8 è richiesto il supporto di valori letterali u",
"il mapping del file del modulo per '%s' è stato specificato più di una volta",
"il mapping dell'unità intestazione per '%s' è stato specificato più di una volta",
"non è stato specificato alcun mapping per '%s'",
"Il mapping del file del modulo per '%s' non è valido",
"non è possibile trovare l'intestazione '%s' da importare",
"più di un file nell'elenco file di modulo corrisponde a '%s'",
"il file di modulo trovato per '%s' è riferito a un modulo diverso",
"qualsiasi tipo di modulo",
"non è possibile leggere il file del modulo",
"la funzione predefinita non è disponibile perché il tipo char8_t non è supportato con le opzioni correnti",
"non è possibile specificare l'opzione della riga di comando --ms_await se le coroutine di C++20 sono abilitate",
"uso non standard del costruttore esplicito %nod per l'inizializzazione dell'elemento di aggregazione predefinito"
]
+152 -23
View File
@@ -171,7 +171,7 @@
"宣言が必要です",
"ポインターが基になるオブジェクトの外部を指しています",
"無効な型変換です",
"外部/内部リンケージが以前の宣言と競合しています",
"外部または内部リンケージが以前の宣言 %p と競合しています",
"浮動小数点値が必要な整数型では不適切です",
"式が無効です",
"添字が有効範囲にありません",
@@ -352,8 +352,8 @@
"複数の演算子 %sq がこれらのオペランドと一致します:",
"割り当て関数の最初のパラメーターは型 'size_t' である必要があります",
"割り当て関数には 'void *' 戻り値の型が必要です",
"解放関数には 'void' 戻り値の型が必要です",
"解放関数の最初のパラメーターは型 'void *' である必要があります",
"割り当て解除関数には 'void' 戻り値の型が必要です",
"割り当て解除関数の最初のパラメーターは型 'void *' である必要があります",
null,
"型はオブジェクト型である必要があります",
"基底クラス %t は既に初期化されています",
@@ -420,9 +420,9 @@
"%t から組み込み型への変換関数が複数適用されます:",
"const %n",
"参照 %n",
"%npT",
"%npTd",
"組み込み演算子 %sq",
"%no (継承によりあいまいです)",
"%nod (継承によりあいまいです)",
"コンストラクターまたはデストラクターのアドレスは取得できません",
null,
"非 const への参照の初期値用に一時的に使用されます (旧形式)",
@@ -1361,7 +1361,7 @@
"かっこで囲まれた初期化子の後にある変数属性は無視されます",
"このキャストの結果は左辺値として使用できません",
"符号なし固定小数点値の否定です",
"この演算子はこの位置では使用できません (かっこを使用してください)",
null,
null,
"レジスタ名はレジスタ変数に対してのみ使用できます",
"名前付きレジスタ変数に void 型を使用することはできません",
@@ -1535,7 +1535,7 @@
"再定義できない無効な値です",
"関数修飾子が重複しています",
"char16_t リテラルには無効な文字です",
"__LPREFIX は char8_t、char16_t、または char32_t リテラルに適用できません",
null,
"呼び出し規約 %s は認識されないため、次のいずれかを使用する必要があります:",
null,
null,
@@ -1739,7 +1739,7 @@
"現在の関数スコープ外のローカル変数はキャプチャできません",
"外側の関数の 'this' は、キャプチャ リストに含まれていない限り、ラムダ本体で参照できません",
null,
"ラムダでキャプチャされた型 %t1 の変数を型 %t2 の closure class フィールドにコピーできません",
"ラムダでキャプチャた型 %t1 の変数を型 %t2 の closure class フィールドにコピーできません",
"無効なテンプレート ディレクトリ: %s",
"エラー",
"件のエラー",
@@ -2065,7 +2065,7 @@
"戻り値の型 cli::pin_ptr は使用できません",
"属性 %sq は %[C++/CLI] モードでのみ適用されます",
"単純 (非追跡) 参照はマネージド ヒープ上のエンティティにバインドできません",
"ポータブル アセンブリ",
"移植可能なアセンブリ",
"'%s' は既定のアセンブリから読み込まれません",
"リスト初期化構文は C++11 の機能です",
"sizeof のオペランドは ref クラス型やインターフェイス クラス型であってはなりません",
@@ -2354,7 +2354,7 @@
"std::initializer_list を使用する (暗黙的な使用を含む) 前に #include <initializer_list> が必要です",
"'inline' キーワードは、名前空間のエイリアス宣言では使用できません",
"%n の前の宣言は、インラインで宣言されていませんでした",
"インライン %n の再宣言はインラインで宣言する必要があります",
"%n は、以前にインラインで宣言されました",
"最初の引数は整数の定数である必要があります",
"指定子と非集約型 %t は同時に使用できません",
"匿名共用体メンバーの指定子は、その匿名共用体に対応する中かっこ内でのみ使用できます",
@@ -2435,7 +2435,7 @@
"constexpr コンストラクターは、直接的な基底クラス %t を初期化する必要があります",
"フィールド初期化子に std::initializer_list オブジェクトを作成すると、正しく動作しない可能性があります。基になる配列が式全体の最後で破棄されます。",
"'this' は定数式では使用できません",
"この共用体型では空の初期化子は無効です (初期化する必要があるメンバーがあいまいです)",
null,
"明示的なインスタンス化ディレクティブでは 'constexpr' を使用できません",
"循環依存の関係が原因で、既定のコンストラクターの例外指定を特定できません",
"無名共用体で %p が定義されました",
@@ -2474,7 +2474,7 @@
"%t に対する修飾子が無効です (ここでは派生クラスを使用できません)",
"'always_inline' 属性は、非インライン関数では無視されます",
"継承しているコンストラクターは、直接基底クラスから継承される必要があります",
"%np が既に %t から継承されています",
null,
"ラベルが必要です",
"'%%l' の後にオペランド番号が必要です",
"'%%l' のオペランド番号は、有効なラベルの引数を参照していません",
@@ -2515,7 +2515,7 @@
"削除された関数は C++11 の機能です",
"既定値にされた関数は C++11 の機能です",
"ストレージ クラスは明示的特殊化では許可されません ",
"%t はクラスまたはスコープを持つ列挙型ではありません",
null,
"スコープを持たない列挙型が特殊化になるには、あいまいである必要があります",
"列挙テンプレート宣言は、クラス テンプレートの以前宣言されたメンバーを参照している必要があります",
"ベクトル オペランドが必要です",
@@ -2759,7 +2759,7 @@
"変数に不完全な型 %t を含めることはできません",
"初期化されていないサブオブジェクト (%n) へのアクセス",
"初期化されていないサブオブジェクト (基底クラス %t) へのアクセス",
"無意味なデストラクター呼び出し",
"定数式では擬似デストラクター呼び出しは許可されていません",
"const ストレージを変更しようとしました",
null,
null,
@@ -2790,7 +2790,7 @@
"ベクトル要素の型は、整数型、列挙型、または実数の浮動小数点型である必要があります",
"128 ビットの整数がサポートされていないので、ビルトイン関数を使用できません",
"ベクトル型がサポートされていないので、ビルトイン関数を使用できません",
"2 つの連続した左角かっこは属性リストを導入するためにのみ使用できま",
"2 つの連続した左角かっこは常に属性リストを導入するために使用されますが、こちらには属性リストを表示できません",
"認識されていない 'ターゲット' 属性は、リゾルバー ルーチンがこのルーチンを使用できないようにします",
"%t はベクトル型ではありません",
"ベクトル型 %t1 と %t2 の長さは同じでなければなりません",
@@ -2806,11 +2806,11 @@
"値クラスでは既定のメンバー初期化子は許可されていません",
"'--implicit_noexcept' では、noexcept が有効なモードが必要です",
"仮想基底クラス (%t) が関係する操作は折りたためません",
null,
"初期化が定数ではありません",
"不完全な %t の値は評価できません",
"'nodiscard' 属性で宣言されたルーチンからの戻り値を無視しています",
"'nodiscard' 属性を持つ戻り値の型を無視しています",
"'nodiscard' 属性は、コンストラクター、デストラクター戻り値の型が void のルーチンには適用されません",
"'nodiscard' 属性は、デストラクターまたは戻り値の型が void のルーチンには適用されません",
"'fallthrough' 属性は、null ステートメントにのみ適用されます",
"'fallthrough' 属性は、外側の switch ステートメントでのみ使用できます",
"fallthrough ステートメントは、switch case ラベルまたは default の前に記述しなければなりません",
@@ -2821,7 +2821,7 @@
"__has_include を #if の外側で使用することはできません",
"CComCoClass 基底クラスを追加できませんでした",
"null で終了していない文字列です",
"非スカラー型 %t を無意味なデストラクター呼び出しで使うことはできません",
"非スカラー型 %t を擬似デストラクター呼び出しで使うことはできません",
"'weak' %n のアドレスが定数ではありません",
"関数テンプレート シグネチャの再帰的な代入が多すぎます",
"構造化バインディング宣言の指定子が無効です",
@@ -3122,7 +3122,7 @@
"*this のキャプチャはこのモードでは非標準です",
"C++17 スタイルの 'using' 属性プレフィックスはこのモードでは非標準です",
"C++17 スタイルの入れ子になった名前空間はこのモードでは非標準です",
"宣言で 'constexpr' および 'consteval' の両方を使用することはできません",
"宣言で使用できるのは、'constexpr''consteval'、および 'constinit'のうちの 1 つのみです",
"このモードでは、関数に consteval と virtual の両方を指定することはできません",
"明示的なインスタンス化ディレクティブでは 'consteval' を使用できません",
"ここでは 'consteval' は無効です",
@@ -3166,11 +3166,11 @@
"'internal_linkage' 属性は、前の宣言では使用されませんでした",
"%n の有効なテンプレート引数演繹候補が見つかりませんでした",
"完全修飾コンストラクターの呼び出しは許可されていません",
"比較演算子は、クラス定義でのみ既定値にすることができます",
"既定の比較演算子は、適用先のクラスのメンバーまたはフレンドでなければなりません。",
"既定の比較演算子のパラメーターの型 %t が正しくありません ('const X' への参照でなければなりません。X は、囲むクラスの型です)",
"既定の比較演算子の戻り値の型は 'bool' である必要があります",
"既定のメンバー比較演算子は 'const' である必要があります",
"このクラスには複数の既定の \"宇宙船\" 演算子が定義されています",
null,
"コルーチンの promise 型 %t で、'return_void' と 'return_value' の両方を設定することはできません",
"'return_value' は %p で宣言しました",
"'return_void' は %p を宣言しました",
@@ -3220,7 +3220,136 @@
"'ext_vector_type' 属性は、整数型または浮動小数点型にのみ適用されます",
"この機能テスト マクロは、現在のコンパイル モードでは無視されます (0 が返されます)",
"共用体の複数の要素を含む集約初期化子を評価できません",
"演算子の書き換えに選択された %nd は、bool 型を返しません",
"クラス固有の割り当て関数を呼び出す new-expression を定数評価することはできません",
"配置 new の式を定数評価することはできません",
"サブオブジェクト ポインターを使用して削除するには仮想デストラクターが必要です",
"%npTd (逆引数が含まれます)",
"__INTADDR__ のオペランドは null ポインターからのオフセットでなければなりません",
"ジェネリック コンストラクトが複数の型と一致する(_G)",
"もう一方の一致は %t です",
"ここで使用されている 'availability' 属性は無視されます",
"範囲ベースの 'for' ステートメントにある C++20 形式の初期化子ステートメントは、このモードでは非標準です",
"co_await は範囲ベースの for ステートメントにのみ適用できます",
"範囲ベースの 'for' ループの範囲の種類を推測できません",
"インライン変数は C++17 の機能です",
"destroying operator delete には、最初のパラメーターとして %t が必要です",
"destroying operator delete に、std::size_t および std::align_val_t 以外のパラメーターを指定することはできません",
"緩和された抽象クラス オプションは C++ をコンパイルするときにのみ使用できます",
"requires 句の式の先頭が無効です",
"requires 句内のキャスト式はかっこで囲む必要があります",
"この演算子は、requires 句のトップ レベル (かっこなし) では使用できません",
"原子制約にはブール型を指定する必要があります",
"原子制約で置換に失敗しました",
"原子制約は定数ではありません",
"原子制約は false として評価されます",
"テンプレート制約が満たされていません",
"このスコープにコンセプトの定義を指定することはできません",
"%nd の再宣言が無効です",
"概念 ID の引数 %Tの置換に失敗しました",
"引数 %T の概念は false です",
"こちらでは requires 句は許可されていません (テンプレート関数ではありません)",
"コンセプト テンプレート",
"requires 句は %nfd と互換性がありません",
"属性が必要です",
null,
"型名が必要です",
"requires 式では省略記号パラメーターは許可されていません",
"requires 式に名前のないパラメーターを指定しても効果がありません",
"コンセプト名が必要です",
"定数式で表示される %s への呼び出しでは、常に 'true' が生成されます",
"consteval コンテキストで現れる %s への呼び出しでは、常に 'true' が生成されます",
"constexpr ではない関数に現れる %s への呼び出しでは、常に 'false' が生成されます",
"%t の型の制約に失敗しました",
"オプション 'export' は C++ モジュールが有効になっているモードでは使用できません",
"グローバル モジュール フラグメント宣言は他の宣言の前に記述する必要があります",
"モジュール宣言の前にはグローバル モジュール フラグメントのみを指定できます",
"プライベート モジュール フラグメントの前にはモジュール宣言を指定しなければなりません",
"%s モジュールのフラグメントはエクスポートできません",
"複数のモジュールを宣言することはできません",
"複数の %s モジュール フラグメントを宣言することはできません",
"モジュールは、空でない名前を使用して宣言する必要があります",
"%sq は、インポート可能なヘッダーではありません",
"名前が指定されていないモジュールをインポートすることはできません",
"モジュールはそれ自体に対するインターフェイス依存関係を持つことはできません",
"モジュール %sq は既にインポートされています",
"モジュール ファイル",
"インポート用のモジュール ファイル %sq が見つかりませんでした",
"モジュール ファイル %sq をインポートできませんでした"
"モジュール %sq のモジュール ファイルが見つかりませんでした",
"モジュール ファイル %sq をインポートできませんでした",
"%s1 が必要ですが、%s2 が見つかりました",
"モジュール ファイル %sq を開くとき",
"不明なパーティション名 %sq",
"不明なモジュール ファイル",
"インポート可能なヘッダー モジュール ファイル",
"EDG モジュール ファイル",
"IFC モジュール ファイル",
"予期しないモジュール ファイル",
"第 2 オペランド %t2 の型は、%t1 と同じサイズである必要があります",
"型は普通にコピー可能である必要があります",
"型 %t は、現在、__builtin_bit_cast の constexpr 評価ではサポートされていません",
"ビットフィールド %t を含むクラス型は、現在、__builtin_bit_cast の constexpr 評価ではサポートされていません",
"参照型 %t の静的でないデータ メンバーは、__builtin_bit_cast の constexpr 評価を妨げます",
"volatile 型 %t は、__builtin_bit_cast の constexpr 評価を妨げます",
"UNION、ポインター、またはメンバーへのポインター型 %t は、__builtin_bit_cast の constexpr 評価を妨げます",
"%npTd (宣言 %p を使用して継承されています)",
"コンストラクターを継承するための %t のサブオブジェクト構築は実行できません。暗黙の既定のコンストラクターは削除されます",
"%n は void を返す必要があります",
"メンバー宣言の先頭が無効です",
"'auto' が必要です",
"この演算子はこの時点では許可されていません。先行する新しい式をかっこで囲んでください",
"概念が正しく使用されていません",
"既定のメンバー比較演算子を '&&' で修飾することはできません",
"既定の constexpr 比較関数は、constexpr ではない関数 %nd を呼び出します",
"constexpr のメモリ比較は、トップレベルの整数または整数の配列オブジェクトでのみサポートされています",
"概念テンプレートに関連する制約を持たせることはできません",
"[エクスポート] は許可されていません",
"個別のクラス メンバーのエクスポートは許可されていません",
"エクスポートされた宣言は名前を導入する必要があります",
"エクスポート宣言にエクスポート宣言を含めることはできません (前の宣言 %p)",
"エクスポート宣言にモジュール インポート宣言を含めることはできません",
"エクスポート宣言はモジュール インターフェイス ユニットでのみ使用できます",
"エクスポート宣言では、内部リンケージを含む名前をエクスポートできません",
"using 宣言には %nfd が含まれます",
"fp16 の浮動小数点型がサポートされていないので、ビルトイン関数を使用できません(__F)",
"requires 式には少なくとも 1 つの要件を指定する必要があります",
"ここでは 'constinit' は無効です",
"'constinit' は、静的またはスレッド ストレージ存続期間を持つ変数の宣言にのみ有効です",
"constinit 変数には動的な初期化が必要です",
"変数は、以前に 'constinit' %p で宣言されました",
"プロトタイプ以外の関数宣言子の使用",
"引数に const 修飾型を指定することはできません",
"不完全な型 %t のメンバーへのポインターは使用できません",
"初期化キャプチャのパック展開はこのモードでは有効ではありません",
"初期化キャプチャのパック展開は C++20 の機能です",
"クラス定義で既定値にされた比較演算子は、その比較演算子の最初の宣言でなければなりません (%nd)",
"初期化キャプチャのパック展開は、可変個引数テンプレートでのみ使用できます",
"型制約は型概念ではない %nd を使用します (例: 最初のパラメーターが型パラメーターである概念テンプレート)",
"推測されるプレースホルダーの型 %t が型制約に失敗しました",
"%t の既定のコンストラクターは適切ではありません",
"制約の順序が指定されていないため、%t のデストラクターがあいまいです",
"制約が失敗したため、%t のデストラクターは適切ではありません",
"あいまいなデストラクター候補",
"仮想関数では後続の Requires 句は使用できません",
"%nd は制約を満たしていません",
"decltype 修飾子 %t の結果はクラスまたは列挙ではありません",
"標準 C++ 20 では、パラメーターが反転した暗黙的な比較演算子が同程度に適合するため、比較はあいまいです。これは通常、比較演算子の 'const' 修飾子がない場合に発生します。%nod を参照してください",
"無効な概念 ID",
"Requires 句の引数 %T の置換に失敗しました",
"%nd の制約が満たされていません",
"constexpr 関数の変数の型 %t に仮想基底クラスが含まれています",
"定数式では、仮想ベースのサブオブジェクト (型 %t) の割り当てを行うことはできません",
"クラス型のテンプレート パラメーターは、構造クラス型である必要があります",
"UTF-8 リテラルのサポートには、u リテラルのサポートが必要です。",
"'%s' のモジュール ファイル マッピングが 2 回以上指定されました",
"'%s' のヘッダー単位のマッピングが 2 回以上指定されました",
"'%s' にマッピングが指定されていません",
"'%s' のモジュール ファイル マッピングが無効です",
"インポートするヘッダー '%s' が見つかりません",
"モジュール ファイル リスト内の複数のファイルが '%s' と一致しています",
"'%s' に対して見つかったモジュール ファイルは別のモジュール用です",
"あらゆる種類のモジュール ファイル",
"モジュール ファイルを読み取れません",
"現在のオプションで char8_t 型がサポートされていないので、ビルトイン関数を使用できません",
"--ms_await コマンド ライン オプションは、C++20 コルーチンが有効になっている場合は指定できません",
"既定の集約要素の初期化における明示的なコンストラクター %nod の非標準的な使用"
]
+153 -24
View File
@@ -171,7 +171,7 @@
"선언이 필요합니다.",
"포인터가 내부 개체를 벗어난 범위를 가리킵니다.",
"잘못된 형식 변환입니다.",
"외부/내부 연결이 이전 선언과 충돌합니다.",
"외부/내부 연결이 이전 선언 %p과(와) 충돌함",
"부동 소수점 값이 필요한 정수 계열 형식에 맞지 않습니다.",
"의미 없는 식입니다.",
"첨자가 범위를 벗어났습니다.",
@@ -420,9 +420,9 @@
"%t에서 기본 제공 형식으로 적용되는 변환 함수가 두 개 이상입니다.",
"상수 %n",
"참조 %n",
"%npT",
"%npTd",
"기본 제공 연산자 %sq",
"%no(상속에 의해 모호함)",
"%nod, 상속에 의해 모호함",
"생성자 또는 소멸자가 해당 주소를 가져올 수 없습니다.",
null,
"비const 참조에 대한 초기 값으로 임시 사용(오래된 구문)",
@@ -1361,7 +1361,7 @@
"괄호로 묶인 이니셜라이저 다음에 나타나는 변수 특성은 무시됩니다.",
"이 캐스트의 결과를 lvalue로 사용할 수 없습니다.",
"부호 없는 고정 소수점 값의 부정",
"이 지점에 이 연산자를 사용할 수 없습니다. 괄호를 사용하십시오.",
null,
null,
"레지스터 이름은 레지스터 변수에만 사용할 수 있습니다.",
"명명된 레지스터 변수에는 void 형식을 사용할 수 없습니다.",
@@ -1535,7 +1535,7 @@
"다시 정의할 수 없는 값이 잘못되었습니다.",
"중복된 함수 한정자",
"char16_t 리터럴에 대한 잘못된 문자",
"__LPREFIX를 char8_t, char16_t 또는 char32_t 리터럴에 적용할 수 없습니다.",
null,
"인식할 수 없는 호출 규칙 %s, 다음 중 하나여야 함:",
null,
null,
@@ -1739,7 +1739,7 @@
"현재 함수 범위 바깥쪽에 있는 지역 변수를 캡처할 수 없습니다.",
"바깥쪽 함수 'this'는 캡처 목록에 있지 않는 한 람다 본문에서 참조할 수 없습니다.",
null,
"%t1 형식의 람다 캡처 변수를 %t2 형식의 closure class 필드로 복사할 수 없습니다.",
"%t1 형식의 람다 캡처 변수를 %t2 형식의 closure class 필드로 복사할 수 없습니다.",
"잘못된 템플릿 디렉터리: %s",
"오류",
"오류",
@@ -2354,7 +2354,7 @@
"#include <initializer_list>는 std::initializer_list의 사용(암시적 사용 포함) 전에 필요합니다.",
"'inline' 키워드는 네임스페이스 별칭 선언에 사용할 수 없습니다.",
"%n의 이전 선언이 인라인으로 선언되지 않았습니다.",
"인라인 %n의 재선언은 인라인으로 선언되어야 합니다.",
"%n이(가) 이전에 인라인으로 선언",
"첫 번째 인수는 정수 상수여야 합니다.",
"지정자는 비집계 형식 %t과(와) 함께 사용할 수 없습니다.",
"익명 공용 구조체 멤버의 지정자는 익명 공용 구조체에 해당하는 중괄호 내에만 표시될 수 있습니다.",
@@ -2435,7 +2435,7 @@
"constexpr 생성자는 직접 기본 클래스 %t을(를) 초기화해야 합니다.",
"기본 배열이 전체 식의 끝에서 삭제되므로 필드 이니셜라이저에서 std::initializer_list 개체 만들기가 올바르게 작동하지 않을 가능성이 있습니다.",
"'this'는 상수 식에 사용할 수 없습니다.",
"이 공용 구조체 형식에는 빈 이니셜라이저를 사용할 수 없습니다(초기화해야 하는 멤버가 모호함).",
null,
"'constexpr'은 명시적 인스턴스화 지시문에서 사용할 수 없습니다.",
"순환 종속성으로 인해 기본 생성자의 예외 사양을 확인할 수 없습니다.",
"익명 공용 구조체 정의 %p",
@@ -2474,7 +2474,7 @@
"%t에 대한 한정자가 잘못되었습니다(여기에는 파생 클래스를 사용할 수 없음).",
"'always_inline' 특성이 인라인 함수가 아닌 함수에서 무시되었습니다.",
"상속 생성자는 직접 기본 클래스에서 상속되어야 합니다.",
"%np이(가) 이미 %t에서 상속되었습니다.",
null,
"레이블이 필요합니다.",
"'%%l' 다음에는 피연산자 숫자가 필요합니다.",
"'%%l'의 피연산자 숫자가 올바른 레이블 인수를 참조하지 않습니다.",
@@ -2515,7 +2515,7 @@
"삭제된 함수는 C++11 기능입니다.",
"기본값으로 설정된 함수는 C++11 기능입니다.",
"스토리지 클래스는 명시적 특수화에 사용할 수 없습니다.",
"%t은(는) 클래스 또는 범위가 지정된 열거형이 아닙니다.",
null,
"특수화하려면 범위가 지정되지 않은 열거형이 불투명해야 합니다.",
"열거형 템플릿 선언은 이전에 선언된 클래스 템플릿의 멤버를 참조해야 합니다.",
"벡터 피연산자가 필요합니다.",
@@ -2759,7 +2759,7 @@
"변수가 불완전한 형식 %t일 수 없습니다.",
"초기화되지 않은 하위 개체(%n)에 액세스합니다.",
"초기화되지 않은 하위 개체에 액세스합니다(기본 클래스 %t).",
"vacuous 소멸자 호출",
"상수 식에는 의사(pseudo) 소멸자 호출을 사용할 수 없습니다.",
"const 스토리지를 수정하려고 합니다.",
null,
null,
@@ -2790,7 +2790,7 @@
"벡터 요소 형식은 정수, 열거형 또는 실수 부동 소수점 형식이어야 합니다.",
"128비트 정수가 지원되지 않으므로 기본 제공 함수를 사용할 수 없습니다.",
"벡터 형식이 지원되지 않으므로 기본 제공 함수를 사용할 수 없습니다.",
"연속하는 두 개의 왼쪽 대괄호에는 특성 목록만 넣을 수 있습니다.",
"연속하는 두 개의 왼쪽 대괄호에는 항상 특성 목록이 들어가지만 특성 목록을 여기에 표시할 수 없음",
"인식할 수 없는 '대상' 특성은 확인자 루틴에서 사용하지 못하도록 이 루틴의 자격을 취소합니다.",
"%t은(는) 벡터 형식이 아닙니다.",
"벡터 형식 %t1 및 %t2의 길이가 같아야 합니다.",
@@ -2806,11 +2806,11 @@
"기본 멤버 이니셜라이저를 값 클래스에서 사용할 수 없습니다.",
"'--implicit_noexcept'에는 noexcept를 사용할 수 있는 모드가 필요합니다.",
"가상 기본 클래스(%t)와 관련된 작업을 접을 수 없습니다.",
null,
"초기화가 상수가 아닙니다.",
"불완전한 %t의 값을 평가할 수 없습니다.",
"'nodiscard' 특성으로 선언된 루틴의 반환 값을 무시합니다.",
"'nodiscard' 특성이 있는 반환 값 형식을 무시합니다.",
"'nodiscard' 특성은 void 반환 형식을 사용하는 생성자, 소멸자 또는 루틴에 적용되지 않습니다.",
"'nodiscard' 특성은 void 반환 형식을 사용하는 소멸자 또는 루틴에 적용되지 않습니다.",
"'fallthrough' 특성은 null 문에만 적용됩니다.",
"'fallthrough' 특성은 바깥쪽 switch 문에만 사용할 수 있습니다.",
"fallthrough 문은 switch case label 또는 default 앞에 와야 합니다.",
@@ -2821,7 +2821,7 @@
"__has_include는 #if 외부에 사용할 수 없습니다.",
"CComCoClass 기본 클래스를 추가할 수 없습니다.",
"null로 종료되는 문자열 아님",
"스칼라가 아닌 형식 %t은(는) vacuous 소멸자 호출에서 사용할 수 없습니다.",
"스칼라가 아닌 형식 %t은(는) 의사(pseudo) 소멸자 호출에서 사용할 수 없습니다.",
"'weak' %n의 주소가 상수가 아닙니다.",
"함수 템플릿 시그니처의 재귀적 대체가 너무 많습니다.",
"구조적 바인딩 선언에 대해 잘못된 지정자입니다.",
@@ -3122,7 +3122,7 @@
"*this 캡처는 이 모드에서 표준이 아닙니다.",
"C++17 스타일 'using' 특성 접두사는 이 모드에서 표준이 아닙니다.",
"C++17 스타일 중첩 네임스페이스는 이 모드에서 표준이 아닙니다.",
"'constexpr' 'consteval'을 둘 다 한 선언에서 사용할 수는 없습니다.",
"선언에 'constexpr', 'consteval' 및 'constinit' 중 하나만 나타날 수 있습니다.",
"이 모드에서 함수가 동시에 consteval 및 virtual일 수는 없습니다.",
"'consteval'은 명시적 인스턴스화 지시문에서 사용할 수 없습니다.",
"'consteval'은 여기에 유효하지 않습니다.",
@@ -3166,17 +3166,17 @@
"'internal_linkage' 특성이 이전 선언에 나타나지 않았습니다.",
"%n에 대한 실행 가능한 템플릿 인수 추론 후보를 찾을 수 없음",
"정규화된 생성자 호출은 허용되지 않습니다.",
"비교 연산자는 클래스 정의에서 기본값으로만 사용할 수 있습니다.",
"기본 비교 연산자는 적용되는 클래스의 멤버 또는 friend여야 합니다.",
"기본 비교 연산자의 매개 변수에 대한 잘못된 형식 %t('const X에 대한 참조'여야 함, 여기서 X는 바깥쪽 클래스 형식임)",
"기본 비교 연산자의 반환 형식은 'bool'이어야 합니다.",
"기본 멤버 비교 연산자는 'cost'여야 합니다.",
"이 클래스에 둘 이상의 기본 우주선 연산자가 정의됨",
null,
"코루틴의 프라미스 형식 %t에 'return_void' 및 'return_value' 세트를 둘 다 사용할 수는 없습니다.",
"'return_value'이(가) %p을(를) 선언함",
"'return_void'이(가) %p을(를) 선언함",
"%t의 %n 끝에 'return_void'가 없지만 co_return 문이 없음",
"코루틴 상태 할당에 대한 전역 'operator new'의 nothrow variant를 찾을 수 없음",
"코루틴 상태 할당 취소에 대한 실행 가능한 'operator delete'를 찾을 수 없음",
"코루틴 상태 할당 해제에 대한 실행 가능한 'operator delete'를 찾을 수 없음",
"constexpr 함수는 코루틴일 수 없습니다.",
"이 %s 식의 피연산자가 비클래스 %t(으)로 확인됩니다.",
"정적 이니셜라이저에는 co_await 식을 사용할 수 없습니다.",
@@ -3190,10 +3190,10 @@
"%t에서 constexpr 정적 데이터 멤버 %sq을(를) 찾을 수 없음",
"동적 할당을 위한 요소 수(%d개)가 너무 많습니다.",
"constexpr 동적 할당 요청이 너무 큽니다.",
"동적으로 할당되지 않은 스토리지 할당 취소",
"할당 취소 크기(%d1)가 할당된 크기(%d2)와 일치하지 않습니다.",
"동적으로 할당되지 않은 스토리지 할당 해제",
"할당 해제 크기(%d1)가 할당된 크기(%d2)와 일치하지 않습니다.",
"여기서 할당이 발생했습니다.",
"할당 취소 형식(%t1)이 할당 형식(%t2)과 일치하지 않습니다.",
"할당 해제 형식(%t1)이 할당 형식(%t2)과 일치하지 않습니다.",
"일부 동적 할당(총수 = %d개)의 할당이 취소되지 않았습니다.",
"내장 %n이(가) 예기치 않은 시그니처(%t 유형)로 선언되었습니다.",
">> std::__report_constexpr_value의 출력",
@@ -3220,7 +3220,136 @@
"'ext_vector_type' 특성은 정수나 부동 소수점 형식에만 적용됩니다.",
"이 기능 테스트 매크로는 현재 컴파일 모드에서 무시되고 0을 반환합니다.",
"공용 구조체에 대해 여러 요소가 포함된 집합체 이니셜라이저를 평가할 수 없습니다.",
"연산자 재작성을 위해 선택한 %nd은(는) bool 형식을 반환하지 않습니다.",
"클래스 관련 할당 함수를 호출하는 new-expression은 상수로 계산할 수 없습니다.",
"배치 new-expression은 상수를 계산할 수 없습니다.",
"하위 개체 포인터를 통해 삭제하려면 가상 소멸자가 필요합니다.",
"%npTd, 역 인수 포함",
"__INTADDR__의 피연산자는 Null 포인터에서 오프셋되어야 합니다.",
"_Generic 구문이 여러 형식과 일치합니다.",
"다른 일치 항목은 %t입니다.",
"여기에 사용된 'availability' 특성은 무시됩니다.",
"범위 기반의 'for' 문에서 C++20 스타일 이니셜라이저 문은 이 모드에서 표준이 아닙니다.",
"co_await는 범위 기반의 for 문에만 적용할 수 있습니다.",
"범위 기반의 'for' 루프에서 범위 형식을 추론할 수 없습니다.",
"인라인 변수는 C++17 기능입니다.",
"destroying operator delete에는 첫 번째 매개 변수로 %t이(가) 필요합니다.",
"destroying operator delete는 std::size_t 및 std::align_val_t 이외의 매개 변수를 가질 수 없습니다.",
"낮은 수준의 추상 클래스 옵션은 C++를 컴파일할 경우에만 사용할 수 있습니다.",
"requires 절에서 식의 시작이 잘못되었습니다.",
"requires 절의 캐스트 식은 괄호로 묶어야 합니다.",
"이 연산자는 괄호 없이 requires 절의 최상위 수준에 표시될 수 없습니다.",
"원자성 제약 조건에는 bool 형식이 있어야 합니다.",
"원자성 제약 조건이 대체에 실패했습니다.",
"원자성 제약 조건이 상수가 아닙니다.",
"원자성 제약 조건이 false로 평가됩니다.",
"템플릿 제약 조건이 충족되지 않습니다.",
"이 범위에는 개념 정의가 표시될 수 없습니다.",
"%nd의 재선언이 잘못되었습니다.",
"개념 ID의 %T 인수를 대체하지 못했습니다.",
"%T 인수의 개념이 false입니다.",
"requires 절은 여기에서 허용되지 않습니다(템플릿 기반 함수가 아님).",
"개념 템플릿",
"requires 절이 %nfd과(와) 호환되지 않습니다.",
"특성이 필요합니다.",
null,
"형식 이름이 필요합니다.",
"requires 식에는 가변 매개 변수(...)를 사용할 수 없습니다.",
"requires 식의 명명되지 않은 매개 변수는 영향을 주지 않습니다.",
"개념 이름이 필요합니다.",
"상수 식에 표시되는 %s 호출은 항상 'true'를 생성합니다.",
"consteval 컨텍스트에 표시되는 %s 호출은 항상 'true'를 생성합니다.",
"비 constexpr 함수에 표시되는 %s 호출은 항상 'false'를 생성합니다.",
"%t에 대한 형식 제약 조건이 실패했습니다.",
"C++ 모듈을 사용할 수 있는 모드에서는 'export' 옵션을 사용할 수 없습니다.",
"전역 모듈 조각 선언은 다른 선언 앞에 와야 합니다.",
"모듈 선언은 전역 모듈 조각 뒤에 와야 합니다.",
"프라이빗 모듈 조각은 모듈 선언 뒤에 와야 합니다.",
"%s 모듈 조각을 내보낼 수 없습니다.",
"둘 이상의 모듈을 선언할 수 없습니다.",
"둘 이상의 %s 모듈 조각을 선언할 수 없습니다.",
"모듈은 비어 있지 않은 이름으로 선언해야 합니다.",
"%sq은(는) 가져올 수 있는 헤더가 아닙니다.",
"이름이 없는 모듈을 가져올 수 없습니다.",
"모듈은 자신에 대한 인터페이스 종속성을 포함할 수 없습니다.",
"%sq 모듈을 이미 가져왔습니다.",
"모듈 파일",
"가져올 모듈 파일 %sq을(를) 찾을 수 없습니다.",
"모듈 파일 %sq을(를) 가져올 수 없습니다."
"모듈 %sq의 모듈 파일을 찾을 수 없습니다.",
"모듈 파일 %sq을(를) 가져올 수 없습니다.",
"%s1이(가) 필요한데, %s2이(가) 발견되었습니다.",
"%sq 모듈 파일을 열 때",
"알 수 없는 파티션 이름 %sq",
"알 수 없는 모듈 파일",
"가져올 수 있는 헤더 모듈 파일",
"EDG 모듈 파일",
"IFC 모듈 파일",
"예기치 않은 모듈 파일",
"두 번째 피연산자 %t2의 형식은 %t1과(와) 크기가 같아야 합니다.",
"형식은 일반적으로 복사할 수 있어야 합니다.",
"%t 형식은 현재 __builtin_bit_cast의 constexpr 평가에서 지원되지 않습니다.",
"비트 필드 %t을(를) 사용하는 클래스 형식은 현재 __builtin_bit_cast의 constexpr 평가에서 지원되지 않습니다.",
"참조 형식 %t의 비정적 데이터 멤버는 __builtin_bit_cast의 constexpr 평가를 차단합니다.",
"volatile 형식 %t은(는) __builtin_bit_cast의 constexpr 평가를 차단합니다.",
"공용 구조체, 포인터 또는 멤버 포인터 형식 %t은(는) __builtin_bit_cast의 constexpr 평가를 차단합니다.",
"%npTd, decl %p 사용을 통해 상속됨",
"생성자를 상속하기 위해 %t의 하위 개체를 생성할 수 없습니다. 암시적 기본 생성자가 삭제됩니다.",
"%n은(는) void를 반환해야 합니다.",
"잘못된 멤버 선언 시작",
"'auto'가 필요합니다.",
"이 시점에 이 연산자를 사용할 수 없습니다. 앞의 새 식을 괄호로 묶으세요.",
"잘못된 개념 사용",
"기본 멤버 비교 연산자는 '&&'-qualified일 수 없습니다.",
"기본 constexpr 비교 함수에서 비 constexpr 함수 %nd 호출",
"constexpr 메모리 비교는 최상위 정수 또는 정수 배열 개체에 대해서만 지원됩니다.",
"개념 템플릿에는 관련된 제약 조건이 있을 수 없습니다.",
"'export'는 허용되지 않습니다.",
"개별 클래스 멤버를 내보낼 수 없습니다.",
"내보낸 선언은 이름이 있어야 합니다.",
"내보내기 선언은 내보내기 선언(이전 선언 %p)을 포함할 수 없습니다.",
"내보내기 선언은 모듈 가져오기 선언을 포함할 수 없습니다.",
"내보내기 선언은 모듈 인터페이스 단위에만 나타날 수 있습니다.",
"내보내기 선언은 내부 링크가 있는 이름을 내보낼 수 없습니다.",
"using 선언에 %nfd가 포함되어 있습니다.",
"__fp16 부동 소수점 형식이 지원되지 않으므로 기본 제공 함수를 사용할 수 없습니다.",
"requires 식은 하나 이상의 요구 사항을 지정해야 합니다.",
"'constinit'는 여기에 유효하지 않습니다.",
"'constinit'는 정적 또는 스레드 저장 기간을 사용하는 변수 선언에만 유효합니다.",
"constinit 변수에는 동적 초기화가 필요합니다.",
"변수가 이전에 'constinit'(%p)로 선언되었습니다.",
"프로토타입 함수가 아닌 함수 선언자를 사용합니다.",
"인수에는 const 한정 형식을 사용할 수 없습니다.",
"불완전한 형식 %t의 멤버 포인터는 사용할 수 없습니다.",
"init-capture의 팩 확장은 이 모드에서 사용할 수 없습니다.",
"init-capture의 팩 확장은 C++20 기능입니다.",
"클래스 정의의 기본 비교 연산자는 해당 비교 연산자(%nd)의 첫 번째 선언이어야 합니다.",
"init-capture의 팩 확장은 가변 인자 템플릿에서만 사용할 수 있습니다.",
"형식 제약 조건이 형식 개념(즉, 첫 번째 매개 변수가 형식 매개 변수인 개념 템플릿)이 아닌 %nd를 사용합니다.",
"추론된 자리 표시자 형식 %t이(가) 형식 제약 조건에 실패했습니다.",
"%t의 기본 생성자가 적합하지 않습니다.",
"순서가 지정되지 않은 제약 조건으로 인해 %t의 소멸자가 모호합니다.",
"실패한 제약 조건으로 인해 %t의 소멸자가 부적합합니다.",
"모호한 소멸자 후보",
"가상 함수에는 후행 requires 절을 사용할 수 없습니다.",
"%nd이(가) 해당 제약 조건을 충족하지 않습니다.",
"decltype 한정자 %t의 결과가 클래스 또는 열거형이 아닙니다.",
"역 매개 변수를 사용하는 암시적 비교 연산자는 동일하게 적절한 일치 항목이므로 표준 C++20에서 비교는 모호합니다. 이 문제는 일반적으로 비교 연산자에 'const' 한정자가 없어서 발생합니다. %nod를 참조하세요.",
"잘못된 개념 ID",
"requires 절의 %T 인수를 대체하지 못했습니다.",
"%nd에 대한 제약 조건을 충족하지 않습니다.",
"constexpr 함수의 변수 형식 %t에는 가상 기본 클래스가 있습니다.",
"상수 식은 가상 기본 하위 개체(%t 형식)를 할당할 수 없습니다.",
"클래스 형식의 템플릿 매개 변수는 구조적 클래스 형식이어야 합니다.",
"UTF-8 리터럴에 대한 지원에는 u-리터럴 지원이 필요합니다.",
"'%s'에 대한 모듈 파일 매핑이 두 번 이상 지정되었습니다.",
"'%s'에 대한 헤더 단위 매핑이 두 번 이상 지정되었습니다.",
"'%s'에 대한 매핑이 지정되지 않았습니다.",
"'%s'에 대한 모듈 파일 매핑이 잘못되었습니다.",
"가져올 '%s' 헤더를 찾을 수 없습니다.",
"모듈 파일 목록에 있는 두 개 이상의 파일이 '%s'과(와) 일치합니다.",
"'%s'에 대해 찾은 모듈 파일이 다른 모듈에 대한 것입니다.",
"모든 종류의 모듈 파일",
"모듈 파일을 읽을 수 없음",
"char8_t 형식이 현재 옵션에서 지원되지 않기 때문에 기본 제공 함수를 사용할 수 없습니다.",
"C++20 코루틴을 사용하도록 설정한 경우 --ms_await 명령줄 옵션을 지정할 수 없습니다.",
"기본 집계 요소 초기화에 명시적 생성자 %nod의 비표준 사용"
]
+154 -25
View File
@@ -171,7 +171,7 @@
"oczekiwano deklaracji",
"wskaźnik wskazuje poza obiekt podstawowy",
"nieprawidłowa konwersja typu",
"konflikt zewnętrznego/wewnętrznego wiązania z poprzednią deklaracją",
"konflikt zewnętrznego/wewnętrznego wiązania z poprzednią deklaracją %p",
"wartość zmiennoprzecinkowa nie mieści się w wymaganym typie całkowitym",
"wyrażenie nie ma żadnego efektu",
"indeks poza zakresem",
@@ -352,8 +352,8 @@
"więcej niż jeden operator %sq pasuje do tych argumentów operacji:",
"pierwszy parametr funkcji alokacji musi mieć typ „size_t”",
"funkcja alokacji musi zwracać typ „void *”",
"funkcja dezalokacji musi zwracać typ „void”",
"pierwszy parametr funkcji dezalokacji musi mieć typ „void *”",
"funkcja cofania alokacji musi zwracać typ „void”",
"pierwszy parametr funkcji cofania alokacji musi mieć typ „void *”",
null,
"typ musi być typem obiektu",
"klasa bazowa %t jest już zainicjowana",
@@ -420,9 +420,9 @@
"więcej niż jedna funkcja konwersji umożliwia konwertowanie elementu %t na typ wbudowany:",
"wartość stała %n",
"odwołanie do %n",
"%npT",
"%npTd",
"wbudowany operator %sq",
"%no (niejednoznaczne dziedziczenie)",
"%nod, niejednoznaczność przez dziedziczenie",
"nie można pobrać adresu konstruktora lub destruktora",
null,
"użyto wartości tymczasowej jako wartości początkowej odwołania do elementu niebędącego stałą (anachronizm)",
@@ -732,7 +732,7 @@
"%n to nie jest szablon klasy",
"tablica z niekompletnym typem elementu jest niestandardowa",
"operatora alokacji nie można zadeklarować w przestrzeni nazw",
"operatora dezalokacji nie można zadeklarować w przestrzeni nazw",
"operatora cofania alokacji nie można zadeklarować w przestrzeni nazw",
"wystąpił konflikt elementu %np1 z deklaracją using elementu %np2",
"wystąpił konflikt elementu %np1 używającego deklaracji using z elementem %npd2",
"opcji przestrzeni nazw można użyć tylko w przypadku kompilowania kodu C++",
@@ -1361,7 +1361,7 @@
"atrybuty zmiennej pojawiające się po inicjatorze w nawiasach są ignorowane",
"wynik tego rzutowania nie może być używany jako l-wartość",
"negacja wartości stałoprzecinkowej bez znaku",
"ten operator jest niedozwolony w tym miejscu. Użyj nawiasów.",
null,
null,
"nazwy rejestru mogą być używane tylko dla zmiennych rejestru",
"zmienne nazwanego rejestru nie mogą mieć typu void",
@@ -1535,7 +1535,7 @@
"nieprawidłowa wartość flagi cannot-redefine",
"zduplikowany modyfikator funkcji",
"nieprawidłowy znak dla literału char16_t",
"Nie można zastosować makra __LPREFIX do literałów char8_t, char16_t ani char32_t",
null,
"nierozpoznana konwencja wywoływania %s. Musi ona być jedną z następujących:",
null,
null,
@@ -2354,7 +2354,7 @@
"dyrektywa #include <lista_inicjatorów> jest potrzebna przed użyciem obiektu std::initializer_list, z uwzględnieniem użycia niejawnego",
"nie można użyć słowa kluczowego „inline” w deklaracji aliasu przestrzeni nazw",
"poprzednia deklaracja elementu %n nie była zadeklarowana śródwierszowo",
"ponowna deklaracja wbudowanego elementu %n musi być zadeklarowana śródwierszowo",
"Element %n był wcześniej zadeklarowany śródwierszowo",
"pierwszy argument musi być całkowitą wartością stałą",
"desygnator nie może być używany z niezagregowanym typem %t",
"desygnator dla anonimowej składowej unii może występować tylko w nawiasach klamrowych odpowiadających tej anonimowej unii",
@@ -2435,7 +2435,7 @@
"konstruktor constexpr musi inicjować bezpośrednią klasę bazową %t",
"tworzenie obiektu std::initializer_list w inicjatorze pola prawdopodobnie nie będzie działać zgodnie z oczekiwaniami, ponieważ tablica bazowa zostanie zniszczona na koniec pełnego wyrażenia",
"słowo kluczowe „this” nie może być używane w wyrażeniu stałej",
"pusty inicjator nie jest prawidłowy dla tego typu unii (to, która składowa powinna być inicjowana, jest niejednoznaczne)",
null,
"słowo kluczowe „constexpr” nie jest dozwolone dla jawnej dyrektywy tworzenia wystąpienia",
"nie można ustalić specyfikacji wyjątku konstruktora domyślnego z powodu zależności cyklicznej",
"element %p zdefiniowany przez unię anonimową",
@@ -2474,7 +2474,7 @@
"nieprawidłowy kwalifikator dla elementu %t (klasa pochodna jest w tym miejscu niedozwolona)",
"atrybut „always_inline” jest ignorowany w przypadku funkcji innych niż inline",
"konstruktory dziedziczące muszą być dziedziczone po bezpośredniej klasie bazowej",
"element %np dziedziczył już po elemencie %t",
null,
"oczekiwano etykiety",
"oczekiwano numeru argumentu operacji za „%%l”",
"liczba argumentu operacji dla elementu „%%l” nie odwołuje się do prawidłowego argumentu etykiety",
@@ -2515,7 +2515,7 @@
"funkcje usunięte są funkcją języka C++11",
"funkcje domyślne są funkcją języka C++11",
"klasa magazynu nie jest dozwolona w jawnej specjalizacji",
"element %t nie jest klasą ani wyliczeniem z zakresem",
null,
"wyliczenie bez zakresu musi być nieprzezroczyste, aby było specjalizowane",
"deklaracja szablonu wyliczenia musi odwoływać się do wcześniej zadeklarowanej składowej szablonu klasy",
"oczekiwano wektora jako argumentu operacji",
@@ -2759,7 +2759,7 @@
"zmienna nie może mieć niepełnego typu %t",
"dostęp do niezainicjowanego podobiektu (%n)",
"dostęp do niezainicjowanego podobiektu (klasa bazowa: %t)",
"niepotrzebne wywołanie destruktora",
"wywołanie pseudodestruktora jest niedozwolone w wyrażeniu stałym",
"próba zmodyfikowania magazynu stałych",
null,
null,
@@ -2790,7 +2790,7 @@
"typ elementu wektora musi być typem integralnym, wyliczeniem lub rzeczywistą liczbą zmiennoprzecinkową",
"wbudowana funkcja jest niedostępna, ponieważ 128-bitowe liczby całkowite nie są obsługiwane",
"wbudowana funkcja jest niedostępna, ponieważ typy wektorów nie są obsługiwane",
"dwa kolejne lewe nawiasy kwadratowe mogą wprowadzać tylko listę atrybutów",
"dwa kolejne lewe nawiasy kwadratowe zawsze wprowadzają listę atrybutów, ale lista atrybutów nie może znajdować się w tym miejscu",
"nierozpoznany atrybut „target” dyskwalifikuje tę procedurę z użycia przez procedurę programu rozpoznawania nazw",
"%t nie jest typem wektora",
"typy wektorów %t1 i %t2 muszą mieć tę samą długość",
@@ -2806,11 +2806,11 @@
"inicjator domyślnej składowej nie jest dozwolony w klasie wartości",
"element „--implicit_noexcept” wymaga trybu umożliwiającego użycie elementu noexcept",
"nie można złożyć operacji obejmującej wirtualną klasę bazową (%t)",
null,
"inicjowanie nie jest stałą",
"nie można obliczyć wartości niekompletnego elementu %t",
"ignorowanie wartości zwracanej z zadeklarowanej procedury z atrybutem „nodiscard”",
"ignorowanie typu wartości zwracanej z atrybutem „nodiscard”",
"atrybut „nodiscard” nie ma zastosowania do konstruktorów, destruktorów ani procedur ze zwracanym typem void",
"atrybut „nodiscard” nie ma zastosowania do destruktorów ani procedur ze zwracanym typem void",
"atrybut „fallthrough” ma zastosowanie tylko do instrukcji o wartości null",
"atrybut „fallthrough” może występować tylko w instrukcji zawierającej switch",
"instrukcja fallthrough musi znajdować się przed etykietą przypadku switch lub wartością domyślną",
@@ -2821,7 +2821,7 @@
"element __has_include nie może występować poza wyrażeniem #if",
"nie można dodać klasy bazowej CComCoClass",
"ciąg inny niż zakończony wartością null",
"typu nieskalarnego %t nie można używać w jałowym wywołaniu destruktora",
"nie można używać typu nieskalarnego %t w wywołaniu pseudodestruktora",
"adres elementu „weak” %n nie jest stały",
"zbyt wiele rekursywnych podstawień podpisów szablonów funkcji",
"nieprawidłowy specyfikator dla deklaracji powiązania ze strukturą",
@@ -3122,7 +3122,7 @@
"przechwycenie wyrażenia *this jest niestandardowe w tym trybie",
"prefiks atrybutu „using” zgodny ze specyfikacją C++17 jest niestandardowy w tym trybie",
"zagnieżdżone przestrzenie nazw zgodne ze specyfikacją C++17 są niestandardowe w tym trybie",
"słowa kluczowe „constexpr” i „consteval” nie mo występować razem w deklaracji",
"tylko jeden element „constexpr, „consteval” i „constinit” może występować w deklaracji",
"funkcja nie może być jednocześnie zadeklarowana jako consteval i virtual w tym trybie",
"słowo kluczowe „consteval” jest niedozwolone dla jawnej dyrektywy tworzenia wystąpienia",
"słowo kluczowe „consteval” nie jest prawidłowe w tym miejscu",
@@ -3166,11 +3166,11 @@
"atrybut „internal_linkage” nie pojawił się we wcześniejszej deklaracji",
"nie znaleziono zdatnego kandydata wnioskowania argumentu szablonu dla elementu %n",
"wywołanie w pełni kwalifikowanego konstruktora jest niedozwolone",
"operator porównania może być tylko domyślny w definicji klasy",
"przyjęty domyślnie operator porównania musi być składową lub elementem zaprzyjaźnionym klasy, do której ma zastosowanie",
"nieprawidłowy typ %t parametru domyślnego operatora porównania (wymagany jest typ „reference to const X”, gdzie X jest typem klasy otaczającej)",
"zwracanym typem domyślnego operatora porównania musi być „bool”",
"domyślny operator porównania elementu członkowskiego musi mieć wartość „const”",
"w tej klasie zdefiniowano więcej niż jeden domyślny operator spaceship",
null,
"Typ obietnicy %t koprocedury nie może mieć ustawionej jednocześnie metody „return_void” i metody „return_value”",
"metoda „return_value” zadeklarowała element %p",
"metoda „return_void” zadeklarowała element %p",
@@ -3190,10 +3190,10 @@
"nie znaleziono statycznego elementu członkowskiego danych constexpr %sq w %t",
"liczba elementów (%d) jest zbyt duża na potrzeby dynamicznej alokacji",
"żądanie dynamicznej alokacji wyrażenia constexpr jest zbyt duże",
"cofnięcie przydziału magazynu, który nie został dynamicznie przydzielony",
"rozmiar dezalokacji (%d1) nie odpowiada przydzielonemu rozmiarowi (%d2)",
"cofnięcie alokacji magazynu, który nie został dynamicznie przydzielony",
"rozmiar cofania alokacji (%d1) nie odpowiada przydzielonemu rozmiarowi (%d2)",
"tutaj wystąpił przydział",
"typ dezalokacji (%t1) nie jest zgodny z typem alokacji (%t2)",
"typ cofania alokacji (%t1) nie jest zgodny z typem alokacji (%t2)",
"nie cofnięto przydziału niektórych dynamicznych alokacji (łączna liczba: %d)",
"wewnętrzny element %n zadeklarowany z nieoczekiwanym podpisem (typ %t)",
">> dane wyjściowe z elementu std::__report_constexpr_value",
@@ -3220,7 +3220,136 @@
"atrybut „ext_vector_type” ma zastosowanie tylko do typów będących liczbami całkowitymi lub zmiennoprzecinkowymi",
"to makro feature-test jest ignorowane i zwraca wartość 0 w bieżącym trybie kompilacji",
"nie można ocenić inicjatora agregacji za pomocą wielu elementów dla unii",
"Element %nd wybrany dla operatora ponownego zapisania nie zwraca typu logicznego",
"wyrażenie new-expression wywołujące funkcję alokacji specyficzną dla klasy nie może być obliczane jako stała",
"wyrażenie new umieszczania nie może dawać wartości stałej",
"usuwanie za pomocą wskaźnika podobiektu wymaga destruktora wirtualnego",
"%npTd, z odwróconymi argumentami",
"argument operacji __INTADDR__ musi być odsunięty od wskaźnika o wartości null",
"Konstrukcja _Generic dopasowuje wiele typów",
"inne dopasowanie jest %t",
"użyty tutaj atrybut „availability” jest ignorowany",
"Instrukcja inicjatora w stylu języka C++20 w instrukcji „for” opartej na zakresie jest niestandardowa w tym trybie",
"element co_await można zastosować tylko do instrukcji for opartej na zakresie",
"nie można wywnioskować typu zakresu w pętli „for” opartej na zakresie.",
"zmienne wbudowane to funkcja języka C++ 17",
"niszczący operator delete wymaga elementu %t jako pierwszego parametru",
"niszczący operator delete nie może mieć parametrów innych niż std::size_t i std::align_val_t",
"opcje swobodnej klasy abstrakcyjnej mogą być używane tylko podczas kompilowania kodu C++",
"nieprawidłowy początek wyrażenia w klauzuli requires",
"wyrażenie rzutowania w klauzuli requires musi być ujęte w nawiasy",
"ten operator nie może być wyświetlany na najwyższym poziomie (bez nawiasów) w klauzuli requires",
"niepodzielne ograniczenie musi mieć typ bool",
"niepowodzenie podstawiania niepodzielnego ograniczania",
"niepodzielne ograniczenie nie jest stałe",
"niepodzielne ograniczenie zwraca wartość false",
"ograniczenie szablonu nie zostało spełnione",
"definicja koncepcji nie może znajdować się w tym zakresie",
"nieprawidłowa ponowna deklaracja elementu %nd",
"podstawianie argumentów %T dla identyfikatora koncepcji nie powiodło się",
"koncepcja jest fałszywa dla argumentów %T",
"klauzula requires nie jest dozwolona w tym miejscu (nie jest to funkcja z szablonem)",
"szablon koncepcji",
"klauzula requires jest niezgodna z elementem %nfd",
"oczekiwano atrybutu",
null,
"oczekiwano nazwy typu",
"parametr wielokropka nie jest dozwolony w wyrażeniu requires",
"parametr bez nazwy wyrażeniu requires nie ma żadnego wpływu",
"oczekiwano nazwy koncepcji",
"wywołanie elementu %s pojawiające się w wyrażeniu stałym zawsze zwraca wartość „true”",
"wywołanie elementu %s pojawiające się w kontekście consteval zawsze zwraca wartość „true”",
"wywołanie %s pojawiające się w funkcji innej niż constexpr zawsze zwraca wartość „false”",
"ograniczenie typu nie powiodło się dla elementu %t",
"opcji „export” nie można używać w trybach, w których włączono moduły języka C++",
"deklaracja fragmentu modułu globalnego musi poprzedzać dowolną inną deklarację",
"deklarację modułu można poprzedzać tylko fragment modułu globalnego",
"fragment modułu prywatnego musi być poprzedzony deklaracją modułu",
"nie można wyeksportować fragmentu modułu %s",
"nie można zadeklarować więcej niż jednego modułu",
"nie można zadeklarować więcej niż jednego fragmentu modułu %s",
"moduł musi być zadeklarowany z niepustą nazwą",
"%sq nie jest nagłówkiem, który można zaimportować",
"nie można zaimportować modułu bez nazwy",
"moduł nie może mieć zależności interfejsu od samego siebie",
"moduł %sq został już zaimportowany",
"plik modułu",
"nie można odnaleźć pliku modułu %sq do zaimportowania",
"nie można zaimportować pliku modułu %sq"
"nie można odnaleźć pliku modułu dla modułu %sq",
"nie można zaimportować pliku modułu %sq",
"oczekiwano elementu %s1, zamiast niego znaleziono element %s2",
"podczas otwierania pliku modułu %sq",
"nieznana nazwa partycji %sq",
"nieznany plik modułu",
"plik modułu z importowalnym nagłówkiem",
"plik modułu EDG",
"plik modułu IFC",
"nieoczekiwany plik modułu",
"typ drugiego operandu %t2 musi mieć taki sam rozmiar jak element %t1",
"typ musi być możliwy do skopiowania w prosty sposób",
"typ %t nie jest obecnie obsługiwany na potrzeby oceny wyrażenia constexpr dla elementu __builtin_bit_cast",
"typy klas z polami bitowymi %t nie są obecnie obsługiwane na potrzeby oceny wyrażenia constexpr dla elementu __builtin_bit_cast",
"niestatyczna składowa danych typu referencyjnego %t uniemożliwia ocenę wyrażenia constexpr dla elementu __builtin_bit_cast",
"typ nietrwały %t uniemożliwia ocenę wyrażenia constexpr dla elementu __builtin_bit_cast",
"typ unii, wskaźnika lub wskaźnika do składowej %t uniemożliwia ocenę wyrażenia constexpr dla elementu __builtin_bit_cast",
"%npTd, odziedziczone za pomocą deklaracji %p",
"nie można wykonać konstrukcji podobiektu %t na potrzeby dziedziczenia konstruktorów — niejawny konstruktor domyślny został usunięty",
"Element %n musi zwracać wartość void",
"nieprawidłowy początek deklaracji członkowskiej",
"oczekiwano elementu „auto”",
"ten operator jest niedozwolony w tym miejscu; umieść w nawiasie poprzednie nowe wyrażenie",
"nieprawidłowe użycie koncepcji",
"domyślny operator porównania elementu członkowskiego nie może być kwalifikowany przez element „&&”",
"domyślna funkcja porównywania constexpr wywołuje funkcję non-constexpr %nd",
"Porównywanie pamięci constexpr jest obsługiwane tylko w przypadku obiektów najwyższego poziomu w postaci liczby całkowitej lub obiektów typu tablica liczb całkowitych",
"z szablonem koncepcji nie mogą być skojarzone ograniczenia",
"Polecenie „export” jest niedozwolone",
"eksportowanie pojedynczych elementów członkowskich klasy jest niedozwolone",
"wyeksportowana deklaracja musi wprowadzić nazwę",
"deklaracja eksportu nie może zawierać deklaracji eksportu (poprzednia deklaracja %p)",
"deklaracja eksportu nie może zawierać deklaracji importu modułu",
"deklaracja eksportu może występować tylko w jednostce interfejsu modułu",
"deklaracja eksportu nie może eksportować nazwy z powiązaniem wewnętrznym",
"deklaracja using zawiera %nfd",
"funkcja wbudowana jest niedostępna, ponieważ typy liczb zmiennoprzecinkowych __fp16 nie są obsługiwane",
"wyrażenie requires musi określać co najmniej jedno wymaganie",
"słowo kluczowe „constinit” nie jest tutaj prawidłowe",
"element „constinit” jest prawidłowy tylko w deklaracjach zmiennych z czasem trwania magazynowania statycznym lub wątku",
"Zmienna constinit wymaga inicjowania dynamicznego",
"zmienna została wcześniej zadeklarowana za pomocą elementu „constinit” %p",
"Używanie nieprototypowego deklaratora funkcji",
"argument nie może mieć typu kwalifikowanego jako const",
"wskaźnik do składowej niepełnego typu %t jest niedozwolony",
"rozszerzenie pakietu w funkcji init-capture nie jest włączone w tym trybie",
"rozszerzenie pakietu w funkcji init-capture to funkcja języka C++20",
"operator porównania przyjęty domyślnie w definicji klasy musi być pierwszą deklaracją tego operatora porównania (%nd)",
"rozszerzenie pakietu w elemencie init-capture może być używane tylko w szablonie wariadycznym",
"ograniczenie typu używa elementu %nd, który nie jest koncepcją typu (tj. szablonem koncepcji, którego pierwszym parametrem jest parametr typu)",
"wywnioskowany typ symbolu zastępczego %t nie spełniał ograniczenia typu",
"domyślny konstruktor dla elementu %t nie kwalifikuje się",
"destruktor dla %t jest niejednoznaczny z powodu nieuporządkowanych ograniczeń",
"destruktor %t dla nie kwalifikuje się z powodu niepowodzenia ograniczeń",
"niejednoznaczny kandydat destruktora",
"funkcja wirtualna nie może mieć końcowej klauzuli requires",
"%nd nie spełnia swoich ograniczeń",
"wynik %t kwalifikatora decltype nie jest klasą ani wyliczeniem",
"porównanie jest niejednoznaczne w standardowym języku C++20, ponieważ implikowany operator porównania z odwróconymi parametrami jest równie dobrym dopasowaniem — jest to zwykle spowodowane brakującym kwalifikatorem „const” w operatorze porównania; zobacz %nod",
"nieprawidłowy identyfikator koncepcji",
"podstawianie argumentów %T dla klauzuli requires nie powiodło się",
"ograniczenia dla %nd nie są spełnione",
"typ zmiennej %t w funkcji constexpr ma wirtualne klasy podstawowe",
"wyrażenie stałe nie może przydzielić wirtualnego podobiektu podstawowego (dla typu %t)",
"parametr szablonu typu klasy musi być typu klasy strukturalnej",
"obsługa literałów UTF-8 wymaga obsługi literału z prefiksem u.",
"mapowanie pliku modułu dla elementu „%s” zostało określone więcej niż raz",
"mapowanie jednostki nagłówka dla elementu „%s” zostało określone więcej niż raz",
"nie określono mapowania dla elementu „%s”",
"mapowanie pliku modułu dla elementu „%s” jest nieprawidłowe",
"nie można odnaleźć nagłówka „%s” do zaimportowania",
"więcej niż jeden plik na liście plików modułu pasuje do elementu „%s”",
"plik modułu znaleziony dla elementu „%s” jest dla innego modułu",
"dowolny rodzaj pliku modułu",
"nie można odczytać pliku modułu",
"wbudowana funkcja jest niedostępna, ponieważ typ char8_t nie jest obsługiwany z bieżącymi opcjami",
"nie można określić opcji wiersza polecenia --ms_await, jeśli włączono koprocedury języka C++20",
"niestandardowe użycie konstruktora jawnego %nod dla domyślnej inicjalizacji elementu agregacji"
]
+157 -28
View File
@@ -171,7 +171,7 @@
"esperado uma declaração",
"ponteiro aponta para fora do objeto considerado",
"conversão de tipo inválida",
"conflito de vínculo interno/externo com declaração anterior",
"conflito de vínculo interno/externo com a declaração anterior %p",
"valor de ponto flutuante não cabe no tipo integral requerido",
"a expressão não possui efeito",
"subscrito fora do intervalo",
@@ -420,9 +420,9 @@
"é possível aplicar mais de uma função de conversão de %t para um tipo embutido:",
"constante %n",
"referência %n",
"%npT",
"%npTd",
"operador embutido %sq",
"%no (ambíguo por herança)",
"%nod, ambíguo por herança",
"um construtor or destrutor pode não ter seu endereço capturado",
null,
"variável temporária utilizada para valor inicial de referência de uma não constante (anacronismo)",
@@ -1229,7 +1229,7 @@
"a transferência de controle em uma expressão de instrução não é permitida",
null,
"essa declaração não é permitida dentro de uma expressão de instrução",
"uma classe que não é trivial de ser copiada não pode ser definida dentro de uma expressão de instrução",
"não é possível definir, dentro de uma expressão de instrução, uma classe que não pode ser copiada de maneira trivial",
null,
"uma variável estática local inicializada dinamicamente não é permitida dentro de uma expressão de instrução",
"uma matriz de comprimento variável não é permitida dentro de uma expressão de instrução",
@@ -1290,7 +1290,7 @@
null,
"qualificadores asm GNU inválidos",
"um tipo de classe que não é trivial de ser copiado passou pelas reticências",
"um tipo de classe que não é trivial de ser copiado não pode ser buscado por va_arg",
"não é possível buscar por va_arg um tipo de classe que não pode ser copiado de maneira trivial",
"the \"u\" or \"U\" suffix must appear before the \"l\" or \"L\" suffix in a fixed-point literal",
"a opção 'fixed_point' pode ser utilizada somente quando se estiver compilando C",
"o operando inteiro pode causar estouro de ponto fixo",
@@ -1361,7 +1361,7 @@
"os atributos variáveis que são exibidos depois de um inicializador entre parênteses são ignorados",
"o resultado dessa conversão não pode ser usado como um lvalue",
"negação de um valor de ponto fixo não atribuído",
"esse operador não é permitido nesse ponto; use parênteses",
null,
null,
"os nomes de registro somente podem ser usados para variáveis de registro",
"as variáveis de registro nomeado não pode ter tipo void",
@@ -1535,7 +1535,7 @@
"valor de não pode definir novamente inválido",
"modificador de função duplicado",
"caractere inválido para literal char16_t",
"O __LPREFIX não pode ser aplicado aos literais char8_t, char16_t ou char32_t",
null,
"convenção de chamadas não reconhecida %s, deve ser um dos:",
null,
null,
@@ -2354,7 +2354,7 @@
"um #include <lista_de_inicializadores> é necessário antes do uso de um std::initializer_list, incluindo um uso implícito",
"a palavra-chave 'inline' não pode ser usada na declaração de um alias de namespace",
"a declaração anterior de %n não foi declarada em linha",
"a redeclaração de inline %n deve ser declarada em linha",
"O %n foi declarado embutido anteriormente",
"o primeiro argumento deve ser uma constante inteira",
"um designador não pode ser usado com um tipo de não agregação %t",
"um designador para um membro de união anônima só pode aparecer entre chaves correspondentes àquela união anônima",
@@ -2435,7 +2435,7 @@
"o construtor constexpr deve inicializar a classe base direta %t",
"é improvável que a criação de um objeto std::initializer_list em um inicializador de campo funcione como esperado porque a matriz subjacente será destruída ao final da expressão completa",
"'this' não pode ser usado em uma expressão constante",
"um inicializador vazio não é válido para este tipo de união (qual membro deve ser inicializado fica ambíguo)",
null,
"'constexpr' não é permitido em uma diretiva explícita de instanciação",
"não é possível determinar a especificação de exceção do construtor padrão devido a uma dependência circular",
"%p definido por união anônima",
@@ -2474,7 +2474,7 @@
"qualificador inválido para %t (uma classe derivada não é permitida aqui)",
"o atributo 'always_inline' é ignorado em funções não embutidas",
"construtores de herança devem ser herdados de uma classe base direta",
"%np já herdado de %t",
null,
"espera-se um rótulo",
"espera-se um número de operando depois de '%%l'",
"o número de operando para '%%l' não se refere a um argumento de rótulo válido",
@@ -2515,7 +2515,7 @@
"funções excluídas são um recurso do C++11",
"funções padrão são um recurso do C++11",
"uma classe de armazenamento não é permitida em uma especialização explícita",
"%t não é uma classe ou enumeração com escopo",
null,
"uma enumeração sem escopo definido deve ser opaco para ser especializada",
"uma declaração de modelo enumeração deve fazer referência a um membro anteriormente declarado de um modelo de classe",
"espera-se um operando de vetor",
@@ -2566,7 +2566,7 @@
"destino de atributo inválido para um atributo autônomo",
"destino de atributo inválido para este contexto",
"o atributo %t não pode ser usado aqui",
"%t é preterido; use '...' para especificar uma matriz de parâmetros",
"%t está preterido; use '...' para especificar uma matriz de parâmetros",
"o namespace padrão não pode ser estendido",
"o tipo na caixa deve ser uma classe value ou enum",
"a referência de rastreamento para a classe de valor não é permitida",
@@ -2759,7 +2759,7 @@
"a variável não pode ter um %t de tipo incompleto",
"acesso a subobjeto não inicializado (%n)",
"acesso a subobjeto não inicializado (classe base %t)",
"chamada de destruidor vazia",
"uma chamada de pseudodestruidor não é permitida em uma expressão de constante",
"tentativa de modificar o armazenamento const",
null,
null,
@@ -2790,7 +2790,7 @@
"o tipo de elemento do vetor deve ser integral, de enumeração ou do tipo de ponto flutuante real",
"a função interna não está disponível porque não há suporte para 128 bits inteiros",
"a função interna não está disponível porque não há suporte para os tipos de vetores",
"dois colchetes à esquerda e consecutivos só podem apresentar uma lista de atributos",
"dois colchetes à esquerda consecutivos sempre introduzem uma lista de atributos, mas uma lista de atributos não pode aparecer aqui",
"o atributo 'de destino' não reconhecido desqualifica essa rotina de ser usada pela rotina do resolvedor",
"%t não é um tipo de vetor",
"os tipos de vetor %t1 e %t2 devem ter o mesmo comprimento",
@@ -2806,11 +2806,11 @@
"um inicializador de membro padrão não é permitido em uma classe de valor",
"'--implicit_noexcept' exige um modo que habilite noexcept",
"não é possível realizar o desdobramento da operação envolvendo a classe base virtual (%t)",
null,
"a inicialização não é constante",
"não é possível avaliar o valor de %t incompleto",
"ignorando o valor retornado da rotina declarada com o atributo 'nodiscard'",
"ignorando o tipo de valor retornado com o atributo 'nodiscard'",
"o atributo 'nodiscard' não se aplica aos construtores, destrutores ou rotinas com o tipo de retorno nulo",
"o atributo 'nodiscard' não se aplica aos destruidores ou rotinas com o tipo de retorno nulo",
"o atributo 'fallthrough' se aplica somente a instruções nulas",
"o atributo 'fallthrough' pode aparecer somente em uma instrução switch da delimitação",
"a instrução fallthrough deve preceder o rótulo de caso ou padrão de switch",
@@ -2821,7 +2821,7 @@
"__has_include não pode aparecer fora de #if",
"não é possível adicionar a classe base CComCoClass",
"não é uma cadeia de caracteres com terminação nula",
"o tipo não escalar %t não pode ser usado em uma chamada de destruidor vazia",
"o tipo não escalar %t não pode ser usado em uma chamada de pseudodestruidor",
"o endereço de 'weak' %n não é constante",
"substituições recursivas em excesso de assinaturas de modelo de função",
"especificador inválido para a declaração de associação estruturada",
@@ -3122,7 +3122,7 @@
"a captura de *this está fora do padrão neste modo",
"O atributo 'using' de estilo C++17 está fora do padrão neste modo",
"Os namespaces aninhados de estilo C++17 estão fora do padrão neste modo",
"'constexpr' e 'consteval' não podem aparecer juntos em uma declaração",
"somente uma das opções: 'constexpr', 'consteval' e 'constinit' pode aparecer em uma declaração",
"uma função não pode ser tanto consteval quanto virtual neste modo",
"'consteval' não é permitido em uma diretiva explícita de instanciação",
"'consteval' não é válido aqui",
@@ -3166,11 +3166,11 @@
"o atributo 'internal_linkage' não apareceu em uma declaração anterior",
"não foi encontrado nenhum candidato viável à dedução de argumento de modelo para %n",
"uma chamada de construtor totalmente qualificada não é permitida",
"um operador de comparação pode ser usado como padrão somente em uma definição de classe",
"um operador de comparação usado como padrão precisa ser um membro ou um friend da classe à qual se aplica",
"tipo incorreto %t para o parâmetro do operador de comparação usado como padrão (precisa ser 'referência à const X', em que X é o tipo de classe delimitadora)",
"o tipo de retorno do operador de comparação usado como padrão precisa ser 'bool'",
"um operador de comparação de membros usado como padrão precisa ser 'const'",
"mais de um operador \"espaçonave\" usado como padrão definido nesta classe",
null,
"o tipo de promessa de corrotina %t não pode ter 'return_void' e 'return_value' definidos",
"%p declarado de 'return_value'",
"'return_void' declarou %p",
@@ -3207,20 +3207,149 @@
"o tipo de objeto descartado tem o atributo 'nodiscard' (%sq)",
"uma referência de pseudodestruidor pode ser usada somente para uma chamada pseudodestruidor",
"uma chamada de destruidor explícita não é permitida em uma expressão constante",
"um operador de vírgula que não está entre parênteses em uma expressão de subscrito de matriz é preterido",
"um operador de vírgula que não está entre parênteses em uma expressão de subscrito de matriz está preterido",
"número de elementos alocados dinamicamente (%d) muito pequeno para o inicializador",
"um operando volátil para a expressão %s é preterido",
"o uso do resultado de uma atribuição para um objeto volátil escalar é preterido",
"um operando volátil da expressão %s está preterido",
"o uso do resultado de uma atribuição para um objeto volátil escalar está preterido",
"um tipo de destino volátil para uma expressão de atribuição composta foi preterido",
"um parâmetro de função volátil é preterido",
"um tipo de retorno volátil é preterido",
"o uso de um qualificador volátil em uma associação estruturada é preterido",
"um parâmetro de função volátil está preterido",
"um tipo de retorno volátil está preterido",
"o uso de um qualificador volátil em uma associação estruturada está preterido",
"o argumento 'ext_vector_type' deve estar entre 1 e 2047",
"o atributo 'ext_vector_type' pode aparecer somente em um typedef",
"o atributo 'ext_vector_type' se aplica somente a tipos inteiro ou de ponto flutuante",
"esta macro de teste de recurso é ignorado (e retorna 0) no modo de compilação atual",
"não é possível avaliar um inicializador agregado com vários elementos para uma união",
"O %nd selecionado para a regravação do operador não retorna o tipo bool",
"uma nova expressão que chama uma função de alocação específica da classe não pode ser avaliada como constante",
"uma nova expressão de posicionamento não pode ser avaliada como constante",
"excluir por meio de um ponteiro de subobjeto exige um destruidor virtual",
"%npTd, com argumentos revertidos",
"o operando de __INTADDR__ precisa ser deslocado do ponteiro nulo",
"O constructo _genérico corresponde a vários tipos",
"a outra correspondência é %t",
"o atributo 'availability' usado aqui é ignorado",
"A instrução inicializadora no estilo C++20 em uma instrução 'for' com base em intervalos não é padrão neste modo",
"co_await pode ser aplicado somente a uma instrução 'for' baseada em intervalos",
"não é possível deduzir o tipo de intervalo no loop 'for' com base em intervalos",
"as variáveis embutidas são um recurso do C++17",
"a destruição do operador de exclusão exige %t como primeiro parâmetro",
"a destruição de um operador de exclusão não pode ter parâmetros diferentes de std::size_t e std::align_val_t",
"opções de classe abstrata reduzidas podem ser usadas somente ao compilar C++",
"início de expressão inválido na cláusula requires",
"uma expressão de conversão em uma cláusula requires precisa estar entre parênteses",
"este operador não pode aparecer no nível superior (sem parênteses) em uma cláusula requires",
"a restrição atômica precisa ter o tipo bool",
"falha na substituição de restrição atômica",
"restrição atômica não constante",
"a restrição atômica é avaliada como false",
"restrição de modelo não satisfeita",
"a definição do conceito não pode aparecer neste escopo",
"redeclaração inválida de %nd",
"falha na substituição de argumentos %T da ID do conceito",
"o conceito é falso para argumentos %T",
"uma cláusula requires não é permitida aqui (não é uma função de modelo)",
"modelo de conceito",
"cláusula requires incompatível com %nfd",
"um atributo é esperado",
null,
"um nome de tipo é esperado",
"um parâmetro de reticências não é permitido em uma expressão requires",
"o parâmetro sem nome na expressão requires não tem efeito",
"um nome de conceito é esperado",
"a chamada para %s que aparece em uma expressão de constante sempre produz 'true'",
"a chamada para %s que aparece em um contexto consteval sempre produz 'true'",
"a chamada para %s que aparece em uma função não constexpr sempre produz 'false'",
"falha na restrição de tipo para %t",
"a opção 'export' não pode ser usada em modos em que os módulos C++ estão habilitados",
"uma declaração de fragmento de módulo global precisa preceder qualquer outra declaração",
"uma declaração de módulo só pode ser precedida por um fragmento de módulo global",
"um fragmento de módulo privado precisa ser precedido por uma declaração de módulo",
"não é possível exportar um fragmento de módulo %s",
"não é possível declarar mais de um módulo",
"não é possível declarar mais de um fragmento de módulo %s",
"um módulo precisa ser declarado com um nome não vazio",
"%sq não é um cabeçalho importável",
"não é possível importar um módulo sem nome",
"um módulo não pode ter uma dependência de interface em si mesmo",
"o módulo %sq já foi importado",
"arquivo de módulo",
"não foi possível localizar o arquivo de módulo %sq para importação",
"não foi possível importar o arquivo de módulo %sq"
"não foi possível localizar o arquivo de módulo para o módulo %sq",
"não foi possível importar o arquivo de módulo %sq",
"era esperado %s1, foi encontrado %s2",
"ao abrir o arquivo de módulo %sq",
"nome de partição desconhecido %sq",
"um arquivo de módulo desconhecido",
"um arquivo de módulo de cabeçalho importável",
"um arquivo de módulo EDG",
"um arquivo de módulo IFC",
"um arquivo de módulo inesperado",
"o tipo do segundo operando %t2 precisa ter o mesmo tamanho que %t1",
"o tipo precisa ser fácil de ser copiado",
"no momento, não há suporte para o tipo %t para a avaliação constexpr de __builtin_bit_cast",
"no momento, não há suporte para os tipos de classe com bitfields %t na avaliação constexpr de __builtin_bit_cast",
"o membro de dados não estático do tipo de referência %t impede a avaliação constexpr de __builtin_bit_cast",
"um tipo volátil %t impede a avaliação constexpr de __builtin_bit_cast",
"um tipo de união, ponteiro ou ponteiro para membro %t impede a avaliação constexpr de __builtin_bit_cast",
"%npTd, herdado por meio do uso de decl %p",
"a construção de subobjeto de %t para construtores herdados não pode ser executada. O construtor padrão implícito foi excluído",
"%n precisa retornar nulo",
"declaração de início de membro inválida",
"'auto' era esperado",
"este operador não é permitido neste ponto; coloque parênteses na nova expressão anterior",
"uso inválido do conceito",
"um operador de comparação de membros usado como padrão não pode ser qualificado por '&&'",
"a função de comparação constexpr padrão chama a função não constexpr %nd",
"só há suporte para a comparação de memória constexpr para os objetos inteiros de nível superior ou matriz de inteiro",
"um modelo de conceito não pode ter restrições associadas",
"'export' não é permitido",
"a exportação de membros de classe individuais não é permitida",
"uma declaração exportada precisa introduzir um nome",
"uma declaração export não pode conter uma declaração export (declaração anterior %p)",
"uma declaração de exportação não pode conter uma declaração de importação de módulo",
"uma declaração export só pode aparecer em uma unidade de interface de módulo",
"uma declaração export não pode exportar um nome com vínculo interno",
"a declaração using inclui %nfd",
"a função interna não está disponível porque não há suporte para tipos de ponto flutuante __fp16",
"uma expressão requires precisa especificar pelo menos um requisito",
"'constinit' não é válido aqui",
"'constinit' só é válido para declarações de variáveis com duração de armazenamento estática ou de thread",
"a variável constinit requer uma inicialização dinâmica",
"a variável foi declarada anteriormente com 'constinit' %p",
"uso de declarador de função sem protótipo",
"o argumento não pode ter um tipo qualificado como const",
"um ponteiro para membro de um tipo incompleto %t não é permitido",
"a expansão de pacote em init-capture não está habilitada neste modo",
"a expansão de pacote em init-capture é um recurso do C++20",
"um operador de comparação usado como padrão em uma definição de classe precisa ser a primeira declaração desse operador de comparação (%nd)",
"uma expansão de pacote em um init-capture pode ser usada somente em um modelo variádico",
"a restrição de tipo usa %nd, que não é um conceito de tipo (ou seja, um modelo de conceito cujo primeiro parâmetro é um parâmetro de tipo)",
"falha do tipo de espaço reservado deduzido %t na restrição de tipo",
"o construtor padrão de %t não é qualificado",
"o destruidor de %t é ambíguo devido a restrições não ordenadas",
"o destruidor de %t é inelegível devido a falhas de restrições",
"candidato a destruidor ambíguo",
"uma função virtual não pode ter uma cláusula requires à direita",
"%nd não satisfaz as respectivas restrições",
"o resultado do qualificador decltype %t não é uma classe nem uma enumeração",
"a comparação é ambígua no padrão de C++20 porque o operador de comparação implícito com parâmetros invertidos é uma correspondência igualmente boa. Isso geralmente é causado por um qualificador 'const' ausente no operador de comparação. Confira %nod",
"ID do conceito inválida",
"falha na substituição de argumentos %T da cláusula requires",
"as restrições de %nd não estão satisfeitas",
"o tipo de variável %t na função constexpr tem classes base virtuais",
"uma expressão de constante não pode alocar um subobjeto base virtual (para o tipo %t)",
"um parâmetro de modelo de tipo de classe precisa ser do tipo de classe estrutural",
"o suporte para literais UTF-8 exige o suporte para o literal u.",
"o mapeamento de arquivo de módulo de '%s' foi especificado mais de uma vez",
"o mapeamento de unidade de cabeçalho de '%s' foi especificado mais de uma vez",
"não foi especificado nenhum mapeamento para '%s'",
"o mapeamento de arquivo de módulo de '%s' é inválido",
"não é possível localizar o cabeçalho '%s' a ser importado",
"mais de um arquivo na lista de arquivos de módulo corresponde a '%s'",
"o arquivo de módulo encontrado para '%s' é de um módulo diferente",
"qualquer tipo de arquivo de módulo",
"não é possível ler o arquivo de módulo",
"a função interna não está disponível porque não há suporte para o tipo char8_t com as opções atuais",
"a opção da linha de comando --ms_await não poderá ser especificada se as corrotinas do C++20 estiverem habilitadas",
"o uso não padrão do construtor explícito %nod para inicialização do elemento de agregação padrão"
]
+157 -28
View File
@@ -171,7 +171,7 @@
"требуется объявление",
"указатель указывает на элемент вне базового объекта",
"недопустимое преобразование типа",
"внешнее или внутреннее связывание конфликтует с предыдущим объявлением",
"конфликт внешнего или внутреннего связывания с предыдущим объявлением %p",
"значение с плавающей запятой не помещается в необходимом целом типе",
"выражение не имеет силы",
"индекс вне диапазона",
@@ -352,8 +352,8 @@
"существует несколько операторов %sq, соответствующих этим операндам:",
"первый параметр функции выделения должен иметь тип \"size_t\"",
"функции выделения требуется тип возвращаемого значения \"void *\"",
"функции изъятия требуется тип возвращаемого значения \"void\"",
"первый параметр функции изъятия должен иметь тип \"void *\"",
"функции освобождения требуется тип возвращаемого значения \"void\"",
"первый параметр функции освобождения должен иметь тип \"void *\"",
null,
"необходимо использовать тип объекта",
"базовый класс %t инициализирован",
@@ -420,9 +420,9 @@
"применяется несколько функций преобразования из %t во встроенный тип:",
"константа %n",
"ссылка %n",
"%npT",
"%npTd",
"встроенный оператор %sq",
"%no (неоднозначное наследование)",
"%nod, неоднозначный по наследованию",
"получение адреса конструктора или деструктора не допускается",
null,
"временно используется в качестве начального значения для ссылки на неконстантный параметр (устаревший элемент)",
@@ -732,7 +732,7 @@
"%n не является шаблоном класса",
"нестандартный массив с неполным типом элементов",
"оператор выделения нельзя объявить в пространстве имен",
"оператор изъятия нельзя объявить в пространстве имен",
"оператор освобождения нельзя объявить в пространстве имен",
"%np1 конфликтует с объявлением using для %np2",
"объявление using для %np1 конфликтует с %npd2",
"параметр namespaces можно использовать только при компиляции C++",
@@ -1361,7 +1361,7 @@
"атрибуты переменной, появляющиеся после инициализатора в круглых скобках, пропущены",
"результат этого приведения не может использоваться в качестве левостороннего значения",
"отрицание значения с фиксированной запятой без знака",
"использование данного оператора в этом месте не допускается; используйте круглые скобки",
null,
null,
"имена регистра можно использовать только для регистровых переменных",
"переменные named-register не могут иметь тип void",
@@ -1535,7 +1535,7 @@
"недопустимое значение cannot-redefine",
"повторяющийся модификатор функции",
"недопустимый знак для литерала char16_t",
"__LPREFIX не может применяться к литералам char8_t, char16_t или char32_t",
null,
"нераспознанное соглашение о вызовах %s; необходимо использовать одно из следующих:",
null,
null,
@@ -1739,7 +1739,7 @@
"локальная переменная вне текущей функции не может быть записана",
"на вложенную функцию \"this\" нельзя ссылаться внутри тела лямбды, если она не находится в списке записей",
null,
"записанная лямбдой переменная типа %t1 не может быть скопирована в поле показатели класса типа %t2",
"зафиксированная лямбдой переменная типа %t1 не может быть скопирована в поле показатели класса типа %t2",
"недопустимый каталог шаблона: %s",
"ошибка",
"ошибки",
@@ -2354,7 +2354,7 @@
"параметр #include <список_инициализатора> необходимо использовать перед std::initializer_list, включая неявное использование",
"невозможно использовать ключевое слово inline в объявлении псевдонима пространства имен",
"предыдущее объявление %n не было выполнено в строке",
"повторное объявление встроенного параметра %n должно выполняться в строке",
"%n ранее был объявлен как встроенный",
"первым аргументом должна являться целочисленная константа",
"Указатель не может использоваться с неагрегатным типом %t.",
"Указатель элемента анонимного объединения может быть только в фигурных скобках, соответствующих этому анонимному объединению.",
@@ -2435,7 +2435,7 @@
"конструктор constexpr должен инициализировать прямой базовый класс %t",
"создание объекта std::initializer_list в инициализаторе полей, вероятно, не будет работать, как ожидается, потому что базовый массив будет разрушен в конце полного выражения",
"выражение \"this\" не может использоваться в константном выражении",
"пустой инициализатор для этого типа объединения не допускается (непонятно, какой из членов должен инициализироваться)",
null,
"\"constexpr\" не допускается в директиве явного создания экземпляра",
"не удается определить спецификацию исключения конструктора по умолчанию из-за кольцевой зависимости",
"определенный анонимным объединением %p",
@@ -2474,7 +2474,7 @@
"недопустимый квалификатор для %t (использование производного класса не допускается)",
"атрибут always_inline пропускается в функциях, не являющихся встраиваемыми",
"наследуемые конструкторы должны наследоваться от прямого базового класса",
"%np уже наследуется от %t",
null,
"ожидается метка",
"после \"%%l\" ожидается номер операнда",
"номер операнда для \"%%l\" не указывает на допустимый аргумент метки",
@@ -2515,7 +2515,7 @@
"удаленные функции — это функция C++ 11",
"функции по умолчанию — это функция C++ 11",
"класс хранения недопустим в явной специализации",
"%t не является классом или ограниченным перечислением.",
null,
"чтобы быть специализированным, неограниченное перечисление должно быть непрозрачным",
"объявление шаблона перечисления должно ссылаться на ранее объявленный член шаблона класса",
"требуется векторный операнд",
@@ -2759,7 +2759,7 @@
"переменная не может иметь незавершенный тип %t",
"доступ к неинициализированному подобъекту (%n)",
"доступ к неинициализированному подобъекту (базовый класс: %t)",
"вызов пустого деструктора",
"вызов псевдодеструктора не разрешен в константном выражении",
"попытка изменить хранилище констант",
null,
null,
@@ -2790,7 +2790,7 @@
"тип элемента вектора должен быть целым числом, перечислением или действительным числом с плавающей запятой",
"встроенная функция недоступна, так как 128-разрядные целые числа не поддерживаются",
"встроенная функция недоступна, так как векторные типы не поддерживаются",
"две левые квадратные скобки подряд могут представлять только список атрибутов",
"две последовательных левых квадратных скобки всегда вводят список атрибутов, но список атрибутов не может быть указан здесь",
"нераспознанный атрибут target блокирует использование этой процедуры процедурой сопоставителя",
"%t не является векторным типом",
"векторные типы %t1 и %t2 должны иметь одинаковую длину",
@@ -2806,11 +2806,11 @@
"инициализатор члена по умолчанию запрещен в классе значений",
"--implicit_noexcept требует режим, включающий noexcept",
"не удается свернуть операцию с участием виртуального базового класса (%t)",
null,
"инициализация не является постоянной.",
"не удается вычислить значение неполного %t",
"пропуск возвращаемого значения от процедуры, объявленной с помощью атрибута nodiscard",
"пропуск типа возвращаемого значения с атрибутом nodiscard",
"атрибут nodiscard не применяется к конструкторам, деструкторам или процедурам с возвращаемым значением void",
"атрибут \"nodiscard\" не применяется к деструкторам или процедурам с типом возвращаемого значения void",
"атрибут fallthrough применим только к операторам null",
"атрибут fallthrough может использоваться только во внешнем операторе switch",
"оператору fallthrough должна предшествовать метка switch case или default",
@@ -2821,7 +2821,7 @@
"__has_include запрещено указывать за пределами #if",
"не удалось добавить базовый класс CComCoClass",
"не является строкой, оканчивающейся нулевым символом",
"нескалярный тип %t невозможно использовать в вызове пустого деструктора",
"нескалярный тип %t не может использоваться в вызове псевдодеструктора",
"адрес \"слабого\" %n не является постоянным",
"слишком много рекурсивных подстановок для сигнатур шаблона функции",
"Недопустимый описатель для объявления структурированной привязки.",
@@ -3122,7 +3122,7 @@
"захват значения *this является нестандартным в этом режиме",
"Префикс атрибута using в стиле C++17 является нестандартным в этом режиме",
"Вложенные пространства имен в стиле C++17 являются нестандартными в этом режиме",
"constexpr и consteval не могут присутствовать в объявлении вместе",
"в объявлении может использоваться только одно из ключевых слов \"constexpr\", \"consteval\" и \"constinit\"",
"в этом режиме функция не может быть consteval и virtual одновременно",
"consteval не допускается в директиве явного создания экземпляра",
"consteval здесь не допускается",
@@ -3166,17 +3166,17 @@
"атрибут \"internal_linkage\" отсутствует в предыдущем объявлении",
"Не найдено подходящего кандидата для дедукции аргумента шаблона для %n.",
"полный вызов конструктора не допускается",
"оператор сравнения можно использовать по умолчанию только в определении класса",
"оператор сравнения по умолчанию должен быть членом или дружественным классом класса, к которому он применяется",
"недопустимый тип %t для параметра оператора сравнения по умолчанию (необходимо указать ссылку на константу X, где X — тип включающего класса)",
"необходимо использовать возвращаемый тип оператора сравнения по умолчанию \"bool\"",
"необходимо использовать оператор сравнения элемента по умолчанию \"const\"",
"В этом классе определено больше одного оператора \"<=>\" по умолчанию.",
null,
"Для типа обещания сопрограммы %t не могут быть одновременно заданы \"return_void\" и \"return_value\".",
"Значение \"return_value\" имеет объявление %p.",
"\"return_void\" было объявлено как %p",
"Отсутствует оператор co_return, хотя %t не содержит \"return_void\" в конце %n.",
"Для распределения состояния сопрограммы не обнаружено ни одного nothrow-варианта глобального \"operator new\".",
"Для отмены выделения состояния сопрограммы не обнаружено подходящего \"operator delete\".",
"Для освобождения выделения состояния сопрограммы не обнаружено подходящего \"operator delete\".",
"Функция constexpr не может быть сопрограммой.",
"операнд для этого выражения %s разрешается в %t, не являющийся классом",
"выражение co_await не допускается в статическом инициализаторе",
@@ -3190,10 +3190,10 @@
"в %t не найдено ни одного элемента статических данных constexpr %sq",
"слишком большое число элементов (%d) для динамического распределения",
"слишком большой запрос динамического выделения constexpr",
"отмена распределения хранилища, которое не было распределено динамически",
"размер отмены распределения (%d1) не соответствует выделенному размеру (%d2)",
"освобождение хранилища, которое не было распределено динамически",
"размер освобождения распределения (%d1) не соответствует выделенному размеру (%d2)",
"место распределения",
"тип отмены распределения (%t1) не соответствует типу распределения (%t2)",
"тип освобождения (%t1) не соответствует типу распределения (%t2)",
"не удалось отменить некоторые динамические распределения (общее число: %d)",
"встроенный %n объявлен с непредвиденной сигнатурой (тип %t)",
">> вывод из std::__report_constexpr_value",
@@ -3219,8 +3219,137 @@
"атрибут \"ext_vector_type\" может присутствовать только в typedef",
"атрибут \"ext_vector_type\" применяется только к целочисленным типам или типам с плавающей запятой",
"этот макрос тестирования компонента пропускается (и возвращает 0) в текущем режиме компиляции",
"Невозможно вычислить агрегатный инициализатор со множеством элементов для объединения.",
"невозможно вычислить агрегатный инициализатор со множеством элементов для объединения",
"%nd, выбранный для перезаписи оператора, не возвращает логический тип",
"new-expression, вызывающее функцию выделения для конкретного класса, не может быть вычислено в константном выражении",
"Выражение placement new не может быть вычислено как константное.",
"для удаления через указатель на подобъект требуется виртуальный деструктор",
"%npTd с аргументами в обратном порядке",
"операнд __INTADDR__ должен содержать смещение от нулевого указателя",
"Конструкция _Generic соответствует нескольким типам",
"другое совпадение — %t",
"Использованный здесь атрибут \"Availability\" игнорируется.",
"Оператор инициализатора в стиле C++20 в операторе for на основе диапазонов является нестандартным в этом режиме.",
"co_await можно применить только к оператору for на основе диапазонов.",
"Невозможно вывести тип диапазона в цикле for на основе диапазона.",
"встроенные переменные — это функция C++17",
"для оператора удаления delete необходимо указать %t в качестве первого параметра",
"оператор удаления delete не может иметь параметров, типы которых отличаются от std::size_t и std::align_val_t",
"Нестрогие параметры абстрактного класса можно использовать только при компиляции C++.",
"Недопустимое начало выражения в предложении requires",
"Выражение приведения в предложении requires должно быть заключено в круглые скобки",
"Этот оператор не может находиться на верхнем уровне (без скобок) в предложении requires",
"Атомарное ограничение должно иметь тип bool",
"Ошибка при подстановке атомарного ограничения",
"Атомарное ограничение не является константой",
"Вычисление атомарного ограничения дает значение false",
"Ограничение шаблона не соблюдено",
"Определение концепции не может находиться в этой области",
"Недопустимое повторное объявление %nd",
"не удалось подставить аргументы %T для идентификатора концепции",
"концепция имеет значение false для аргументов %T",
"Использование здесь предложения requires запрещено (не шаблонная функция)",
"шаблон концепции",
"Предложение requires несовместимо с %nfd",
"ожидается атрибут",
null,
"Требуется имя типа",
"Использование параметра-многоточия в выражении requires запрещено",
"Неименованный параметр в выражении requires не оказывает никакого влияния",
"требуется имя концепции",
"Вызов %s в константном выражении всегда дает результат \"true\"",
"Вызов %s в контексте consteval всегда дает результат \"true\"",
"Вызов %s в функции, отличной от constexpr, всегда дает результат \"false\"",
"сбой ограничения типа для %t",
"Параметр \"export\" запрещено использовать в режимах, где включены модули C++",
"Объявление фрагмента глобального модуля должно предшествовать любому другому объявлению",
"Объявлению модуля может предшествовать только фрагмент глобального модуля",
"Фрагменту закрытого модуля должно предшествовать объявление модуля",
"Не удается экспортировать фрагмент модуля %s",
"Невозможно объявить более одного модуля",
"Невозможно объявить больше одного фрагмента модуля %s",
"Модуль должен быть объявлен с непустым именем",
"%sq не является пригодным для импорта заголовком",
"Невозможно импортировать модуль без имени",
"Модуль не может иметь зависимость интерфейса от самого себя",
"Модуль %sq уже импортирован",
"файл модуля",
"не удалось найти файл модуля %sq для импорта",
"не удалось импортировать файл модуля %sq"
"не удалось найти файл модуля для модуля %sq",
"не удалось импортировать файл модуля %sq",
"ожидалось %s1, но было найдено %s2",
"При открытии файла модуля %sq",
"Неизвестное имя раздела %sq",
"неизвестный файл модуля",
"импортируемый файл модуля заголовка",
"файл модуля EDG",
"файл модуля IFC",
"непредвиденный файл модуля",
"тип второго операнда %t2 должен иметь тот же размер, что и %t1.",
"тип должен поддерживать элементарное копирование.",
"тип %t сейчас не поддерживается в вычислении constexpr для __builtin_bit_cast.",
"типы классов с битовыми полями %t сейчас не поддерживаются в вычислении constexpr для __builtin_bit_cast.",
"нестатические элементы данных ссылочного типа %t не позволяют выполнять вычисление constexpr для __builtin_bit_cast.",
"непостоянный тип %t не позволяет выполнять вычисление constexpr для __builtin_bit_cast",
"тип %t объединения, указателя или указателя на элемент не позволяет выполнять вычисление constexpr для __builtin_bit_cast.",
"%npTd, унаследованный с помощью decl %p",
"невозможно выполнить конструирование подобъекта %t для наследования конструкторов — неявный конструктор по умолчанию удален.",
"%n требует возврата void.",
"недопустимое начало объявления элемента",
"ожидается \"auto\"",
"этот оператор не может использоваться в этом месте; заключите предыдущее выражение new в скобки",
"недопустимое использование концепции",
"оператор сравнения элемента по умолчанию не может быть квалифицирован как \"&&\"",
"функция сравнения constexpr по умолчанию вызывает функцию %nd, не являющуюся constexpr",
"Сравнение памяти с помощью constexpr поддерживается только для целочисленных объектов верхнего уровня или массивов целых чисел",
"шаблон концепции не может иметь связанные ограничения",
"использование \"export\" запрещено",
"экспорт отдельных членов класса запрещен",
"экспортированное объявление должно представлять имя",
"объявление экспорта не может содержать объявление экспорта (предыдущее объявление %p)",
"объявление экспорта не может содержать объявление импорта модуля",
"объявление экспорта может находиться только в блоке интерфейса модуля",
"объявление экспорта не может экспортировать имя с внутренней компоновкой",
"объявление using включает %nfd",
"встроенная функция недоступна, так как типы с плавающей запятой __fp16 не поддерживаются",
"в выражении requires должно быть указано по крайней мере одно требование",
"\"constinit\" не может использоваться здесь",
"\"constinit\" может использоваться только для объявлений переменных со сроком хранения в статическом или потоковом хранилище",
"для переменной constinit требуется динамическая инициализация",
"переменная ранее была объявлена с \"constinit\" %p",
"использование объявления функции, не являющегося прототипом",
"аргумент не может иметь тип, квалифицированный как const",
"недопустимый указатель на член неполного типа %t",
"расширение пакета в init-capture не включено в этом режиме",
"расширение пакета в init-capture — это функция C++ 20",
"оператор сравнения по умолчанию в определении класса должен быть первым объявлением этого оператора сравнения (%nd)",
"расширение пакета в init-capture может быть использовано только в шаблоне с переменным числом аргументов",
"ограничение типа использует %nd, не являющийся концепцией типа (например, шаблон концепции, первый параметр которого является параметром типа)",
"выведенный тип заполнителя %t не отвечает ограничению типа",
"конструктор по умолчанию для %t не соответствует требованиям",
"деструктор для %t является неоднозначным из-за неупорядоченных ограничений",
"деструктор для %t не соответствует требованиям из-за несоблюденных ограничений",
"неоднозначный кандидат деструктора",
"виртуальная функция не может иметь завершающее предложение requires",
"%nd не удовлетворяет его ограничениям",
"результат квалификатора decltype %t не является классом или перечислением",
"cравнение является неоднозначным в стандартном C++ 20, поскольку подразумеваемый оператор сравнения с обратными параметрами является в той же степени подходящим соответствием — как правило, это вызвано отсутствием квалификатора \"const\" в операторе сравнения; см. %nod",
"недопустимый идентификатор концепции",
"не удалось подставить аргументы %T для предложения requires",
"ограничения для %nd не удовлетворены",
"тип переменной %t в функции constexpr содержит виртуальные базовые классы",
"константное выражение не может выделить виртуальный базовый подобъект (для типа %t)",
"параметр шаблона для типа класса должен иметь тип структурного класса",
"для поддержки литералов UTF-8 требуется поддержка u-literal.",
"сопоставление файла модуля для \"%s\" указано несколько раз",
"сопоставление блока заголовка для \"%s\" указано несколько раз",
"сопоставление для \"%s\" не указано",
"сопоставление файла модуля для \"%s\" является недопустимым",
"не удается найти заголовок \"%s\" для импорта",
"несколько файлов в списке файлов модулей соответствуют \"%s\"",
"файл модуля, обнаруженный для \"%s\", относится к другому модулю",
"любой тип файла модуля",
"не удалось прочитать файл модуля",
"встроенная функция недоступна, так как тип char8_t не поддерживается с текущими параметрами.",
"невозможно указать параметр командной строки --ms_await, если включены сопрограммы C++20.",
"нестандартное использование явного конструктора %nod для агрегатной инициализации элементов по умолчанию."
]
+153 -24
View File
@@ -171,7 +171,7 @@
"bir bildirim bekleniyor",
"işaretçi, alttaki nesnenin dışına işaret ediyor",
"geçersiz tür dönüşümü",
"önceki bildirim ile dış/iç bağlantı çakışması",
"önceki %p bildirimi ile dış/iç bağlantı çakışması",
"kayan nokta değeri gerekli tam sayı türüne uymuyor",
"ifadenin bir etkisi yok",
"indis aralık dışında",
@@ -352,8 +352,8 @@
"bu işlenenlerle eşleşen birden fazla %sq işleç var:",
"ayırma işlevinin ilk parametresi 'size_t' türünde olmalı",
"ayırma işlevi 'void *' dönüş türü gerektiriyor",
"ayırmayı kaldırma işlevi 'void' dönüş türü gerektiriyor",
"ayırmayı kaldırma işlevinin ilk parametresi 'void *' türünde olmalı",
"serbest bırakma işlevi 'void' dönüş türü gerektiriyor",
"serbest bırakma işlevinin ilk parametresi 'void *' türünde olmalı",
null,
"tür, bir nesne türü olmalı",
"%t taban sınıfı önceden başlatılmış",
@@ -420,9 +420,9 @@
"%t türünden yerleşik bir türe dönüşüm yapan birden çok dönüştürme işlevi geçerli:",
"%n const bir öğe",
"%n başvurusu",
"%npT",
"%npTd",
"%sq yerleşik işleci",
"%no (devralma yoluyla belirsiz)",
"%nod, belirsiz olarak devralındı",
"bir oluşturucu ya da yıkıcının adresi alınamaz",
null,
"const olmayan bir değere başvurunun ilk değeri için geçici değer kullanıldı (anakronizm)",
@@ -732,7 +732,7 @@
"%n bir sınıf şablonu değil",
"tamamlanmamış öğe türüne sahip bir dizi standart değil",
"ayırma işleci bir ad uzayı içinde bildirilemez",
"ayırmayı kaldırma işleci bir ad uzayı içinde bildirilemez",
"serbest bırakma işleci bir isim uzayı içinde bildirilemez",
"%np1, %np2 öğesinin using bildirimi ile çakışıyor",
"%np1 öğesinin using bildirimi %npd2 ile çakışıyor",
"ad uzayı seçeneği yalnızca C++ derlenirken kullanılabilir",
@@ -1361,7 +1361,7 @@
"parantez içine alınmış bir başlatıcıdan sonra gelen değişken öznitelikleri yoksayılıyor",
"bu tür dönüştürmenin sonucu bir lvalue olarak kullanılamaz",
"işaretsiz sabit noktalı bir değer değilleniyor",
"bu aşamada bu operatöre izin verilmiyor; parantez kullanın",
null,
null,
"yazmaç adları yalnızca yazmaç değişkenleri için kullanılabilir",
"adlandırılmış yazmaç değişkenleri void türünde olamaz",
@@ -1535,7 +1535,7 @@
"yeniden tanımlanamaz değeri geçersiz",
"işlev değiştiricisi yineleniyor",
"char16_t sabit değeri için geçersiz karakter",
"__LPREFIX, char8_t, char16_t veya char32_t sabit değerlerine uygulanamıyor",
null,
"çağrı kuralı %s tanınmıyor, şunlardan biri olmalıdır:",
null,
null,
@@ -2354,7 +2354,7 @@
"Örtük kullanım dahil olmak üzere std::initializer_list kullanımından önce #include <initializer_list> gereklidir",
"Ad alanı diğer ad bildiriminde 'inline' anahtar sözcüğü kullanılamaz",
"Önceki %n bildirimi satır içi olarak bildirilmedi",
"Satır içi %n yeniden bildirimi satır içi olarak bildirilmelidir",
"%n daha önce satır içi olarak bildirildi",
"İlk bağımsız değişken bir tam sayı sabiti olmalıdır",
"Belirleyici, küme olmayan tür %t ile kullanılamaz",
"Anonim birleşim üyesine yönelik belirleyici, yalnızca ilgili anonim birleşime karşılık gelen küme ayraçları içinde görünebilir",
@@ -2435,7 +2435,7 @@
"constexpr oluşturucusu %t doğrudan temel sınıfını başlatmalıdır",
"Temel alınan dizi tam ifadenin sonunda yok edileceği için, bir alan başlatıcısındaki std::initializer_list nesnesinin oluşturulması büyük olasılıkla beklenen şekilde çalışmaz",
"Sabit bir ifadede 'this' kullanılamaz",
"Bu birleşim türü için boş başlatıcı geçerli değildir (hangi üyenin başlatılması gerektiği belirsizdir)",
null,
"Açık örnek oluşturma yönergesinde 'constexpr'ye izin verilmez",
"Döngüsel bağımlılık nedeniyle varsayılan oluşturucunun özel durum belirtimi belirlenemiyor",
"Anonim birleşim tanımlı %p",
@@ -2474,7 +2474,7 @@
"%t için geçersiz niteleyici (burada türetilen bir sınıfa izin verilmiyor)",
"'always_inline' özniteliği satır içi olmayan işlevlerde yoksayılır",
"Devralınan oluşturucular doğrudan temel sınıftan devralınmalıdır",
"%np zaten %t üzerinden devraldı",
null,
"etiket bekleniyordu",
"'%%l' sonrasında bir işlenen numarası bekleniyordu",
"'%%l' işlenen numarası geçerli bir etiket bağımsız değişkenine başvurmaz",
@@ -2515,7 +2515,7 @@
"silinen işlevler bir C++11 özelliğidir",
"varsayılan olarak ayarlanan işlevler bir C++11 özelliğidir",
"Açık özelleştirmede depolama sınıfına izin verilmez",
"%t bir sınıf veya kapsamlı sabit listesi değildir",
null,
"Kapsamsız sabit listesi, özelleştirilmek için genel olmamalıdır",
"Sabit listesi şablonu bildirimi, sınıf şablonunun önceden bildirilmiş üyesine başvurmalıdır",
"vektör işlenen bekleniyordu",
@@ -2759,7 +2759,7 @@
"değişken, tam olmayan %t türüne sahip olamaz",
"başlatılmamış alt nesneye (%n) erişim",
"başlatılmamış alt nesneye (%t temel sınıfı) erişim",
"etkisiz yıkıcı çağrısı",
"sabit ifadesinde sözde yıkıcı çağrısına izin verilmez",
"const depolama alanını değiştirme girişimi",
null,
null,
@@ -2790,7 +2790,7 @@
"vektör öğe türü, tam sayı, sabit listesi veya gerçek kayan nokta türünde olmalıdır",
"128 bit tamsayılar desteklenmediği için yerleşik işlev kullanılamıyor",
"vektör türleri desteklenmediği için yerleşik işlev kullanılamıyor",
"iki ardışık sol köşeli ayraç yalnızca bir öznitelik listesini tanımlayabilir",
"arka arkaya iki köşeli parantez her zaman bir öznitelik listesi belirtir ancak öznitelik listesi burada görünmez",
"tanınmayan 'target' özniteliğinden dolayı bu yordam, çözümleyici yordamı tarafından kullanılmak için uygun değil",
"%t bir vektör türü değil",
"%t1 ve %t2 vektör türleri aynı uzunlukta olmalıdır",
@@ -2806,11 +2806,11 @@
"value sınıfında varsayılan üye başlatıcıya izin verilmiyor",
"'--implicit_noexcept', noexcept'i etkinleştiren bir mod gerektiriyor",
"sanal temel sınıfı (%t) içeren işlem katlanamaz",
null,
"başlatma değeri sabit değil",
"eksik %t değeri değerlendirilemiyor",
"'nodiscard' özniteliği ile bildirilen yordamdan gelen dönüş değeri yoksayılıyor",
"'nodiscard' özniteliğine sahip dönüş değeri yoksayılıyor",
"'nodiscard' özniteliği void dönüş türüne sahip oluşturucular, yıkıcılar veya yordamlar için geçerli değildir",
"'nodiscard' özniteliği yıkıcılar veya void dönüş türüne sahip yordamlar için geçerli değildir",
"'fallthrough' özniteliği yalnızca null ifadeler için geçerlidir",
"'fallthrough' özniteliği yalnızca kapsayan bir switch ifadesinde görünebilir",
"fallthrough ifadesi switch case etiketinden veya default ifadesinden önce gelmelidir",
@@ -2821,7 +2821,7 @@
"__has_include, #if dışında görünemez",
"CComCoClass temel sınıfı eklenemedi",
"null ile sonlandırılmış bir dize değil",
"etkisiz bir yıkıcı çağrıda skaler olmayan %t türü kullanılamaz",
"sözde yıkıcı çağrısında skaler olmayan %t türü kullanılamaz",
"'weak' %n öğesinin adresi sabit değil",
"işlev şablonu imzası için çok fazla sayıda yinelenen değişim var",
"yapılandırılmış bağlama bildirimi için belirtici geçersiz",
@@ -3122,7 +3122,7 @@
"* yakalama bu modda standart dışı",
"C++17 stili 'using' öznitelik ön eki bu modda standart dışı",
"C++17 stili iç içe geçmiş ad alanları bu modda standart dışı",
"'constexpr' ve 'consteval' bir bildirimde birlikte bulunamaz",
"bir bildirimde yalnızca bir 'constexpr', 'consteval' ve 'constinit' görünebilir",
"bu modda bir işlev hem consteval hem de sanal olamaz",
"Açık örnek oluşturma yönergesinde 'consteval' öğesine izin verilmez",
"'consteval' burada geçerli değildir",
@@ -3166,17 +3166,17 @@
"'internal_linkage' özniteliği önceki bir bildirimde görünmedi",
"%n için uygun bir şablon bağımsız değişkeni çıkarsama adayı bulunamadı",
"tam oluşturucu çağrısına izin verilmiyor",
"karşılaştırma işleci yalnızca sınıf tanımında varsayılan olarak ayarlanabilir",
"varsayılan olarak kullanılan karşılaştırma işleci, uygulandığı sınıfın bir üyesi veya arkadaşı olmalıdır",
"varsayılan olarak ayarlanan karşılaştırma işlecinin parametresi için %t türü hatalı ('const X başvurusu' olmalıdır; burada X, kapsayan sınıf türüdür)",
"varsayılan olarak ayarlanan karşılaştırma işlecinin dönüş türü 'bool' olmalıdır",
"varsayılan olarak ayarlanan üye karşılaştırma işleci 'const' olmalıdır",
"bu sınıfta varsayılan olarak ayarlanan birden fazla birleştirilmiş karşılaştırma işleci tanımlandı",
null,
"eş yordama ait %t promise türünde hem 'return_void' hem de 'return_value' ayarlanmış olamaz",
"'return_value' tarafından bildirilen %p",
"'return_void' tarafından bildirilen %p",
"%t, %n sonunda 'return_void' öğesine sahip olmadığından, co_return deyimi eksik",
"eş yordam durum ayırma için genel 'operator new' öğesinin nothrow çeşidi bulunamadı",
"eş yordam durum ayırmasının kaldırılması için uygun bir 'operator delete' bulunamadı",
"eş yordam durum serbest bırakması için uygun bir 'operator delete' bulunamadı",
"constexpr işlevi eş yordam olamaz",
"Bu %s ifadesinin işleneni, sınıf olmayan %t öğesine çözümleniyor",
"co_await ifadesine statik başlatıcıda izin verilmez",
@@ -3190,7 +3190,7 @@
"%t içinde %sq constexpr statik veri üyesi bulunamadı",
"dinamik ayırma için öğe sayısı (%d) çok büyük",
"constexpr dinamik ayırma isteği çok büyük",
"dinamik olarak ayrılmamış depolama alanı ayırmayı kaldırma",
"dinamik olarak ayrılmamış depolama alanının serbest bırakılması",
"serbest bırakma boyutu (%d1), ayrılan boyuta (%d2) karşılık gelmiyor",
"ayırma burada oluştu",
"serbest bırakma türü (%t1), ayırma türüne (%t2) karşılık gelmiyor",
@@ -3220,7 +3220,136 @@
"'ext_vector_type' özniteliği yalnızca tamsayı veya kayan nokta türleri için geçerlidir",
"Bu feature-test makrosu, geçerli derleme modunda yoksayılır (ve 0 döndürür)",
"birleşim için birden çok öğe içeren bir küme başlatıcısı değerlendirilemez",
"Operatör yeniden yazma için seçilen %nd bool türü döndürmüyor",
"sınıfa özgü ayırma işlevini çağıran yeni bir ifade sabit değer olarak değerlendirilemez",
"yerleşim new ifadesi sabit değer olarak değerlendirilemez",
"alt nesne işaretçisi aracılığıyla silme işlemi, sanal yıkıcı gerektirir",
"%npTd, tersine çevrilmiş bağımsız değişkenlere sahip",
"__INTADDR__ işleneni null işaretçisinden mahsup edilmelidir",
"_Generic yapısı birden çok türle eşleşiyor",
"diğer eşleşme %t",
"burada kullanılan 'availability' özniteliği yoksayıldı",
"Bu modda, aralık tabanlı 'for' deyimindeki C++20 stili başlatıcı deyimi standart dışıdır",
"co_await yalnızca aralık tabanlı for deyimine uygulanabilir",
"aralık tabanlı 'for' döngüsündeki aralık türü çıkarsanamıyor",
"satır içi değişkenler bir C++17 özelliğidir",
"yok etme işleci silme işlemi birinci parametre olarak %t gerektirir",
"yok etme işleci silme, std::size_t ve std::align_val_t dışında parametrelere sahip olamaz",
"kısıtlanmamış soyut sınıf seçenekleri yalnızca C++ derlenirken kullanılabilir",
"requires yan tümcesindeki ifadenin başlangıcı geçersiz",
"requires yan tümcesindeki tür dönüştürme ifadesi ayraç içine alınmalıdır",
"bu işleç, requires yan tümcesindeki en üst düzeyde (ayraç olmadan) görünemez",
"atomik kısıtlaması bool türünde olmalıdır",
"atomik kısıtlaması değiştirilemedi",
"atomik kısıtlaması sabit değil",
"atomik kısıtlaması false olarak değerlendiriliyor",
"şablon kısıtlaması karşılanmadı",
"bu kapsamda kavram tanımı görünemez",
"%nd için yeniden bildirim geçersiz",
"kavram kimliği için %T bağımsız değişkenleri değiştirilemedi",
"%T bağımsız değişkenleri için kavram false",
"burada bir requires yan tümcesine izin verilmiyor (şablonlu bir işlev değil)",
"kavram şablonu",
"requires yan tümcesi %nfd ile uyumsuz",
"öznitelik bekleniyordu",
null,
"tür adı bekleniyordu",
"requires ifadesinde üç nokta parametresine izin verilmez",
"requires ifadesindeki adlandırılmamış parametrenin etkisi yok",
"dosya adı bekleniyordu",
"sabit bir ifadede görünen %s çağrısı her zaman 'true' değerini oluşturur",
"consteval bağlamında görünen %s çağrısı her zaman 'true' değerini oluşturur",
"constexpr dışı bir işlevde görünen %s çağrısı her zaman 'false' değerini oluşturur",
"%t için tür kısıtlaması başarısız oldu",
"C++ modüllerinin etkin olduğu modlarda 'dışarı aktar' seçeneği kullanılamaz",
"genel bir modül parçası bildirimi diğer tüm bildirimlerden önce gelmelidir",
"modül bildiriminin önünde yalnızca bir genel modül parçası olabilir",
"özel bir modül parçasının önünde bir modül bildirimi olmalıdır",
"%s modül parçası dışarı aktarılamıyor",
"birden fazla modül bildirilemez",
"birden fazla %s modül parçası bildirilemez",
"modülün boş olmayan bir adla bildirilmesi gerekir",
"%sq, içeri aktarılabilen bir üst bilgi değil",
"adı olmayan bir modül içeri aktarılamaz",
"modülün kendisine yönelik arabirim bağımlılığı olamaz",
"%sq modülü zaten içeri aktarılmış",
"modül dosyası",
"içeri aktarılacak %sq modül dosyası bulunamadı",
"%sq modül dosyası içeri aktarılamadı"
"%sq modülü için modül dosyası bulunamadı",
"%sq modül dosyası içeri aktarılamadı",
"%s1 bekleniyordu ancak bunun yerine %s2 bulundu",
"%sq modül dosyası açılırken",
"%sq bölüm adı bilinmiyor",
"bilinmeyen bir modül dosyası",
"içeri aktarılabilir üst bilgi modülü dosyası",
"EDG modülü dosyası",
"IFC modülü dosyası",
"beklenmeyen bir modül dosyası",
"%t2 ikinci işlenenin türü, %t1 ile aynı boyutta olmalıdır",
"tür, üç yana kopyalanabilir olmalıdır",
"%t türü şu anda __builtin_bit_cast constexpr değerlendirmesi için desteklenmiyor",
"Bitfields %t sahip sınıf türleri, __builtin_bit_cast constexpr değerlendirmesi için şu anda desteklenmiyor",
"başvuru türündeki statik olmayan veri üyesi __builtin_bit_cast %t constexpr değerlendirmesi yapılmasını engelliyor",
"geçici tür %t __builtin_bit_cast constexpr değerlendirmesi yapılmasını engelliyor",
"bir %t türü birleşim, işaretçi veya üye işaretçisi __builtin_bit_cast constexpr değerlendirmesine engel oluyor",
"%npTd, %p bildirimi kullanılarak devralındı",
"devralma oluşturucuları için %t alt nesne oluşturma gerçekleştirilemiyor; örtük varsayılan Oluşturucu silindi",
"%n void döndürmesi gerekir",
"üye bildiriminin başlangıcı geçersiz",
"'auto' bekleniyordu",
"bu işlece bu noktada izin verilmiyor; önceki yeni ifadeyi parantez içine alın",
"kavram kullanımı geçersiz",
"varsayılan olarak ayarlanan üye karşılaştırma işleci tam '&&' ile nitelenemez",
"varsayılan constexpr karşılaştırma işlevi constexpr olmayan %nd işlevini çağırıyor",
"constexpr bellek karşılaştırması yalnızca üst düzey tamsayı veya tamsayı dizisi nesneleri için desteklenir",
"kavram şablonunda ilişkili kısıtlamalar olamaz",
"'export'a izin verilmiyor",
"sınıf üyelerini tek tek dışarı aktarmaya izin verilmiyor",
"dışarı aktarılan bildirim bir ad tanıtmalıdır",
"dışarı aktarma bildirimi, dışarı aktarma bildirimi içeremez (önceki bildirim %p)",
"dışarı aktarma bildirimi, modül içeri aktarma bildirimi içeremez",
"dışarı aktarma bildirimi yalnızca modül arabirim ünitesinde görünebilir",
"dışarı aktarma bildirimi, iç bağlantıya sahip bir adı dışarı aktaramaz",
"Kullanılan bildirim %nfd içeriyor",
"__fp16 kayan nokta türleri desteklenmediği için yerleşik işlev kullanılamıyor",
"requires ifadesi en az bir gereksinim belirtmelidir",
"'constinit' burada geçerli değil",
"'constinit' yalnızca statik veya iş parçacığı depolama süresine sahip değişkenlerin bildirimleri için geçerlidir",
"constinit değişkeni dinamik başlatma gerektiriyor",
"değişken daha önceden 'constinit' %p ile bildirildi",
"prototip olmayan işlev bildiricisi kullanımı",
"bağımsız değişken const olarak nitelenmiş bir türe sahip olamaz",
"eksik tür %t için işaretçiden üyeye öğesine izin verilmez",
"init-capture içinde paket genişletme bu modda etkin değil",
"init-capture özelliğindeki paket genişletme bir C++ 20 özelliğidir",
"sınıf tanımında varsayılan olarak kullanılan bir karşılaştırma işleci, ilgili karşılaştırma işlecinin ilk bildirimi olmalıdır (%nd)",
"init-capture içindeki bir paket genişletmesi yalnızca değişen sayıda bağımsız değişken içeren bir şablonda kullanılabilir",
"tür kısıtlaması, bir tür kavramı (yani, ilk parametresi tür parametresi olan bir kavram şablonu) olmayan %nd kullanıyor",
"%t çıkarsanan yer tutucu türüne yönelik tür kısıtlaması başarısız oldu",
"%t için varsayılan oluşturucu uygun değil",
"sıralanmamış kısıtlamalar nedeniyle %t için yıkıcı belirsiz",
"başarısız kısıtlamalar nedeniyle %t için yıkıcı uygun değil",
"belirsiz yıkıcı adayı",
"bir sanal işlevin sonunda requires yan tümcesi olamaz",
"%nd kısıtlamalarını karşılamıyor",
"%t decltype niteleyicisinin sonucu bir sınıf veya sabit listesi değil",
"ters çevrilmiş parametrelere sahip örtük karşılaştırma işleci eşit olarak iyi bir eşleşme olduğundan karşılaştırma, standart C++20'de belirsizdir; bu genellikle karşılaştırma işlecinde eksik 'const' niteleyicisinden kaynaklanır; bkz. %nod",
"kavram kimliği geçersiz",
"requires yan tümcesi için %T bağımsız değişkenleri değiştirilemedi",
"%nd için kısıtlamalar karşılanmadı",
"constexpr işlevindeki %t değişken türü, sanal temel sınıflara sahip",
"sabit ifade bir sanal temel alt nesneyi ayıramaz (%t türü için)",
"sınıf türündeki bir şablon parametresi yapısal sınıf türünde olmalıdır",
"UTF-8 sabit değerleri desteği için u-literal desteği gerekir.",
"'%s' için modül dosyası eşlemesi birden çok kez belirtildi",
"'%s' için üst bilgi birimi eşlemesi birden çok kez belirtildi",
"'%s' için eşleme belirtilmedi",
"'%s' için modül dosyası eşlemesi geçersiz",
"içeri aktarılacak '%s' üst bilgisi bulunamıyor",
"modül dosyası listesinde birden fazla dosya '%s' ile eşleşiyor",
"'%s' için bulunan modül dosyası farklı bir modüle yönelik",
"herhangi bir türde modül dosyası",
"modül dosyası okunamıyor",
"char8_t türü geçerli seçeneklerle desteklenmediği için yerleşik işlev kullanılamıyor",
"C++20 eş yordamları etkinleştirilirse --ms_await komut satırı seçeneği belirtilemez",
"varsayılan toplama öğesi başlatma için açık oluşturucu %nod için standart olmayan kullanım"
]
+151 -22
View File
@@ -171,7 +171,7 @@
"应输入声明",
"指针指向基础对象之外",
"类型转换无效",
"外部/内部链接与前的声明冲突",
"外部/内部链接与前的声明 %p 冲突",
"浮点值不适合于所需的整型",
"表达式不起任何作用",
"下标超出范围",
@@ -352,8 +352,8 @@
"有多个运算符 %sq 与这些操作数匹配:",
"分配函数的第一个参数必须是“size_t”类型",
"分配函数需要“void *”返回类型",
"释放函数需要“void”返回类型",
"释放函数的第一个参数必须是“void *”类型",
"解除分配函数需要“void”返回类型",
"解除分配函数的第一个参数必须是“void *”类型",
null,
"类型必须是对象类型",
"基类 %t 已初始化",
@@ -420,9 +420,9 @@
"应用了多个从 %t 到内置类型的转换函数:",
"常量 %n",
"引用 %n",
"%npT",
"%npTd",
"内置运算符 %sq",
"%no (继承不明确)",
"%nod,通过继承但含义不明确",
"构造函数或析构函数不能提取其自身的地址",
null,
"临时用于非常量引用的初始值(计时错误)",
@@ -732,7 +732,7 @@
"%n 不是类模板",
"具有不完整元素类型的数组是非标准的",
"不能在命名空间中声明分配运算符",
"不能在命名空间中声明释放运算符",
"不能在命名空间中声明解除分配运算符",
"%np1 与 %np2 的 using 声明冲突",
"%np1 的 using 声明与 %npd2 冲突",
"namespaces 选项只能在编译 C++ 时使用",
@@ -1361,7 +1361,7 @@
"已忽略出现在带圆括号的初始值设定项之后的变量特性",
"此强制转换的结构不能用作左值",
"求反无符号定点值",
"该点不允许此操作;请使用括号",
null,
null,
"寄存器名只能用于寄存器变量",
"已命名的寄存器变量不能包含 void 类型",
@@ -1535,7 +1535,7 @@
"cannot-redefine 值无效",
"重复的函数修饰符",
"char16_t 文本的无效字符",
"__LPREFIX 不可应用于 char8_t、char16_t 或 char32_t 文本",
null,
"无法识别的调用约定 %s,必须为以下内容之一:",
null,
null,
@@ -2354,7 +2354,7 @@
"需要先加入 #include <initializer_list>,然后才能使用 std::initializer_list,其中包括隐式使用",
"不能在命名空间别名声明中使用“inline”关键字",
"以前的 %n 声明不是以内联方式声明的",
"必须以内联方式声明内联 %n 的重新声明",
"%n 之前声明为内联",
"第一个参数必须为整数常量",
"指示符不能与非聚合类型 %t 配合使用",
"匿名联合成员的指示符只能出现在与该匿名联合对应的大括号中",
@@ -2435,7 +2435,7 @@
"constexpr 构造函数必须初始化直接基类 %t",
"字段初始值设定项中的 std::initializer_list 对象的创建可能无法发挥预期的作用,因为在整个表达式的结尾将销毁基础数组",
"“this”不能在常量表达式中使用",
"空初始值设定项对此联合类型无效(应初始化的成员不明确)",
null,
"不允许对显式实例化指令使用“constexpr”",
"无法确定默认构造函数的异常规范,因为存在循环依赖",
"匿名联合定义的 %p",
@@ -2474,7 +2474,7 @@
"%t 的无效限定符(此处不允许使用派生类)",
"\"always_inline\" 属性在非内联函数中被忽略",
"继承构造函数时,必须从直接基类进行继承",
"%np 已从 %t 继承",
null,
"应有一个标签",
"\"%%l\" 应后接一个操作数",
"“%%l”的操作数编号未引用有效的 label 参数",
@@ -2515,7 +2515,7 @@
"删除函数是一项 C++11 特性",
"默认函数是一项 C++11 特性",
"不允许在显式专用化中使用存储类",
"%t 不是一个类或区分范围的枚举",
null,
"未区分范围的枚举不得透明,以进行专用化",
"枚举模板声明必须引用以前声明的类模板成员",
"应为矢量操作数",
@@ -2759,7 +2759,7 @@
"变量不能有不完整的类型 %t",
"对未初始化的子对象的访问(%n)",
"对未初始化的子对象的访问(基类 %t)",
"析构函数调用",
"常数表达式中不允许使用伪析构函数调用",
"尝试修改常量存储",
null,
null,
@@ -2790,7 +2790,7 @@
"矢量元素类型必须是整型、枚举或真浮点类型",
"内置函数无法使用,因为不支持 128 位整数",
"内置函数无法使用,因为不支持矢量类型",
"两个连续的左方括号只能引入特性列表",
"两个连续的左方括号始终引入一个属性列表,但此处不能出现属性列表",
"无法识别的 \"target\" 特性将使解析程序例程无法使用此例程",
"%t 不是矢量类型",
"适量类型 %t1 和 %t2 长度必须相同",
@@ -2806,11 +2806,11 @@
"值类中不允许使用默认成员初始化表达式",
"\"--implicit_noexcept\" 需要可启用 noexcept 的模式",
"不能折叠涉及虚拟基类的操作(%t)",
null,
"初始化不是常数",
"无法计算不完整 %t 的值",
"忽略使用 \"nodiscard\" 属性声明的例程的返回值",
"忽略具有 \"nodiscard\" 属性的返回值类型",
"\"nodiscard\" 属性不适用于构造函数、析构函数以及返回类型为 void 的例程",
"\"nodiscard\" 属性不适用于析构函数返回类型为 void 的例程",
"\"fallthrough\" 属性仅适用于 null 语句",
"\"fallthrough\" 属性可能只出现在封闭的 switch 语句中",
"fallthrough 语句必须后接 switch case 标签或默认值",
@@ -2821,7 +2821,7 @@
"__has_include 不能出现在 #if 外部",
"无法添加 CComCoClass 基类",
"不是以 null 结尾的字符串",
"析构函数调用中不能使用非标量类型 %t",
"析构函数调用中不能使用非标量类型 %t",
"\"weak\" %n 的地址不是常量",
"函数模板签名的递归替换项过多",
"结构化绑定声明的说明符无效",
@@ -3122,7 +3122,7 @@
"正在捕获 *这在此模式中是非标准的",
"C++17 样式 \"using\" 属性前缀在此模式中是非标准的",
"C++17 样式嵌套命名空间在此模式中是非标准的",
"\"constexpr\"\"consteval\" 不能同时出现在声明中",
"声明中只能出现 \"constexpr\"\"consteval\" 和 \"constinit\" 中的一个",
"在此模式下,函数不能同时为 consteval 和 virtual",
"不允许对显式实例化指令使用 \"consteval\"",
"\"consteval\" 在此处无效",
@@ -3166,11 +3166,11 @@
"\"internal_linkage\" 属性未出现在之前的声明中",
"未找到 %n 的可行模板参数推导候选项",
"不允许使用完全限定的构造函数调用",
"仅可在类定义中将比较运算符设为默认值",
"默认比较运算符必须是它适用于的类的成员或友元",
"默认比较运算符的参数的类型 %t 不正确(必须是“对 const X 的引用”,其中 X 是封闭类类型)",
"默认比较运算符的返回类型必须是 \"bool\"",
"默认成员比较运算符必须为 \"const\"",
"此类中定义了多个默认的太空船运算符",
null,
"协同例程的 promise 类型 %t 不能同时设置 \"return_void\" 和 \"return_value\"",
"“return_value”已声明 %p",
"\"return_void\" 已声明 %p",
@@ -3220,7 +3220,136 @@
"\"ext_vector_type\" 属性仅适用于整数或浮点类型",
"在当前编译模式下,忽略了此功能测试宏(并返回 0)",
"无法使用联合的多个元素计算聚合初始值设定项",
"为运算符重写选择的 %nd 不返回布尔类型",
"无法对调用类专属分配函数的 new-expression 进行常量计算",
"无法对 placement new 表达式进行常量计算",
"需使用虚拟析构函数才能通过子对象指针删除",
"%npTd,带逆序参数",
"__INTADDR__ 的操作数必须是从空指针算起的偏移量",
"泛型构造与多个类型相匹配(_G)",
"另一匹配是 %t",
"已忽略此处使用的 \"availability\" 属性",
"在基于范围的 \"for\" 语句中,C++20 样式的初始化表达式语句在此模式下不是标准的",
"co_await 只能应用到基于范围的 for 语句",
"无法在基于范围的 \"for\" 循环中推断范围类型",
"内联变量是 C++17 功能",
"销毁运算符 delete 需要 %t 作为第一个参数",
"销毁运算符 delete 不能具有 std::size_t 和 std::align_val_t 以外的参数",
"宽松抽象类选项只能在编译 C++ 时使用",
"requires 子句中表达式的开头无效",
"requires 子句中的强制转换表达式必须放在括号中",
"此运算符不能出现在 requires 子句的顶层(不带括号)",
"原子约束必须具有 bool 类型",
"原子约束未能替换",
"原子约束不是常量",
"原子约束的计算结果为 false",
"不满足模板约束",
"概念定义不能出现在此范围内",
"%nd 的重新声明无效",
"concept-id 的参数 %T 替换失败",
"参数 %T 的概念为 false",
"此处不允许使用 requires 子句(不是模板化函数)",
"概念模板",
"requires 子句与 %nfd 不兼容",
"预期特性",
null,
"预期类型名称",
"requires 表达式中不允许使用省略号参数",
"requires 表达式中未命名的参数不起任何作用",
"预期概念名称",
"在常量表达式中出现的对 %s 的调用始终产生 \"true\"",
"在 consteval 上下文中出现的对 %s 的调用始终产生 \"true\"",
"在非 constexpr 函数中出现的对 %s 的调用始终产生 \"false\"",
"%t 的类型约束失败",
"在启用 C++ 模块的模式中,不能使用选项“导出”",
"全局模块片段声明必须位于任何其他声明之前",
"模块声明前面只能是全局模块片段",
"专用模块片段前面必须有模块声明",
"无法导出 %s 模块片段",
"不能声明一个以上的模块",
"不能声明一个以上的 %s 模块片段",
"必须使用非空名称声明模块",
"%sq 不是可导入标头",
"不能导入没有名称的模块",
"模块不能与自身有接口依赖关系",
"已导入模块 %sq",
"模块文件",
"找不到可导入的模块文件 %sq",
"无法导入模块文件 %sq"
"找不到模块 %sq 的模块文件",
"无法导入模块文件 %sq",
"预期 %s1,但找到 %s2",
"打开模块文件 %sq 时",
"未知的分区名称 %sq",
"未知模块文件",
"可导入标头模块文件",
"EDG 模块文件",
"IFC 模块文件",
"意外的模块文件",
"第二个操作数的类型 %t2 必须与 %t1 大小相同",
"类型必须可轻松复制",
"类型 %t 当前不支持对 __builtin_bit_cast 进行 constexpr 计算",
"位域为 %t 的类类型当前不支持对 __builtin_bit_cast 进行 constexpr 计算",
"引用类型 %t 的非静态数据成员阻止对 __builtin_bit_cast 进行 constexpr 计算",
"易失类型 %t 阻止对 __builtin_bit_cast 进行 constexpr 计算",
"联合类型、指针类型或指向成员的指针类型 %t 阻止对 __builtin_bit_cast 进行 constexpr 计算",
"%npTd,已通过使用 decl %p 继承",
"无法为继承构造函数执行 %t 的子对象构造 -- 已删除隐式默认构造函数",
"%n 必须返回 void",
"成员声明的开头无效",
"应为 \"auto\"",
"此位置不允许使用此运算符;请前面的新表达式括起来",
"概念的使用无效",
"默认成员比较运算符不能是 \"&&\" 限定",
"默认的 constexpr 比较函数会调用非 constexpr 函数 %nd",
"只有顶级整数或数组整数对象支持 constexpr 内存比较",
"概念模板不能具有关联约束",
"不允许使用 \"export\"",
"不允许导出单个类成员",
"导出的声明必须引入名称",
"导出声明不能包含导出声明(以前的声明 %p)",
"导出声明不能包含模块导入声明",
"导出声明只能出现在模块接口单元中",
"导出声明无法导出具有内部链接的名称",
"using 声明包括 %nfd",
"内置函数不可用,因为不支持 __fp16 浮点类型",
"requires 表达式必须指定至少一个要求",
"\"constinit\" 在此处无效",
"\"constinit\" 仅对具有静态或线程存储持续时间的变量的声明有效",
"constinit 变量需要动态初始化",
"以前使用 \"constinit\" %p 声明了变量",
"使用非原型函数声明符",
"参数不能具有常量限定类型",
"不允许使用不完整类型 %t 的指向成员的指针",
"此模式下未启用 init-capture 中的包扩展",
"init-capture 中的包扩展是 C++ 20 功能",
"类定义中默认的比较运算符必须是该比较运算符的第一个声明(%nd)",
"init-capture 中的包扩展只能在可变参数模板中使用",
"类型约束使用不是类型概念的 %nd (即,第一个参数为类型参数的概念模板)",
"推导出的占位符类型 %t 未能通过类型约束",
"%t 的默认构造函数不合格",
"%t 的析构函数不明确,因为存在未排序的约束",
"由于约束失败,%t 的析构函数不合格",
"析构函数候选项不明确",
"虚函数不能有尾随 requires 子句",
"%nd 不满足其约束",
"decltype 限定符的结果 %t 不是类或枚举",
"标准 C++20 中的比较不明确,因为连接反向参数的隐式比较运算符的比较结果表示了同等好的匹配--这通常是由于比较运算符中缺少 \"const\" 限定符造成的; 请参阅 %nod",
"concept-id 无效",
"requires-clause 的参数 %T 替换失败",
"不满足 %nd 的约束",
"constexpr 函数中变量类型 %t 具有虚拟基类",
"常数表达式无法为类型 %t 分配虚拟基子对象",
"类类型的模板参数必须是结构类类型",
"对 UTF-8 文本的支持需要 u 文本支持。",
"多次为“%s”指定了模块文件映射",
"多次为“%s”指定了标头单元映射",
"未为“%s”指定映射",
"“%s”的模块文件映射无效",
"找不到要导入的标头“%s”",
"模块文件列表中有多个文件与“%s”匹配",
"为“%s”找到的模块文件用于其他模块",
"任何类型的模块文件",
"无法读取模块文件",
"内置函数不可用,因为当前选项不支持 char8_t 类型",
"如果启用了 C++20 协同程序,则无法指定 --ms_await 命令行选项",
"对默认聚合元素初始化使用显式构造函数 %nod 不是标准做法"
]
+159 -30
View File
@@ -171,7 +171,7 @@
"必須是宣告",
"指標指向基礎物件之外",
"無效的類型轉換",
"外部/內部連結與上一個宣告衝突",
"外部/內部連結與上一個宣告衝突 %p",
"浮點值不適合必要的整數類資料類型",
"運算式無效",
"訂閱超出範圍",
@@ -420,9 +420,9 @@
"%t 與內建類型之間有一個以上合適的轉換函式: ",
"常數 %n",
"參考 %n",
"%npT",
"%npTd",
"內建運算子 %sq",
"%no (因繼承而模稜兩可)",
"%nod因繼承而模稜兩可",
"建構函式或解構函式不能使用自己的位址",
null,
"暫存區用於非常數參考的初始值 (過時用法)",
@@ -732,7 +732,7 @@
"%n 不是類別樣板",
"元素類型不完整的陣列並非標準用法",
"配置運算子不可在命名空間中宣告",
"取消配置運算子不可在命名空間中宣告",
"解除配置運算子不可在命名空間中宣告",
"%np1 與 %np2 的 using 宣告衝突",
"%np1 的 using 宣告與 %npd2 衝突",
"命名空間選項只有在編譯 C++ 時才能使用",
@@ -1361,7 +1361,7 @@
"已忽略出現在小括號內的初始設定式之後的變數屬性",
"此轉換的結果不能做為左值",
"否定不帶正負號的定點值",
"目前不能有這個運算子; 請使用括號",
null,
null,
"暫存器名稱只能用於暫存器變數",
"具名暫存器變數不能有 void 類型",
@@ -1535,7 +1535,7 @@
"無法重新定義的值無效",
"函式修飾元重複",
"char16_t literal 的字元無效",
"__LPREFIX 無法套用至 char8_t、char16_t 或 char32_t 常值",
null,
"無法辨認的呼叫慣例 %s,必須是下列其中一個: ",
null,
null,
@@ -1574,7 +1574,7 @@
"以 'mutable' 宣告參考並非標準做法",
"陣列的條件宣告一定是 true",
"靜態判斷提示失敗,因為 %sq",
"已忽略可視性屬性,因為它與上一個宣告衝突",
"已忽略可見度屬性,因為它與上一個宣告衝突",
"欄位名稱會解析成一個以上的位移 -- 請參閱 %nod1 和 %nod2",
"%sq 不是欄位名稱",
"case 標籤值已出現在這個 switch %p 中",
@@ -1675,10 +1675,10 @@
"在前置處理輸出中無法顯示十六進位值為 %s 的 Unicode 字元",
"要求的建構函式/解構函式優先權已保留給內部使用",
"無法辨認的 GCC pragma",
"無法辨認的 GCC 可視性 pragma 指示詞",
"無法辨認的可視性類型",
"可視性 pragma 仍在使用中",
"沒有相符的 visibility push",
"無法辨認的 GCC 可見度 pragma 指示詞",
"無法辨認的可見度類型",
"可見度 pragma 仍在使用中",
"沒有相符的可見度推送",
"不完整類型的 typeid",
null,
"假設陣列 %n 有一個元素",
@@ -1739,7 +1739,7 @@
"無法擷取目前函式範圍外的區域變數",
"無法在 Lambda 主體內參考封入函式 'this',除非它位於擷取清單中",
null,
"無法將類型 %t1 的 Lambda 擷取變數複製到類型 %t2 的 closure class 欄位",
"lambda 擷取到的變數屬於類型 %t1,無法複製到類型 %t2 的閉包類別欄位",
"範本目錄無效: %s",
"錯誤",
"個錯誤",
@@ -1951,8 +1951,8 @@
"%[C++/CLI] 模式需要 microsoft_version >= 1600",
"預設索引的屬性不可以為靜態",
"屬性存取子不可以同時為靜態和虛擬",
"最上層可視性規範不能出現在巢狀類型宣告上",
"最上層可視性規範需要類型定義",
"最上層可見度規範不能出現在巢狀類型宣告上",
"最上層可見度規範需要類型定義",
"trivial 屬性不能有參考類型",
"trivial 屬性不能有 const 或 volatile 類型",
"%nd 先前宣告為不同類型的列舉類型",
@@ -1990,7 +1990,7 @@
"覆寫規範未替基底類別成員函式命名",
"覆寫規範指定了非虛擬成員 %nd",
"成員函式覆寫了已經被 %nd2 覆寫的 %nd1",
"最多只允許一個可視性規範",
"最多只允許一個可見度規範",
"用於委派定義的類型 %t 不是函式類型",
"委派成員類型只能是 %[managed] 類別的成員",
"不允許有委派類型的追蹤參考",
@@ -2354,7 +2354,7 @@
"必須有 #include <initializer_list> 才能使用 std::initializer_list,表示要隱含使用",
"無法針對命名空間別名宣告使用 'inline' 關鍵字",
"%n 的上一個宣告並未宣告為 inline",
"重新宣告 inline %n 時,必須宣告為 inline",
"%n 先前宣告為內嵌",
"第一個引數必須是整數常數",
"指示項不能與非彙總類型 %t 一起使用",
"匿名等位成員的指示項只能出現在與該匿名等位對應的大括號中",
@@ -2435,7 +2435,7 @@
"constexpr 建構函式必須初始化直接基底類別 %t",
"在欄位初始設定式中建立 std::initializer_list 物件不太可能如預期般運作,因為基礎陣列將於完整運算式的結尾被終結",
"常數運算式中不能使用 'this'",
"空的初始設定式對這個等位類型而言無效 (應該初始化哪個成員模稜兩可) ",
null,
"明確具現化指示詞中不允許 'constexpr'",
"因為循環相依性,導致無法判定預設建構函式的例外狀況規格",
"匿名等位定義的 %p",
@@ -2474,7 +2474,7 @@
"%t 的限定詞無效 (這裡不允許使用衍生類別)",
"非內嵌函式會忽略 'always_inline' 屬性",
"inheriting 建構函式必須從直接基底類別繼承",
"%np 已從 %t 繼承",
null,
"必須有標籤",
"'%%l' 之後必須有運算元數字",
"'%%l' 的運算元數字未參考有效的標籤引數",
@@ -2515,7 +2515,7 @@
"deleted 函式是 C++11 功能",
"defaulted 函式是 C++11 功能",
"明確特製化中不允許儲存類別",
"%t 不是類別或有限範圍列舉",
null,
"不限範圍列舉必須是 opaque,才能特製化",
"列舉樣板宣告必須參考類別樣板先前宣告的成員",
"必須是向量運算元",
@@ -2759,7 +2759,7 @@
"變數不得有不完整的類型 %t",
"存取未初始化的子物件 (%n)",
"存取未初始化的子物件 (基底類別 %t)",
"空的解構函式呼叫",
"常數運算式中不允許虛擬解構函式呼叫",
"嘗試修改常數儲存體",
null,
null,
@@ -2790,7 +2790,7 @@
"向量元素類型必須是整數、列舉或實數浮點類型",
"因為不支援 128 位元整數,所以無法使用內建函式",
"因為不支援向量類型,所以無法使用內建函式",
"兩個連續的左括弧只能產生屬性清單",
"兩個連續的左括弧會一律引進屬性清單,但此處不能出現屬性清單",
"無法辨識的 'target' 屬性會導致解析程式常式無法使用此常式",
"%t 不是向量類型",
"向量類型 %t1 與 %t2 的長度必須相同",
@@ -2806,11 +2806,11 @@
"實值類別中不允許預設的成員初始設定式",
"'--implicit_noexcept' 需要可啟用 noexcept 的模式",
"無法進行與虛擬基底類別 (%t) 有關的摺疊運算",
null,
"初始化不是常數",
"無法為不完整的 %t 評估值",
"正在略過以 'nodiscard' 屬性宣告之常式的傳回值",
"正在略過具有 'nodiscard' 屬性的傳回值類型",
"'nodiscard' 屬性不適用於具有 void 傳回型別的建構函式、解構函式或常式",
"'nodiscard' 屬性不適用於具有 void 傳回型別的解構函式或常式",
"'fallthrough' 屬性只適用於 null 陳述式",
"'fallthrough' 屬性只可出現在封閉式 switch 陳述式中",
"fallthrough 陳述式必須在 switch case 標籤或預設之前",
@@ -2821,7 +2821,7 @@
"__has_include 不可以出現在 #if 之外",
"無法新增 CComCoClass 基底類別",
"不是以 null 結尾的字串",
"非純量類型 %t 無法在無意義的解構函式呼叫中使用",
"虛擬解構函式呼叫中不能使用非純量的類型 %t",
"'weak' %n 的位址不是常數",
"有太多遞迴的函式範本簽章替代",
"結構化繫結宣告的指定名稱無效",
@@ -3122,7 +3122,7 @@
"在此模式中擷取 *這個不是標準用法",
"在此模式中 C++17 樣式的 'using' 屬性前置詞不是標準用法",
"在此模式中 C++17 樣式的巢狀命名空間不是標準用法",
"'constexpr''consteval' 不能同時出現宣告",
"只有 'constexpr''consteval' 或 'constinit' 其中之一可以出現宣告",
"在此模式中函式不可同時為 consteval 和 virtual",
"明確具現化指示詞中不允許 'consteval'",
"'consteval' 在這裡無效",
@@ -3166,11 +3166,11 @@
"'internal_linkage' 屬性未出現在前一個宣告上",
"找不到 %n 的任何可行範本引數推算候選",
"不允許完整的建構函式呼叫",
"比較運算子只有在類別定義中才能是預設",
"預設比較運算子必須是其所套用之類別的成員或 Friend",
"預設比較運算子參數的類型 %t 不正確 (必須是 'reference to const X',其中 X 是外層類別類型)",
"預設比較運算子的傳回型別必須是 'bool'",
"預設的成員比較運算子必須是 'const'",
"這個類別中定義了多個預設 spaceship 運算子",
null,
"協同程式的 Promise 類型 %t 不能同時設有 'return_void' 和 'return_value'",
"'return_value' 已宣告 %p",
"'return_void' 已宣告 %p",
@@ -3219,8 +3219,137 @@
"'ext_vector_type' 屬性只能出現在 typedef 中",
"'ext_vector_type' 屬性只適用於整數或浮點數類型",
"在目前的編譯模式中忽略此功能測試巨集 (並傳回 0)",
"無法評估具有聯集之多項元素的總初始設定式",
"無法評估對於聯集有多個元素的總初始設定式",
"針對運算子重寫選取的 %nd 不會傳回 bool 類型",
"呼叫類別專屬配置函式的 new-expression 不能進行常數評估",
"placement new 運算式不能進行常數評估",
"需要有虛擬解構函式才能透過子物件指標刪除",
"%npTd,具有反轉的引數",
"__INTADDR__ 的運算元必須從 null 指標位移",
"_Generic 建構符合多種類型",
"另一個相符項目為 %t",
"已忽略此處使用的 'availability' 屬性",
"範圍架構 'for' 陳述式中的 C++20 樣式初始設定式陳述式在此模式中不是標準用法",
"co_await 只能套用至範圍架構 for 陳述式",
"無法推算範圍架構 'for' 迴圈中的範圍類型",
"內嵌變數為 C++17 功能",
"終結運算子 Delete 需要 %t 作為第一個參數",
"終結運算子 Delete 不能有除了 std::size_t 與 std::align_val_t 的參數",
"寬鬆抽象類別選項只有在編譯 C++ 時才能使用",
"requires 子句中運算式的開頭無效",
"requires 子句中的 cast 運算式必須以括號括住",
"此運算子不能出現在 requires 子句的最上層 (沒有括號)",
"不可部分完成限制式必須具有 bool 類型",
"無法替代不可部分完成限制式",
"不可部分完成限制式不是常數",
"不可部分完成限制式評估為 false",
"未滿足範本限制式",
"概念定義不能出現在此範圍中",
"%nd 的重新宣告無效",
"概念識別碼的引數 %T 替代失敗",
"引數 %T 的概念為 False",
"此處不允許使用 requires 子句 (非樣板化函式)",
"概念範本",
"requires 子句與 %nfd 不相容",
"必須是屬性",
null,
"必須為類型名稱",
"requires 運算式中不允許使用省略符號參數",
"requires 運算式中未命名的參數沒有作用",
"必須為概念名稱",
"呼叫在常數運算式中出現的 %s 永遠會得到 'true'",
"呼叫在 consteval 內容中出現的 %s 永遠會得到 'true'",
"呼叫在非 constexpr 函式中出現的 %s 永遠會得到 'false'",
"%t 的類型限制式失敗",
"'export' 選項不能用於啟用 C++ 模組的模式中",
"全域模組片段宣告必須放在所有其他宣告前面",
"模組宣告前面只能放置全域模組片段",
"私人模組片段前面必須放置模組宣告",
"無法匯出 %s 模組片段",
"無法宣告多個模組",
"無法宣告多個 %s 模組片段",
"模組必須以非空白名稱宣告",
"%sq 不是可匯入的標頭",
"無法匯入沒有名稱的模組",
"模組本身不能具有介面相依性",
"已匯入模組 %sq",
"模組檔案",
"找不到任何可匯入的模組檔案 %sq",
"無法匯入模組檔案 %sq"
"找不到模組 %sq 的模組檔案",
"無法匯入模組檔案 %sq",
"必須為 %s1,但找到 %s2",
"在開啟模組檔案 %sq 時",
"未知的分割名稱 %sq",
"未知的模組檔案",
"可匯入的標頭模組檔案",
"EDG 模組檔案",
"IFC 模組檔案",
"未預期的模組檔案",
"第二個運算元 %t2 的類型必須與 %t1 的大小相同",
"類型必須可以原樣複製",
"__builtin_bit_cast 的 constexpr 評估目前不支援類型 %t",
"__builtin_bit_cast 的 constexpr 評估目前不支援具有位元欄位 %t 的類別類型",
"參考類型 %t 的非靜態資料成員會防止 __builtin_bit_cast 的 constexpr 評估",
"揮發性類型 %t 會防止 __builtin_bit_cast 的 constexpr 評估",
"等位、指標或成員指標類型 %t 會防止 __builtin_bit_cast 的 constexpr 評估",
"%npTd,透過使用宣告 %p 來繼承",
"無法執行用於繼承建構函式的 %t 子物件建構 -- 已刪除隱含的預設建構函式",
"%n 必須傳回 void",
"成員宣告開頭無效",
"必須是 'auto'",
"目前不允許此運算子; 請以括號括住前面的 new 運算式",
"概念使用無效",
"預設的成員比較運算子不可限定為 '&&'",
"預設 constexpr 比較函式會呼叫非 constexpr 函式 %nd",
"只有最上層整數或整數陣列物件支援 constexpr 記憶體比較",
"概念範本不能具有已建立關聯的條件約束",
"不允許 'export'",
"不允許匯出個別類別成員",
"匯出的宣告必須引入名稱",
"匯出宣告不能包含匯出宣告 (前一個宣告 %p)",
"匯出宣告不能包含模組匯入宣告",
"匯出宣告只能出現在模組介面單位中",
"匯出宣告不能匯出具有內部連結的名稱",
"using 宣告包含 %nfd",
"因為不支援 __fp16 浮點數類型,所以無法使用內建函式",
"Requires 運算式必須至少指定一個需求",
"'constinit' 在這裡無效",
"'constinit' 只對具有靜態或執行緒儲存期的變數宣告有效",
"constinit 變數需要進行動態初始化",
"變數先前使用 'constinit' %p 宣告",
"使用非原型函式宣告子",
"引數不能有常數限定類型",
"不允許使用不完整類型 %t 的成員指標",
"此模式未啟用 init-capture 中的參數序列展開式",
"init-capture 中的參數序列展開式是 C++20 功能",
"類別定義中預設的比較運算子,必須為該比較運算子的第一個宣告 (%nd)",
"Init-capture 中的套件展開只能用於可變參數範本",
"類型條件約束使用非類型概念的 %nd (例如: 第一個參數是型別參數的概念範本)",
"推算的預留位置類型 %t 未通過類型條件約束",
"%t 的預設建構函式不符合資格",
"%t 的解構函式因未排序的條件約束而模稜兩可",
"%t 的解構函式因條件約束失敗而不符合資格",
"模稜兩可的解構函式候選項",
"虛擬函式不能有尾端 Requires 子句",
"%nd 不符合其條件約束",
"decltype 限定詞 %t 的結果不是類別或列舉",
"因為具有反轉參數的隱含比較運算子為均等相符,所以標準 C++20 中的比較會模稜兩可。這通常是比較運算子中遺漏 'const' 限定詞所致; 請參閱 %nod",
"概念識別碼無效",
"Requires 子句的引數 %T 替代失敗",
"未滿足 %nd 的條件約束",
"constexpr 函式中的變數型別 %t 具有虛擬基底類別",
"常數運算式無法配置虛擬基底子物件 (針對型別 %t )",
"類別型別的範本參數必須為結構類別型別",
"UTF-8 常值的支援需要 u-literal 支援。",
"指定了多次 '%s' 的模組檔案對應",
"指定了多次 '%s' 的標頭單位對應",
"未指定 '%s' 的對應",
"'%s' 的模組檔案對應無效",
"找不到要匯入的標頭 '%s'",
"模組檔案清單中有多個檔案與 '%s' 相符",
"為 '%s' 找到的模組檔案會用於其他模組",
"任何類型的模組檔案",
"無法讀取模組檔案",
"因為目前的選項不支援 char8_t 類型,所以無法使用內建函式",
"如果啟用 C++ 20 協同程式,就不能指定 --ms_await 命令列選項",
"非標準地使用明確的建構函式 %nod 進行預設彙總元素初始化"
]
-17
View File
@@ -1,17 +0,0 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1924",
"--pack_alignment",
"8",
"-D_MSC_VER=1924",
"-D_MSC_FULL_VER=192428314",
"-D_MSC_BUILD=0",
"-D_M_IX86=600",
"-D_M_IX86_FP=2"
],
"defaults_op": "merge"
}
-7
View File
@@ -1,7 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op" : "merge"
}
-17
View File
@@ -1,17 +0,0 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1924",
"--pack_alignment",
"8",
"-D_MSC_VER=1924",
"-D_MSC_FULL_VER=192428314",
"-D_MSC_BUILD=0",
"-D_M_IX86=600",
"-D_M_IX86_FP=2"
],
"defaults_op": "merge"
}
-18
View File
@@ -1,18 +0,0 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1924",
"--pack_alignment",
"8",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1924",
"-D_MSC_FULL_VER=192428314",
"-D_MSC_BUILD=0",
"-D_M_X64=100",
"-D_M_AMD64=100"
],
"defaults_op": "merge"
}
-7
View File
@@ -1,7 +0,0 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op" : "merge"
}
-18
View File
@@ -1,18 +0,0 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1924",
"--pack_alignment",
"8",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1924",
"-D_MSC_FULL_VER=192428314",
"-D_MSC_BUILD=0",
"-D_M_X64=100",
"-D_M_AMD64=100"
],
"defaults_op": "merge"
}
+7
View File
@@ -0,0 +1,7 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
+7
View File
@@ -0,0 +1,7 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
+16
View File
@@ -0,0 +1,16 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1928",
"--pack_alignment",
"8",
"-D_MSC_VER=1928",
"-D_MSC_FULL_VER=192829507",
"-D_MSC_BUILD=0",
"-D_M_ARM=7"
],
"defaults_op": "merge"
}
+7
View File
@@ -0,0 +1,7 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
+7
View File
@@ -0,0 +1,7 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
+17
View File
@@ -0,0 +1,17 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1928",
"--pack_alignment",
"8",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1928",
"-D_MSC_FULL_VER=192829507",
"-D_MSC_BUILD=0",
"-D_M_ARM64=1"
],
"defaults_op": "merge"
}
+33 -33
View File
@@ -1,33 +1,33 @@
{
"defaults": [
"cpfe",
"--wchar_t_keyword",
"--no_warnings",
"--rtti",
"--edge",
"--exceptions",
"--error_limit",
"25000",
"-D_EDG_COMPILER",
"-D_USE_DECLSPECS_FOR_SAL=1"
],
"source_file_format": "-f %s",
"expressions": [
{
"match": "^/I(.*)",
"replace": "-I\n$1"
},
{
"match": "^/D(.*)",
"replace": "-D$1"
},
{
"match": "^/AI(.*)",
"replace": "--using_directory\n$1"
},
{
"match": "^/dE--header_only_fallback",
"replace": "--header_only_fallback"
}
]
}
{
"defaults": [
"cpfe",
"--wchar_t_keyword",
"--no_warnings",
"--rtti",
"--edge",
"--exceptions",
"--error_limit",
"25000",
"-D_EDG_COMPILER",
"-D_USE_DECLSPECS_FOR_SAL=1"
],
"source_file_format": "-f %s",
"expressions": [
{
"match": "^/I(.*)",
"replace": "-I\n$1"
},
{
"match": "^/D(.*)",
"replace": "-D$1"
},
{
"match": "^/AI(.*)",
"replace": "--using_directory\n$1"
},
{
"match": "^/dE--header_only_fallback",
"replace": "--header_only_fallback"
}
]
}
@@ -1,7 +1,7 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op" : "merge"
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op" : "merge"
}
@@ -1,7 +1,7 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op" : "merge"
}
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op" : "merge"
}
@@ -1,18 +1,18 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1924",
"--pack_alignment",
"8",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1924",
"-D_MSC_FULL_VER=192428314",
"-D_MSC_BUILD=0",
"-D_M_X64=100",
"-D_M_AMD64=100"
],
"defaults_op": "merge"
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1928",
"--pack_alignment",
"8",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1928",
"-D_MSC_FULL_VER=192829507",
"-D_MSC_BUILD=0",
"-D_M_X64=100",
"-D_M_AMD64=100"
],
"defaults_op": "merge"
}
@@ -1,7 +1,7 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op" : "merge"
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op" : "merge"
}
@@ -1,7 +1,7 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op" : "merge"
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op" : "merge"
}
@@ -1,17 +1,17 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1924",
"--pack_alignment",
"8",
"-D_MSC_VER=1924",
"-D_MSC_FULL_VER=192428314",
"-D_MSC_BUILD=0",
"-D_M_IX86=600",
"-D_M_IX86_FP=2"
],
"defaults_op": "merge"
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1928",
"--pack_alignment",
"8",
"-D_MSC_VER=1928",
"-D_MSC_FULL_VER=192829507",
"-D_MSC_BUILD=0",
"-D_M_IX86=600",
"-D_M_IX86_FP=2"
],
"defaults_op": "merge"
}
+36 -9
View File
@@ -26,17 +26,22 @@
}
},
"cStandard": {
"description": "Version of the C language standard to use for IntelliSense.",
"description": "Version of the C language standard to use for IntelliSense. Note: GNU standards are only used to query the set compiler to get GNU defines, and IntelliSense will emulate the equivalent C standard version.",
"type": "string",
"enum": [
"c89",
"c99",
"c11",
"c17",
"gnu89",
"gnu99",
"gnu11",
"gnu17",
"${default}"
]
},
"cppStandard": {
"description": "Version of the C++ language standard to use for IntelliSense.",
"description": "Version of the C++ language standard to use for IntelliSense. Note: GNU standards are only used to query the set compiler to get GNU defines, and IntelliSense will emulate the equivalent C++ standard version.",
"type": "string",
"enum": [
"c++98",
@@ -45,6 +50,12 @@
"c++14",
"c++17",
"c++20",
"gnu++98",
"gnu++03",
"gnu++11",
"gnu++14",
"gnu++17",
"gnu++20",
"${default}"
]
},
@@ -53,7 +64,7 @@
"type": "string"
},
"includePath": {
"description": "A list of paths for the IntelliSense engine to use while searching for included headers. Searching on these paths is not recursive.",
"description": "A list of paths for the IntelliSense engine to use while searching for included headers. Searching on these paths is not recursive. Specify '**' to indicate recursive search. For example, '${workspaceFolder}/**' will search through all subdirectories while '${workspaceFolder}' will not.",
"type": "array",
"items": {
"type": "string"
@@ -82,12 +93,18 @@
"description": "The IntelliSense mode to use that maps to an architecture-specific variant of MSVC, gcc, or Clang. If not set or if set to ${default}, the extension will choose the default for that platform. Windows defaults to msvc-x64, Linux defaults to gcc-x64, and macOS defaults to clang-x64.",
"type": "string",
"enum": [
"msvc-x64",
"gcc-x64",
"clang-x64",
"msvc-x86",
"gcc-x86",
"clang-x86",
"clang-x64",
"clang-arm",
"clang-arm64",
"gcc-x86",
"gcc-x64",
"gcc-arm",
"gcc-arm64",
"msvc-x86",
"msvc-x64",
"msvc-arm",
"msvc-arm64",
"${default}"
]
},
@@ -117,7 +134,7 @@
"type": "string"
},
"path": {
"description": "A list of paths for the tag parser to use while searching for included headers. Searching on these paths is recursive by default. Specify '*' to indicate non-recursive search. For example: '/usr/include' will search through all subdirectories while '/usr/include/*' will not.",
"description": "A list of paths to use for indexing and parsing of workspace symbols (for use by Go to Definition, Find All References, etc.). Searching on these paths is recursive by default. Specify '*' to indicate non-recursive search. For example, '${workspaceFolder}' will search through all subdirectories while '${workspaceFolder}/*' will not.",
"type": "array",
"items": {
"type": "string"
@@ -125,6 +142,16 @@
}
},
"additionalProperties": false
},
"customConfigurationVariables": {
"type": "object",
"description": "Custom variables that can be queried through the command ${cpptools:activeConfigCustomVariable} to use for the input variables in launch.json or tasks.json.",
"patternProperties": {
"(^.+$)": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
+2 -1
View File
@@ -3,5 +3,6 @@
"defaultIntelliSenseEngine": 100,
"recursiveIncludes": 100,
"gotoDefIntelliSense": 100,
"enhancedColorization": 100
"enhancedColorization": 100,
"minimumVSCodeVersion": "1.44.0"
}
+148 -55
View File
@@ -6,9 +6,7 @@
'use strict';
const gulp = require('gulp');
const env = require('gulp-env')
const tslint = require('gulp-tslint');
const mocha = require('gulp-mocha');
const eslint = require('gulp-eslint');
const fs = require('fs');
const nls = require('vscode-nls-dev');
const path = require('path');
@@ -22,8 +20,9 @@ const filter = require('gulp-filter');
const vinyl = require('vinyl');
const parse5 = require('parse5');
const traverse = require('parse5-traverse');
const jsonc = require('jsonc-parser'); // Used to allow comments in nativeStrings.json
const jsonc = require('comment-json'); // Used to allow comments in nativeStrings.json
const crypto = require('crypto');
const https = require('https');
// Patterns to find HTML files
const htmlFilesPatterns = [
@@ -52,23 +51,6 @@ const languages = [
{ id: "pl", folderName: "plk" }
];
gulp.task('unitTests', (done) => {
env.set({
CODE_TESTS_PATH: "./out/test/unitTests",
});
return gulp.src('./test/runVsCodeTestsWithAbsolutePaths.js', {read: false})
.pipe(mocha({ ui: "tdd" }))
.once('error', err => {
done();
process.exit(1);
})
.once('end', () => {
done();
process.exit();
});
});
/// Misc Tasks
const allTypeScript = [
'src/**/*.ts',
@@ -76,25 +58,11 @@ const allTypeScript = [
'!**/typings**'
];
const lintReporter = (output, file, options) => {
//emits: src/helloWorld.c:5:3: warning: implicit declaration of function prinft
let relativeBase = file.base.substring(file.cwd.length + 1).replace('\\', '/');
output.forEach(e => {
let message = relativeBase + e.name + ':' + (e.startPosition.line + 1) + ':' + (e.startPosition.character + 1) + ': ' + e.failure;
console.log('[tslint] ' + message);
});
};
gulp.task('tslint', () => {
gulp.task('lint', function () {
return gulp.src(allTypeScript)
.pipe(tslint({
program: require('tslint').Linter.createProgram("./tsconfig.json"),
configuration: "./tslint.json"
}))
.pipe(tslint.report(lintReporter, {
summarizeFailureOutput: false,
emitError: false
}))
.pipe(eslint({ configFile: ".eslintrc.js" }))
.pipe(eslint.format())
.pipe(eslint.failAfterError());
});
gulp.task('pr-check', (done) => {
@@ -323,6 +291,108 @@ gulp.task("translations-import", (done) => {
}));
});
// ****************************
// Command: generate-package-hashes
// Generates a hash for each dependency package
// ****************************
async function DownloadFile(urlString) {
const buffers = [];
return new Promise((resolve, reject) => {
const req = https.request(urlString, (response) => {
if (response.statusCode === 301 || response.statusCode === 302) {
// Redirect - download from new location
let redirectUrl;
if (typeof response.headers.location === "string") {
redirectUrl = response.headers.location;
} else {
if (!response.headers.location) {
console.log(`Invalid download location received`);
return reject();
}
redirectUrl = response.headers.location[0];
}
console.log(`Using redirectUrl: '${redirectUrl}'`);
return resolve(DownloadFile(redirectUrl));
} else if (response.statusCode !== 200) {
if (response.statusCode === undefined || response.statusCode === null) {
console.log("unknown error code.");
return reject();
}
console.log(`failed with error code: '${response.statusCode}'`);
return reject();
}
response.on('data', (data) => {
buffers.push(data);
});
response.on('end', () => {
if (buffers.length > 0) {
return resolve(Buffer.concat(buffers));
} else {
return reject();
}
});
response.on('error', err => {
console.log(`problem with request: '${err.message}'`);
return reject();
});
});
req.on('error', err => {
console.log(`problem with request: '${err.message}'`);
return reject();
});
// Execute the request
req.end();
});
}
async function generatePackageHashes(packageJson) {
const downloadAndGetHash = async (url) => {
console.log(url);
try {
const buf = await DownloadFile(url);
if (buf) {
const hash = crypto.createHash('sha256');
hash.update(buf);
const value = hash.digest('hex').toUpperCase();
return value;
}
return undefined;
} catch (err) {
return undefined;
}
};
for (let dependency of packageJson.runtimeDependencies) {
console.log(`-------- Downloading package: '${dependency.description}' --------`);
const hash = await downloadAndGetHash(dependency.url);
if (hash) {
dependency.integrity = hash;
console.log(`integrity: '${hash}'`);
} else {
console.log(`No hash generated for package '${dependency.description}`);
}
console.log(`\n`);
}
let content = JSON.stringify(packageJson, null, 2);
return content;
}
gulp.task('generate-package-hashes', async (done) => {
const packageJsonPath = './package.json';
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath).toString());
const content = await generatePackageHashes(packageJson);
fs.writeFileSync(packageJsonPath, content);
done();
});
// ****************************
// Command: translations-generate
@@ -477,28 +547,49 @@ gulp.task("generate-native-strings", (done) => {
let stringIndex = 1;
for (let property in stringTable) {
let stringName = property;
let stringValue = stringTable[property];
let hintValue;
if (typeof stringValue !== "string")
{
hintValue = stringValue.hint;
stringValue = stringValue.text;
}
// Add to native enum
nativeEnumContent += ` ${property} = ${stringIndex},\n`;
// Add to native string table
nativeStringTableContent += ` ${JSON.stringify(stringTable[property])},\n`;
nativeStringTableContent += ` ${JSON.stringify(stringValue)},\n`;
// Add to TypeScript switch
// Skip empty strings, which can be used to prevent enum/index reordering
if (stringTable[property] != "") {
typeScriptSwitchContent += ` case ${stringIndex}:\n message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringTable[property])}`;
let argIndex = 0;
for (;;) {
if (!stringValue.includes(`{${argIndex}}`)) {
break;
if (stringValue != "") {
// It's possible that a translation may skip "{#}" entries, so check for up to 50 of them.
let numArgs = 0;
for (let i = 0; i < 50; i++) {
if (stringValue.includes(`{${i}}`)) {
numArgs = i + 1;
}
typeScriptSwitchContent += `, stringArgs[${argIndex}]`;
++argIndex;
}
typeScriptSwitchContent += ");\n break;\n";
typeScriptSwitchContent += ` case ${stringIndex}:\n`;
if (numArgs != 0) {
typeScriptSwitchContent += ` if (stringArgs) {\n`;
if (hintValue) {
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
} else {
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
}
for (let i = 0; i < numArgs; i++) {
typeScriptSwitchContent += `, stringArgs[${i}]`;
}
typeScriptSwitchContent += `);\n break;\n }\n`;
}
if (hintValue) {
typeScriptSwitchContent += ` message = localize({ key: ${JSON.stringify(property)}, comment: [${JSON.stringify(hintValue)}] }, ${JSON.stringify(stringValue)}`;
} else {
typeScriptSwitchContent += ` message = localize(${JSON.stringify(property)}, ${JSON.stringify(stringValue)}`;
}
typeScriptSwitchContent += `);\n break;\n`;
}
++stringIndex;
};
@@ -517,11 +608,13 @@ import * as nls from 'vscode-nls';
nls.config({ messageFormat: nls.MessageFormat.bundle, bundleFormat: nls.BundleFormat.standalone })();
const localize: nls.LocalizeFunc = nls.loadMessageBundle();
export const localizedStringCount: number = ${stringIndex};
export function lookupString(stringId: number, stringArgs?: string[]): string {
let message: string;
let message: string = "";
switch (stringId) {
case 0:
message = ""; // Special case for blank string
// Special case for blank string
break;
${typeScriptSwitchContent}
default:
@@ -543,12 +636,12 @@ ${typeScriptSwitchContent}
#pragma once
enum class localized_string_id
enum class localized_string_id : unsigned int
{
blank = 0,
${nativeEnumContent}};
inline static const char* localizable_strings[] = {
inline static const char *localizable_strings[] = {
"",
${nativeStringTableContent}};
`;
@@ -7,10 +7,10 @@
"c_cpp_properties.schema.json.definitions.configurations.items.properties.name": "配置标识符。Mac、Linux 和 Win32 是将在这些平台上自动选定的特殊配置标识符,但标识符可为任何内容。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerPath": "正在使用以便启用更准确的 IntelliSense 的编译器的完整路径,例如 /usr/bin/gcc。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用于修改所使用的包含或定义的编译器参数,例如 -nostdinc++、-m32 等。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "用于 IntelliSense 的 C 语言标准的版本。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "用于 IntelliSense 的 C++ 语言标准的版本。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "用于 IntelliSense 的 C 语言标准的版本。注意: GNU 标准仅用于查询设置编译器以获取 GNU 定义,并且 IntelliSense 将模拟等效的 C 标准版本。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "用于 IntelliSense 的 C++ 语言标准的版本。注意: GNU 标准仅用于查询设置用来获取 GNU 定义的编译器,并且 IntelliSense 将模拟等效的 C++ 标准版本。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "工作区的 compile_commands.json 文件的完整路径。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "IntelliSense 在搜索包含的标头时要使用的路径列表。不按递归方式搜索这些路径。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "在搜索包含的标头时 IntelliSense 引擎要使用的路径列表。对这些路径的搜索不是递归搜索。指定 \"**\" 可指示递归搜索。例如: \"${workspaceFolder}/**\" 将搜索所有子目录,而 \"${workspaceFolder}\" 将不搜索所有子目录。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "Intellisense 引擎在 Mac 框架中搜索包含的标头时要使用的路径的列表。仅在 Mac 配置中受支持。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "要在 Windows 上使用的 Windows SDK 包含路径的版本,例如 \"10.0.17134.0\"。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "分析文件时 IntelliSense 引擎要使用的预处理器定义的列表。(可选)使用 = 设置值,例如 VERSION=1。",
@@ -19,8 +19,9 @@
"c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "可为源文件提供 IntelliSense 配置信息的 VS Code 扩展的 ID。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "如果为 true,则仅处理以标头形式直接或间接包含的文件;如果为 false,则处理指定的包含路径下的所有文件。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "所生成的符号数据库的路径。如果指定了相对路径,则它将相对于工作区的默认存储位置。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "标记分析器在搜索包含的标头时要使用的路径列表。默认情况下,按递归方式搜索这些路径。指定 \"*\" 可指示非递归搜索。例如: \"/usr/include\" 将搜索所有子目录,而 \"/usr/include/*\" 将不搜索所有子目录。",
"c_cpp_properties.schema.json.definitions.env": "可通过 ${variable} 或 ${variable} 语法在此文件中的任意位置重用的自定义变量。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "一个路径列表,这些路径用于为工作区符号编制索引和进行分析(这些符号用于“转到定义”和“查找所有引用”等)。默认在这些路径中以递归方式进行搜索。指定 \"*\" 可指示非递归搜索。例如,\"${workspaceFolder}\" 将搜索所有子目录,而 \"${workspaceFolder}/*\" 将不会。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可通过命令 ${cpptools:activeConfigCustomVariable} 查询要用于 launch.json 或 tasks.json 的输入变量的自定义变量。",
"c_cpp_properties.schema.json.definitions.env": "可通过 ${变量} 或 ${env:变量} 语法在此文件中的任意位置重用的自定义变量。",
"c_cpp_properties.schema.json.definitions.version": "配置文件的版本。此属性由扩展托管。请勿更改它。",
"c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "控制扩展是否报告在 c_cpp_properties.json 中检测到的错误。"
}
+117 -26
View File
@@ -18,13 +18,103 @@
"c_cpp.command.buildAndDebugActiveFile.title": "生成和调试活动文件",
"c_cpp.command.logDiagnostics.title": "日志诊断",
"c_cpp.command.referencesViewGroupByType.title": "按引用类型分组",
"c_cpp.command.referencesViewUngroupByType.title": "按引用类型取消分组",
"c_cpp.command.referencesViewUngroupByType.title": "取消按引用类型分组",
"c_cpp.command.rescanWorkspace.title": "重新扫描工作区",
"c_cpp.command.vcpkgClipboardInstallSuggested.title": "将 vcpkg 安装命令复制到剪贴板",
"c_cpp.command.vcpkgOnlineHelpSuggested.title": "访问 vcpkg 帮助页",
"c_cpp.configuration.clang_format_path.description": ".clang-format 可执行文件的完整路径。",
"c_cpp.configuration.clang_format_style.description": "编码样式,当前支持: Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit。使用 \"file\" 从当前目录或父目录中的 .clang-format 文件中加载样式。使用 {key: value, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }",
"c_cpp.configuration.clang_format_fallbackStyle.description": "如果使用样式 \"file\" 调用 clang 格式但是找不到 .clang-format 文件,则使用预定义的样式的名称作为回退。可能的值为 Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit、none,或使用 {key: value, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }",
"c_cpp.configuration.formatting.description": "配置格式化引擎",
"c_cpp.configuration.formatting.clangFormat.description": "将使用 clang-format 设置代码的格式。",
"c_cpp.configuration.formatting.vcFormat.description": "将使用 Visual C++ 格式设置引擎来设置代码的格式。",
"c_cpp.configuration.formatting.Default.description": "将使用 clang-format 设置代码的格式。",
"c_cpp.configuration.formatting.Disabled.description": "将禁用代码格式设置。",
"c_cpp.configuration.vcFormat.indent.braces.description": "按照在“编辑器: 制表符大小”设置中指定的量缩进大括号。",
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "确定新行缩进的相关对象",
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "相对于最外侧的左括号缩进新行。",
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "相对于最内侧的左括号缩进新行。",
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "相对于当前语句的开头缩进新行。",
"c_cpp.configuration.vcFormat.indent.withinParentheses.description": "键入新行时,新行对齐到左括号下或基于 \"C_Cpp.vcFormat.indent.multiLineRelativeTo\" 对齐。",
"c_cpp.configuration.vcFormat.indent.withinParentheses.alignToParenthesis.description": "新行对齐到左括号下。",
"c_cpp.configuration.vcFormat.indent.withinParentheses.indent.description": "新行基于 \"C_Cpp.vcFormat.indent.multiLineRelativeTo\" 缩进。",
"c_cpp.configuration.vcFormat.indent.preserveWithinParentheses.description": "在现有代码中,保留括号内新行现有的缩进对齐方式。",
"c_cpp.configuration.vcFormat.indent.caseLabels.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于 switch 语句缩进标签。",
"c_cpp.configuration.vcFormat.indent.caseContents.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于标签缩进 case 块中的代码",
"c_cpp.configuration.vcFormat.indent.caseContentsWhenBlock.description": "按照在“编辑器: 制表符大小”设置中指定的量,缩进 case 语句后面的大括号",
"c_cpp.configuration.vcFormat.indent.lambdaBracesWhenParameter.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于语句的开头缩进用作函数参数的 lambda 的大括号",
"c_cpp.configuration.vcFormat.indent.gotoLabels.description": "跳转标签的位置",
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "按照在“编辑器: 制表符大小”设置中指定的量,将 goto 标签移到当前代码缩进的左侧",
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "将 goto 标签置于代码的最左侧边缘。",
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "不会格式化 goto 标签。",
"c_cpp.configuration.vcFormat.indent.preprocessor.description": "预处理器指令的位置",
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "按照在“编辑器: 制表符大小”设置中指定的量,预处理器指令位于当前代码缩进的左侧",
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "预处理器指令位于代码的最左侧边缘。",
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "不会格式化预处理器指令。",
"c_cpp.configuration.vcFormat.indent.accessSpecifiers.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于类或结构定义缩进访问说明符",
"c_cpp.configuration.vcFormat.indent.namespaceContents.description": "按照在“编辑器: 制表符大小”设置中指定的量,相对于封闭命名空间缩进代码",
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "在格式设置操作过程中未更改注释的缩进。",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.namespace.description": "用于命名空间的左大括号的位置",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.type.description": "用于类型定义的左大括号的位置",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.lambda.description": "用于 lambda 函数的左大括号的位置",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.function.description": "用于函数的左大括号的位置",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.block.description": "用于控制块的左大括号的位置",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "将左大括号移动到新行。",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "左大括号保留在同一行上,并在每个左大括号的前面添加一个空格。",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "左大括号没有格式化。",
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "在单独的行上放置用于范围的左大括号和右大括号。",
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "对于空类型,将右大括号移动到左大括号所在的同一行。",
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "对于空的函数体,将右大括号移动到左大括号所在的同一行。",
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "将 \"catch\" 和相似的关键字放在新行上。",
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "将 \"else\" 放在新行上。",
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "将 do-while 循环中的 \"while\" 放在新行上。",
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.description": "在函数名称与参数列表的左括号之间插入空格",
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "在函数的左括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "删除函数左括号前的空格。",
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "保留输入的空格。",
"c_cpp.configuration.vcFormat.space.withinParameterListParentheses.description": "在函数参数列表中的左括号后面和右括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.betweenEmptyParameterListParentheses.description": "当函数参数列表为空时,在其括号之间插入一个空格。",
"c_cpp.configuration.vcFormat.space.afterKeywordsInControlFlowStatements.description": "在关键字与控制流语句中的左括号之间添加一个空格。",
"c_cpp.configuration.vcFormat.space.withinControlFlowStatementParentheses.description": "在控制流语句的左括号后面和右括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.beforeLambdaOpenParenthesis.description": "在 lambda 参数列表的左括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.withinCastParentheses.description": "在 C 样式的强制转换的左括号后面和右括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.afterCastCloseParenthesis.description": "在 C 样式的强制转换的右括号后面添加一个空格。",
"c_cpp.configuration.vcFormat.space.withinExpressionParentheses.description": "在带圆括号的表达式的左括号后面和右括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.beforeBlockOpenBrace.description": "在范围块的左大括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.betweenEmptyBraces.description": "当大括号为空且位于同一行时,在它们之间插入一个空格。",
"c_cpp.configuration.vcFormat.space.beforeInitializerListOpenBrace.description": "在统一初始化和初始值设定项列表的左大括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.withinInitializerListBraces.description": "在统一初始化和初始值设定项列表的左大括号后面和右大括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.preserveInInitializerList.description": "在统一初始化和初始值设定项列表中,逗号两侧的空格会保留。",
"c_cpp.configuration.vcFormat.space.beforeOpenSquareBracket.description": "在左方括号之前添加一个空格。",
"c_cpp.configuration.vcFormat.space.withinSquareBrackets.description": "在左方括号后面和右方括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.beforeEmptySquareBrackets.description": "当方括号为空时,在左方括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.betweenEmptySquareBrackets.description": "当方括号为空时,在方括号之间插入一个空格。",
"c_cpp.configuration.vcFormat.space.groupSquareBrackets.description": "对于多维数组,删除方括号之间的所有空格。控制空格的其他设置将被重写。",
"c_cpp.configuration.vcFormat.space.withinLambdaBrackets.description": "在左方括号后面和右方括号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.betweenEmptyLambdaBrackets.description": "当方括号为空时,在方括号之间插入一个空格。",
"c_cpp.configuration.vcFormat.space.beforeComma.description": "在每个逗号前添加一个空格。",
"c_cpp.configuration.vcFormat.space.afterComma.description": "在每个逗号后面添加一个空格。",
"c_cpp.configuration.vcFormat.space.removeAroundMemberOperators.description": "成员访问运算符、指向成员的指针运算符和范围解析运算符前后的空格会被删除。",
"c_cpp.configuration.vcFormat.space.beforeInheritanceColon.description": "在类定义中继承的类型的冒号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.beforeConstructorColon.description": "在构造函数定义中的冒号前面添加一个空格。",
"c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "将移除每个分号前的空格。",
"c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "在每个分号后面插入一个空格。",
"c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "移除一元运算符和操作数之间的空格。",
"c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": "二元运算符两侧的空格",
"c_cpp.configuration.vcFormat.space.aroundAssignmentOperator.description": "赋值运算符两侧的空格",
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.description": "指针和引用运算符两侧的空格",
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "指针和引用运算符左对齐。",
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "指针和引用运算符居中对齐。",
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "指针和引用运算符右对齐。",
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "指针和引用运算符没有格式化。",
"c_cpp.configuration.vcFormat.space.aroundTernaryOperator.description": "条件运算符两侧的空格",
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "在运算符的前后添加一个空格。",
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "移除运算符前后的空格。",
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "保留输入的空格。",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.description": "块的换行选项",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "无论任何“VC 格式: 新行”设置的值如何,在一行输入的完整代码块都保留在一行上",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "无论任何“VC 格式: 新行”设置的值如何,在一行输入左大括号和右大括号的任何代码都保留在一行上",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "始终根据“VC 格式: 新行”设置来设定代码块的格式",
"c_cpp.configuration.clang_format_path.description": "clang-format 可执行文件的完整路径。如果未指定,并且 Clang 格式在环境路径中可用,则使用 Clang 格式。如果在环境路径中找不到 Clang 格式,则将使用与该扩展绑定的 clang-format 的副本。",
"c_cpp.configuration.clang_format_style.description": "编码样式,当前支持: Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit。使用 \"file\" 从当前目录或父目录中的 .clang 格式文件中加载样式。使用 {键: 值, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All }",
"c_cpp.configuration.clang_format_fallbackStyle.description": "如果使用样式 \"file\" 调用 clang 格式但是找不到 .clang 格式文件,则使用预定义的样式的名称作为回退。可能的值为 Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit、none,或使用 {key: value, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }",
"c_cpp.configuration.clang_format_sortIncludes.description": "如果已设置,则重写由 SortIncludes 参数确定的包含排序行为。",
"c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供程序。“标记分析器”提供非上下文感知的“模糊”结果。“默认”提供上下文感知结果。“已禁用”将关闭 C/C++ 语言服务功能。",
"c_cpp.configuration.intelliSenseEngineFallback.description": "控制 IntelliSense 引擎是否自动切换到包含 #include 错误的翻译单元的标记分析器。",
@@ -34,21 +124,22 @@
"c_cpp.configuration.inactiveRegionOpacity.description": "控制非活动预处理程序块的不透明度。介于 0.1 和 1.0 之间。此设置仅在启用了非活动区域变暗时适用。",
"c_cpp.configuration.inactiveRegionForegroundColor.description": "控制非活动预处理程序块的字体颜色。输入的格式为十六进制颜色代码或有效的主题颜色。如果未设置,则默认为编辑器的语法颜色方案。此设置仅在启用非活动区域变暗时适用。",
"c_cpp.configuration.inactiveRegionBackgroundColor.description": "控制非活动预处理程序块的背景颜色。输入的格式为十六进制颜色代码或有效的主题颜色。如果未设置,则默认为透明。此设置仅在启用了非活动区域变暗时适用。",
"c_cpp.configuration.formatting.description": "“默认”启用代码格式设置。“已禁用”禁用代码格式设置。",
"c_cpp.configuration.loggingLevel.description": "输出面板中日志记录的详细程度。从最低详细程度到最高详细程度的顺序为: None < Error < Warning < Information < Debug。",
"c_cpp.configuration.loggingLevel.description": "输出面板中日志记录的详细程度。从最低详细程度到最高详细程度的顺序为: None < Error < Warning < Information < Debug.",
"c_cpp.configuration.autoAddFileAssociations.description": "控制当文件是来自 C/C++ 文件的导航操作的目标时,是否将文件自动添加到 files.associations。",
"c_cpp.configuration.workspaceParsingPriority.description": "控制在分析非活动工作区文件时是否使用休眠以避免 CPU 使用率达到 100%。最高/高/中等/低的值约对应于 100/75/50/25% 的 CPU 使用率。",
"c_cpp.configuration.workspaceSymbols.description": "调用“转到工作区中的符号”时要包含在查询结果中的符号",
"c_cpp.configuration.workspaceSymbols.description": "调用“转到工作区中的符号”时要包含在查询结果中的符号",
"c_cpp.configuration.exclusionPolicy.description": "在遍历 \"browse.path\" 数组中的路径并确定应将哪些文件添加到代码导航数据库中时,指示扩展何时使用 \"files.exclude\" 设置。\"checkFolders\" 表示仅为每个文件夹评估一次排除筛选器(不检查单个文件)。\"checkFilesAndFolders\" 表示将对遇到的每个文件和文件夹评估排除筛选器。如果 \"files.exclude\" 设置仅包含文件夹,则 \"checkFolders\" 是最佳选择,可提高扩展对代码导航数据库执行初始化的速度。",
"c_cpp.configuration.preferredPathSeparator.description": "要作为 #include 自动完成结果的路径分隔符使用的字符。",
"c_cpp.configuration.simplifyStructuredComments.description": "如果为 true,则悬停和自动完成的工具提示将仅显示结构化注释的特定标签。否则,显示所有注释。",
"c_cpp.configuration.commentContinuationPatterns.items.anyof.string.description": "开启一个多行或单行注释块的模式。多行注释块的延续模式默认为 \"*\",单行注释块的延续模式默认为此字符串。",
"c_cpp.configuration.commentContinuationPatterns.items.anyof.object.begin.description": "开启一个多行或单行注释块的模式。",
"c_cpp.configuration.commentContinuationPatterns.items.anyof.object.continue.description": "在多行或单行注释块内按下 Enter 键时要插入到下一行的文本。",
"c_cpp.configuration.commentContinuationPatterns.description": "定义在多行或单行注释块内按下 Enter 键时的编辑器行为。",
"c_cpp.configuration.configurationWarnings.description": "确定在配置提供程序扩展无法提供源文件配置时是否显示弹出通知。",
"c_cpp.configuration.intelliSenseCachePath.description": "为 IntelliSense 使用的缓存预编译标头定义文件夹路径。Windows 上的默认缓存路径为 \"%LocalAppData%/Microsoft/vscode-cpptools\"Linux 上为 \"$XDG_CACHE_HOME/vscode-cpptools/\" (若未定义 XDG_CACHE_HOME 则为 \"~/.cache/vscode-cpptools/\")Mac 上为 \"~/Library/Caches/vscode-cpptools/\"。如果未指定路径或指定路径无效,则使用默认路径。",
"c_cpp.configuration.intelliSenseCachePath.description": "为 IntelliSense 使用的缓存预编译标头定义文件夹路径。Windows 上的默认缓存路径为 \"%LocalAppData%/Microsoft/vscode-cpptools\"Linux 上为 \"$XDG_CACHE_HOME/vscode-cpptools/\" (若未定义 XDG_CACHE_HOME则为 \"$HOME/.cache/vscode-cpptools/\")Mac 上为 \"$HOME/Library/Caches/vscode-cpptools/\"。如果未指定路径或指定路径无效,则使用默认路径。",
"c_cpp.configuration.intelliSenseCacheSize.description": "缓存的预编译标头的每个工作区硬盘驱动器空间的最大大小(MB);实际使用量可能在此值上下波动。默认大小为 5120 MB。当大小为 0 时,预编译的标头缓存将被禁用。",
"c_cpp.configuration.default.includePath.description": "未指定 \"includePath\" 时要在配置中使用的值,或 \"includePath\" 中存在 \"${default}\" 时要插入的值。",
"c_cpp.configuration.intelliSenseMemoryLimit.description": "IntelliSense 进程的内存使用限制(MB)。默认限制为 4096 MB,最大限制为 16 GB。当 IntelliSense 进程超出限制时,扩展将关闭并重新启动改进程。",
"c_cpp.configuration.default.includePath.description": "在 cpp_properties.json 中未指定 \"includePath\" 时要在配置中使用的值。如果指定了 \"includePath\",则向数组添加 \"${default}\" 以从此设置插入值。",
"c_cpp.configuration.default.defines.description": "未指定 \"defines\" 时要在配置中使用的值,或 \"defines\" 中存在 \"${default}\" 时要插入的值。",
"c_cpp.configuration.default.macFrameworkPath.description": "未指定 \"macFrameworkPath\" 时要在配置中使用的值,或 \"macFrameworkPath\" 中存在 \"${default}\" 时要插入的值。",
"c_cpp.configuration.default.windowsSdkVersion.description": "要在 Windows 上使用的 Windows SDK 包含路径的版本,例如 \"10.0.17134.0\"。",
@@ -65,25 +156,16 @@
"c_cpp.configuration.default.browse.limitSymbolsToIncludedHeaders.description": "未指定 \"browse.limitSymbolsToIncludedHeaders\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
"c_cpp.configuration.default.systemIncludePath.description": "要用于系统包含路径的值。如果已设置,它会覆盖通过 \"compilerPath\" 和 \"compileCommands\" 设置获取的系统包含路径。",
"c_cpp.configuration.default.enableConfigurationSquiggles.description": "控制扩展是否报告在 c_cpp_properties.json 中检测到的错误。",
"c_cpp.configuration.default.customConfigurationVariables.description": "未设置 \"customConfigurationVariables\" 时要在配置中使用的值,或 \"customConfigurationVariables\" 中存在 \"${default}\" 作为键时要插入的值。",
"c_cpp.configuration.updateChannel.description": "设置为“预览体验”以自动下载并安装扩展的最新预览体验版本,其中包括即将推出的功能和 bug 修复。",
"c_cpp.configuration.experimentalFeatures.description": "控制“实验性”功能是否可用。",
"c_cpp.configuration.suggestSnippets.description": "如果为 true,则由语言服务器提供片段。",
"c_cpp.configuration.enhancedColorization.description": "如果启用了 IntelliSense,则基于 IntelliSense 对代码进行着色。如果禁用了 IntelliSense 或使用默认高对比度主题,则此设置不起任何作用。",
"c_cpp.configuration.enhancedColorization.description": "如果启用,则根据 IntelliSense 对代码设定颜色。此设置仅在 intelliSenseEngine 设置为“默认”时适用。",
"c_cpp.configuration.codeFolding.description": "如果启用,则由语言服务器提供代码折叠范围。",
"c_cpp.configuration.vcpkg.enabled.markdownDescription": "为 [vcpkg 依赖关系管理器] 启用集成服务(https://aka.ms/vcpkg/)。",
"c_cpp.configuration.renameRequiresIdentifier.description": "如果为 true,则“重命名符号”将需要有效的 C/C++ 标识符。",
"c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "如果为 true,调试程序 shell 命令替换将使用过时的反引号(`)。",
"c_cpp.contributes.views.cppReferencesView.title": "C/C++: 其他引用结果",
"c_cpp.contributes.viewsContainers.activitybar.CppRenameActivityBar.title": "C/C++ 重命名",
"c_cpp.contributes.views.cppRenamePendingView.title": "正在等待重命名",
"c_cpp.contributes.views.cppRenameCandidatesView.title": "重命名候选项",
"c_cpp.command.CppRenameView.remove.title": "删除引用",
"c_cpp.command.CppRenameView.add.title": "添加引用",
"c_cpp.command.CppRenameView.removeAll.title": "删除所有引用",
"c_cpp.command.CppRenameView.addAll.title": "添加所有引用",
"c_cpp.command.CppRenameView.removeFile.title": "删除文件中的引用",
"c_cpp.command.CppRenameView.addFile.title": "在文件中添加引用",
"c_cpp.command.CppRenameView.addReferenceType.title": "添加以下类型的引用",
"c_cpp.command.CppRenameView.cancel.title": "取消重命名",
"c_cpp.command.CppRenameView.done.title": "提交重命名",
"c_cpp.debuggers.pipeTransport.description": "如果存在,这会指示调试程序使用其他可执行文件作为管道来连接到远程计算机,此管道将在 VS Code 和已启用 MI 的调试程序后端可执行文件(如 gdb)之间中继标准输入/输入。",
"c_cpp.debuggers.pipeTransport.default.pipeProgram": "输入管道程序名称的完全限定路径,例如 \"/usr/bin/ssh\"",
"c_cpp.debuggers.pipeTransport.default.debuggerPath": "目标计算机上调试程序的完整路径,例如 /usr/bin/gdb。",
@@ -92,6 +174,7 @@
"c_cpp.debuggers.pipeTransport.pipeProgram.description": "要执行的完全限定的管道命令。",
"c_cpp.debuggers.pipeTransport.pipeArgs.description": "传递给管道程序配置连接的命令行参数。",
"c_cpp.debuggers.pipeTransport.pipeEnv.description": "传递给程序的环境变量。",
"c_cpp.debuggers.pipeTransport.quoteArgs.description": "如果 pipeProgram 的单个参数包含字符(如空格或制表符),是否应引用它? 如果为 \"false\",则将不再自动引用调试程序命令。\n默认为 \"true\"。",
"c_cpp.debuggers.logging.description": "用于确定应将哪些类型的消息记录到调试控制台的可选标志。",
"c_cpp.debuggers.logging.exceptions.description": "用于确定是否应将异常消息记录到调试控制台的可选标志。默认为 true。",
"c_cpp.debuggers.logging.moduleLoad.description": "用于确定是否应将模块加载事件记录到调试控制台的可选标志。默认为 true。",
@@ -99,6 +182,8 @@
"c_cpp.debuggers.logging.engineLogging.description": "用于确定是否应将诊断调试引擎消息记录到调试控制台的可选标志。默认为 false。",
"c_cpp.debuggers.logging.trace.description": "用于确定是否应将诊断适配器命令跟踪记录到调试控制台的可选标志。默认为 false。",
"c_cpp.debuggers.logging.traceResponse.description": "用于确定是否应将诊断适配器命令和响应跟踪记录到调试控制台的可选标志。默认为 false。",
"c_cpp.debuggers.cppvsdbg.logging.threadExit.description": "用于确定是否应将线程退出消息记录到调试控制台的可选标志。默认值: \"false\"。",
"c_cpp.debuggers.cppvsdbg.logging.processExit.description": "用于确定是否应将目标进程退出消息记录到调试控制台的可选标志;否则调试停止。默认值: \"true\"。",
"c_cpp.debuggers.text.description": "要执行的调试命令。",
"c_cpp.debuggers.description.description": "此命令的可选说明。",
"c_cpp.debuggers.ignoreFailures.description": "如果为 true,应忽略此命令的失败。默认值为 false。",
@@ -115,7 +200,7 @@
"c_cpp.debuggers.cppvsdbg.visualizerFile.description": "调试此进程时要使用的 .natvis 文件。",
"c_cpp.debuggers.showDisplayString.description": "指定了 visualizerFile 时,showDisplayString 将启用显示字符串。启用此选项可能会导致调试期间的性能下降。",
"c_cpp.debuggers.environment.description": "要添加到程序环境的环境变量。示例: [ { \"name\": \"squid\", \"value\": \"clam\" } ]。",
"c_cpp.debuggers.envFile.description": "包含环境变量定义的文件的绝对路径。此文件具有每行由等号分隔的键值对。例如: KEY=VALUE",
"c_cpp.debuggers.envFile.description": "包含环境变量定义的文件的绝对路径。此文件具有每行由等号分隔的键值对。例如: 键=值",
"c_cpp.debuggers.additionalSOLibSearchPath.description": "要用于搜索 .so 文件的目录列表(以分号分隔)。示例: \"c:\\dir1;c:\\dir2\"。",
"c_cpp.debuggers.MIMode.description": "指示 MIDebugEngine 要连接到的控制台调试程序。允许的值为 \"gdb\"、\"lldb\"。",
"c_cpp.debuggers.miDebuggerPath.description": "MI 调试程序(如 gdb)的路径。如果未指定,将首先在路径中搜索调试程序。",
@@ -138,7 +223,13 @@
"c_cpp.debuggers.dumpPath.description": "指定程序的转储文件的可选完整路径。例如: \"c:\\temp\\app.dmp\"。默认为 null。",
"c_cpp.debuggers.enableDebugHeap.description": "如果为 false,将在禁用调试堆的情况下启动该进程。这会将环境变量 \"_NO_DEBUG_HEAP\" 设置为 \"1\"。",
"c_cpp.debuggers.symbolLoadInfo.description": "对符号加载的显式控制。",
"c_cpp.debuggers.symbolLoadInfo.loadAll.description": "如果为 true,则将加载所有的符号;否则不加载任何 solib 符号。默认值为 true。",
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "以分号 \";\" 分隔的文件名列表(允许使用通配符)。修改 LoadAll 的行为。如果 LoadAll 为 true,则不加载与列表中任何名称匹配的的符号。否则,仅为匹配的加载符号。示例: \"foo.so;bar.so\"",
"c_cpp.debuggers.requireExactSource.description": "可选标志,用于要求当前源代码与 pdb 匹配。"
"c_cpp.debuggers.symbolLoadInfo.loadAll.description": "如果为 true,则将加载所有 lib 的符号;否则不加载任何 solib 符号。默认值为 true。",
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "以分号 \";\" 分隔的文件名列表(允许使用通配符)。修改 LoadAll 的行为。如果 LoadAll 为 true,则不加载与列表中任何名称匹配的 lib 的符号。否则,仅为匹配的 lib 加载符号。示例: \"foo.so;bar.so\"",
"c_cpp.debuggers.requireExactSource.description": "可选标志,用于要求当前源代码与 pdb 匹配。",
"c_cpp.taskDefinitions.name.description": "任务的名称",
"c_cpp.taskDefinitions.command.description": "执行编译的编译器或脚本的路径",
"c_cpp.taskDefinitions.args.description": "要传递给编译器或编译脚本的其他参数",
"c_cpp.taskDefinitions.options.description": "其他命令选项",
"c_cpp.taskDefinitions.options.cwd.description": "已执行程序或脚本的当前工作目录。如果省略,则使用代码的当前工作区根。",
"c_cpp.taskDefinitions.detail.description": "任务类型的其他详细信息"
}
@@ -8,6 +8,12 @@
"select.configuration": "选择配置",
"cl.exe.not.available": "仅当从 VS 开发人员命令提示符处运行 VS Code 时,{0} 生成和调试才可用。",
"debugger.not.available": "类型为“{0}”的调试程序仅在 Windows 上可用。在当前 OS 平台上使用类型“{1}”。",
"lldb.framework.install.xcode": "详细信息",
"lldb.framework.not.found": "找不到用于 lldb-mi 的 \"LLDB.framework\"。请安装 XCode 或 XCode 命令行工具。",
"debugger.launchConfig": "启动配置:",
"lldb.find.failed": "缺少 lldb-mi 可执行文件的依赖项“{0}”。",
"lldb.search.paths": "搜索范围:",
"lldb.install.help": "要解决此问题,请通过 Apple App Store 安装 XCode,或通过在终端窗口运行“{0}”来安装 XCode 命令行工具。",
"envfale.failed": "未能使用 {0}。原因: {1}",
"replacing.sourcepath": "正在将 {0}“{1}”替换为“{2}”。",
"replacing.targetpath": "正在将 {0}“{1}”替换为“{2}”。",
@@ -4,6 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"build.and.debug.active.file": "生成和调试活动文件",
"cannot.build.non.cpp": "无法生成和调试,因为活动文件不是 C 或 C++ 源文件。",
"no.compiler.found": "未找到编译程序",
"select.compiler": "选择编译程序",
@@ -0,0 +1,9 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"invalid.identifier.for.rename": "为“重命名符号”操作提供的标识符无效。",
"unable.to.locate.selected.symbol": "找不到所选符号的定义。"
}
@@ -4,11 +4,10 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"invalid.identifier.for.rename": "为“重命名符号”操作提供的标识符无效。",
"unable.to.locate.selected.symbol": "找不到所选符号的定义。",
"c.cpp.debug.protocol": "C/C++ 调试协议",
"c.cpp.warnings": "C/C++ 配置警告",
"unable.to.start": "无法启动 C/C++ 语言服务器。IntelliSense 功能将被禁用。错误: {0}",
"check.permissions": "EPERM: 检查“{0}”的权限",
"server.crashed": "在过去 3 分钟内,“{0}”的语言服务器崩溃了 5 次。它不会重新启动。",
"server.crashed2": "在过去 3 分钟内,语言服务器崩溃了 5 次。它不会重新启动。",
"provider.configure.folder": "{0} 想要为“{1}”文件夹配置 IntelliSense。",
"provider.configure.this.folder": "{0} 想要为此文件夹配置 IntelliSense。",
@@ -19,9 +18,9 @@
"dismiss.button": "消除",
"diable.warnings.button": "禁用警告",
"unable.to.provide.configuraiton": "{0} 无法为“{1}”提供 IntelliSense 配置信息。将改为使用“{2}”配置中的设置。",
"config.not.found": "找不到请求的配置名称: {0}",
"unsupported.client": "不支持的客户端",
"timed.out": "将在 {0} 毫秒后超时。",
"c.cpp.debug.protocol": "C/C++ 调试协议",
"update.intellisense.time": "更新 IntelliSense 时间(秒): {0}",
"configure.json.button": "配置(JSON)",
"configure.ui.button": "配置(UI)",
@@ -4,6 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"incompatible.intellisense.mode": "IntelliSense 模式 {0} 与编译器路径不兼容。",
"failed.to.create.config.folder": "未能创建“{0}”",
"invalid.configuration.file": "配置文件无效。数组中须至少存在一个配置。",
"unknown.properties.version": "c_cpp_properties.json 中发现未知的版本号。某些功能可能无法按预期工作。",
@@ -13,8 +14,6 @@
"cannot.find": "无法找到: {0}",
"cannot.resolve.compiler.path": "输入无效,无法解析编译器路径",
"path.is.not.a.file": "路径不是文件: {0}",
"incompatible.intellisense.mode": "IntelliSense 模式 {0} 与编译器路径不兼容。",
"path.is.not.a.directory": "路径不是目录: {0}",
"cannot.find2": "无法找到“{0}”。",
"path.is.not.a.directory2": "路径不是目录: \"{0}\""
"cannot.find2": "无法找到“{0}”。"
}
@@ -6,7 +6,6 @@
{
"learn.how.to.install.a.library": "了解如何使用 vcpkg 为此标头安装库",
"copy.vcpkg.command": "将用于安装“{0}”的 vcpkg 命令复制到剪贴板",
"removed.use.instead": "已删除“{0}”。请改用“{1}”。",
"insiders.available": "预览体验版本 {0} 可用。是否要切换到预览体验通道并安装此更新?",
"yes.button": "是",
"ask.me.later.button": "稍后询问我",
@@ -16,7 +16,7 @@
"none": "无",
"disable.configuration.provider": "禁用活动配置提供程序(如果适用)。",
"select.compile.commands": "选择 compile_commands.json...",
"select.workspace": "选择工作区...",
"select.workspace": "选择工作区文件夹…",
"select.parsing.command": "选择分析命令...",
"resume.parsing": "继续分析",
"pause.parsing": "暂停分析"
+3 -2
View File
@@ -4,12 +4,13 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"failed.to.parse.tasks": "未能分析 tasks.json,可能是因注释或尾部逗号所致。",
"failed.to.parse.json": "未能分析 json 文件,可能是因注释或尾部逗号所致。",
"extension.not.ready": "C/C++ 扩展仍在安装。请查看输出窗口获取详细信息。",
"refer.read.me": "请参阅 {0} 了解疑难解答信息。可在 {1} 处创建问题",
"process.exited.with.code": "{0} 已退出,收到错误代码 {1}",
"warning.file.missing": "警告: 缺少预期的文件 {0}。",
"warning.debugging.not.tested": "警告: 尚未为此平台测试调试。",
"reload.workspace.for.changes": "重新加载工作区以使设置更改生效。",
"reload.string": "重新加载"
"reload.string": "重新加载",
"invalid.download.location.received": "接收的下载位置无效"
}
+6 -1
View File
@@ -6,10 +6,15 @@
{
"architecture.not.supported": "体系结构 {0} 不受支持。",
"apline.containers.not.supported": "Alpine 容器不受支持。",
"native.binaries.not.supported": "扩展的此 {0} 版本与你的 OS 不兼容。请下载并安装扩展的“{1}”版本。",
"download.button": "转到下载页",
"extension.installation.failed": "C/C++ 扩展安装失败。为使函数正常工作,需要修复或重新安装 C/C++ 语言功能的扩展。",
"remove.extension": "尝试修复",
"jason.files.missing": "C/C++ 扩展安装失败。为使函数正常工作,需要重新安装 C/C++ 语言功能的扩展。",
"initialization.failed": "C/C++ 扩展安装失败。有关详细信息,请查看输出窗口。",
"updating.dependencies": "正在更新 C/C++ 依赖项...",
"rename.failed.delete.manually": "错误: fs.rename 失败,原因为“{0}”。请手动删除 {1} 以启用调试。",
"failed.at.stage": "在阶段 {0} 失败",
"failed.at.stage2": "如果在脱机环境中工作或反复看到此错误,请尝试从 https://github.com/Microsoft/vscode-cpptools/releases 下载预包含了所有依赖项的扩展版本,然后使用 VS Code 中的“从 VSIX 安装”命令来安装它。",
"failed.at.stage2": "如果在脱机环境中工作或反复看到此错误,请尝试从 {0} 下载预包含了所有依赖项的扩展版本,然后使用 VS Code 中的“从 VSIX 安装”命令来安装它。",
"finished.installing.dependencies": "已完成安装依赖项"
}
+57 -13
View File
@@ -14,9 +14,9 @@
"include_errors_update_include_path_squiggles_disables": "检测到 #include 错误。请更新 includePath。已为此翻译单元({0})禁用波形曲线。",
"include_errors_update_include_path_intellisense_disabled": "检测到 #include 错误。请更新 includePath。此翻译单元({0})的 IntelliSense 功能将由标记分析器提供。",
"include_errors_update_compile_commands_or_include_path_intellisense_disabled": "检测到 #include 错误。请考虑更新 compile_commands.json 或 includePath。此翻译单元({0})的 IntelliSense 功能将由标记分析器提供。",
"could_not_parse_compile_commands": "无法分析“{0}”。将改为使用 c_cpp_properties.json 的 \"includePath\"。",
"could_not_find_compile_commands": "找不到“{0}”。将改为使用 c_cpp_properties.json 的 \"includePath\"。",
"file_not_found_in_path": "在“{1}”中未找到“{0}”。此文件将改为使用 c_cpp_properties.json 的 \"includePath\"。",
"could_not_parse_compile_commands": "无法分析“{0}”。将改用来自文件夹“{1}”中的 c_cpp_properties.json 的 \"includePath\"。",
"could_not_find_compile_commands": "找不到“{0}”。将改用文件夹“{1}”中来自 c_cpp_properties.json 的 \"includePath\"。",
"file_not_found_in_path": "在“{1}”中未找到“{0}”。此文件将改用文件夹“{2}”中来自 c_cpp_properties.json 的 \"includePath\"。",
"database_reset": "已成功重置 IntelliSense 数据库。",
"send_response_failed": "未能将响应发送到客户端: {0}",
"read_response_failed": "未能从服务器读取响应: {0}",
@@ -82,7 +82,7 @@
"error_squiggles_enabled_if_all_headers_resolve": "如果已解决所有标头依赖项,则启用错误波形曲线。",
"replaced_placeholder_file_record": "已替换占位符文件记录",
"tag_parsing_file": "标记分析文件: {0}",
"tag_parsing_error": "标记分析遇到错误,但可能不影响操作。如果找不到文件中的符号,请告诉我们: {0}",
"tag_parsing_error": "标记分析遇到错误,但可能不影响操作。如果在文件中找不到符号,请告诉我们: {0}",
"reset_timestamp_for": "重置 {0} 的时间戳",
"remove_file_failed": "未能删除文件: {0}",
"regex_parse_error": "Regex 分析错误 - vscode 模式: {0}regex: {1},错误消息: {2}",
@@ -92,8 +92,6 @@
"not_exited_yet": "尚未退出。将休眠 {0} 毫秒,然后重试。",
"failed_to_spawn_process": "未能生成进程。错误: {0}({1})",
"offering_completion": "提供完成",
"compiler_from_compiler_path": "正在尝试从 \"compilerPath\" 属性中的编译器获取默认值:“{0}”",
"compiler_from_compile_commands": "正在尝试从 compile_commands.json file 文件中的编译器获取默认值:“{0}”",
"compiler_on_machine": "正在尝试从计算机上找到的编译器获取默认值:“{0}”",
"unable_to_resolve_include_path": "无法解析包含路径: {0}",
"error_searching_for_intellisense_client": "搜索 IntelliSense 客户端时出错: {0}",
@@ -147,7 +145,7 @@
"timed_out_attempting_to_communicate_with_process": "尝试与进程通信时超时!",
"process_failed_to_run": "进程未能运行",
"wsl_not_detected": "未检测到 WSL",
"compiler_in_compilerpath_not_found": "找不到 \"compilerPath\" 属性中的编译器: {0}",
"compiler_in_compilerpath_not_found": "未找到指定的编译器: {0}",
"config_data_invalid": "配置数据无效,{0}",
"cmake_executable_not_found": "在 {0} 找不到 CMake 可执行文件",
"no_args_provider": "无参数提供程序",
@@ -155,10 +153,56 @@
"cant_create_intellisense_client_for": "无法为 {0} 创建 IntelliSense 客户端",
"suffix_declaration": "声明",
"suffix_type_alias": "类型别名",
"fallback_to_32_bit_mode": "编译器不支持 64 位。回退到 32 位 intelliSenseMode。",
"fallback_to_64_bit_mode": "编译器不支持 32 位。回退到 64 位 intelliSenseMode。",
"fallback_to_32_bit_mode2": "未能查询编译器。回退到 32 位 intelliSenseMode。",
"fallback_to_64_bit_mode2": "未能查询编译器。回退到 64 位 intelliSenseMode。",
"fallback_to_no_bitness": "未能查询编译器。回退到无位数。",
"intellisense_client_creation_aborted": "已中止创建 IntelliSense 客户端: {0}"
"fallback_to_32_bit_mode": "编译器不支持 64 位。正在回退到 32 位 intelliSenseMode。",
"fallback_to_64_bit_mode": "编译器不支持 32 位。正在回退到 64 位 intelliSenseMode。",
"fallback_to_32_bit_mode2": "未能查询编译器。正在回退到 32 位 intelliSenseMode。",
"fallback_to_64_bit_mode2": "未能查询编译器。正在回退到 64 位 intelliSenseMode。",
"fallback_to_no_bitness": "未能查询编译器。正在回退到无位数。",
"intellisense_client_creation_aborted": "已中止创建 IntelliSense 客户端: {0}",
"include_errors_config_provider_intellisense_disabled ": "基于 configurationProvider 设置提供的信息检测到 #include 错误。此翻译单元({0})的 IntelliSense 功能将由标记分析器提供。",
"include_errors_config_provider_squiggles_disabled ": "基于 configurationProvider 设置提供的信息检测到 #include 错误。已针对此翻译单元({0})禁用波形曲线。",
"preprocessor_keyword": "预处理器关键字",
"c_keyword": "C 关键字",
"cpp_keyword": "C++ 关键字",
"overload": "还有 1 个重载",
"overloads": "还有 %d 个重载",
"specialization": "还有 1 个专业化",
"specializations": "还有 %d 个专业化",
"expands_to": "扩展到:",
"file_label": "文件:",
"parameters_label": "参数:",
"returns_label": "返回:",
"deprecated_label": "已弃用:",
"exceptions_label": "异常:",
"template_parameters_label": "模板参数:",
"compiler_probe_command_line": "编译器探测命令行: {0}",
"c_compiler_from_compiler_path": "正在尝试从 \"compilerPath\" 属性中的 C 编译器获取默认值:“{0}”",
"cpp_compiler_from_compiler_path": "正在尝试从 \"compilerPath\" 属性中的 C++ 编译器获取默认值:“{0}”",
"c_compiler_from_compile_commands": "正在尝试从 compile_commands.json 文件中的 C 编译器获取默认值:“{0}”",
"cpp_compiler_from_compile_commands": "正在尝试从 compile_commands.json 文件中的 C++ 编译器获取默认值:“{0}”",
"c_intellisense_mode_changed": "对于 C 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”。",
"cpp_intellisense_mode_changed": "对于 C++ 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”。",
"c_std_version_changed": "对于 C 源文件,cStandard 已从“{0}”更改为“{1}”。",
"cpp_std_version_changed": "对于 C++ 源文件,cppStandard 已从“{0}”更改为“{1}”。",
"c_intellisense_mode_and_std_version_changed": "对于 C 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cStandard 已从“{2}”更改为“{3}”。",
"cpp_intellisense_mode_and_std_version_changed": "对于 C++ 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cppStandard 已从“{2}”更改为“{3}”。",
"c_intellisense_mode_changed_with_path": "对于 C 源文件,IntelliSenseMode 已根据编译器参数和探测 compilerPath 从“{0}”更改为“{1}”:“{2}”",
"cpp_intellisense_mode_changed_with_path": "对于 C++ 源文件,IntelliSenseMode 已根据编译器参数和探测 compilerPath 从“{0}”更改为“{1}”:“{2}”",
"c_std_version_changed_with_path": "对于 C 源文件,cStandard 已根据编译器参数和探测 compilerPath 从“{0}”更改为“{1}”:“{2}”",
"cpp_std_version_changed_with_path": "对于 C++ 源文件,cppStandard 已根据编译器参数和探测 compilerPath 从“{0}”更改为“{1}”:“{2}”",
"c_intellisense_mode_and_std_version_changed_with_path": "对于 C 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cStandard 已根据编译器参数和探测 compilerPath 从“{2}”更改为“{3}”:“{4}”",
"cpp_intellisense_mode_and_std_version_changed_with_path": "对于 C++ 源文件,IntelliSenseMode 已从“{0}”更改为“{1}”,cppStandard 已根据编译器参数和探测 compilerPath 从“{2}”更改为“{3}”:“{4}”",
"compiler_path_changed": "无法使用 compilerPath“{0}”解析配置。 请改用“{1}”。",
"compiler_path_invalid": "无法使用 compilerPath 解析配置:“{0}”",
"compiler_path_empty": "由于 compilerPath 明确为空,因此正在跳过对编译器的探测",
"msvc_intellisense_specified": "已指定 MSVC intelliSenseMode。正在针对编译器 cl.exe 进行配置。",
"unable_to_configure_cl_exe": "无法针对编译器 cl.exe 进行配置。",
"probing_compiler_default_target": "正在使用命令行探测编译器的目标:“{0}”{1}",
"compiler_default_target": "编译器返回的默认目标值: {0}",
"c_probing_compiler_default_standard": "正在使用命令行探测默认 C 语言标准的编译器: {0}",
"cpp_probing_compiler_default_standard": "正在使用命令行探测默认 C++ 语言标准的编译器: {0}",
"detected_language_standard_version": "检测到的语言标准版本: {0}",
"unhandled_default_target_detected": "检测到未处理的默认编译器目标值: {0}",
"unhandled_target_arg_detected": "检测到未处理的目标参数值: {0}",
"memory_limit_shutting_down_intellisense": "正在关闭 IntelliSense 服务器: {0}。内存使用量为 {1} MB,已超过 {2} MB 的限制。"
}
@@ -4,17 +4,22 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"downloading.progress.description": "正在下载 {0}",
"installing.progress.description": "正在安装 {0}",
"package.manager.missing": "程序包清单不存在",
"downloading.package": "正在下载程序包“{0}”",
"downloading.progress.description": "正在下载 {0}: {1}",
"error.from": "来自 {0} 的错误",
"failed.download.url": "未能下载 {0}",
"failed.retrying": "失败。正在重试...",
"done": "完成!",
"waiting.seconds": "正在等待 {0} 秒...",
"temp.package.unavailable": "临时包文件不可用",
"invalid.download.location.received": "接收的下载位置无效",
"invalid.response.code.received": "接收的响应代码无效",
"failed.web.error": "失败(错误代码“{0}”)",
"web.response.error": "HTTP/HTTPS 响应错误",
"invalid.content.length.received": "接收的内容长度位置无效",
"invalid.content.received": "收到的内容无效。哈希不正确。",
"web.request.error": "HTTP/HTTPS 请求错误",
"installing.package": "正在安装包“{0}”",
"downloaded.unavailable": "下载的文件不可用",
+10
View File
@@ -0,0 +1,10 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"unknown.os.platform": "OS 平台未知",
"missing.plist.productversion": "无法从 SystemVersion.plist 获取 ProduceVersion",
"missing.darwin.systemversion.file": "未能在 {0} 中找到 SystemVersion.plist。"
}
@@ -11,6 +11,8 @@
"switch.to.json": "通过单击文件链接或使用以下命令切换到 {0} 文件:",
"edit.configurations.in.json": "编辑 JSON 文件中的配置",
"edit.configurations.json": "C/C++: 编辑配置(JSON)",
"check.the.schema": "转到 {0},详细了解 C/C++ 属性。",
"view.schema.reference": "属性架构引用",
"intellisense.configurations": "IntelliSense 配置",
"intellisense.configurations.description": "使用此编辑器编辑在基础 {0} 文件中定义的 IntelliSense 设置。在此编辑器中所做的更改仅适用于所选的配置。要一次编辑多个配置,请转到 {1}。",
"configuration.name": "配置名称",
@@ -24,20 +26,21 @@
"compiler.path.description": "用于生成项目来启用更准确的 IntelliSense 的编译器的完整路径,例如 {0}。扩展将查询编译器以确定要用于 IntelliSense 的系统是否包含路径和默认定义。",
"specify.a.compiler": "指定编译器路径或从下拉列表中选择检测到的编译器路径。",
"no.compiler.paths.detected": "(未检测到编译器路径)",
"compiler.args": "编译器参数",
"compiler.arguments": "用于修改所使用的包含或定义的编译器参数,例如 {0}、{1} 等。",
"one.argument.per.line": "每行一个参数。",
"intellisense.mode": "IntelliSense 模式",
"intellisense.mode.description": "要使用的 IntelliSense 模式,该模式映射到 MSVC、gcc 或 Clang 的体系结构专属变体。如果未设置或设置为 {0},则扩展将选择该平台的默认值。Windows 默认为 {1}Linux 默认为 {2}macOS 默认为 {3}。选择特定 IntelliSense 模式以替代 {4} 模式。",
"include.path": "包含路径",
"include.path.description": "包含路径是包括源文件中随附的头文件(如 {0})的文件夹。指定 IntelliSense 引擎在搜索包含的头文件时要使用的列表路径。如果路径以 {1} 结尾,则 IntelliSense 引擎将从该目录开始递归搜索头文件。如果在安装了 Visual Studio 的 Windows 上,或者在 {2} 设置中指定了编译器,则无需在此列表中列出系统包含路径。",
"include.path.description": "include 路径是包括源文件中随附的头文件(如 {0})的文件夹。指定 IntelliSense 引擎在搜索包含的头文件时要使用的列表路径。对这些路径进行的搜索不是递归搜索。指定 {1} 可指示递归搜索。例如,{2} 将搜索所有子目录,而 {3} 则不会。如果在安装了 Visual Studio 的 Windows 上,或者在 {4} 设置中指定了编译器,则无需在此列表中列出系统 include 路径。",
"one.include.path.per.line": "每行一个包含路径。",
"defines": "定义",
"defines.description": "分析文件时 IntelliSense 引擎要使用的预处理器定义的列表。(可选)使用 {0} 设置值,例如 {1}。",
"one.definition.per.line": "每行一个定义。",
"c.standard": "C 标准",
"c.standard.description": "用于 IntelliSense 的 C 语言标准的版本。",
"c.standard.description": "用于 IntelliSense 的 C 语言标准的版本。注意: GNU 标准仅用于查询设置编译器以获取 GNU 定义,并且 IntelliSense 将模拟等效的 C 标准版本。",
"cpp.standard": "C++ 标准",
"cpp.standard.description": "用于 IntelliSense 的 C++ 语言标准的版本。",
"cpp.standard.description": "用于 IntelliSense 的 C++ 语言标准的版本。注意: GNU 标准仅用于查询设置用来获取 GNU 定义的编译器,并且 IntelliSense 将模拟等效的 C++ 标准版本。",
"advanced.settings": "高级设置",
"configuration.provider": "配置提供程序",
"configuration.provider.description": "可为源文件提供 IntelliSense 配置信息的 VS Code 扩展 ID。例如,使用 VS Code 扩展 ID {0} 从 CMake Tools 扩展提供配置信息。",
@@ -7,10 +7,10 @@
"c_cpp_properties.schema.json.definitions.configurations.items.properties.name": "組態識別碼。Mac、Linux 及 Win32 是會在這些平台上自動選取之組態的特殊識別碼,但識別碼可以是任何內容。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerPath": "所用編譯器的完整路徑,例如 /usr/bin/gcc,讓 IntelliSense 更準確。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用來修改所用 include 或 define 的編譯器引數,例如 -nostdinc++、-m32 等。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "用於 IntelliSense 的 C 語言標準版本。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "用於 IntelliSense 的 C++ 語言標準版本。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cStandard": "用於 IntelliSense 的 C 語言標準版本。注意: GNU 標準僅會用於查詢設定編譯器以取得 GNU 定義,而 IntelliSense 將會模擬相同的 C 標準版本。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.cppStandard": "用於 IntelliSense 的 C++ 語言標準版本。注意: GNU 標準僅會用於查詢設定編譯器以取得 GNU 定義,而 IntelliSense 將會模擬相同的 C++ 標準版本。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "工作區 compile_commands.json 檔案的完整路徑。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "IntelliSense 引擎搜尋包含的標頭時使用的路徑清單。會在這些路徑進行非遞迴搜尋。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "Intellisense 引擎搜尋所含標頭檔時所要使用的清單路徑。若要重複搜尋,請指定 '**'。例如 '${workspaceFolder}/**' 會搜尋所有子目錄,而 '${workspaceFolder}' 不會。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.macFrameworkPath": "供 Intellisense 引擎在 Mac 架構中搜尋包含的標頭時使用的路徑清單。僅支援用於 Mac 組態。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.windowsSdkVersion": "要在 Windows 上使用的 Windows SDK 包含路徑版本,例如 '10.0.17134.0'。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "剖析檔案時,IntelliSense 引擎要使用的前置處理器定義清單。您可使用 = 來設定值,例如 VERSION=1。",
@@ -19,8 +19,9 @@
"c_cpp_properties.schema.json.definitions.configurations.items.properties.configurationProvider": "提供原始程式檔 IntelliSense 組態資訊的 VS Code 延伸模組識別碼。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.limitSymbolsToIncludedHeaders": "設為 true,就會只處理直接或間接以標頭形式包含的檔案; 設為 false,則會處理位於指定 include 路徑下的所有檔案。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.databaseFilename": "產生的符號資料庫路徑。如果指定了相對路徑,就會是相對於工作區預設儲存位置的路徑。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "供標籤剖析器在搜尋包含的標頭時使用的路徑清單。根據預設,會在這些路徑進行遞迴搜尋。指定 '*' 來指示非遞迴搜尋。例如: '/usr/include' 在所有子目錄中搜尋,但 '/usr/include/*' 不會。",
"c_cpp_properties.schema.json.definitions.env": "可透過使用 ${variable} 或 ${env:variable} 語法,在此檔案中任何地方重複使用的自訂變數。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.browse.properties.path": "用來為工作區符號進行索引編製與剖析的路徑清單 (供 [移至定義]、[尋找所有參考] 等使用)。根據預設,會以遞迴方式搜尋這些路徑。指定 '*' 示非遞迴搜尋。例如'${workspaceFolder}' 在所有子目錄中搜尋,'${workspaceFolder}/*' 不會。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.customConfigurationVariables": "可透過命令 ${cpptools:activeConfigCustomVariable} 查詢的自訂變數,用於 launch.json 或 tasks.js 的輸入變數。",
"c_cpp_properties.schema.json.definitions.env": "可以透過使用 ${變數} 或 ${環境:變數} 語法,在此檔案中任何地方重複使用的自訂變數。",
"c_cpp_properties.schema.json.definitions.version": "組態檔版本。此屬性受延伸模組管理,請勿變更。",
"c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "控制延伸模組是否會回報 c_cpp_properties.json 中偵測到的錯誤。"
}
+116 -25
View File
@@ -22,33 +22,124 @@
"c_cpp.command.rescanWorkspace.title": "重新掃描工作區",
"c_cpp.command.vcpkgClipboardInstallSuggested.title": "將 vcpkg 安裝命令複製到剪貼簿",
"c_cpp.command.vcpkgOnlineHelpSuggested.title": "瀏覽 vcpkg 說明頁面",
"c_cpp.configuration.clang_format_path.description": "clang 格式可執行檔的完整路徑。",
"c_cpp.configuration.clang_format_style.description": "編碼樣式,目前支援: Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit。使用「檔案」從目前目錄或父目錄的 .clang-format 檔案載入樣式。使用 {key: value, ...} 來設定特定參數。例如,\"Visual Studio\" 樣式類似於: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }",
"c_cpp.configuration.formatting.description": "選擇格式設定引擎",
"c_cpp.configuration.formatting.clangFormat.description": "將使用 clang-format 來格式化程式碼。",
"c_cpp.configuration.formatting.vcFormat.description": "將使用 Visual C++ 格式化引擎來格式化程式碼。",
"c_cpp.configuration.formatting.Default.description": "將使用 clang-format 來格式化程式碼。",
"c_cpp.configuration.formatting.Disabled.description": "將停用程式碼格式化。",
"c_cpp.configuration.vcFormat.indent.braces.description": "大括弧會依據 [Editor: Tab Size] 設定中指定的數量縮排。",
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.description": "決定換行縮排相對於",
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.outermostParenthesis.description": "相對於最外層的左括弧,縮排新行。",
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.innermostParenthesis.description": "相對於最內層的左括弧,縮排新行。",
"c_cpp.configuration.vcFormat.indent.multiLineRelativeTo.statementBegin.description": "相對於目前陳述式的開頭,縮排新行。",
"c_cpp.configuration.vcFormat.indent.withinParentheses.description": "鍵入新行時,新行會對齊左括弧或依 `C_Cpp.vcFormat.indent.multiLineRelativeTo` 對齊。",
"c_cpp.configuration.vcFormat.indent.withinParentheses.alignToParenthesis.description": "將新行對齊在左括弧下。",
"c_cpp.configuration.vcFormat.indent.withinParentheses.indent.description": "新行會依據 `C_Cpp.vcFormat.indent.multiLineRelativeTo` 縮排。",
"c_cpp.configuration.vcFormat.indent.preserveWithinParentheses.description": "在現有程式碼中,將新行的現有縮排對齊保留在括弧內。",
"c_cpp.configuration.vcFormat.indent.caseLabels.description": "標籤會依據 [Editor: Tab Size] 設定中指定的數量,按照 switch 陳述式的相對位置縮排。",
"c_cpp.configuration.vcFormat.indent.caseContents.description": "案例區塊中的程式碼,會依據 [Editor: Tab Size] 設定中指定的數量,按照其標籤的相對位置縮排",
"c_cpp.configuration.vcFormat.indent.caseContentsWhenBlock.description": "依據 [Editor: Tab Size] 設定中指定的數量,縮排 case 陳述式之後的大括弧",
"c_cpp.configuration.vcFormat.indent.lambdaBracesWhenParameter.description": "依據 [Editor: Tab Size] 設定中指定的數量,按照陳述式開頭的相對位置,縮排用為函式參數的 Lambda 大括弧",
"c_cpp.configuration.vcFormat.indent.gotoLabels.description": "goto 標籤的位置",
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.description": "依據 [Editor: Tab Size] 設定中指定的數量,將 goto 標籤定位在目前程式碼縮排的左側",
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.description": "將 goto 標籤固定在程式碼的最左側。",
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.description": "將不會格式化 goto 標籤。",
"c_cpp.configuration.vcFormat.indent.preprocessor.description": "前置處理器指示詞的位置",
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.description": "依編輯器中指定的數量,將前置處理器指示詞縮排到目前程式碼的左側: [定位點大小] 設定",
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.description": "前置處理器指示詞位於程式碼的最左側。",
"c_cpp.configuration.vcFormat.indent.preprocessor.none.description": "將不會格式化前置處理器指示詞。",
"c_cpp.configuration.vcFormat.indent.accessSpecifiers.description": "存取指定名稱會依據 [Editor: Tab Size] 設定中指定的數量,按照類別或結構定義的相對位置縮排",
"c_cpp.configuration.vcFormat.indent.namespaceContents.description": "程式碼會依據 [Editor: Tab Size] 設定中指定的數量,按照其封入之命名空間的相對位置縮排",
"c_cpp.configuration.vcFormat.indent.preserveComment.description": "格式化作業期間,註解的縮排未變更。",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.namespace.description": "命名空間之左大括弧的位置",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.type.description": "型別定義之左大括弧的位置",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.lambda.description": "Lambda 函式之左大括弧的位置",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.function.description": "函式之左大括弧的位置",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.block.description": "控制區塊之左大括弧的位置",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.newLine.description": "將左大括號移至新行。",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.sameLine.description": "將左大括號保持在同一行,並在每個左大括號前加入一個空格。",
"c_cpp.configuration.vcFormat.newLine.beforeOpenBrace.ignore.description": "左大括號未格式化。",
"c_cpp.configuration.vcFormat.newLine.scopeBracesOnSeparateLines.description": "將範圍的左大括號與右大括號置於不同行。",
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyType.description": "若是空的類型,會將右大括號移至與左大括號同一行。",
"c_cpp.configuration.vcFormat.newLine.closeBraceSameLine.emptyFunction.description": "若是空的函式主體,會將右大括號移至與左大括號同一行。",
"c_cpp.configuration.vcFormat.newLine.beforeCatch.description": "將 'catch' 與類似的關鍵字置於新行。",
"c_cpp.configuration.vcFormat.newLine.beforeElse.description": "將 'else' 置於新行。",
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.description": "將 do-while 迴圈中的 'while' 置於新行。",
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.description": "在引數清單中的函式名稱與左括弧之間新增空格",
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.insert.description": "在函式的左括弧前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.remove.description": "已移除函式左括號之前的空格。",
"c_cpp.configuration.vcFormat.space.beforeFunctionOpenParenthesis.ignore.description": "將空格保持輸入的狀態。",
"c_cpp.configuration.vcFormat.space.withinParameterListParentheses.description": "在函式參數清單的左括弧後與右括弧前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.betweenEmptyParameterListParentheses.description": "若函式參數清單是空的,則在其括弧之間插入空格。",
"c_cpp.configuration.vcFormat.space.afterKeywordsInControlFlowStatements.description": "在控制流程陳述式的關鍵字與左括弧之間,加入一個空格。",
"c_cpp.configuration.vcFormat.space.withinControlFlowStatementParentheses.description": "在控制流程陳述式的左括弧後與右括弧前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.beforeLambdaOpenParenthesis.description": "在 Lambda 引數清單的左括弧前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.withinCastParentheses.description": "在 C-style 轉換的左括弧後與右括弧前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.afterCastCloseParenthesis.description": "在 C-Style 轉換的右括弧後,加入一個空格。",
"c_cpp.configuration.vcFormat.space.withinExpressionParentheses.description": "在括有括弧之運算式的左括弧後與右括弧前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.beforeBlockOpenBrace.description": "在範圍區塊的左大括號前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.betweenEmptyBraces.description": "若同一行的大括號是空的,在其間插入空格。",
"c_cpp.configuration.vcFormat.space.beforeInitializerListOpenBrace.description": "在統一初始設定與初始設定清單的左大括號前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.withinInitializerListBraces.description": "在統一初始設定與初始設定清單的左大括號後以及右大括號前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.preserveInInitializerList.description": "統一初始設定與初始設定清單內,逗號前後會保留空格。",
"c_cpp.configuration.vcFormat.space.beforeOpenSquareBracket.description": "在左方括號前面加入空格。",
"c_cpp.configuration.vcFormat.space.withinSquareBrackets.description": "在左方括號後面和右方括號前面加入空格。",
"c_cpp.configuration.vcFormat.space.beforeEmptySquareBrackets.description": "如果方括號空白,在左方括號前面加入空格。",
"c_cpp.configuration.vcFormat.space.betweenEmptySquareBrackets.description": "如果方括號空白,在方括號之間插入空格。",
"c_cpp.configuration.vcFormat.space.groupSquareBrackets.description": "針對多維陣列,移除方括號間的所有空格。覆寫其他控制空格的設定。",
"c_cpp.configuration.vcFormat.space.withinLambdaBrackets.description": "在左方括號後面和右方括號前面加入空格。",
"c_cpp.configuration.vcFormat.space.betweenEmptyLambdaBrackets.description": "如果方括號空白,在方括號之間插入空格。",
"c_cpp.configuration.vcFormat.space.beforeComma.description": "在每一個逗號前面加入空格。",
"c_cpp.configuration.vcFormat.space.afterComma.description": "在每一個逗號後面加入空格。",
"c_cpp.configuration.vcFormat.space.removeAroundMemberOperators.description": "移除成員存取運算子、成員指標運算子與範圍解析運算子前後的空格。",
"c_cpp.configuration.vcFormat.space.beforeInheritanceColon.description": "在類別定義中,繼承而來類型的冒號前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.beforeConstructorColon.description": "在建構函式定義的冒號前,加入一個空格。",
"c_cpp.configuration.vcFormat.space.removeBeforeSemicolon.description": "移除每一個分號前的空格。",
"c_cpp.configuration.vcFormat.space.insertAfterSemicolon.description": "在每個分號之後,插入一個空格。",
"c_cpp.configuration.vcFormat.space.removeAroundUnaryOperator.description": "移除一元運算子與運算元之間的空格。",
"c_cpp.configuration.vcFormat.space.aroundBinaryOperator.description": "二元運算子前後的空格",
"c_cpp.configuration.vcFormat.space.aroundAssignmentOperator.description": "指派運算子前後的空格",
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.description": "在指標與參考運算子前後新增空格",
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.left.description": "指標與參考運算子靠左對齊。",
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.center.description": "指標與參考運算子置中。",
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.right.description": "指標與參考運算子靠右對齊。",
"c_cpp.configuration.vcFormat.space.pointerReferenceAlignment.ignore.description": "指標與參考運算子未格式化。",
"c_cpp.configuration.vcFormat.space.aroundTernaryOperator.description": "條件運算子前後的空格",
"c_cpp.configuration.vcFormat.space.aroundOperators.insert.description": "在運算子的前後都加入空格。",
"c_cpp.configuration.vcFormat.space.aroundOperators.remove.description": "移除運算子前後的空格。",
"c_cpp.configuration.vcFormat.space.aroundOperators.ignore.description": "將空格保持輸入的狀態。",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.description": "區塊的換行選項",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.description": "在一行中所輸入的完整程式碼區塊都保留在同一行,而不考慮任何 VC 格式的值: [新行] 設定",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.description": "在一行中所輸入由左大括號和右大括號括住的任何程式碼,都保留在同一行,而不考慮任何 VC 格式的值: [新行] 設定",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.description": "程式碼區塊的格式一律以 VC 格式的值為準: [新行] 設定",
"c_cpp.configuration.clang_format_path.description": "此為 clang-format 可執行檔的完整路徑。如果未指定,且在環境路徑中可用 clang-format,即會使用該格式。如果在環境路徑中找不到,則會使用延伸模組所配備的 clang-format 複本。",
"c_cpp.configuration.clang_format_style.description": "編碼樣式,目前支援: Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit。使用「檔案」可從目前目錄或父目錄的 .clang-format 檔案載入樣式。使用 {鍵: 值, ...} 可設定特定參數。例如,\"Visual Studio\" 樣式類似於: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All }",
"c_cpp.configuration.clang_format_fallbackStyle.description": "當已使用樣式 \"file\" 叫用 clang 格式,但找不到 .clang-format 檔案時,用作後援的預先定義樣式名稱。可能的值包括 Visual Studio、LLVM、Google、Chromium、Mozilla、WebKit、none 或使用 {key: value, ...} 來設定特定參數。例如,\"Visual Studio\" 樣式類似於: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4 }",
"c_cpp.configuration.clang_format_sortIncludes.description": "若設定,會覆寫 SortIncludes 參數所決定的包含排序行為。",
"c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供者。\"Tag Parser\" 會提供非內容感知的「模糊」結果。\"Default\" 會提供內容感知的結果。\"Disabled\" 會關閉 C/C++ 語言服務功能。",
"c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供者。「標籤剖析器」會提供非內容感知的「模糊」結果。「預設」會提供內容感知的結果。「停用」會關閉 C/C++ 語言服務功能。",
"c_cpp.configuration.intelliSenseEngineFallback.description": "控制 IntelliSense 引擎是否會自動切換到包含 #include 錯誤之編譯單位的標籤剖析器。",
"c_cpp.configuration.autocomplete.description": "控制自動完成提供者。\"Default\" 會使用現有的 IntelliSense 引擎。\"Disabled\" 會使用 Visual Studio Code 所提供的文字式完成。",
"c_cpp.configuration.errorSquiggles.description": "控制 IntelliSense 引擎偵測到的可疑編譯錯誤是否會回報回編輯器。標籤剖析器引擎會忽略此設定。",
"c_cpp.configuration.dimInactiveRegions.description": "控制非作用中前置處理器區塊的色彩是否與作用中程式碼不同。如果 IntelliSense 停用或使用預設高對比佈景主題,則此設定沒有效果。",
"c_cpp.configuration.inactiveRegionOpacity.description": "控制非作用中前置處理器區塊的不透明度。在 0.1 與 1.0 之間調整規模。只有在啟用非作用中區域變暗時,才會套用此設定。",
"c_cpp.configuration.inactiveRegionOpacity.description": "控制非作用中前置處理器區塊的不透明度。在 0.1 與 1.0 之間縮放。只有在啟用非作用中區域變暗時,才會套用此設定。",
"c_cpp.configuration.inactiveRegionForegroundColor.description": "控制非作用中前置處理器區塊的前景色彩。輸入的格式為十六進位色彩代碼或有效的佈景主題色彩。若未設定,會預設為編輯器的語法著色配置。只有在啟用非作用中區域變暗時,才會套用此設定。",
"c_cpp.configuration.inactiveRegionBackgroundColor.description": "控制非作用中前置處理器區塊的背景色彩。輸入的格式為十六進位色彩代碼或有效的佈景主題色彩。若未設定,會預設為透明。只有在啟用非作用中區域變暗時,才會套用此設定。",
"c_cpp.configuration.formatting.description": "\"Default\" 會啟用程式碼格式設定。\"Disabled\" 會停用程式碼格式設定。",
"c_cpp.configuration.loggingLevel.description": "輸出面板中記錄的詳細程度。從最不詳細到最詳細的層級順序為: 無 < 錯誤 < 警告 < 資訊 < 偵錯。",
"c_cpp.configuration.loggingLevel.description": "輸出面板中記錄的詳細程度。從最不詳細到最詳細的層級順序為: None < Error < Warning < Information < Debug.",
"c_cpp.configuration.autoAddFileAssociations.description": "控制是否會在檔案為 C/C++ 檔案的瀏覽作業目標時,自動將檔案新增至 files.associations。",
"c_cpp.configuration.workspaceParsingPriority.description": "控制非作用中工作區檔案的剖析是否會使用睡眠來避免使用 100% 的 CPU。值 highest/high/medium/low 會約略對應至 100/75/50/25% CPU 使用率。",
"c_cpp.configuration.workspaceSymbols.description": "叫用 'Go to Symbol in Workspace' 時,要包含在查詢結果中的符號",
"c_cpp.configuration.workspaceSymbols.description": "叫用「前往工作區中的符號」時,要包含在查詢結果中的符號",
"c_cpp.configuration.exclusionPolicy.description": "指示延伸模組在周遊穿過 \"browse.path\" 陣列,為決定應新增至程式碼瀏覽資料庫的檔案而使用 \"files.exclude\" 設定的時機。\"checkFolders\" 代表每個資料夾 (不會檢查個別檔案) 只會評估一次排除篩選。\"checkFilesAndFolders\" 表示將對遇到的所有檔案和資料夾評估排除篩選。如果您的 \"files.exclude\" 設定只包含資料夾,則 \"checkFolders\" 為最佳選擇,且會增加延伸模組可將程式碼瀏覽資料庫初始化的速度。",
"c_cpp.configuration.preferredPathSeparator.description": "用作 #include 自動完成結果路徑分隔符號的字元。",
"c_cpp.configuration.simplifyStructuredComments.description": "若為 true,暫留與自動完成的工具提示只會顯示特定結構化註解標籤,否則將會顯示所有註解。",
"c_cpp.configuration.commentContinuationPatterns.items.anyof.string.description": "開始多行或單行註解區塊的模式。對於多行註解區塊,接續模式預設為 ' * ',或此字串表示單行註解區塊。",
"c_cpp.configuration.commentContinuationPatterns.items.anyof.object.begin.description": "開始多行或單行註解區塊的模式。",
"c_cpp.configuration.commentContinuationPatterns.items.anyof.object.continue.description": "在多行或單行註解區塊中按下 ENTER 時,將在下一行插入的文字。",
"c_cpp.configuration.commentContinuationPatterns.description": "定義在多行或單行註解區塊按下 ENTER 的編輯器行為。",
"c_cpp.configuration.configurationWarnings.description": "決定當組態提供者延伸模組無法提供來源檔案的組態時,是否會顯示快顯通知。",
"c_cpp.configuration.intelliSenseCachePath.description": "定義 IntelliSense 使用之快取先行編譯標頭檔的資料夾路徑。預設快取路徑在 Windows 上為 \"%LocalAppData%/Microsoft/vscode-cpptools\",在 Linux 上為 \"$XDG_CACHE_HOME/vscode-cpptools/\" (若未定義 XDG_CACHE_HOME,則為 \"~/.cache/vscode-cpptools/\"),在 Mac 上則為 \"~/Library/Caches/vscode-cpptools/\"。如果未指定路徑或指定的路徑無效,就會使用預設路徑。",
"c_cpp.configuration.intelliSenseCacheSize.description": "快取先行編譯標頭檔的每個工作區硬碟空間大小上限 (mb); 實際使用量可能會在此值周圍波動。預設大小為 5120 MB。大小為 0,會停用先行編譯標頭快取。",
"c_cpp.configuration.default.includePath.description": "當 \"includePath\" 未指定時,要在設定中使用的值,或 \"includePath\" 中有 \"${default}\" 時要插入的值。",
"c_cpp.configuration.intelliSenseCachePath.description": "定義 IntelliSense 使用之快取先行編譯標頭檔的資料夾路徑。預設快取路徑在 Windows 上為 \"%LocalAppData%/Microsoft/vscode-cpptools\",在 Linux 上為 \"$XDG_CACHE_HOME/vscode-cpptools/\" (若未定義 XDG_CACHE_HOME,則為 \"$HOME/.cache/vscode-cpptools/\"),在 Mac 上則為 \"$HOME/Library/Caches/vscode-cpptools/\"。如果未指定路徑或指定的路徑無效,就會使用預設路徑。",
"c_cpp.configuration.intelliSenseCacheSize.description": "快取先行編譯標頭檔可使用的每個工作區硬碟空間大小上限 (MB); 實際使用量會在此值附近波動。預設大小為 5120 MB。大小為 0會停用先行編譯標頭快取。",
"c_cpp.configuration.intelliSenseMemoryLimit.description": "IntelliSense 處理序所能使用的記憶體上限 (MB)。預設限制為 4096 MB,上限為 16 GB。當超過此限制時,此延伸模組將會關閉再重新啟動 IntelliSense 處理序。",
"c_cpp.configuration.default.includePath.description": "若 c_cpp_properties.json 中未指定 \"includePath\" 時,要在設定中使用的值。如有指定 \"includePath\",請將 \"${default}\" 新增到陣列中,以插入此設定的值。",
"c_cpp.configuration.default.defines.description": "當 \"defines\" 未指定時,要在設定中使用的值,或 \"defines\" 中有 \"${default}\" 時要插入的值。",
"c_cpp.configuration.default.macFrameworkPath.description": "當 \"macFrameworkPath\" 未指定時,要在設定中使用的值,或 \"macFrameworkPath\" 中有 \"${default}\" 時要插入的值。",
"c_cpp.configuration.default.windowsSdkVersion.description": "要在 Windows 上使用的 Windows SDK 包含路徑版本,例如 '10.0.17134.0'。",
@@ -65,25 +156,16 @@
"c_cpp.configuration.default.browse.limitSymbolsToIncludedHeaders.description": "當 \"browse.limitSymbolsToIncludedHeaders\" 未指定或設定為 \"${default}\" 時,要在組態中使用的值。",
"c_cpp.configuration.default.systemIncludePath.description": "要用於系統包含路徑的值。若設定,會覆寫透過 \"compilerPath\" 和 \"compileCommands\" 設定所取得的系統包含路徑。",
"c_cpp.configuration.default.enableConfigurationSquiggles.description": "控制延伸模組是否會回報 c_cpp_properties.json 中偵測到的錯誤。",
"c_cpp.configuration.default.customConfigurationVariables.description": "當未設定 \"customConfigurationVariables\" 時要在組態中使用的值,或當 \"${default}\" 在 \"customConfigurationVariables\" 中顯示為索引鍵時要插入的值。",
"c_cpp.configuration.updateChannel.description": "設定為「測試人員」以自動下載並安裝最新的延伸模組測試人員組建 (包括即將推出的功能和更新)。",
"c_cpp.configuration.experimentalFeatures.description": "控制「實驗性」功能是否可用。",
"c_cpp.configuration.suggestSnippets.description": "若為 true,則由語言伺服器提供程式碼片段。",
"c_cpp.configuration.enhancedColorization.description": "若啟用,將會據 IntelliSense 將程式碼著色。如果已停用 IntelliSense 或使用預設高對比主題,此設定就沒有效果。",
"c_cpp.configuration.enhancedColorization.description": "若啟用,將會據 IntelliSense 顯示彩色的程式碼。僅當 intelliSenseEngine 設為 \"Default\" 時,才適用此設定。",
"c_cpp.configuration.codeFolding.description": "若啟用,則由語言伺服器提供程式碼摺疊功能範圍。",
"c_cpp.configuration.vcpkg.enabled.markdownDescription": "啟用 [vcpkg 相依性管理員](https://aka.ms/vcpkg/)的整合服務。",
"c_cpp.configuration.renameRequiresIdentifier.description": "若為 true,則「重新命名符號」需要有效的 C/C++ 識別碼。",
"c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "若為 true,偵錯工具殼層命令替代將會使用已淘汰的反引號 (`)。",
"c_cpp.contributes.views.cppReferencesView.title": "C/C++: 其他參考結果",
"c_cpp.contributes.viewsContainers.activitybar.CppRenameActivityBar.title": "C/C++ 重新命名",
"c_cpp.contributes.views.cppRenamePendingView.title": "等待重新命名",
"c_cpp.contributes.views.cppRenameCandidatesView.title": "要重新命名的候選者",
"c_cpp.command.CppRenameView.remove.title": "移除參考",
"c_cpp.command.CppRenameView.add.title": "加入參考",
"c_cpp.command.CppRenameView.removeAll.title": "移除所有參考",
"c_cpp.command.CppRenameView.addAll.title": "加入所有參考",
"c_cpp.command.CppRenameView.removeFile.title": "移除檔案中的參考",
"c_cpp.command.CppRenameView.addFile.title": "在檔案中新增參考",
"c_cpp.command.CppRenameView.addReferenceType.title": "新增類型的參考",
"c_cpp.command.CppRenameView.cancel.title": "取消重新命名",
"c_cpp.command.CppRenameView.done.title": "認可重新命名",
"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。",
@@ -92,6 +174,7 @@
"c_cpp.debuggers.pipeTransport.pipeProgram.description": "要執行的完整管道命令。",
"c_cpp.debuggers.pipeTransport.pipeArgs.description": "傳遞至管道程式以設定連線的命令列引數。",
"c_cpp.debuggers.pipeTransport.pipeEnv.description": "傳遞至管道程式的環境變數。",
"c_cpp.debuggers.pipeTransport.quoteArgs.description": "若 pipeProgram 的個別引數包含字元 (例如空格或定位字元),是否應該加上引號? 若設定為 'false',不會再自動為偵錯工具命令加上引號。\n預設為 'true'。",
"c_cpp.debuggers.logging.description": "選擇性旗標,用以判斷應記錄到偵錯主控台的訊息類型。",
"c_cpp.debuggers.logging.exceptions.description": "選擇性旗標,用以判斷是否應將例外狀況訊息記錄到偵錯主控台。預設為 true。",
"c_cpp.debuggers.logging.moduleLoad.description": "選擇性旗標,用以判斷是否應將模組載入事件記錄到偵錯主控台。預設為 true。",
@@ -99,6 +182,8 @@
"c_cpp.debuggers.logging.engineLogging.description": "選擇性旗標,用以判斷是否應將診斷偵錯引擎訊息記錄到偵錯主控台。預設為 false。",
"c_cpp.debuggers.logging.trace.description": "選擇性旗標,用以判斷是否應將診斷介面卡命令追蹤記錄到偵錯主控台。預設為 false。",
"c_cpp.debuggers.logging.traceResponse.description": "選擇性旗標,用以判斷是否應將診斷介面卡命令和回應追蹤記錄到偵錯主控台。預設為 false。",
"c_cpp.debuggers.cppvsdbg.logging.threadExit.description": "選用旗標,可決定是否要將執行緒結束訊息記錄到偵錯主控台。預設: `false`。",
"c_cpp.debuggers.cppvsdbg.logging.processExit.description": "選用旗標,可決定要將目標流程結束訊息記錄到偵錯主控台,或停止偵錯。預設: `true`。",
"c_cpp.debuggers.text.description": "要執行的偵錯工具命令。",
"c_cpp.debuggers.description.description": "命令的選擇性描述。",
"c_cpp.debuggers.ignoreFailures.description": "若為 true,則應略過來自命令的失敗。預設值為 false。",
@@ -115,7 +200,7 @@
"c_cpp.debuggers.cppvsdbg.visualizerFile.description": "偵錯此處理序時要使用的 .natvis 檔案。",
"c_cpp.debuggers.showDisplayString.description": "指定 visualizerFile 時,showDisplayString 會啟用顯示字串。開啟此選項可能會導致偵錯期間的效能變慢。",
"c_cpp.debuggers.environment.description": "要新增至程式環境的環境變數。範例: [ { \"name\": \"squid\", \"value\": \"clam\" } ]。",
"c_cpp.debuggers.envFile.description": "包含環境變數定義之檔案的絕對路徑。此檔案具有以等號分隔每行的索引鍵值組。例如 KEY=VALUE",
"c_cpp.debuggers.envFile.description": "包含環境變數定義之檔案的絕對路徑。此檔案具有以等號分隔每行的索引鍵值組。例如「鍵=值」",
"c_cpp.debuggers.additionalSOLibSearchPath.description": "要用於搜尋 .so 檔案的目錄清單 (以分號分隔)。範例: \"c:\\dir1;c:\\dir2\"。",
"c_cpp.debuggers.MIMode.description": "表示 MIDebugEngine 將連線的主控台偵錯工具。允許的值為 \"gdb\" \"lldb\"。",
"c_cpp.debuggers.miDebuggerPath.description": "MI 偵錯工具 (例如 gdb) 的路徑。若未指定,會先搜尋偵錯工具的路徑。",
@@ -140,5 +225,11 @@
"c_cpp.debuggers.symbolLoadInfo.description": "符號載入的明確控制。",
"c_cpp.debuggers.symbolLoadInfo.loadAll.description": "若為 true,將會載入所有程式庫的符號,否則不會載入任何 solib 符號。預設值為 true。",
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "以分號 ';' 分隔的檔名清單 (允許使用萬用字元)。修改 LoadAll 的行為。如果 LoadAll 為 true,則不會載入與清單中任何名稱相符的程式庫符號。否則只會載入相符的程式庫符號。範例: \"foo.so;bar.so\"",
"c_cpp.debuggers.requireExactSource.description": "要求目前原始程式碼與 pdb 相符的選用旗標。"
"c_cpp.debuggers.requireExactSource.description": "要求目前原始程式碼與 pdb 相符的選用旗標。",
"c_cpp.taskDefinitions.name.description": "工作的名稱",
"c_cpp.taskDefinitions.command.description": "執行編譯的編譯器或指令碼路徑",
"c_cpp.taskDefinitions.args.description": "要傳遞給編譯器或編譯指令碼的其他引數",
"c_cpp.taskDefinitions.options.description": "其他命令選項",
"c_cpp.taskDefinitions.options.cwd.description": "所執行程式或指令碼的目前工作目錄。如果省略,則會使用 Code 的目前工作區根目錄。",
"c_cpp.taskDefinitions.detail.description": "工作的其他詳細資料"
}

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