Compare commits

..
811 Commits
Author SHA1 Message Date
Sean McManus f7c2cc869a Merge pull request #10355 from microsoft/seanmcm/1_13_9_cherrypick
Update changelog for 1.13.9 (#10324)
2023-01-04 13:39:59 -08:00
Sean McManus 79c8d1d64a Update changelog for 1.13.9 (#10324)
* Update changelog for 1.13.9
* Add a couple 1.13.6 debugger fixes.
2023-01-04 12:39:58 -08:00
Sean McManus a397a4731a Merge pull request #10287 from microsoft/seanmcm/1_13_8_release
Update changelog and version for 1.13.8. (#10286)
2022-12-15 16:33:40 -08:00
Sean McManus 1a3afd10fc Update changelog and version for 1.13.8. (#10286) 2022-12-15 15:53:09 -08:00
Sean McManus 01a747ad35 Merge pull request #10255 from microsoft/seanmcm/1_13_7_release
Cherry-pick for 1.13.7.
2022-12-08 12:16:50 -08:00
Sean McManus c8cbf6c0ba Update changelog for 1.13.7. 2022-12-08 12:14:15 -08:00
Sean McManus 07efeb4c6c Merge pull request #10233 from microsoft/seanmcm/1_13_6_release_2
Cherry-picks for 1.13.6
2022-12-06 11:15:25 -08:00
Sean McManus 3555e2f1ab Update changelog for 1.13.6 (again). (#10228) 2022-12-06 07:17:01 -08:00
Sean McManus cf2ebd75fe Update decode-uri-component. (#10226) 2022-12-06 07:16:55 -08:00
Colen Garoutte-Carson ac74b5b6a3 Fix document corruption due to delayed evaluation in protocolFilter (#10227) 2022-12-06 07:16:38 -08:00
Michelle Matias c22c28d0c6 Create declaration/definition - handle #include edits (#10219) 2022-12-06 07:16:30 -08:00
Sean McManus 4abec441f9 Merge pull request #10211 from microsoft/seanmcm/1_13_6_release
Merge and cherry-pick for 1.13.6
2022-11-30 16:53:37 -08:00
Sean McManus 8e23df99d8 Check for the file version before formatting after CDD. (#10210)
* Check for the file version before formatting after CDD.
2022-11-30 16:32:13 -08:00
Sean McManus abe65b5879 Merge branch 'insiders' into seanmcm/1_13_6_release 2022-11-30 16:29:32 -08:00
Sean McManus 7fec8ba15f Merge pull request #10196 from microsoft/seanmcm/cherrypick_1_13_5
Cherry-picks for 1.13.5
2022-11-28 13:21:00 -08:00
Andrew Wang 24f5fdd122 Change engine logging and add natvis diagnostics (#10171)
* Change engine logging and add natvis diagnostics

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

* change nls nativisDiagnostics to category
2022-11-28 13:18:22 -08:00
Sean McManus 6a063be33f Update changelog for 1.13.5. (#10187)
* Update changelog for 1.13.5.
2022-11-28 13:18:10 -08:00
Sean McManus 150c7aaf84 Fix selection and formatting for CDD (and extra newlines with clang-format) (#10177)
* Fix selection and formatting for CDD.
* Fix multiple edit at the same spot case.
2022-11-28 13:17:50 -08:00
Sean McManus c549c07fa6 Merge pull request #10153 from microsoft/main
Merge for 1.13.4 (again)
2022-11-16 18:11:45 -08:00
Sean McManus 340c00dc92 Update date. (#10152) 2022-11-16 17:52:33 -08:00
Sean McManus 53b6bb29ec Update loader-utils. (#10150) 2022-11-16 11:25:41 -08:00
Michelle Matias ed51a08388 Merge pull request #10148 from microsoft/main
update version 1.13.4 (#10147)
2022-11-14 15:25:57 -08:00
Michelle Matias 140eb83f73 update version 1.13.4 (#10147) 2022-11-14 15:23:55 -08:00
Sean McManus f1d9211b92 Merge pull request #10146 from microsoft/main
Merge for 1.13.4
2022-11-14 14:14:02 -08:00
Michelle Matias 64b429c9a0 1.13.4 change log (#10144) 2022-11-14 13:12:25 -08:00
Michelle Matias 8a81837bd4 Create declaration or definition feature (#10123) 2022-11-14 10:18:33 -08:00
Bernardin-MS 716979e1e3 Prepending workspace path to relative paths from CppProperties (#10045)
* Relative paths of compileCommands to workspacePath

* Address issue

* Fix lint

* Change rootUri for undefined

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

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

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

* fix indent

* add active editor logic

* fix yarn error

* fix lint

* resolve PR

* fix paren

* resolve PR

* resolve PR

* resolve PR

* fix build issue

* resolve PR

* resolve PR

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

* merge Colen's changes

* merge all

* update tag setting

* add hint for exceptions

* resolve PR

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Add unit test

* Fix bugs

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

* Fix loc issues

* More corrections

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

* Fix regressions.

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

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

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

Addresses #7808

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

* Remove arm64 block.

Co-authored-by: Andrew Wang <[email protected]>
2021-07-07 16:44:53 -07:00
Sean McManus f474c284f4 Fix code foldering with nested ifs. (#7793) 2021-07-07 15:30:52 -07:00
Sean McManus 7ad30dae85 Merge pull request #7766 from microsoft/main
Merge for 1.5.0-insiders3 (2nd time)
2021-07-01 14:25:47 -07:00
Elaheh Rashedi 3967429440 fix debugger for clang compilers (#7765) 2021-07-01 13:31:51 -07:00
Sean McManus 29b0b0611a Fix debug configuration selection cancellation. (#7763) 2021-07-01 12:05:23 -07:00
Sean McManus 2ab63a451a Merge pull request #7758 from microsoft/main
Merge for 1.5.0-insiders3
2021-06-30 17:46:54 -07:00
Sean McManus 2a9afe8046 Update changelog. (#7757) 2021-06-30 17:39:50 -07:00
csigsandSean McManus 51b983509d [Auto] Localization - Translated Strings (#7754)
* Localization - Translated Strings
* Add space before ":".

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

* Fix typo in "configuraiton" (chs)

* Fix typo in "configuraiton" (cht)

* Fix typo in "configuraiton" (csy)

* Fix typo in "configuraiton" (deu)

* Fix typo in "configuraiton" (esn)

* Fix typo in "configuraiton" (fra)

* Fix typo in "configuraiton" (ita)

* Fix typo in "configuraiton" (jpn)

* Fix typo in "configuraiton" (kor)

* Fix typo in "configuraiton" (plk)

* Fix typo in "configuraiton" (ptb)

* Fix typo in "configuraiton" (rus)

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

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

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

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

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

* Run yarn generateOptionsSchema

Co-authored-by: Andrew Wang <[email protected]>
2021-04-30 17:07:03 -07:00
Philip Craig 19db7fe4b5 Fix typo "apline" to "alpine" (#7438) 2021-04-30 16:53:51 -07:00
Sean McManus 38e90ce750 Update fwlinks for clang-format 12 (#7447)
* Update fwlinks for clang-format.
* Update hashes.
2021-04-30 16:35:47 -07:00
Sean McManus 76f22333e6 Update environement description. (#7417) 2021-04-23 14:48:30 -07:00
Sean McManus 740c141887 Update common.json. (#7416) 2021-04-23 14:22:42 -07:00
Colen Garoutte-Carson b00eaa2670 Some cleanup of use of zipfile (#7410) 2021-04-23 13:42:20 -07:00
Sean McManus 3a839384bb Merge pull request #7363 from HackintoshwithUbuntu/main
Changing default launch.json from "${workspaceFolder}" to "${fileDirname}"
2021-04-21 14:43:26 -07:00
Sean McManus 5f307788e2 Merge branch 'main' into main 2021-04-21 14:34:53 -07:00
Colen Garoutte-Carson ce9ab28489 Remove VSIX binary compat warning on some platform/arch combos (#7397) 2021-04-21 12:22:49 -07:00
Colen Garoutte-Carson 3ca675fd58 Add action workflows for 'enhancement' label (#7398) 2021-04-21 12:12:55 -07:00
Sean McManus 09519ae210 Merge branch 'main' into main 2021-04-21 10:11:09 -07:00
Elaheh Rashedi a370b3d064 separate handling compiler squiggles from other paths (#7343)
* separate compiler squiggles
2021-04-20 13:10:31 -07:00
Sean McManus 5f14aab942 Merge branch 'main' into main 2021-04-16 15:56:57 -07:00
Syed Ahmad 1502b87e47 update ${workspaceFolder} to ${fileDirname} #7362 2021-04-16 10:12:48 +10:00
Syed Ahmad 91393ad80e update ${workspaceFolder} to ${fileDirname} #7362 2021-04-15 16:29:10 +10:00
Syed Ahmad ad6fd53398 update ${workspaceFolder} to ${fileDirname} #7362 2021-04-15 16:27:47 +10:00
Colen Garoutte-Carson 143207aadb Merge to insiders (#7320) 2021-04-08 15:22:46 -07:00
Michelle Matias 0edf6c3ea7 Merge pull request #7304 from microsoft/mimatias/insiders4-2
1.3.0-insiders4 (#2)
2021-04-06 16:39:09 -07:00
Michelle Matias 4e22b6577f Merge pull request #7302 from microsoft/mimatias/insiders4
1.3.0-insiders4
2021-04-06 11:48:40 -07:00
Michelle Matias 1ab60bc247 Merge branch 'insiders' into mimatias/insiders4 2021-04-06 11:45:09 -07:00
Colen Garoutte-Carson 33eb2f6abe Add some files missed when merging to Insiders branch (#7271) 2021-04-01 12:15:23 -07:00
Colen Garoutte-Carson 11262438e3 Merge main into insiders (#7266) 2021-03-31 19:16:40 -07:00
Colen Garoutte-Carson 673a68d4cc Merge to insiders (#7236) 2021-03-25 14:05:32 -07:00
Sean McManus 437d9b333a Merge pull request #7223 from microsoft/1_3_0_insiders2
1.3.0-insiders2 merge
2021-03-24 12:10:49 -07:00
Sean McManus 0139274856 Change date. 2021-03-24 12:09:28 -07:00
Sean McManus 87cfa702bc Update changelog. 2021-03-24 06:04:49 -07:00
Sean McManus 013bff267e Merge branch 'insiders' into 1_3_0_insiders2 2021-03-24 05:53:35 -07:00
Colen Garoutte-Carson d942d64b7b Merge main to insiders (#7186) 2021-03-16 20:56:48 -07:00
Colen Garoutte-Carson 1a2bf6fc4c Merge main into insiders (#7180) 2021-03-16 17:44:59 -07:00
Sean McManus 32c1d6bf52 Merge pull request #6997 from microsoft/main
Merge for 1.2.2-insiders2
2021-02-18 18:13:59 -08:00
Sean McManus ebd5314b48 Merge pull request #6986 from microsoft/seanmcm/1_2_2_insiders
1.2.2-insiders
2021-02-17 15:01:04 -08:00
Sean McManus 5c7f551dba Merge. 2021-02-17 14:57:49 -08:00
Sean McManus 6ccea3878b Merge pull request #6853 from microsoft/seanmcm/1_2_0_insiders3
1.2.0-insiders3
2021-01-26 18:22:11 -08:00
Sean McManus e5fd036af9 Update changelog. 2021-01-26 17:40:57 -08:00
Sean McManus 4254419e76 Merge branch 'main' into seanmcm/1_2_0_insiders3 2021-01-26 17:27:51 -08:00
Sean McManus f9ecc9c6f9 Merge pull request #6820 from microsoft/seanmcm/1_2_0_insiders2
1.2.0-insiders2
2021-01-19 20:26:53 -08:00
Sean McManus 9405f41521 Merge branch 'main' into seanmcm/1_2_0_insiders2 2021-01-19 18:22:49 -08:00
Sean McManus 37cca41225 Merge pull request #6785 from microsoft/seanmcm/1_2_0_insiders_updates
1 2 0 insiders updates
2021-01-14 18:22:43 -08:00
Sean McManus ed584b23e2 Merge branch 'main' into seanmcm/1_2_0_insiders_updates 2021-01-14 18:21:56 -08:00
Sean McManus f7cab674a4 Merge branch 'main' into seanmcm/1_2_0_insiders_updates 2021-01-14 17:31:47 -08:00
Sean McManus 42586081fa Merge pull request #6777 from microsoft/seanmcm/1_2_0_insiders
Merge latest changes for 1.2.0-insiders
2021-01-13 18:56:37 -08:00
Sean McManus c49e51d386 Fix extra space. 2021-01-13 18:53:52 -08:00
637 changed files with 40818 additions and 16212 deletions
-39
View File
@@ -1,39 +0,0 @@
---
name: Bug Report - Debugger
about: Create a bug report for debugging such as call stack, breakpoints, watch window,
launching or attaching to a debuggee.
title: ''
labels: ''
assignees: ''
---
Bug type: Debugger
<!-- Prior to creating a bug report, please review:
📝 Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
📜 Our documentation at https://code.visualstudio.com/docs/languages/cpp
📙 FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
-->
**Describe the bug**
- OS and Version:
- VS Code Version:
- C/C++ Extension Version:
- Other extensions you installed (and if the issue persists after disabling them):
- A clear and concise description of what the bug is.
**To Reproduce**
*Please include a code sample and `launch.json` configuration.*
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Additional context**
*If applicable, please include logging by adding "logging": { "engineLogging": true, "trace": true, "traceResponse": true } in your `launch.json`*
Add any other context about the problem here including log or error messages in your Debug Console or Output windows.
+78
View File
@@ -0,0 +1,78 @@
name: Bug Report - Debugger
description: Create a bug report for debugging such as call stack, breakpoints, watch window, launching or attaching to a debuggee.
body:
- type: markdown
attributes:
value: |
### Is there an existing issue for this?
Please search our [existing issues](https://github.com/microsoft/vscode-cpptools/issues) to see if an issue already exists for the bug you encountered.
Please also review our [documentation](https://code.visualstudio.com/docs/languages/cpp) and [FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp).
- type: textarea
attributes:
label: Environment
description: |
Please provide the information for the following:
- OS and version
- VS Code version
- C/C++ extension version
- OS and version of remote machine (if applicable)
- GDB / LLDB version
value: |
- OS and version:
- VS Code:
- C/C++ extension:
- OS and version of remote machine (if applicable):
- GDB / LLDB version:
validations:
required: true
- type: textarea
attributes:
label: Bug Summary and Steps to Reproduce
description: |
Please describe the debugging issue or debugger feature that is not working as expected.
Include clear steps on how to reproduce the issue.
value: |
Bug Summary:
Steps to reproduce:
1. In this environment...
2. With this config...
3. Do '...'
4. See error...
validations:
required: true
- type: textarea
attributes:
label: Debugger Configurations
description: Please provide the debugger configurations from the **tasks.json** and **launch.json** files.
render: shell
validations:
required: true
- type: textarea
attributes:
label: Debugger Logs
description: |
If applicable, please include [logging for the debugger adapter](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-debug-adapter) by adding `"logging": { "engineLogging": true, "trace": true, "traceResponse": true }` in the **launch.json** file.
Include logs or error messages from the Debug Console or Output windows.
render: shell
validations:
required: true
- type: textarea
attributes:
label: Other Extensions
description: If applicable, please list other extensions installed and if the issue persists after disabling other extensions.
validations:
required: false
- type: textarea
attributes:
label: Additional Information
description: |
Optionally provide other information that will give us more context about the issue you are encountering, such as a code sample, screenshots, or screen recording of the issue.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
-17
View File
@@ -1,17 +0,0 @@
---
name: Feature Request
about: Suggest an idea for this extension.
title: ''
labels: ''
assignees: ''
---
Type: Feature Request
<!-- Prior to creating a feature request, please review
existing issues at https://github.com/Microsoft/vscode-cpptools/issues
to avoid creating duplicates.
-->
<!-- Describe the feature you'd like. -->
@@ -0,0 +1,15 @@
name: Feature Request
description: Suggest an idea for the C/C++ extension.
body:
- type: markdown
attributes:
value: |
### Is there an existing request for this feature?
Prior to creating a new feature request, please review our [existing feature requests](https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22) to avoid duplicates.
- type: textarea
attributes:
label: Feature Request
description: |
Describe the feature you'd like.
validations:
required: true
@@ -1,45 +0,0 @@
---
name: Bug Report - General Extension
about: Create a bug report for downloading, installing, or building the extension.
title: ''
labels: ''
assignees: ''
---
Bug type: General
<!-- Prior to creating a bug report, please review:
📝 Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
📜 Our documentation at https://code.visualstudio.com/docs/languages/cpp
📙 FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
-->
**Describe the bug**
- OS and Version:
- VS Code Version:
- C/C++ Extension Version:
- Other extensions you installed (and if the issue persists after disabling them):
- A clear and concise description of what the bug is.
**To Reproduce**
*Please include code sample and `task.json` files.*
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->
**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->
**Additional context**
<!-- Add any other context about the problem here including log messages from the Output window. -->
@@ -0,0 +1,59 @@
name: Bug Report - General Extension
description: Create a bug report for downloading, installing, or building the extension.
body:
- type: markdown
attributes:
value: |
### Is there an existing issue for this?
Please search our [existing issues](https://github.com/microsoft/vscode-cpptools/issues) to see if an issue already exists for the bug you encountered.
Please also review our [documentation](https://code.visualstudio.com/docs/languages/cpp) and [FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp).
- type: textarea
attributes:
label: Environment
description: |
Please provide the information for the following:
- OS and version
- VS Code version
- C/C++ extension version
- OS and version of remote machine (if applicable)
value: |
- OS and version:
- VS Code:
- C/C++ extension:
- OS and version of remote machine (if applicable):
validations:
required: true
- type: textarea
attributes:
label: Bug Summary and Steps to Reproduce
description: |
Please give a description of the issue you are encountering and what you expected to happen.
Include clear steps on how to reproduce the issue.
value: |
Bug Summary:
Steps to reproduce:
1. In this environment...
2. With this config...
3. Do '...'
4. See error...
validations:
required: true
- type: textarea
attributes:
label: Other Extensions
description: If applicable, please list other extensions installed and if the issue persists after disabling other extensions.
validations:
required: false
- type: textarea
attributes:
label: Additional Information
description: |
Optionally provide other information that will give us more context about the issue you are encountering.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
@@ -1,65 +0,0 @@
---
name: Bug Report - Language Service
about: 'Create a bug report for IntelliSense, autocomplete, code editing, code navigation, etc.'
title: ''
labels: ''
assignees: ''
---
Bug type: Language Service
<!-- Prior to creating a bug report, please review:
📝 Existing issues at https://github.com/Microsoft/vscode-cpptools/issues
📜 Our documentation at https://code.visualstudio.com/docs/languages/cpp
📙 FAQs at https://code.visualstudio.com/docs/cpp/faq-cpp
-->
**Describe the bug**
- OS and Version:
- VS Code Version:
- C/C++ Extension Version:
- Other extensions you installed (and if the issue persists after disabling them):
- If using SSH remote, specify OS of remote machine:
- A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).
**Steps to reproduce**
<!-- Provide clear steps to reproduce the bug: -->
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->
**Code sample and logs**
<!-- Please provide code sample, your c_cpp_properties.json and logs. -->
- Code sample
- Configurations in `c_cpp_properties.json`
- Logs from running `C/C++: Log Diagnostics` from the VS Code command palette
- Logs from [the language server logging](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-language-server)
**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->
**Additional context**
<!--
Providing call stacks:
For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
Instructions for attaching debugger to language service process:
https://github.com/microsoft/vscode-cpptools/wiki/Attaching-debugger-to-cpptools-or-cpptools%E2%80%90srv.
Performance analysis:
For a performance issue see instructions at https://github.com/microsoft/vscode-cpptools/wiki/Troubleshooting-Performance-Issues.
-->
@@ -0,0 +1,86 @@
name: Bug Report - Language Service
description: Create a bug report for IntelliSense, autocomplete, code editing, code navigation, etc.
body:
- type: markdown
attributes:
value: |
### Is there an existing issue for this?
Please search our [existing issues](https://github.com/microsoft/vscode-cpptools/issues) to see if an issue already exists for the bug you encountered.
Please also review our [documentation](https://code.visualstudio.com/docs/languages/cpp) and [FAQs](https://code.visualstudio.com/docs/cpp/faq-cpp).
- type: textarea
attributes:
label: Environment
description: |
Please provide the information for the following:
- OS and Version
- VS Code Version
- C/C++ Extension Version
- Other extensions you installed (and if the issue persists after disabling them)
- If using SSH remote, specify OS of remote machine
- A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).
value: |
- OS and Version:
- VS Code Version:
- C/C++ Extension Version:
- Other extensions you installed (and if the issue persists after disabling them):
- If using SSH remote, specify OS of remote machine:
- A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).
validations:
required: true
- type: textarea
attributes:
label: Bug Summary and Steps to Reproduce
description: |
Please describe the language service issue or language service feature that is not working as expected.
Include clear steps on how to reproduce the issue.
value: |
Bug Summary:
Steps to reproduce:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: false
- type: textarea
attributes:
label: Code sample and Logs
description: |
Please provide code sample, your c_cpp_properties.json and logs:
- Code sample
- Configurations in `c_cpp_properties.json`
- Logs from running `C/C++: Log Diagnostics` from the VS Code command palette
- Logs from [the language server logging](https://code.visualstudio.com/docs/cpp/enable-logging-cpp#_enable-logging-for-the-language-server)
render: shell
validations:
required: true
- type: textarea
attributes:
label: Screenshots
description: If applicable, add screenshots to help explain your problem.
validations:
required: false
- type: textarea
attributes:
label: Additional context
description: |
Providing call stacks:
For bugs like crashes, deadlocks, infinite loops, etc. that we are not able to repro and for which the call stack may be useful, please attach a debugger and/or create a dmp and provide the call stacks. Windows binaries have symbols available in VS Code by setting your "symbolSearchPath" to "https://msdl.microsoft.com/download/symbols".
Instructions for attaching debugger to language service process:
https://github.com/microsoft/vscode-cpptools/wiki/Attaching-debugger-to-cpptools-or-cpptools%E2%80%90srv.
Performance analysis:
For a performance issue see instructions at https://github.com/microsoft/vscode-cpptools/wiki/Troubleshooting-Performance-Issues.
validations:
required: false
+5 -5
View File
@@ -15,8 +15,8 @@ class Locker extends ActionBase_1.ActionBase {
this.daysSinceUpdate = daysSinceUpdate;
}
async run() {
const closedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceClose);
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.daysSinceUpdate);
const closedTimestamp = (0, utils_1.daysAgoToHumanReadbleDate)(this.daysSinceClose);
const updatedTimestamp = (0, utils_1.daysAgoToHumanReadbleDate)(this.daysSinceUpdate);
const query = this.buildQuery((this.daysSinceClose ? `closed:<${closedTimestamp} ` : "") + (this.daysSinceUpdate ? `updated:<${updatedTimestamp} ` : "") + "is:closed is:unlocked");
for await (const page of this.github.query({ q: query })) {
await Promise.all(page.map(async (issue) => {
@@ -24,15 +24,15 @@ class Locker extends ActionBase_1.ActionBase {
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
// TODO: Verify closed and updated timestamps
) {
console.log(`Locking issue ${hydrated.number}`);
(0, utils_1.safeLog)(`Locking issue ${hydrated.number}`);
await issue.lockIssue();
}
else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is already locked. Ignoring`);
(0, utils_1.safeLog)(`Issue ${hydrated.number} is already locked. Ignoring`);
}
else if (hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`);
(0, utils_1.safeLog)(`Issue ${hydrated.number} is open. Ignoring`);
}
}
}));
+10 -10
View File
@@ -3,9 +3,9 @@
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { GitHub, Issue } from '../api/api'
import { daysAgoToHumanReadbleDate } from '../common/utils'
import { ActionBase } from '../common/ActionBase'
import { GitHub, Issue } from '../api/api';
import { daysAgoToHumanReadbleDate, safeLog } from '../common/utils';
import { ActionBase } from '../common/ActionBase';
export class Locker extends ActionBase {
constructor(
@@ -26,26 +26,26 @@ export class Locker extends ActionBase {
}
async run() {
const closedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceClose)
const updatedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceUpdate)
const closedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceClose);
const updatedTimestamp = daysAgoToHumanReadbleDate(this.daysSinceUpdate);
const query = this.buildQuery((this.daysSinceClose ? `closed:<${closedTimestamp} ` : "") + (this.daysSinceUpdate ? `updated:<${updatedTimestamp} ` : "") + "is:closed is:unlocked");
for await (const page of this.github.query({ q: query })) {
await Promise.all(
page.map(async (issue) => {
const hydrated = await issue.getIssue()
const hydrated = await issue.getIssue();
if (!hydrated.locked && hydrated.open === false && this.validateIssue(hydrated)
// TODO: Verify closed and updated timestamps
) {
console.log(`Locking issue ${hydrated.number}`)
await issue.lockIssue()
safeLog(`Locking issue ${hydrated.number}`);
await issue.lockIssue();
} else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is already locked. Ignoring`)
safeLog(`Issue ${hydrated.number} is already locked. Ignoring`);
} else if (hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`)
safeLog(`Issue ${hydrated.number} is open. Ignoring`);
}
}
}),
+1 -1
View File
@@ -13,7 +13,7 @@ class LockerAction extends Action_1.Action {
this.id = 'Locker';
}
async onTriggered(github) {
await new Locker_1.Locker(github, +utils_1.getRequiredInput('daysSinceClose'), +utils_1.getRequiredInput('daysSinceUpdate'), utils_1.getInput('labels') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoreLabels') || undefined, utils_1.getInput('ignoreMilestoneNames') || undefined, utils_1.getInput('ignoreMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999)).run();
await new Locker_1.Locker(github, +(0, utils_1.getRequiredInput)('daysSinceClose'), +(0, utils_1.getRequiredInput)('daysSinceUpdate'), (0, utils_1.getInput)('labels') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999)).run();
}
}
new LockerAction().run(); // eslint-disable-line
+7 -7
View File
@@ -3,13 +3,13 @@
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit } from '../api/octokit'
import { getInput, getRequiredInput } from '../common/utils'
import { Locker } from './Locker'
import { Action } from '../common/Action'
import { OctoKit } from '../api/octokit';
import { getInput, getRequiredInput } from '../common/utils';
import { Locker } from './Locker';
import { Action } from '../common/Action';
class LockerAction extends Action {
id = 'Locker'
id = 'Locker';
async onTriggered(github: OctoKit) {
await new Locker(
@@ -24,8 +24,8 @@ class LockerAction extends Action {
getInput('ignoreMilestoneIds') || undefined,
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999)
).run()
).run();
}
}
new LockerAction().run() // eslint-disable-line
new LockerAction().run(); // eslint-disable-line
+9 -8
View File
@@ -5,6 +5,7 @@
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Reopener = void 0;
const utils_1 = require("../common/utils");
const ActionBase_1 = require("../common/ActionBase");
class Reopener extends ActionBase_1.ActionBase {
constructor(github, alsoApplyToOpenIssues, addLabels, removeLabels, reopenComment, setMilestoneId, labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes) {
@@ -19,7 +20,7 @@ class Reopener extends ActionBase_1.ActionBase {
async run() {
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
console.log(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
(0, utils_1.safeLog)(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
const query = this.buildQuery((this.alsoApplyToOpenIssues ? "" : "is:closed ") + "is:unlocked");
for await (const page of this.github.query({ q: query })) {
await Promise.all(page.map(async (issue) => {
@@ -28,17 +29,17 @@ class Reopener extends ActionBase_1.ActionBase {
// TODO: Verify closed and updated timestamps
) {
if (hydrated.open === false) {
console.log(`Reopening issue ${hydrated.number}`);
(0, utils_1.safeLog)(`Reopening issue ${hydrated.number}`);
await issue.reopenIssue();
}
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
console.log(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
@@ -46,22 +47,22 @@ class Reopener extends ActionBase_1.ActionBase {
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`);
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
if (this.reopenComment) {
console.log(`Posting comment to issue ${hydrated.number}.`);
(0, utils_1.safeLog)(`Posting comment to issue ${hydrated.number}.`);
await issue.postComment(this.reopenComment);
}
}
else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is locked. Ignoring`);
(0, utils_1.safeLog)(`Issue ${hydrated.number} is locked. Ignoring`);
}
else if (!this.alsoApplyToOpenIssues && hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`);
(0, utils_1.safeLog)(`Issue ${hydrated.number} is open. Ignoring`);
}
}
}));
+17 -16
View File
@@ -3,8 +3,9 @@
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { GitHub, Issue } from '../api/api'
import { ActionBase } from '../common/ActionBase'
import { GitHub, Issue } from '../api/api';
import { daysAgoToHumanReadbleDate, safeLog } from '../common/utils';
import { ActionBase } from '../common/ActionBase';
export class Reopener extends ActionBase {
constructor(
@@ -31,50 +32,50 @@ export class Reopener extends ActionBase {
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
console.log(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
safeLog(`alsoApplyToOpenIssues: ${this.alsoApplyToOpenIssues}`);
const query = this.buildQuery((this.alsoApplyToOpenIssues ? "": "is:closed ") + "is:unlocked");
for await (const page of this.github.query({ q: query })) {
await Promise.all(
page.map(async (issue) => {
const hydrated = await issue.getIssue()
const hydrated = await issue.getIssue();
if (!hydrated.locked && (this.alsoApplyToOpenIssues || hydrated.open === false) && this.validateIssue(hydrated)
// TODO: Verify closed and updated timestamps
) {
if (hydrated.open === false) {
console.log(`Reopening issue ${hydrated.number}`)
await issue.reopenIssue()
safeLog(`Reopening issue ${hydrated.number}`);
await issue.reopenIssue();
}
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`)
await issue.setMilestone(+this.setMilestoneId)
safeLog(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
console.log(`Removing label on issue ${hydrated.number}: ${removeLabel}`)
await issue.removeLabel(removeLabel)
safeLog(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
}
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`)
await issue.addLabel(addLabel)
safeLog(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
if (this.reopenComment) {
console.log(`Posting comment to issue ${hydrated.number}.`)
await issue.postComment(this.reopenComment)
safeLog(`Posting comment to issue ${hydrated.number}.`);
await issue.postComment(this.reopenComment);
}
} else {
if (hydrated.locked) {
console.log(`Issue ${hydrated.number} is locked. Ignoring`)
safeLog(`Issue ${hydrated.number} is locked. Ignoring`);
} else if (!this.alsoApplyToOpenIssues && hydrated.open) {
console.log(`Issue ${hydrated.number} is open. Ignoring`)
safeLog(`Issue ${hydrated.number} is open. Ignoring`);
}
}
}),
+3 -3
View File
@@ -10,11 +10,11 @@ const Action_1 = require("../common/Action");
class ReopenerAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'Locker';
this.id = 'Reopener';
}
async onTriggered(github) {
const alsoApplyToOpenIssues = utils_1.getInput('alsoApplyToOpenIssues');
await new Reopener_1.Reopener(github, alsoApplyToOpenIssues != undefined && alsoApplyToOpenIssues.toLowerCase() == 'true', utils_1.getInput('addLabels') || undefined, utils_1.getInput('removeLabels') || undefined, utils_1.getInput('reopenComment') || '', utils_1.getInput('setMilestoneId') || undefined, utils_1.getInput('labels') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoreLabels') || undefined, utils_1.getInput('ignoreMilestoneNames') || undefined, utils_1.getInput('ignoreMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999)).run();
const alsoApplyToOpenIssues = (0, utils_1.getInput)('alsoApplyToOpenIssues');
await new Reopener_1.Reopener(github, alsoApplyToOpenIssues != undefined && alsoApplyToOpenIssues.toLowerCase() == 'true', (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('reopenComment') || '', (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('labels') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999)).run();
}
}
new ReopenerAction().run(); // eslint-disable-line
+7 -7
View File
@@ -3,13 +3,13 @@
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit } from '../api/octokit'
import { getInput, getRequiredInput } from '../common/utils'
import { Reopener } from './Reopener'
import { Action } from '../common/Action'
import { OctoKit } from '../api/octokit';
import { getInput, getRequiredInput } from '../common/utils';
import { Reopener } from './Reopener';
import { Action } from '../common/Action';
class ReopenerAction extends Action {
id = 'Locker'
id = 'Reopener';
async onTriggered(github: OctoKit) {
const alsoApplyToOpenIssues: string | undefined = getInput('alsoApplyToOpenIssues');
@@ -28,8 +28,8 @@ class ReopenerAction extends Action {
getInput('ignoreMilestoneIds') || undefined,
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999)
).run()
).run();
}
}
new ReopenerAction().run() // eslint-disable-line
new ReopenerAction().run(); // eslint-disable-line
+14 -14
View File
@@ -21,8 +21,8 @@ class StaleCloser extends ActionBase_1.ActionBase {
this.setMilestoneId = setMilestoneId;
}
async run() {
const updatedTimestamp = utils_1.daysAgoToHumanReadbleDate(this.closeDays);
const pingTimestamp = this.pingDays ? utils_1.daysAgoToTimestamp(this.pingDays) : undefined;
const updatedTimestamp = (0, utils_1.daysAgoToHumanReadbleDate)(this.closeDays);
const pingTimestamp = this.pingDays ? (0, utils_1.daysAgoToTimestamp)(this.pingDays) : undefined;
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
@@ -45,20 +45,20 @@ class StaleCloser extends ActionBase_1.ActionBase {
await issue.hasWriteAccess(lastComment.author)) {
if (pingTimestamp != undefined) {
if (lastComment) {
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
}
else {
console.log(`No comments on issue ${hydrated.number}. Closing.`);
(0, utils_1.safeLog)(`No comments on issue ${hydrated.number}. Closing.`);
}
}
if (this.closeComment) {
console.log(`Posting comment on issue ${hydrated.number}`);
(0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`);
await issue.postComment(this.closeComment);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
console.log(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
(0, utils_1.safeLog)(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
@@ -66,22 +66,22 @@ class StaleCloser extends ActionBase_1.ActionBase {
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`);
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
await issue.closeIssue();
await issue.closeIssue("not_planned");
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
console.log(`Closing issue ${hydrated.number}.`);
(0, utils_1.safeLog)(`Closing issue ${hydrated.number}.`);
}
else {
// Ping
// Ping
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`);
if (this.pingComment) {
await issue.postComment(this.pingComment
.replace('${assignee}', hydrated.assignee)
@@ -89,13 +89,13 @@ class StaleCloser extends ActionBase_1.ActionBase {
}
}
else {
console.log(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
}
}
}
else {
if (!hydrated.open) {
console.log(`Issue ${hydrated.number} is not open. Ignoring`);
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
+28 -28
View File
@@ -3,9 +3,9 @@
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { GitHub } from '../api/api'
import { ActionBase } from '../common/ActionBase'
import { daysAgoToHumanReadbleDate, daysAgoToTimestamp } from '../common/utils'
import { GitHub } from '../api/api';
import { ActionBase } from '../common/ActionBase';
import { daysAgoToHumanReadbleDate, daysAgoToTimestamp, safeLog } from '../common/utils';
export class StaleCloser extends ActionBase {
constructor(
@@ -33,7 +33,7 @@ export class StaleCloser extends ActionBase {
}
async run() {
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays)
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays);
const pingTimestamp = this.pingDays ? daysAgoToTimestamp(this.pingDays) : undefined;
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
@@ -43,12 +43,12 @@ export class StaleCloser extends ActionBase {
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue()
const lastCommentIterator = await issue.getComments(true).next()
const hydrated = await issue.getIssue();
const lastCommentIterator = await issue.getComments(true).next();
if (lastCommentIterator.done) {
throw Error('Unexpected comment data')
throw Error('Unexpected comment data');
}
const lastComment = lastCommentIterator.value[0]
const lastComment = lastCommentIterator.value[0];
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
@@ -63,63 +63,63 @@ export class StaleCloser extends ActionBase {
) {
if (pingTimestamp != undefined) {
if (lastComment) {
console.log(
safeLog(
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`,
)
);
} else {
console.log(`No comments on issue ${hydrated.number}. Closing.`)
safeLog(`No comments on issue ${hydrated.number}. Closing.`);
}
}
if (this.closeComment) {
console.log(`Posting comment on issue ${hydrated.number}`)
await issue.postComment(this.closeComment)
safeLog(`Posting comment on issue ${hydrated.number}`);
await issue.postComment(this.closeComment);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
console.log(`Removing label on issue ${hydrated.number}: ${removeLabel}`)
await issue.removeLabel(removeLabel)
safeLog(`Removing label on issue ${hydrated.number}: ${removeLabel}`);
await issue.removeLabel(removeLabel);
}
}
}
if (addLabelsSet.length > 0) {
for (const addLabel of addLabelsSet) {
if (addLabel && addLabel.length > 0) {
console.log(`Adding label on issue ${hydrated.number}: ${addLabel}`)
await issue.addLabel(addLabel)
safeLog(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
await issue.closeIssue()
await issue.closeIssue("not_planned");
if (this.setMilestoneId != undefined) {
console.log(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`)
await issue.setMilestone(+this.setMilestoneId)
safeLog(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
console.log(`Closing issue ${hydrated.number}.`)
safeLog(`Closing issue ${hydrated.number}.`);
} else {
// Ping
// Ping
if (hydrated.updatedAt < pingTimestamp && hydrated.assignee) {
console.log(
safeLog(
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Pinging @${hydrated.assignee}`,
)
);
if (this.pingComment) {
await issue.postComment(
this.pingComment
.replace('${assignee}', hydrated.assignee)
.replace('${author}', hydrated.author.name),
)
);
}
} else {
console.log(
safeLog(
`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${
hydrated.assignee ? ' cc @' + hydrated.assignee : ''
}`,
)
);
}
}
} else {
if (!hydrated.open) {
console.log(`Issue ${hydrated.number} is not open. Ignoring`)
safeLog(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
+1 -1
View File
@@ -14,7 +14,7 @@ class StaleCloserAction extends Action_1.Action {
}
async onTriggered(github) {
var _a;
await new StaleCloser_1.StaleCloser(github, +utils_1.getRequiredInput('closeDays'), utils_1.getRequiredInput('labels'), utils_1.getInput('closeComment') || '', +(utils_1.getInput('pingDays') || 0), utils_1.getInput('pingComment') || '', ((_a = utils_1.getInput('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), utils_1.getInput('addLabels') || undefined, utils_1.getInput('removeLabels') || undefined, utils_1.getInput('setMilestoneId') || undefined, utils_1.getInput('milestoneName') || undefined, utils_1.getInput('milestoneId') || undefined, utils_1.getInput('ignoreLabels') || undefined, utils_1.getInput('ignoreMilestoneNames') || undefined, utils_1.getInput('ignoreMilestoneIds') || undefined, +(utils_1.getInput('minimumVotes') || 0), +(utils_1.getInput('maximumVotes') || 9999999), utils_1.getInput('involves') || undefined).run();
await new StaleCloser_1.StaleCloser(github, +(0, utils_1.getRequiredInput)('closeDays'), (0, utils_1.getRequiredInput)('labels'), (0, utils_1.getInput)('closeComment') || '', +((0, utils_1.getInput)('pingDays') || 0), (0, utils_1.getInput)('pingComment') || '', ((_a = (0, utils_1.getInput)('additionalTeam')) !== null && _a !== void 0 ? _a : '').split(','), (0, utils_1.getInput)('addLabels') || undefined, (0, utils_1.getInput)('removeLabels') || undefined, (0, utils_1.getInput)('setMilestoneId') || undefined, (0, utils_1.getInput)('milestoneName') || undefined, (0, utils_1.getInput)('milestoneId') || undefined, (0, utils_1.getInput)('ignoreLabels') || undefined, (0, utils_1.getInput)('ignoreMilestoneNames') || undefined, (0, utils_1.getInput)('ignoreMilestoneIds') || undefined, +((0, utils_1.getInput)('minimumVotes') || 0), +((0, utils_1.getInput)('maximumVotes') || 9999999), (0, utils_1.getInput)('involves') || undefined).run();
}
}
new StaleCloserAction().run(); // eslint-disable-line
+3 -3
View File
@@ -9,7 +9,7 @@ import { StaleCloser } from './StaleCloser'
import { Action } from '../common/Action'
class StaleCloserAction extends Action {
id = 'StaleCloser'
id = 'StaleCloser';
async onTriggered(github: OctoKit) {
await new StaleCloser(
@@ -31,8 +31,8 @@ class StaleCloserAction extends Action {
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999),
getInput('involves') || undefined
).run()
).run();
}
}
new StaleCloserAction().run() // eslint-disable-line
new StaleCloserAction().run(); // eslint-disable-line
+79 -56
View File
@@ -4,43 +4,53 @@
*--------------------------------------------------------------------------------------------*/
export interface GitHub {
query(query: Query): AsyncIterableIterator<GitHubIssue[]>
repoOwner: string;
repoName: string;
hasWriteAccess(user: User): Promise<boolean>
query(query: Query): AsyncIterableIterator<GitHubIssue[]>;
repoHasLabel(label: string): Promise<boolean>
createLabel(label: string, color: string, description: string): Promise<void>
deleteLabel(label: string): Promise<void>
hasWriteAccess(user: User): Promise<boolean>;
readConfig(path: string): Promise<any>
repoHasLabel(label: string): Promise<boolean>;
createLabel(label: string, color: string, description: string): Promise<void>;
deleteLabel(label: string): Promise<void>;
dispatch(title: string): Promise<void>
readConfig(path: string): Promise<any>;
createIssue(owner: string, repo: string, title: string, body: string): Promise<void>
dispatch(title: string): Promise<void>;
releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'>
createIssue(owner: string, repo: string, title: string, body: string): Promise<void>;
releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'>;
/**
* Returns what we think the current milestone for the repo is based on the due on date.
* @returns The milestone id if one is found, else undefined
*/
getCurrentRepoMilestone(): Promise<number | undefined>;
}
export interface GitHubIssue extends GitHub {
getIssue(): Promise<Issue>
getIssue(): Promise<Issue>;
postComment(body: string): Promise<void>
deleteComment(id: number): Promise<void>
getComments(last?: boolean): AsyncIterableIterator<Comment[]>
postComment(body: string): Promise<void>;
deleteComment(id: number): Promise<void>;
getComments(last?: boolean): AsyncIterableIterator<Comment[]>;
closeIssue(): Promise<void>
lockIssue(): Promise<void>
reopenIssue(): Promise<void>
closeIssue(reason: 'completed' | 'not_planned'): Promise<void>;
lockIssue(): Promise<void>;
unlockIssue(): Promise<void>;
reopenIssue(): Promise<void>;
setMilestone(milestoneId: number): Promise<void>
setMilestone(milestoneId: number): Promise<void>;
addLabel(label: string): Promise<void>
removeLabel(label: string): Promise<void>
addLabel(label: string): Promise<void>;
removeLabel(label: string): Promise<void>;
addAssignee(assignee: string): Promise<void>
removeAssignee(assignee: string): Promise<void>
addAssignee(assignee: string): Promise<void>;
removeAssignee(assignee: string): Promise<void>;
getClosingInfo(): Promise<{ hash: string | undefined; timestamp: number } | undefined>
getClosingInfo(): Promise<{ hash: string | undefined; timestamp: number } | undefined>;
}
type SortVar =
@@ -54,47 +64,60 @@ type SortVar =
| 'reactions-tada'
| 'interactions'
| 'created'
| 'updated'
type SortOrder = 'asc' | 'desc'
| 'updated';
type SortOrder = 'asc' | 'desc';
export type Reactions = {
'+1': number
'-1': number
laugh: number
hooray: number
confused: number
heart: number
rocket: number
eyes: number
}
'+1': number;
'-1': number;
laugh: number;
hooray: number;
confused: number;
heart: number;
rocket: number;
eyes: number;
};
export interface User {
name: string
isGitHubApp?: boolean
name: string;
isGitHubApp?: boolean;
}
export interface Comment {
author: User
body: string
id: number
timestamp: number
author: User;
body: string;
id: number;
timestamp: number;
}
export interface Issue {
author: User
body: string
title: string
labels: string[]
open: boolean
locked: boolean
number: number
numComments: number
reactions: Reactions
milestoneId: number | null
assignee?: string
createdAt: number
updatedAt: number
closedAt?: number
author: User;
body: string;
title: string;
labels: string[];
open: boolean;
locked: boolean;
number: number;
isPr: boolean;
numComments: number;
reactions: Reactions;
milestone: Milestone | null;
assignee?: string;
assignees: string[];
createdAt: number;
updatedAt: number;
closedAt?: number;
}
export interface Milestone {
milestoneId: number;
title: string;
description: string;
numClosedIssues: number;
numOpenIssues: number;
dueOn: Date | null;
createdAt: Date | null;
closedAt: Date | null;
state: 'open' | 'closed';
}
export interface Query {
q: string
sort?: SortVar
order?: SortOrder
q: string;
sort?: SortVar;
order?: SortOrder;
}
+169 -90
View File
@@ -5,11 +5,12 @@
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.OctoKitIssue = exports.OctoKit = exports.getNumRequests = void 0;
const core_1 = require("@actions/core");
const github_1 = require("@actions/github");
const child_process_1 = require("child_process");
const utils_1 = require("../common/utils");
let numRequests = 0;
exports.getNumRequests = () => numRequests;
const getNumRequests = () => numRequests;
exports.getNumRequests = getNumRequests;
class OctoKit {
constructor(token, params, options = { readonly: false }) {
this.token = token;
@@ -18,73 +19,97 @@ class OctoKit {
// when in readonly mode, record labels just-created so at to not throw unneccesary errors
this.mockLabels = new Set();
this.writeAccessCache = {};
this._octokit = new github_1.GitHub(token);
this._octokit = (0, github_1.getOctokit)(token);
this.repoName = params.repo;
this.repoOwner = params.owner;
}
get octokit() {
numRequests++;
return this._octokit;
}
getIssueByNumber(number) {
return new OctoKitIssue(this.token, this.params, { number: number });
}
// TODO: just iterate over the issues in a page here instead of making caller do it
async *query(query) {
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`;
console.log(`Querying for ${q}:`);
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
const options = {
...query,
q,
per_page: 100,
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
});
};
let pageNum = 0;
const timeout = async () => {
if (pageNum < 2) {
/* pass */
}
else if (pageNum < 4) {
await new Promise((resolve) => setTimeout(resolve, 3000));
await new Promise((resolve) => setTimeout(resolve, 10000));
}
else {
await new Promise((resolve) => setTimeout(resolve, 30000));
}
};
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
for await (const pageResponse of this.octokit.paginate.iterator(this.octokit.rest.search.issuesAndPullRequests, options)) {
await timeout();
numRequests++;
const page = pageResponse.data;
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
(0, utils_1.safeLog)(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
yield page.map((issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue), this.options));
}
}
async createIssue(owner, repo, title, body) {
core_1.debug(`Creating issue \`${title}\` on ${owner}/${repo}`);
(0, utils_1.safeLog)(`Creating issue \`${title}\` on ${owner}/${repo}`);
if (!this.options.readonly)
await this.octokit.issues.create({ owner, repo, title, body });
await this.octokit.rest.issues.create({ owner, repo, title, body });
}
octokitIssueToIssue(issue) {
var _a, _b, _c, _d, _e, _f;
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
return {
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
body: issue.body,
author: { name: (_b = (_a = issue.user) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : 'unkown', isGitHubApp: ((_c = issue.user) === null || _c === void 0 ? void 0 : _c.type) === 'Bot' },
body: (_d = issue.body) !== null && _d !== void 0 ? _d : '',
number: issue.number,
title: issue.title,
labels: issue.labels.map((label) => label.name),
isPr: !!((_e = issue.pull_request) === null || _e === void 0 ? void 0 : _e.html_url),
labels: issue.labels.map((label) => { var _a; return (typeof label === 'string' ? label : (_a = label.name) !== null && _a !== void 0 ? _a : ''); }),
open: issue.state === 'open',
locked: issue.locked,
numComments: issue.comments,
reactions: issue.reactions,
assignee: (_b = (_a = issue.assignee) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : (_d = (_c = issue.assignees) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.login,
milestoneId: (_f = (_e = issue.milestone) === null || _e === void 0 ? void 0 : _e.number) !== null && _f !== void 0 ? _f : null,
assignee: (_g = (_f = issue.assignee) === null || _f === void 0 ? void 0 : _f.login) !== null && _g !== void 0 ? _g : (_j = (_h = issue.assignees) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.login,
assignees: (_l = (_k = issue.assignees) === null || _k === void 0 ? void 0 : _k.map((assignee) => assignee.login)) !== null && _l !== void 0 ? _l : [],
milestone: issue.milestone ? this.octokitMilestoneToMilestone(issue.milestone) : null,
createdAt: +new Date(issue.created_at),
updatedAt: +new Date(issue.updated_at),
closedAt: issue.closed_at ? +new Date(issue.closed_at) : undefined,
};
}
octokitMilestoneToMilestone(milestone) {
var _a;
if ((milestone === null || milestone === void 0 ? void 0 : milestone.number) === undefined) {
return null;
}
return {
title: milestone.title,
milestoneId: milestone.number,
// Remove the time portions of the dates as they're not important
createdAt: milestone.created_at !== null ? new Date(milestone.created_at.split('T')[0]) : null,
dueOn: milestone.due_on !== null ? new Date(milestone.due_on.split('T')[0]) : null,
closedAt: milestone.closed_at !== null ? new Date(milestone.closed_at.split('T')[0]) : null,
description: (_a = milestone.description) !== null && _a !== void 0 ? _a : '',
numClosedIssues: milestone.closed_issues,
numOpenIssues: milestone.open_issues,
state: milestone.state === 'open' ? 'open' : 'closed',
};
}
async hasWriteAccess(user) {
if (user.name in this.writeAccessCache) {
core_1.debug('Got permissions from cache for ' + user);
(0, utils_1.safeLog)('Got permissions from cache for ' + user);
return this.writeAccessCache[user.name];
}
core_1.debug('Fetching permissions for ' + user);
const permissions = (await this.octokit.repos.getCollaboratorPermissionLevel({
(0, utils_1.safeLog)('Fetching permissions for ' + user.name);
const permissions = (await this.octokit.rest.repos.getCollaboratorPermissionLevel({
...this.params,
username: user.name,
})).data.permission;
@@ -92,42 +117,44 @@ class OctoKit {
}
async repoHasLabel(name) {
try {
await this.octokit.issues.getLabel({ ...this.params, name });
await this.octokit.rest.issues.getLabel({ ...this.params, name });
return true;
}
catch (err) {
if (err.status === 404) {
const statusErorr = err;
if (statusErorr.status === 404) {
return this.options.readonly && this.mockLabels.has(name);
}
throw err;
}
}
async createLabel(name, color, description) {
core_1.debug('Creating label ' + name);
(0, utils_1.safeLog)('Creating label ' + name);
if (!this.options.readonly)
await this.octokit.issues.createLabel({ ...this.params, color, description, name });
await this.octokit.rest.issues.createLabel({ ...this.params, color, description, name });
else
this.mockLabels.add(name);
}
async deleteLabel(name) {
core_1.debug('Deleting label ' + name);
(0, utils_1.safeLog)('Deleting label ' + name);
try {
if (!this.options.readonly)
await this.octokit.issues.deleteLabel({ ...this.params, name });
await this.octokit.rest.issues.deleteLabel({ ...this.params, name });
}
catch (err) {
if (err.status === 404) {
const statusErorr = err;
if (statusErorr.status === 404) {
return;
}
throw err;
}
}
async readConfig(path) {
core_1.debug('Reading config at ' + path);
(0, utils_1.safeLog)('Reading config at ' + path);
const repoPath = `.github/${path}.json`;
try {
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data;
if ('type' in data && data.type === 'file') {
const data = (await this.octokit.rest.repos.getContent({ ...this.params, path: repoPath })).data;
if ('type' in data && data.type === 'file' && 'content' in data) {
if (data.encoding === 'base64' && data.content) {
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'));
}
@@ -140,7 +167,10 @@ class OctoKit {
}
}
async releaseContainsCommit(release, commit) {
return new Promise((resolve, reject) => child_process_1.exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
const isHash = (s) => /^[a-fA-F0-9]*$/.test(s);
if (!isHash(release) || !isHash(commit))
return 'unknown';
return new Promise((resolve, reject) => (0, child_process_1.exec)(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
if (!err || err.code === 1) {
resolve(!err ? 'yes' : 'no');
}
@@ -157,10 +187,31 @@ class OctoKit {
}
}));
}
async getCurrentRepoMilestone() {
(0, utils_1.safeLog)(`Getting repo milestone for ${this.params.owner}/${this.params.repo}`);
// Fetch all milestones open for this repo
const allMilestones = (await this.octokit.rest.issues.listMilestones({
owner: this.params.owner,
repo: this.params.repo,
state: 'open',
sort: 'due_on',
direction: 'asc',
})).data;
const currentDate = new Date();
const possibleMilestones = allMilestones
.filter((milestone) => new Date(milestone.due_on === null ? currentDate : milestone.due_on) > currentDate &&
currentDate > new Date(milestone.created_at) &&
!milestone.title.includes('Recovery'))
.sort((a, b) => { var _a, _b; return +new Date((_a = a.due_on) !== null && _a !== void 0 ? _a : currentDate) - +new Date((_b = b.due_on) !== null && _b !== void 0 ? _b : currentDate); });
if (possibleMilestones.length === 0) {
return undefined;
}
return possibleMilestones[0].number;
}
async dispatch(title) {
core_1.debug('Dispatching ' + title);
(0, utils_1.safeLog)('Dispatching ' + title);
if (!this.options.readonly)
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title });
await this.octokit.rest.repos.createDispatchEvent({ ...this.params, event_type: title });
}
}
exports.OctoKit = OctoKit;
@@ -169,12 +220,12 @@ class OctoKitIssue extends OctoKit {
super(token, params, options);
this.params = params;
this.issueData = issueData;
console.log('running bot on issue', issueData.number);
(0, utils_1.safeLog)('running bot on issue', issueData.number);
}
async addAssignee(assignee) {
core_1.debug('Adding assignee ' + assignee + ' to ' + this.issueData.number);
(0, utils_1.safeLog)('Adding assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.addAssignees({
await this.octokit.rest.issues.addAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
@@ -182,45 +233,64 @@ class OctoKitIssue extends OctoKit {
}
}
async removeAssignee(assignee) {
core_1.debug('Removing assignee ' + assignee + ' to ' + this.issueData.number);
(0, utils_1.safeLog)('Removing assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.removeAssignees({
await this.octokit.rest.issues.removeAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
});
}
}
async closeIssue() {
core_1.debug('Closing issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.update({
async closeIssue(reason) {
(0, utils_1.safeLog)('Closing issue ' + this.issueData.number);
if (!this.options.readonly) {
const issue = await this.octokit.rest.issues.get({
...this.params,
issue_number: this.issueData.number,
});
// Don't close already closed issues even if it means changing the state
if (issue.data.state === 'closed') {
return;
}
await this.octokit.rest.issues
.update({
...this.params,
issue_number: this.issueData.number,
state: 'closed',
state_reason: reason,
})
.catch((e) => {
(0, utils_1.safeLog)('error closing issue:', e);
});
}
}
async reopenIssue() {
core_1.debug('Reopening issue ' + this.issueData.number);
(0, utils_1.safeLog)('Reopening issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.update({
await this.octokit.rest.issues.update({
...this.params,
issue_number: this.issueData.number,
state: 'open',
});
}
async lockIssue() {
core_1.debug('Locking issue ' + this.issueData.number);
(0, utils_1.safeLog)('Locking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number });
await this.octokit.rest.issues.lock({ ...this.params, issue_number: this.issueData.number });
}
async unlockIssue() {
(0, utils_1.safeLog)('Unlocking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.rest.issues.unlock({ ...this.params, issue_number: this.issueData.number });
}
async getIssue() {
if (isIssue(this.issueData)) {
core_1.debug('Got issue data from query result ' + this.issueData.number);
(0, utils_1.safeLog)('Got issue data from query result ' + this.issueData.number);
return this.issueData;
}
console.log('Fetching issue ' + this.issueData.number);
const issue = (await this.octokit.issues.get({
(0, utils_1.safeLog)('Fetching issue ' + this.issueData.number);
const issue = (await this.octokit.rest.issues.get({
...this.params,
issue_number: this.issueData.number,
mediaType: { previews: ['squirrel-girl'] },
@@ -228,77 +298,83 @@ class OctoKitIssue extends OctoKit {
return (this.issueData = this.octokitIssueToIssue(issue));
}
async postComment(body) {
core_1.debug(`Posting comment ${body} on ${this.issueData.number}`);
(0, utils_1.safeLog)(`Posting comment on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.createComment({
await this.octokit.rest.issues.createComment({
...this.params,
issue_number: this.issueData.number,
body,
});
}
async deleteComment(id) {
core_1.debug(`Deleting comment ${id} on ${this.issueData.number}`);
(0, utils_1.safeLog)(`Deleting comment ${id} on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.deleteComment({
await this.octokit.rest.issues.deleteComment({
owner: this.params.owner,
repo: this.params.repo,
comment_id: id,
});
}
async setMilestone(milestoneId) {
core_1.debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
(0, utils_1.safeLog)(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
if (!this.options.readonly)
await this.octokit.issues.update({
await this.octokit.rest.issues.update({
...this.params,
issue_number: this.issueData.number,
milestone: milestoneId,
});
}
async *getComments(last) {
core_1.debug('Fetching comments for ' + this.issueData.number);
const response = this.octokit.paginate.iterator(this.octokit.issues.listComments.endpoint.merge({
(0, utils_1.safeLog)('Fetching comments for ' + this.issueData.number);
const response = this.octokit.paginate.iterator(this.octokit.rest.issues.listComments, {
...this.params,
issue_number: this.issueData.number,
per_page: 100,
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
}));
});
for await (const page of response) {
numRequests++;
yield page.data.map((comment) => ({
author: { name: comment.user.login, isGitHubApp: comment.user.type === 'Bot' },
body: comment.body,
id: comment.id,
timestamp: +new Date(comment.created_at),
}));
yield page.data.map((comment) => {
var _a, _b, _c, _d;
return ({
author: { name: (_b = (_a = comment.user) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : '', isGitHubApp: ((_c = comment.user) === null || _c === void 0 ? void 0 : _c.type) === 'Bot' },
body: (_d = comment.body) !== null && _d !== void 0 ? _d : '',
id: comment.id,
timestamp: +new Date(comment.created_at),
});
});
}
}
async addLabel(name) {
core_1.debug(`Adding label ${name} to ${this.issueData.number}`);
(0, utils_1.safeLog)(`Adding label ${name} to ${this.issueData.number}`);
if (!(await this.repoHasLabel(name))) {
throw Error(`Action could not execute becuase label ${name} is not defined.`);
}
if (!this.options.readonly)
await this.octokit.issues.addLabels({
await this.octokit.rest.issues.addLabels({
...this.params,
issue_number: this.issueData.number,
labels: [name],
});
}
async getAssigner(assignee) {
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
var _a, _b;
const options = {
...this.params,
issue_number: this.issueData.number,
});
};
let assigner;
for await (const event of this.octokit.paginate.iterator(options)) {
for await (const event of this.octokit.paginate.iterator(this.octokit.rest.issues.listEventsForTimeline, options)) {
numRequests++;
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if (timelineEvent.event === 'assigned' &&
timelineEvent.assignee.login === assignee) {
assigner = timelineEvent.actor.login;
if (timelineEvent.event === 'assigned' && ((_a = timelineEvent.assignee) === null || _a === void 0 ? void 0 : _a.login) === assignee) {
assigner = (_b = timelineEvent.actor) === null || _b === void 0 ? void 0 : _b.login;
}
}
if (assigner) {
break;
}
}
if (!assigner) {
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.');
@@ -306,25 +382,26 @@ class OctoKitIssue extends OctoKit {
return assigner;
}
async removeLabel(name) {
core_1.debug(`Removing label ${name} from ${this.issueData.number}`);
(0, utils_1.safeLog)(`Removing label ${name} from ${this.issueData.number}`);
try {
if (!this.options.readonly)
await this.octokit.issues.removeLabel({
await this.octokit.rest.issues.removeLabel({
...this.params,
issue_number: this.issueData.number,
name,
});
}
catch (err) {
if (err.status === 404) {
console.log(`Label ${name} not found on issue`);
const statusErorr = err;
if (statusErorr.status === 404) {
(0, utils_1.safeLog)(`Label ${name} not found on issue`);
return;
}
throw err;
}
}
async getClosingInfo(alreadyChecked = []) {
var _a, _b, _c, _d, _e, _f, _g;
var _a, _b, _c, _d, _e, _f, _g, _h;
if (alreadyChecked.includes(this.issueData.number)) {
return undefined;
}
@@ -332,22 +409,21 @@ class OctoKitIssue extends OctoKit {
if ((await this.getIssue()).open) {
return;
}
const closingHashComment = /(?:\\|\/)closedWith (\S*)/;
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
const closingHashComment = /(?:\\|\/)closedWith (?:https:\/\/github\.com\/microsoft\/vscode\/commit\/)?([a-fA-F0-9]{7,40})/;
const options = {
...this.params,
issue_number: this.issueData.number,
});
};
let closingCommit;
const crossReferencing = [];
for await (const event of this.octokit.paginate.iterator(options)) {
for await (const event of this.octokit.paginate.iterator(this.octokit.rest.issues.listEventsForTimeline, options)) {
numRequests++;
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if ((timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
timelineEvent.created_at &&
timelineEvent.commit_id &&
timelineEvent.commit_url
.toLowerCase()
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())) {
((_a = timelineEvent.commit_url) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
closingCommit = {
hash: timelineEvent.commit_id,
timestamp: +new Date(timelineEvent.created_at),
@@ -356,15 +432,18 @@ class OctoKitIssue extends OctoKit {
if (timelineEvent.event === 'reopened') {
closingCommit = undefined;
}
if (timelineEvent.event === 'commented' &&
!((_a = timelineEvent.body) === null || _a === void 0 ? void 0 : _a.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE')) &&
if (timelineEvent.created_at &&
timelineEvent.event === 'commented' &&
!((_b = timelineEvent.body) === null || _b === void 0 ? void 0 : _b.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE')) &&
closingHashComment.test(timelineEvent.body)) {
closingCommit = {
hash: closingHashComment.exec(timelineEvent.body)[1],
timestamp: +new Date(timelineEvent.created_at),
};
}
if (timelineEvent.event === 'cross-referenced' && ((_c = (_b = timelineEvent.source) === null || _b === void 0 ? void 0 : _b.issue) === null || _c === void 0 ? void 0 : _c.number) && ((_f = (_e = (_d = timelineEvent.source) === null || _d === void 0 ? void 0 : _d.issue) === null || _e === void 0 ? void 0 : _e.pull_request) === null || _f === void 0 ? void 0 : _f.url.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
if (timelineEvent.event === 'cross-referenced' &&
((_d = (_c = timelineEvent.source) === null || _c === void 0 ? void 0 : _c.issue) === null || _d === void 0 ? void 0 : _d.number) &&
((_g = (_f = (_e = timelineEvent.source) === null || _e === void 0 ? void 0 : _e.issue) === null || _f === void 0 ? void 0 : _f.pull_request) === null || _g === void 0 ? void 0 : _g.url.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase()))) {
crossReferencing.push(timelineEvent.source.issue.number);
}
}
@@ -375,16 +454,16 @@ class OctoKitIssue extends OctoKit {
for (const id of crossReferencing.reverse()) {
const closed = await new OctoKitIssue(this.token, this.params, {
number: id,
}, this.options).getClosingInfo(alreadyChecked);
}).getClosingInfo(alreadyChecked);
if (closed) {
if (Math.abs(closed.timestamp - ((_g = (await this.getIssue()).closedAt) !== null && _g !== void 0 ? _g : 0)) < 5000) {
if (Math.abs(closed.timestamp - ((_h = (await this.getIssue()).closedAt) !== null && _h !== void 0 ? _h : 0)) < 5000) {
closingCommit = closed;
break;
}
}
}
}
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
(0, utils_1.safeLog)(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
return closingCommit;
}
}
+260 -171
View File
@@ -3,181 +3,242 @@
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { debug } from '@actions/core'
import { GitHub as GitHubAPI } from '@actions/github'
import { Octokit } from '@octokit/rest'
import { exec } from 'child_process'
import { Comment, GitHub, GitHubIssue, Issue, Query, User } from './api'
import { getOctokit } from '@actions/github';
import type { RequestError } from '@octokit/request-error';
import { exec } from 'child_process';
import { IssueGetResponse, IssuesGetResponseMilestone } from '../common/OctokitTypings';
import { safeLog } from '../common/utils';
import { Comment, GitHub, GitHubIssue, Issue, Milestone, Query, User } from './api';
let numRequests = 0
export const getNumRequests = () => numRequests
let numRequests = 0;
export const getNumRequests = () => numRequests;
export class OctoKit implements GitHub {
private _octokit: GitHubAPI
protected get octokit(): GitHubAPI {
numRequests++
return this._octokit
private _octokit: ReturnType<typeof getOctokit>;
protected get octokit(): ReturnType<typeof getOctokit> {
numRequests++;
return this._octokit;
}
// when in readonly mode, record labels just-created so at to not throw unneccesary errors
protected mockLabels: Set<string> = new Set()
protected mockLabels: Set<string> = new Set();
public readonly repoName: string;
public readonly repoOwner: string;
constructor(
protected token: string,
protected params: { repo: string; owner: string },
protected options: { readonly: boolean } = { readonly: false },
) {
this._octokit = new GitHubAPI(token)
this._octokit = getOctokit(token);
this.repoName = params.repo;
this.repoOwner = params.owner;
}
getIssueByNumber(number: number) {
return new OctoKitIssue(this.token, this.params, { number: number });
}
// TODO: just iterate over the issues in a page here instead of making caller do it
async *query(query: Query): AsyncIterableIterator<GitHubIssue[]> {
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`
console.log(`Querying for ${q}:`)
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`;
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
const options = {
...query,
q,
per_page: 100,
headers: { Accept: 'application/vnd.github.squirrel-girl-preview+json' },
})
};
let pageNum = 0
let pageNum = 0;
const timeout = async () => {
if (pageNum < 2) {
/* pass */
} else if (pageNum < 4) {
await new Promise((resolve) => setTimeout(resolve, 3000))
await new Promise((resolve) => setTimeout(resolve, 10000));
} else {
await new Promise((resolve) => setTimeout(resolve, 30000))
await new Promise((resolve) => setTimeout(resolve, 30000));
}
}
};
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
await timeout()
numRequests++
const page: Array<Octokit.SearchIssuesAndPullRequestsResponseItemsItem> = pageResponse.data
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`)
for await (const pageResponse of this.octokit.paginate.iterator(
this.octokit.rest.search.issuesAndPullRequests,
options,
)) {
await timeout();
numRequests++;
const page = pageResponse.data;
safeLog(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
yield page.map(
(issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue), this.options),
)
(issue) =>
new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue), this.options),
);
}
}
async createIssue(owner: string, repo: string, title: string, body: string): Promise<void> {
debug(`Creating issue \`${title}\` on ${owner}/${repo}`)
if (!this.options.readonly) await this.octokit.issues.create({ owner, repo, title, body })
safeLog(`Creating issue \`${title}\` on ${owner}/${repo}`);
if (!this.options.readonly) await this.octokit.rest.issues.create({ owner, repo, title, body });
}
protected octokitIssueToIssue(
issue: Octokit.IssuesGetResponse | Octokit.SearchIssuesAndPullRequestsResponseItemsItem,
): Issue {
protected octokitIssueToIssue(issue: IssueGetResponse): Issue {
return {
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
body: issue.body,
author: { name: issue.user?.login ?? 'unkown', isGitHubApp: issue.user?.type === 'Bot' },
body: issue.body ?? '',
number: issue.number,
title: issue.title,
labels: (issue.labels as Octokit.IssuesGetLabelResponse[]).map((label) => label.name),
isPr: !!issue.pull_request?.html_url,
labels: issue.labels.map((label) => (typeof label === 'string' ? label : label.name ?? '')),
open: issue.state === 'open',
locked: (issue as any).locked,
numComments: issue.comments,
reactions: (issue as any).reactions,
assignee: issue.assignee?.login ?? (issue as any).assignees?.[0]?.login,
milestoneId: issue.milestone?.number ?? null,
assignee: issue.assignee?.login ?? (issue as IssueGetResponse).assignees?.[0]?.login,
assignees: (issue as IssueGetResponse).assignees?.map((assignee) => assignee.login) ?? [],
milestone: issue.milestone ? this.octokitMilestoneToMilestone(issue.milestone) : null,
createdAt: +new Date(issue.created_at),
updatedAt: +new Date(issue.updated_at),
closedAt: issue.closed_at ? +new Date((issue.closed_at as unknown) as string) : undefined,
}
closedAt: issue.closed_at ? +new Date(issue.closed_at as unknown as string) : undefined,
};
}
private writeAccessCache: Record<string, boolean> = {}
protected octokitMilestoneToMilestone(milestone: IssuesGetResponseMilestone): Milestone | null {
if (milestone?.number === undefined) {
return null;
}
return {
title: milestone.title,
milestoneId: milestone.number,
// Remove the time portions of the dates as they're not important
createdAt: milestone.created_at !== null ? new Date(milestone.created_at.split('T')[0]) : null,
dueOn: milestone.due_on !== null ? new Date(milestone.due_on.split('T')[0]) : null,
closedAt: milestone.closed_at !== null ? new Date(milestone.closed_at.split('T')[0]) : null,
description: milestone.description ?? '',
numClosedIssues: milestone.closed_issues,
numOpenIssues: milestone.open_issues,
state: milestone.state === 'open' ? 'open' : 'closed',
};
}
private writeAccessCache: Record<string, boolean> = {};
async hasWriteAccess(user: User): Promise<boolean> {
if (user.name in this.writeAccessCache) {
debug('Got permissions from cache for ' + user)
return this.writeAccessCache[user.name]
safeLog('Got permissions from cache for ' + user);
return this.writeAccessCache[user.name];
}
debug('Fetching permissions for ' + user)
safeLog('Fetching permissions for ' + user.name);
const permissions = (
await this.octokit.repos.getCollaboratorPermissionLevel({
await this.octokit.rest.repos.getCollaboratorPermissionLevel({
...this.params,
username: user.name,
})
).data.permission
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write')
).data.permission;
return (this.writeAccessCache[user.name] = permissions === 'admin' || permissions === 'write');
}
async repoHasLabel(name: string): Promise<boolean> {
try {
await this.octokit.issues.getLabel({ ...this.params, name })
return true
await this.octokit.rest.issues.getLabel({ ...this.params, name });
return true;
} catch (err) {
if (err.status === 404) {
return this.options.readonly && this.mockLabels.has(name)
const statusErorr = err as RequestError;
if (statusErorr.status === 404) {
return this.options.readonly && this.mockLabels.has(name);
}
throw err
throw err;
}
}
async createLabel(name: string, color: string, description: string): Promise<void> {
debug('Creating label ' + name)
safeLog('Creating label ' + name);
if (!this.options.readonly)
await this.octokit.issues.createLabel({ ...this.params, color, description, name })
else this.mockLabels.add(name)
await this.octokit.rest.issues.createLabel({ ...this.params, color, description, name });
else this.mockLabels.add(name);
}
async deleteLabel(name: string): Promise<void> {
debug('Deleting label ' + name)
safeLog('Deleting label ' + name);
try {
if (!this.options.readonly) await this.octokit.issues.deleteLabel({ ...this.params, name })
if (!this.options.readonly) await this.octokit.rest.issues.deleteLabel({ ...this.params, name });
} catch (err) {
if (err.status === 404) {
return
const statusErorr = err as RequestError;
if (statusErorr.status === 404) {
return;
}
throw err
throw err;
}
}
async readConfig(path: string): Promise<any> {
debug('Reading config at ' + path)
const repoPath = `.github/${path}.json`
safeLog('Reading config at ' + path);
const repoPath = `.github/${path}.json`;
try {
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data
if ('type' in data && data.type === 'file') {
const data = (await this.octokit.rest.repos.getContent({ ...this.params, path: repoPath })).data;
if ('type' in data && data.type === 'file' && 'content' in data) {
if (data.encoding === 'base64' && data.content) {
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'))
return JSON.parse(Buffer.from(data.content, 'base64').toString('utf-8'));
}
throw Error(`Could not read contents "${data.content}" in encoding "${data.encoding}"`)
throw Error(`Could not read contents "${data.content}" in encoding "${data.encoding}"`);
}
throw Error('Found directory at config path when expecting file' + JSON.stringify(data))
throw Error('Found directory at config path when expecting file' + JSON.stringify(data));
} catch (e) {
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e))
throw Error('Error with config file at ' + repoPath + ': ' + JSON.stringify(e));
}
}
async releaseContainsCommit(release: string, commit: string): Promise<'yes' | 'no' | 'unknown'> {
const isHash = (s: string) => /^[a-fA-F0-9]*$/.test(s);
if (!isHash(release) || !isHash(commit)) return 'unknown';
return new Promise((resolve, reject) =>
exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {
if (!err || err.code === 1) {
resolve(!err ? 'yes' : 'no')
resolve(!err ? 'yes' : 'no');
} else if (err.message.includes(`Not a valid commit name ${release}`)) {
// release branch is forked. Probably in endgame. Not released.
resolve('no')
resolve('no');
} else if (err.message.includes(`Not a valid commit name ${commit}`)) {
// commit is probably in a different repo.
resolve('unknown')
resolve('unknown');
} else {
reject(err)
reject(err);
}
}),
)
);
}
async getCurrentRepoMilestone(): Promise<number | undefined> {
safeLog(`Getting repo milestone for ${this.params.owner}/${this.params.repo}`);
// Fetch all milestones open for this repo
const allMilestones = (
await this.octokit.rest.issues.listMilestones({
owner: this.params.owner,
repo: this.params.repo,
state: 'open',
sort: 'due_on',
direction: 'asc',
})
).data;
const currentDate = new Date();
const possibleMilestones = allMilestones
.filter(
(milestone) =>
new Date(milestone.due_on === null ? currentDate : milestone.due_on) > currentDate &&
currentDate > new Date(milestone.created_at) &&
!milestone.title.includes('Recovery'),
)
.sort((a, b) => +new Date(a.due_on ?? currentDate) - +new Date(b.due_on ?? currentDate));
if (possibleMilestones.length === 0) {
return undefined;
}
return possibleMilestones[0].number;
}
async dispatch(title: string): Promise<void> {
debug('Dispatching ' + title)
safeLog('Dispatching ' + title);
if (!this.options.readonly)
await this.octokit.repos.createDispatchEvent({ ...this.params, event_type: title })
await this.octokit.rest.repos.createDispatchEvent({ ...this.params, event_type: title });
}
}
@@ -188,184 +249,206 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
private issueData: { number: number } | Issue,
options: { readonly: boolean } = { readonly: false },
) {
super(token, params, options)
console.log('running bot on issue', issueData.number)
super(token, params, options);
safeLog('running bot on issue', issueData.number);
}
async addAssignee(assignee: string): Promise<void> {
debug('Adding assignee ' + assignee + ' to ' + this.issueData.number)
safeLog('Adding assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.addAssignees({
await this.octokit.rest.issues.addAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
})
});
}
}
async removeAssignee(assignee: string): Promise<void> {
debug('Removing assignee ' + assignee + ' to ' + this.issueData.number)
safeLog('Removing assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.removeAssignees({
await this.octokit.rest.issues.removeAssignees({
...this.params,
issue_number: this.issueData.number,
assignees: [assignee],
})
});
}
}
async closeIssue(): Promise<void> {
debug('Closing issue ' + this.issueData.number)
if (!this.options.readonly)
await this.octokit.issues.update({
async closeIssue(reason: 'completed' | 'not_planned'): Promise<void> {
safeLog('Closing issue ' + this.issueData.number);
if (!this.options.readonly) {
const issue = await this.octokit.rest.issues.get({
...this.params,
issue_number: this.issueData.number,
state: 'closed',
})
});
// Don't close already closed issues even if it means changing the state
if (issue.data.state === 'closed') {
return;
}
await this.octokit.rest.issues
.update({
...this.params,
issue_number: this.issueData.number,
state: 'closed',
state_reason: reason,
})
.catch((e) => {
safeLog('error closing issue:', e);
});
}
}
async reopenIssue(): Promise<void> {
debug('Reopening issue ' + this.issueData.number)
safeLog('Reopening issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.update({
await this.octokit.rest.issues.update({
...this.params,
issue_number: this.issueData.number,
state: 'open',
})
});
}
async lockIssue(): Promise<void> {
debug('Locking issue ' + this.issueData.number)
safeLog('Locking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number })
await this.octokit.rest.issues.lock({ ...this.params, issue_number: this.issueData.number });
}
async unlockIssue(): Promise<void> {
safeLog('Unlocking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.rest.issues.unlock({ ...this.params, issue_number: this.issueData.number });
}
async getIssue(): Promise<Issue> {
if (isIssue(this.issueData)) {
debug('Got issue data from query result ' + this.issueData.number)
return this.issueData
safeLog('Got issue data from query result ' + this.issueData.number);
return this.issueData;
}
console.log('Fetching issue ' + this.issueData.number)
safeLog('Fetching issue ' + this.issueData.number);
const issue = (
await this.octokit.issues.get({
await this.octokit.rest.issues.get({
...this.params,
issue_number: this.issueData.number,
mediaType: { previews: ['squirrel-girl'] },
})
).data
return (this.issueData = this.octokitIssueToIssue(issue))
).data;
return (this.issueData = this.octokitIssueToIssue(issue));
}
async postComment(body: string): Promise<void> {
debug(`Posting comment ${body} on ${this.issueData.number}`)
safeLog(`Posting comment on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.createComment({
await this.octokit.rest.issues.createComment({
...this.params,
issue_number: this.issueData.number,
body,
})
});
}
async deleteComment(id: number): Promise<void> {
debug(`Deleting comment ${id} on ${this.issueData.number}`)
safeLog(`Deleting comment ${id} on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.deleteComment({
await this.octokit.rest.issues.deleteComment({
owner: this.params.owner,
repo: this.params.repo,
comment_id: id,
})
});
}
async setMilestone(milestoneId: number) {
debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`)
safeLog(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
if (!this.options.readonly)
await this.octokit.issues.update({
await this.octokit.rest.issues.update({
...this.params,
issue_number: this.issueData.number,
milestone: milestoneId,
})
});
}
async *getComments(last?: boolean): AsyncIterableIterator<Comment[]> {
debug('Fetching comments for ' + this.issueData.number)
safeLog('Fetching comments for ' + this.issueData.number);
const response = this.octokit.paginate.iterator(
this.octokit.issues.listComments.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
per_page: 100,
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
}),
)
const response = this.octokit.paginate.iterator(this.octokit.rest.issues.listComments, {
...this.params,
issue_number: this.issueData.number,
per_page: 100,
...(last ? { per_page: 1, page: (await this.getIssue()).numComments } : {}),
});
for await (const page of response) {
numRequests++
yield (page.data as Octokit.IssuesListCommentsResponseItem[]).map((comment) => ({
author: { name: comment.user.login, isGitHubApp: comment.user.type === 'Bot' },
body: comment.body,
numRequests++;
yield page.data.map((comment) => ({
author: { name: comment.user?.login ?? '', isGitHubApp: comment.user?.type === 'Bot' },
body: comment.body ?? '',
id: comment.id,
timestamp: +new Date(comment.created_at),
}))
}));
}
}
async addLabel(name: string): Promise<void> {
debug(`Adding label ${name} to ${this.issueData.number}`)
safeLog(`Adding label ${name} to ${this.issueData.number}`);
if (!(await this.repoHasLabel(name))) {
throw Error(`Action could not execute becuase label ${name} is not defined.`)
throw Error(`Action could not execute becuase label ${name} is not defined.`);
}
if (!this.options.readonly)
await this.octokit.issues.addLabels({
await this.octokit.rest.issues.addLabels({
...this.params,
issue_number: this.issueData.number,
labels: [name],
})
});
}
async getAssigner(assignee: string): Promise<string> {
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
const options = {
...this.params,
issue_number: this.issueData.number,
})
};
let assigner: string | undefined
let assigner: string | undefined;
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
for await (const event of this.octokit.paginate.iterator(
this.octokit.rest.issues.listEventsForTimeline,
options,
)) {
numRequests++;
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if (
timelineEvent.event === 'assigned' &&
(timelineEvent as any).assignee.login === assignee
) {
assigner = timelineEvent.actor.login
if (timelineEvent.event === 'assigned' && timelineEvent.assignee?.login === assignee) {
assigner = timelineEvent.actor?.login;
}
}
if (assigner) {
break;
}
}
if (!assigner) {
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.')
throw Error('Expected to find ' + assignee + ' in issue timeline but did not.');
}
return assigner
return assigner;
}
async removeLabel(name: string): Promise<void> {
debug(`Removing label ${name} from ${this.issueData.number}`)
safeLog(`Removing label ${name} from ${this.issueData.number}`);
try {
if (!this.options.readonly)
await this.octokit.issues.removeLabel({
await this.octokit.rest.issues.removeLabel({
...this.params,
issue_number: this.issueData.number,
name,
})
});
} catch (err) {
if (err.status === 404) {
console.log(`Label ${name} not found on issue`)
return
const statusErorr = err as RequestError;
if (statusErorr.status === 404) {
safeLog(`Label ${name} not found on issue`);
return;
}
throw err
throw err;
}
}
@@ -373,43 +456,49 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
alreadyChecked: number[] = [],
): Promise<{ hash: string | undefined; timestamp: number } | undefined> {
if (alreadyChecked.includes(this.issueData.number)) {
return undefined
return undefined;
}
alreadyChecked.push(this.issueData.number)
alreadyChecked.push(this.issueData.number);
if ((await this.getIssue()).open) {
return
return;
}
const closingHashComment = /(?:\\|\/)closedWith (\S*)/
const closingHashComment =
/(?:\\|\/)closedWith (?:https:\/\/github\.com\/microsoft\/vscode\/commit\/)?([a-fA-F0-9]{7,40})/;
const options = this.octokit.issues.listEventsForTimeline.endpoint.merge({
const options = {
...this.params,
issue_number: this.issueData.number,
})
let closingCommit: { hash: string | undefined; timestamp: number } | undefined
const crossReferencing: number[] = []
for await (const event of this.octokit.paginate.iterator(options)) {
numRequests++
};
let closingCommit: { hash: string | undefined; timestamp: number } | undefined;
const crossReferencing: number[] = [];
for await (const event of this.octokit.paginate.iterator(
this.octokit.rest.issues.listEventsForTimeline,
options,
)) {
numRequests++;
const timelineEvents = event.data as Octokit.IssuesListEventsForTimelineResponseItem[]
const timelineEvents = event.data;
for (const timelineEvent of timelineEvents) {
if (
(timelineEvent.event === 'closed' || timelineEvent.event === 'merged') &&
timelineEvent.created_at &&
timelineEvent.commit_id &&
timelineEvent.commit_url
.toLowerCase()
?.toLowerCase()
.includes(`/${this.params.owner}/${this.params.repo}/`.toLowerCase())
) {
closingCommit = {
hash: timelineEvent.commit_id,
timestamp: +new Date(timelineEvent.created_at),
}
};
}
if (timelineEvent.event === 'reopened') {
closingCommit = undefined
closingCommit = undefined;
}
if (
timelineEvent.created_at &&
timelineEvent.event === 'commented' &&
!((timelineEvent as any).body as string)?.includes('UNABLE_TO_LOCATE_COMMIT_MESSAGE') &&
closingHashComment.test((timelineEvent as any).body)
@@ -417,7 +506,7 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
closingCommit = {
hash: closingHashComment.exec((timelineEvent as any).body)![1],
timestamp: +new Date(timelineEvent.created_at),
}
};
}
if (
timelineEvent.event === 'cross-referenced' &&
@@ -426,7 +515,7 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
`/${this.params.owner}/${this.params.repo}/`.toLowerCase(),
)
) {
crossReferencing.push((timelineEvent as any).source.issue.number)
crossReferencing.push((timelineEvent as any).source.issue.number);
}
}
}
@@ -437,19 +526,19 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
for (const id of crossReferencing.reverse()) {
const closed = await new OctoKitIssue(this.token, this.params, {
number: id,
}, this.options).getClosingInfo(alreadyChecked)
}).getClosingInfo(alreadyChecked);
if (closed) {
if (Math.abs(closed.timestamp - ((await this.getIssue()).closedAt ?? 0)) < 5000) {
closingCommit = closed
break
closingCommit = closed;
break;
}
}
}
}
console.log(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`)
return closingCommit
safeLog(`Got ${JSON.stringify(closingCommit)} as closing commit of ${this.issueData.number}`);
return closingCommit;
}
}
@@ -464,7 +553,7 @@ function isIssue(object: any): object is Issue {
'number' in object &&
'numComments' in object &&
'reactions' in object &&
'milestoneId' in object
'milestoneId' in object;
return isIssue
return isIssue;
}
+44 -29
View File
@@ -11,51 +11,50 @@ const utils_1 = require("./utils");
const core_1 = require("@actions/core");
class Action {
constructor() {
this.token = utils_1.getRequiredInput('token');
this.username = new github_1.GitHub(this.token).users.getAuthenticated().then((v) => v.data.name);
this.token = (0, utils_1.getRequiredInput)('token');
this.username = (0, github_1.getOctokit)(this.token)
.rest.users.getAuthenticated()
.then((v) => { var _a; return (_a = v.data.name) !== null && _a !== void 0 ? _a : 'unknown'; }, () => 'unknown');
}
async run() {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
console.log('running ', this.id, 'with context', {
...github_1.context,
payload: {
issue: (_b = (_a = github_1.context.payload) === null || _a === void 0 ? void 0 : _a.issue) === null || _b === void 0 ? void 0 : _b.number,
label: (_d = (_c = github_1.context.payload) === null || _c === void 0 ? void 0 : _c.label) === null || _d === void 0 ? void 0 : _d.name,
repository: (_f = (_e = github_1.context.payload) === null || _e === void 0 ? void 0 : _e.repository) === null || _f === void 0 ? void 0 : _f.html_url,
sender: (_j = (_h = (_g = github_1.context.payload) === null || _g === void 0 ? void 0 : _g.sender) === null || _h === void 0 ? void 0 : _h.login) !== null && _j !== void 0 ? _j : (_l = (_k = github_1.context.payload) === null || _k === void 0 ? void 0 : _k.sender) === null || _l === void 0 ? void 0 : _l.type,
},
});
var _a, _b, _c, _d, _e, _f;
if (utils_1.errorLoggingIssue) {
const { repo, issue, owner } = utils_1.errorLoggingIssue;
if (github_1.context.repo.repo === repo &&
github_1.context.repo.owner === owner &&
((_m = github_1.context.payload.issue) === null || _m === void 0 ? void 0 : _m.number) === issue) {
return console.log('refusing to run on error logging issue to prevent cascading errors');
((_a = github_1.context.payload.issue) === null || _a === void 0 ? void 0 : _a.number) === issue) {
return (0, utils_1.safeLog)('refusing to run on error logging issue to prevent cascading errors');
}
}
try {
const token = utils_1.getRequiredInput('token');
const readonly = !!core_1.getInput('readonly');
const issue = (_o = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.issue) === null || _o === void 0 ? void 0 : _o.number;
const token = (0, utils_1.getRequiredInput)('token');
const readonly = !!(0, core_1.getInput)('readonly');
const issue = (_b = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.issue) === null || _b === void 0 ? void 0 : _b.number;
if (issue) {
const octokit = new octokit_1.OctoKitIssue(token, github_1.context.repo, { number: issue }, { readonly });
if (github_1.context.eventName === 'issue_comment') {
await this.onCommented(octokit, github_1.context.payload.comment.body, github_1.context.actor);
await this.onCommented(octokit, (_c = github_1.context.payload.comment) === null || _c === void 0 ? void 0 : _c.body, github_1.context.actor);
}
else if (github_1.context.eventName === 'issues') {
else if (github_1.context.eventName === 'issues' ||
github_1.context.eventName === 'pull_request' ||
github_1.context.eventName === 'pull_request_target') {
switch (github_1.context.payload.action) {
case 'opened':
await this.onOpened(octokit);
case 'ready_for_review':
await this.onOpened(octokit, github_1.context.payload);
break;
case 'reopened':
await this.onReopened(octokit);
break;
case 'closed':
await this.onClosed(octokit);
await this.onClosed(octokit, github_1.context.payload);
break;
case 'labeled':
await this.onLabeled(octokit, github_1.context.payload.label.name);
break;
case 'assigned':
await this.onAssigned(octokit, github_1.context.payload.assignee.login);
break;
case 'unassigned':
await this.onUnassigned(octokit, github_1.context.payload.assignee.login);
break;
@@ -70,22 +69,32 @@ class Action {
}
}
}
else if (github_1.context.eventName === 'create') {
await this.onCreated(new octokit_1.OctoKit(token, github_1.context.repo, { readonly }), (_d = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.payload) === null || _d === void 0 ? void 0 : _d.ref, (_f = (_e = github_1.context === null || github_1.context === void 0 ? void 0 : github_1.context.payload) === null || _e === void 0 ? void 0 : _e.sender) === null || _f === void 0 ? void 0 : _f.login);
}
else {
await this.onTriggered(new octokit_1.OctoKit(token, github_1.context.repo, { readonly }));
}
}
catch (e) {
await this.error(e);
const err = e;
try {
await this.error(err);
}
catch {
(0, utils_1.safeLog)((err === null || err === void 0 ? void 0 : err.stack) || (err === null || err === void 0 ? void 0 : err.message) || String(e));
}
}
const usage = await utils_1.getRateLimit(this.token);
const usage = await (0, utils_1.getRateLimit)(this.token);
}
async error(error) {
var _a;
const details = {
message: `${error.message}\n${error.stack}`,
id: this.id,
user: await this.username,
};
if (github_1.context.issue.number)
if ((_a = github_1.context.issue) === null || _a === void 0 ? void 0 : _a.number)
details.issue = github_1.context.issue.number;
const rendered = `
Message: ${details.message}
@@ -94,28 +103,34 @@ Actor: ${details.user}
ID: ${details.id}
`;
await utils_1.logErrorToIssue(rendered, true, this.token);
core_1.setFailed(error.message);
await (0, utils_1.logErrorToIssue)(rendered, true, this.token);
(0, core_1.setFailed)(error.message);
}
async onTriggered(_octokit) {
throw Error('not implemented');
}
async onCreated(_octokit, _ref, _creator) {
throw Error('not implemented');
}
async onEdited(_issue) {
throw Error('not implemented');
}
async onLabeled(_issue, _label) {
throw Error('not implemented');
}
async onUnassigned(_issue, _label) {
async onAssigned(_issue, _assignee) {
throw Error('not implemented');
}
async onOpened(_issue) {
async onUnassigned(_issue, _assignee) {
throw Error('not implemented');
}
async onOpened(_issue, _payload) {
throw Error('not implemented');
}
async onReopened(_issue) {
throw Error('not implemented');
}
async onClosed(_issue) {
async onClosed(_issue, _payload) {
throw Error('not implemented');
}
async onMilestoned(_issue) {
+82 -61
View File
@@ -3,87 +3,102 @@
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit, OctoKitIssue, getNumRequests } from '../api/octokit'
import { context, GitHub } from '@actions/github'
import { getRequiredInput, logErrorToIssue, getRateLimit, errorLoggingIssue } from './utils'
import { getInput, setFailed } from '@actions/core'
import { OctoKit, OctoKitIssue, getNumRequests } from '../api/octokit';
import { context, getOctokit } from '@actions/github';
import { getRequiredInput, logErrorToIssue, getRateLimit, errorLoggingIssue, safeLog } from './utils';
import { getInput, setFailed } from '@actions/core';
import { WebhookPayload } from '@actions/github/lib/interfaces';
export abstract class Action {
abstract id: string
abstract id: string;
private username: Promise<string>
private token = getRequiredInput('token')
private username: Promise<string>;
private token = getRequiredInput('token');
constructor() {
this.username = new GitHub(this.token).users.getAuthenticated().then((v) => v.data.name)
this.username = getOctokit(this.token)
.rest.users.getAuthenticated()
.then(
(v) => v.data.name ?? 'unknown',
() => 'unknown',
);
}
public async run() {
console.log('running ', this.id, 'with context', {
...context,
payload: {
issue: context.payload?.issue?.number,
label: context.payload?.label?.name,
repository: context.payload?.repository?.html_url,
sender: context.payload?.sender?.login ?? context.payload?.sender?.type,
},
})
if (errorLoggingIssue) {
const { repo, issue, owner } = errorLoggingIssue
const { repo, issue, owner } = errorLoggingIssue;
if (
context.repo.repo === repo &&
context.repo.owner === owner &&
context.payload.issue?.number === issue
) {
return console.log('refusing to run on error logging issue to prevent cascading errors')
return safeLog('refusing to run on error logging issue to prevent cascading errors');
}
}
try {
const token = getRequiredInput('token')
const readonly = !!getInput('readonly')
const token = getRequiredInput('token');
const readonly = !!getInput('readonly');
const issue = context?.issue?.number
const issue = context?.issue?.number;
if (issue) {
const octokit = new OctoKitIssue(token, context.repo, { number: issue }, { readonly })
const octokit = new OctoKitIssue(token, context.repo, { number: issue }, { readonly });
if (context.eventName === 'issue_comment') {
await this.onCommented(octokit, context.payload.comment.body, context.actor)
} else if (context.eventName === 'issues') {
await this.onCommented(octokit, context.payload.comment?.body, context.actor);
} else if (
context.eventName === 'issues' ||
context.eventName === 'pull_request' ||
context.eventName === 'pull_request_target'
) {
switch (context.payload.action) {
case 'opened':
await this.onOpened(octokit)
break
case 'ready_for_review':
await this.onOpened(octokit, context.payload);
break;
case 'reopened':
await this.onReopened(octokit)
break
await this.onReopened(octokit);
break;
case 'closed':
await this.onClosed(octokit)
break
await this.onClosed(octokit, context.payload);
break;
case 'labeled':
await this.onLabeled(octokit, context.payload.label.name)
break
await this.onLabeled(octokit, context.payload.label.name);
break;
case 'assigned':
await this.onAssigned(octokit, context.payload.assignee.login);
break;
case 'unassigned':
await this.onUnassigned(octokit, context.payload.assignee.login)
break
await this.onUnassigned(octokit, context.payload.assignee.login);
break;
case 'edited':
await this.onEdited(octokit)
break
await this.onEdited(octokit);
break;
case 'milestoned':
await this.onMilestoned(octokit)
break
await this.onMilestoned(octokit);
break;
default:
throw Error('Unexpected action: ' + context.payload.action)
throw Error('Unexpected action: ' + context.payload.action);
}
}
} else if (context.eventName === 'create') {
await this.onCreated(
new OctoKit(token, context.repo, { readonly }),
context?.payload?.ref,
context?.payload?.sender?.login,
);
} else {
await this.onTriggered(new OctoKit(token, context.repo, { readonly }))
await this.onTriggered(new OctoKit(token, context.repo, { readonly }));
}
} catch (e) {
await this.error(e)
const err = e as Error;
try {
await this.error(err);
} catch {
safeLog(err?.stack || err?.message || String(e));
}
}
const usage = await getRateLimit(this.token)
const usage = await getRateLimit(this.token);
}
private async error(error: Error) {
@@ -91,9 +106,9 @@ export abstract class Action {
message: `${error.message}\n${error.stack}`,
id: this.id,
user: await this.username,
}
};
if (context.issue.number) details.issue = context.issue.number
if (context.issue?.number) details.issue = context.issue.number;
const rendered = `
Message: ${details.message}
@@ -101,37 +116,43 @@ Message: ${details.message}
Actor: ${details.user}
ID: ${details.id}
`
await logErrorToIssue(rendered, true, this.token)
`;
await logErrorToIssue(rendered, true, this.token);
setFailed(error.message)
setFailed(error.message);
}
protected async onTriggered(_octokit: OctoKit): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
protected async onCreated(_octokit: OctoKit, _ref: string, _creator: string): Promise<void> {
throw Error('not implemented');
}
protected async onEdited(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
protected async onLabeled(_issue: OctoKitIssue, _label: string): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
protected async onUnassigned(_issue: OctoKitIssue, _label: string): Promise<void> {
throw Error('not implemented')
protected async onAssigned(_issue: OctoKitIssue, _assignee: string): Promise<void> {
throw Error('not implemented');
}
protected async onOpened(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
protected async onUnassigned(_issue: OctoKitIssue, _assignee: string): Promise<void> {
throw Error('not implemented');
}
protected async onOpened(_issue: OctoKitIssue, _payload: WebhookPayload): Promise<void> {
throw Error('not implemented');
}
protected async onReopened(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
protected async onClosed(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
protected async onClosed(_issue: OctoKitIssue, _payload: WebhookPayload): Promise<void> {
throw Error('not implemented');
}
protected async onMilestoned(_issue: OctoKitIssue): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
protected async onCommented(_issue: OctoKitIssue, _comment: string, _actor: string): Promise<void> {
throw Error('not implemented')
throw Error('not implemented');
}
}
+24 -22
View File
@@ -5,6 +5,7 @@
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ActionBase = void 0;
const utils_1 = require("./utils");
class ActionBase {
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
this.labels = labels;
@@ -27,15 +28,15 @@ class ActionBase {
buildQuery(baseQuery) {
var _a, _b, _c, _d, _e, _f;
let query = baseQuery;
console.log(`labels: ${this.labels}`);
console.log(`milestoneName: ${this.milestoneName}`);
console.log(`milestoneId: ${this.milestoneId}`);
console.log(`ignoreLabels: ${this.ignoreLabels}`);
console.log(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
console.log(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
console.log(`minimumVotes: ${this.minimumVotes}`);
console.log(`maximumVotes: ${this.maximumVotes}`);
console.log(`involves: ${this.involves}`);
(0, utils_1.safeLog)(`labels: ${this.labels}`);
(0, utils_1.safeLog)(`milestoneName: ${this.milestoneName}`);
(0, utils_1.safeLog)(`milestoneId: ${this.milestoneId}`);
(0, utils_1.safeLog)(`ignoreLabels: ${this.ignoreLabels}`);
(0, utils_1.safeLog)(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
(0, utils_1.safeLog)(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
(0, utils_1.safeLog)(`minimumVotes: ${this.minimumVotes}`);
(0, utils_1.safeLog)(`maximumVotes: ${this.maximumVotes}`);
(0, utils_1.safeLog)(`involves: ${this.involves}`);
// Both milestone name and milestone Id must be provided and must match.
// The name is used to construct the query, which does not accept ID.
// The ID is used for comparisons with issue data, which does not include the name.
@@ -104,22 +105,23 @@ class ActionBase {
// This is necessary because GitHub sometimes returns incorrect results,
// and because issues may get modified while we are processing them.
validateIssue(issue) {
var _a, _b;
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
console.log(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
return false;
}
}
else {
// Make sure all labels we wanted are present.
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
console.log(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
return false;
}
for (const str of this.labelsSet) {
if (!issue.labels.includes(str)) {
console.log(`Issue ${issue.number} skipped due to not having a required label set.`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set.`);
return false;
}
}
@@ -127,7 +129,7 @@ class ActionBase {
if (issue.labels && issue.labels.length > 0) {
for (const str of this.ignoreLabelsSet) {
if (issue.labels.includes(str)) {
console.log(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
return false;
}
}
@@ -135,22 +137,22 @@ class ActionBase {
}
if (this.ignoreAllWithMilestones) {
// Validate that the issue does not have a milestone.
if (issue.milestoneId != null) {
console.log(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
if (issue.milestone) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
return false;
}
}
else {
// Make sure milestone is present, if required.
if (this.milestoneId != undefined && issue.milestoneId != +this.milestoneId) {
console.log(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestoneId}`);
if (this.milestoneId != null && ((_a = issue.milestone) === null || _a === void 0 ? void 0 : _a.milestoneId) != +this.milestoneId) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${(_b = issue.milestone) === null || _b === void 0 ? void 0 : _b.milestoneId}`);
return false;
}
// Make sure a milestones we wanted to ignore is not present.
if (issue.milestoneId != null) {
if (issue.milestone && issue.milestone.milestoneId != null) {
for (const str of this.ignoreMilestoneIdsSet) {
if (issue.milestoneId == +str) {
console.log(`Issue ${issue.number} skipped due to milestone ${issue.milestoneId} found in list of ignored milestone IDs.`);
if (issue.milestone.milestoneId == +str) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to milestone ${issue.milestone.milestoneId} found in list of ignored milestone IDs.`);
return false;
}
}
@@ -163,14 +165,14 @@ class ActionBase {
}
if (this.minimumVotes != undefined) {
if (upvotes < this.minimumVotes) {
console.log(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
// Verify the issue does not have too many upvotes
if (this.maximumVotes != undefined) {
if (upvotes > this.maximumVotes) {
console.log(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
+23 -22
View File
@@ -4,6 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { Issue } from '../api/api'
import { safeLog } from './utils';
export class ActionBase {
constructor(
@@ -29,15 +30,15 @@ export class ActionBase {
buildQuery(baseQuery: string): string {
let query = baseQuery;
console.log(`labels: ${this.labels}`);
console.log(`milestoneName: ${this.milestoneName}`);
console.log(`milestoneId: ${this.milestoneId}`);
console.log(`ignoreLabels: ${this.ignoreLabels}`);
console.log(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
console.log(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
console.log(`minimumVotes: ${this.minimumVotes}`);
console.log(`maximumVotes: ${this.maximumVotes}`);
console.log(`involves: ${this.involves}`);
safeLog(`labels: ${this.labels}`);
safeLog(`milestoneName: ${this.milestoneName}`);
safeLog(`milestoneId: ${this.milestoneId}`);
safeLog(`ignoreLabels: ${this.ignoreLabels}`);
safeLog(`ignoreMilestoneNames: ${this.ignoreMilestoneNames}`);
safeLog(`ignoreMilestoneIds: ${this.ignoreMilestoneIds}`);
safeLog(`minimumVotes: ${this.minimumVotes}`);
safeLog(`maximumVotes: ${this.maximumVotes}`);
safeLog(`involves: ${this.involves}`);
// Both milestone name and milestone Id must be provided and must match.
// The name is used to construct the query, which does not accept ID.
@@ -117,18 +118,18 @@ export class ActionBase {
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
console.log(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
safeLog(`Issue ${issue.number} skipped due to label found after querying for no:label.`);
return false;
}
} else {
// Make sure all labels we wanted are present.
if ((!issue.labels || issue.labels.length == 0) && this.labelsSet.length > 0) {
console.log(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
safeLog(`Issue ${issue.number} skipped due to not having a required label set. No labels found.`);
return false;
}
for (const str of this.labelsSet) {
if (!issue.labels.includes(str)) {
console.log(`Issue ${issue.number} skipped due to not having a required label set.`);
safeLog(`Issue ${issue.number} skipped due to not having a required label set.`);
return false;
}
}
@@ -136,7 +137,7 @@ export class ActionBase {
if (issue.labels && issue.labels.length > 0) {
for (const str of this.ignoreLabelsSet) {
if (issue.labels.includes(str)) {
console.log(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
safeLog(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
return false;
}
}
@@ -144,21 +145,21 @@ export class ActionBase {
}
if (this.ignoreAllWithMilestones) {
// Validate that the issue does not have a milestone.
if (issue.milestoneId != null) {
console.log(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
if (issue.milestone) {
safeLog(`Issue ${issue.number} skipped due to milestone found after querying for no:milestone.`);
return false;
}
} else {
// Make sure milestone is present, if required.
if (this.milestoneId != undefined && issue.milestoneId != +this.milestoneId) {
console.log(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestoneId}`);
if (this.milestoneId != null && issue.milestone?.milestoneId != +this.milestoneId) {
safeLog(`Issue ${issue.number} skipped due to not having required milsetone id ${this.milestoneId}. Had: ${issue.milestone?.milestoneId}`);
return false;
}
// Make sure a milestones we wanted to ignore is not present.
if (issue.milestoneId != null) {
if (issue.milestone && issue.milestone.milestoneId != null) {
for (const str of this.ignoreMilestoneIdsSet) {
if (issue.milestoneId == +str) {
console.log(`Issue ${issue.number} skipped due to milestone ${issue.milestoneId} found in list of ignored milestone IDs.`);
if (issue.milestone.milestoneId == +str) {
safeLog(`Issue ${issue.number} skipped due to milestone ${issue.milestone.milestoneId} found in list of ignored milestone IDs.`);
return false;
}
}
@@ -171,14 +172,14 @@ export class ActionBase {
}
if (this.minimumVotes != undefined) {
if (upvotes < this.minimumVotes) {
console.log(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
safeLog(`Issue ${issue.number} skipped due to not having at least ${this.minimumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
// Verify the issue does not have too many upvotes
if (this.maximumVotes != undefined) {
if (upvotes > this.maximumVotes) {
console.log(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
safeLog(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
+7
View File
@@ -0,0 +1,7 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=OctokitTypings.js.map
+16
View File
@@ -0,0 +1,16 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import type { RestEndpointMethodTypes } from '@octokit/rest';
// This file is just to re-export some octokit types as nicer names
export type ActionsListWorkflowRunsResponseWorkflowRunsItem =
RestEndpointMethodTypes['actions']['listWorkflowRuns']['response']['data']['workflow_runs'][0];
export type IssueGetResponse = RestEndpointMethodTypes['issues']['get']['response']['data'];
export type IssuesGetResponseMilestone =
RestEndpointMethodTypes['issues']['get']['response']['data']['milestone'];
+38 -18
View File
@@ -4,14 +4,16 @@
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.logErrorToIssue = exports.errorLoggingIssue = exports.getRateLimit = exports.daysAgoToHumanReadbleDate = exports.daysAgoToTimestamp = exports.loadLatestRelease = exports.normalizeIssue = exports.getRequiredInput = exports.getInput = void 0;
exports.safeLog = exports.logErrorToIssue = exports.errorLoggingIssue = exports.getRateLimit = exports.daysAgoToHumanReadbleDate = exports.daysAgoToTimestamp = exports.loadLatestRelease = exports.normalizeIssue = exports.getRequiredInput = exports.getInput = void 0;
const core = require("@actions/core");
const github_1 = require("@actions/github");
const axios_1 = require("axios");
const octokit_1 = require("../api/octokit");
exports.getInput = (name) => core.getInput(name) || undefined;
exports.getRequiredInput = (name) => core.getInput(name, { required: true });
exports.normalizeIssue = (issue) => {
const getInput = (name) => core.getInput(name) || undefined;
exports.getInput = getInput;
const getRequiredInput = (name) => core.getInput(name, { required: true });
exports.getRequiredInput = getRequiredInput;
const normalizeIssue = (issue) => {
let { body, title } = issue;
body = body !== null && body !== void 0 ? body : '';
title = title !== null && title !== void 0 ? title : '';
@@ -43,25 +45,36 @@ exports.normalizeIssue = (issue) => {
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
};
};
exports.loadLatestRelease = async (quality) => (await axios_1.default.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data;
exports.daysAgoToTimestamp = (days) => +new Date(Date.now() - days * 24 * 60 * 60 * 1000);
exports.daysAgoToHumanReadbleDate = (days) => new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
exports.getRateLimit = async (token) => {
const usageData = (await new github_1.GitHub(token).rateLimit.get()).data.resources;
exports.normalizeIssue = normalizeIssue;
const loadLatestRelease = async (quality) => (await axios_1.default.get(`https://update.code.visualstudio.com/api/update/darwin/${quality}/latest`)).data;
exports.loadLatestRelease = loadLatestRelease;
const daysAgoToTimestamp = (days) => +new Date(Date.now() - days * 24 * 60 * 60 * 1000);
exports.daysAgoToTimestamp = daysAgoToTimestamp;
const daysAgoToHumanReadbleDate = (days) => new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
exports.daysAgoToHumanReadbleDate = daysAgoToHumanReadbleDate;
const getRateLimit = async (token) => {
const usageData = (await (0, github_1.getOctokit)(token).rest.rateLimit.get()).data.resources;
const usage = {};
['core', 'graphql', 'search'].forEach(async (category) => {
usage[category] = 1 - usageData[category].remaining / usageData[category].limit;
var _a, _b, _c, _d;
if (usageData[category]) {
usage[category] = 1 - ((_b = (_a = usageData[category]) === null || _a === void 0 ? void 0 : _a.remaining) !== null && _b !== void 0 ? _b : 0) / ((_d = (_c = usageData[category]) === null || _c === void 0 ? void 0 : _c.limit) !== null && _d !== void 0 ? _d : 1);
}
});
return usage;
};
exports.getRateLimit = getRateLimit;
exports.errorLoggingIssue = (() => {
try {
const repo = github_1.context.repo.owner.toLowerCase() + '/' + github_1.context.repo.repo.toLowerCase();
if (repo === 'microsoft/vscode-cpptools') {
return { repo: 'vscode-cpptools', owner: 'Microsoft', issue: 6282 };
if (repo === 'microsoft/vscode' || repo === 'microsoft/vscode-remote-release') {
return { repo: 'vscode', owner: 'Microsoft', issue: 93814 };
}
else if (exports.getInput('errorLogIssueNumber')) {
return { ...github_1.context.repo, issue: +exports.getRequiredInput('errorLogIssueNumber') };
else if (/microsoft\//.test(repo)) {
return { repo: 'vscode-internalbacklog', owner: 'Microsoft', issue: 974 };
}
else if ((0, exports.getInput)('errorLogIssueNumber')) {
return { ...github_1.context.repo, issue: +(0, exports.getRequiredInput)('errorLogIssueNumber') };
}
else {
return undefined;
@@ -72,19 +85,20 @@ exports.errorLoggingIssue = (() => {
return undefined;
}
})();
exports.logErrorToIssue = async (message, ping, token) => {
const logErrorToIssue = async (message, ping, token) => {
var _a;
// Attempt to wait out abuse detection timeout if present
await new Promise((resolve) => setTimeout(resolve, 10000));
const dest = exports.errorLoggingIssue;
if (!dest)
return console.log('no error logging repo defined. swallowing error:', message);
return new octokit_1.OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue }, { readonly: !!exports.getInput('readonly') })
return console.log('no error logging repo defined. swallowing error.');
return new octokit_1.OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue })
.postComment(`
Workflow: ${github_1.context.workflow}
Error: ${message}
Issue: ${ping ? `${github_1.context.repo.owner}/${github_1.context.repo.repo}#` : ''}${github_1.context.issue.number}
Issue: ${ping ? `${github_1.context.repo.owner}/${github_1.context.repo.repo}#` : ''}${(_a = github_1.context.issue) === null || _a === void 0 ? void 0 : _a.number}
Repo: ${github_1.context.repo.owner}/${github_1.context.repo.repo}
@@ -96,4 +110,10 @@ ${JSON.stringify(github_1.context, null, 2)
-->
`);
};
exports.logErrorToIssue = logErrorToIssue;
const safeLog = (message, ...args) => {
const clean = (val) => ('' + val).replace(/:|#/g, '');
console.log(clean(message), ...args.map(clean));
};
exports.safeLog = safeLog;
//# sourceMappingURL=utils.js.map
+57 -47
View File
@@ -3,24 +3,24 @@
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as core from '@actions/core'
import { context, GitHub } from '@actions/github'
import axios from 'axios'
import { OctoKitIssue } from '../api/octokit'
import * as core from '@actions/core';
import { context, getOctokit } from '@actions/github';
import axios from 'axios';
import { OctoKitIssue } from '../api/octokit';
export const getInput = (name: string) => core.getInput(name) || undefined
export const getRequiredInput = (name: string) => core.getInput(name, { required: true })
export const getInput = (name: string) => core.getInput(name) || undefined;
export const getRequiredInput = (name: string) => core.getInput(name, { required: true });
export const normalizeIssue = (issue: {
body: string
title: string
body: string;
title: string;
}): { body: string; title: string; issueType: 'bug' | 'feature_request' | 'unknown' } => {
let { body, title } = issue
body = body ?? ''
title = title ?? ''
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body)
let { body, title } = issue;
body = body ?? '';
title = title ?? '';
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body);
const isFeatureRequest =
body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body)
body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body);
const cleanse = (str: string) => {
let out = str
@@ -34,78 +34,83 @@ export const normalizeIssue = (issue: {
.replace(/does this issue occur when all extensions are disabled.*/gu, '')
.replace(/!?\[[^\]]*\]\([^)]*\)/gu, '')
.replace(/\s+/gu, ' ')
.replace(/```[^`]*?```/gu, '')
.replace(/```[^`]*?```/gu, '');
while (
out.includes(`<details>`) &&
out.includes('</details>') &&
out.indexOf(`</details>`) > out.indexOf(`<details>`)
) {
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10)
out = out.slice(0, out.indexOf('<details>')) + out.slice(out.indexOf(`</details>`) + 10);
}
return out
}
return out;
};
return {
body: cleanse(body),
title: cleanse(title),
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
}
}
};
};
export interface Release {
productVersion: string
timestamp: number
version: string
productVersion: string;
timestamp: number;
version: string;
}
export const loadLatestRelease = async (quality: 'stable' | 'insider'): Promise<Release | undefined> =>
(await axios.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data
(await axios.get(`https://update.code.visualstudio.com/api/update/darwin/${quality}/latest`)).data;
export const daysAgoToTimestamp = (days: number): number => +new Date(Date.now() - days * 24 * 60 * 60 * 1000)
export const daysAgoToTimestamp = (days: number): number =>
+new Date(Date.now() - days * 24 * 60 * 60 * 1000);
export const daysAgoToHumanReadbleDate = (days: number) =>
new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '')
new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
export const getRateLimit = async (token: string) => {
const usageData = (await new GitHub(token).rateLimit.get()).data.resources
const usage = {} as { core: number; graphql: number; search: number }
;(['core', 'graphql', 'search'] as const).forEach(async (category) => {
usage[category] = 1 - usageData[category].remaining / usageData[category].limit
})
return usage
}
const usageData = (await getOctokit(token).rest.rateLimit.get()).data.resources;
const usage = {} as { core: number; graphql: number; search: number };
(['core', 'graphql', 'search'] as const).forEach(async (category) => {
if (usageData[category]) {
usage[category] = 1 - (usageData[category]?.remaining ?? 0) / (usageData[category]?.limit ?? 1);
}
});
return usage;
};
export const errorLoggingIssue = (() => {
try {
const repo = context.repo.owner.toLowerCase() + '/' + context.repo.repo.toLowerCase()
if (repo === 'microsoft/vscode-cpptools') {
return { repo: 'vscode-cpptools', owner: 'Microsoft', issue: 6282 }
const repo = context.repo.owner.toLowerCase() + '/' + context.repo.repo.toLowerCase();
if (repo === 'microsoft/vscode' || repo === 'microsoft/vscode-remote-release') {
return { repo: 'vscode', owner: 'Microsoft', issue: 93814 };
} else if (/microsoft\//.test(repo)) {
return { repo: 'vscode-internalbacklog', owner: 'Microsoft', issue: 974 };
} else if (getInput('errorLogIssueNumber')) {
return { ...context.repo, issue: +getRequiredInput('errorLogIssueNumber') }
return { ...context.repo, issue: +getRequiredInput('errorLogIssueNumber') };
} else {
return undefined
return undefined;
}
} catch (e) {
console.error(e)
return undefined
console.error(e);
return undefined;
}
})()
})();
export const logErrorToIssue = async (message: string, ping: boolean, token: string): Promise<void> => {
// Attempt to wait out abuse detection timeout if present
await new Promise((resolve) => setTimeout(resolve, 10000))
const dest = errorLoggingIssue
if (!dest) return console.log('no error logging repo defined. swallowing error:', message)
await new Promise((resolve) => setTimeout(resolve, 10000));
const dest = errorLoggingIssue;
if (!dest) return console.log('no error logging repo defined. swallowing error.');
return new OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue }, { readonly: !!getInput('readonly') })
return new OctoKitIssue(token, { owner: dest.owner, repo: dest.repo }, { number: dest.issue })
.postComment(`
Workflow: ${context.workflow}
Error: ${message}
Issue: ${ping ? `${context.repo.owner}/${context.repo.repo}#` : ''}${context.issue.number}
Issue: ${ping ? `${context.repo.owner}/${context.repo.repo}#` : ''}${context.issue?.number}
Repo: ${context.repo.owner}/${context.repo.repo}
@@ -115,5 +120,10 @@ ${JSON.stringify(context, null, 2)
.replace(/-->/gu, '--@>')
.replace(/\/|\\/gu, 'slash-')}
-->
`)
}
`);
};
export const safeLog = (message: string, ...args: (string | number | string[])[]): void => {
const clean = (val: any) => ('' + val).replace(/:|#/g, '');
console.log(clean(message), ...args.map(clean));
};
+5933 -796
View File
File diff suppressed because it is too large Load Diff
+29 -5
View File
@@ -10,12 +10,36 @@
"keywords": [],
"author": "",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/github": "^2.1.1",
"axios": "^0.21.1"
"@actions/core": "^1.9.1",
"@actions/github": "^5.0.3",
"@octokit/rest": "^19.0.3",
"@slack/web-api": "^6.7.2",
"applicationinsights": "^2.3.1",
"axios": "^0.27.2",
"uuid": "^8.3.2"
},
"devDependencies": {
"eslint": "^6.8.0",
"typescript": "^3.8.3"
"@azure/storage-blob": "^12.11.0",
"@types/chai": "^4.3.3",
"@types/mocha": "^9.1.1",
"@types/uuid": "^8.3.4",
"@types/yargs": "^17.0.11",
"@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.33.0",
"chai": "^4.3.6",
"eslint": "^8.21.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"husky": "^8.0.1",
"mocha": "^10.0.0",
"mongodb": "^4.8.1",
"nock": "^13.2.9",
"prettier": "2.7.1",
"ts-node": "^10.9.1",
"typescript": "^4.7.4",
"yargs": "^17.5.1"
},
"resolutions": {
"minimatch": "^3.0.5"
}
}
+1
View File
@@ -6,6 +6,7 @@
"moduleResolution": "node",
"removeComments": false,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"lib": [
"es2020"
@@ -23,4 +23,4 @@ jobs:
labels: by design,debugger
ignoreLabels: language service,internal
closeDays: 0
closeComment: "This issue has been closed automatically because it's labeled as 'by design'."
closeComment: "This issue has been closed because the described behavior was determined to be by design."
+1 -1
View File
@@ -23,6 +23,6 @@ jobs:
labels: by design
ignoreLabels: debugger,Feature Request,more info needed,internal
closeDays: 60
closeComment: "This issue has been closed automatically because it's labeled as 'by design' and has not had recent activity."
closeComment: "This issue has been closed because the described behavior was determined to be by design."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
+5 -13
View File
@@ -22,18 +22,10 @@ jobs:
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
@@ -48,8 +40,8 @@ jobs:
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
uses: GabrielBB/[email protected]
with:
run: yarn run integrationTests
working-directory: Extension
# - name: Run languageServer integration tests
# uses: GabrielBB/[email protected]
# with:
# run: yarn run integrationTests
# working-directory: Extension
+5 -13
View File
@@ -22,18 +22,10 @@ jobs:
run: yarn install --network-timeout 100000
working-directory: Extension
- name: Generate hashes for runtime dependency packages
run: yarn run generatePackageHashes
working-directory: Extension
- name: Compile Sources
run: yarn run compile
working-directory: Extension
- name: Validate Extension/package.json
run: yarn run pr-check
working-directory: Extension
- name: Run Linter
run: yarn run lint
working-directory: Extension
@@ -48,8 +40,8 @@ jobs:
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
uses: GabrielBB/[email protected]
with:
run: yarn run integrationTests
working-directory: Extension
# - name: Run languageServer integration tests
# uses: GabrielBB/[email protected]
# with:
# run: yarn run integrationTests
# working-directory: Extension
+3 -11
View File
@@ -22,18 +22,10 @@ jobs:
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
@@ -46,6 +38,6 @@ jobs:
run: yarn run unitTests
working-directory: Extension
- name: Run languageServer integration tests
run: yarn run integrationTests
working-directory: Extension
# - name: Run languageServer integration tests
# run: yarn run integrationTests
# working-directory: Extension
+1 -1
View File
@@ -23,6 +23,6 @@ jobs:
labels: duplicate
ignoreLabels: debugger,Feature Request,more info needed,by design,internal
closeDays: 60
closeComment: "This issue has been closed automatically because it's labeled as a 'duplicate' and has not had recent activity."
closeComment: "This issue has been closed because it is a duplicate of another issue we are tracking."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if it is no longer relevant."
@@ -0,0 +1,30 @@
name: Enhancement Closer (no milestone)
on:
schedule:
- cron: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
workflow_dispatch:
inputs:
readonly:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: enhancement
ignoreLabels: debugger,internal,Feature Request
addLabels: more votes needed
closeDays: 60
maximumVotes: 2
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
setMilestoneId: 30
ignoreMilestoneNames: "*"
@@ -0,0 +1,30 @@
name: Enhancement Closer (Triage)
on:
schedule:
- cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
workflow_dispatch:
inputs:
readonly:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Stale Closer
uses: ./.github/actions/StaleCloser
with:
readonly: ${{ github.event.inputs.readonly }}
labels: enhancement
ignoreLabels: debugger,internal,Feature Request
addLabels: more votes needed
closeDays: 60
maximumVotes: 2
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
milestoneName: Triage
milestoneId: 30
@@ -0,0 +1,31 @@
name: Enhancement Reopener
on:
schedule:
- cron: 20 12 * * * # Run at 12:20 PM UTC (4:20 AM PST, 5:20 AM PDT)
workflow_dispatch:
inputs:
readonly:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Run Reopener
uses: ./.github/actions/Reopener
with:
readonly: ${{ github.event.inputs.readonly }}
alsoApplyToOpenIssues: true
reopenComment: This feature request has received enough votes to be added to our backlog.
labels: enhancement
minimumVotes: 3
ignoreLabels: debugger,internal,Feature Request
milestoneId: 30
milestoneName: Triage
setMilestoneId: 28
removeLabels: more votes needed
@@ -23,4 +23,4 @@ jobs:
labels: external,debugger
ignoreLabels: language service,internal
closeDays: 0
closeComment: "This issue has been closed automatically because it's labeled as 'external'."
closeComment: "This issue has been closed because it is external or not applicable to the extension."
@@ -25,6 +25,6 @@ jobs:
addLabels: more votes needed
closeDays: 60
maximumVotes: 2
closeComment: "This feature request is being closed due to insufficient upvotes. When enough upvotes are received, this issue will be eligible for our backlog."
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
setMilestoneId: 30
ignoreMilestoneNames: "*"
@@ -25,6 +25,6 @@ jobs:
addLabels: more votes needed
closeDays: 60
maximumVotes: 2
closeComment: "This feature request is being closed due to insufficient upvotes. When enough upvotes are received, this issue will be eligible for our backlog."
closeComment: "This feature request is being closed due to insufficient upvotes. Please leave a 👍-upvote or 👎-downvote reaction on the issue to help us prioritize it. When enough upvotes are received, this issue will be eligible for our backlog."
milestoneName: Triage
milestoneId: 30
@@ -23,4 +23,4 @@ jobs:
labels: investigate,debugger
ignoreLabels: language service,internal
closeDays: 180
closeComment: "This issue has been closed automatically because it has not had recent activity."
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
@@ -23,4 +23,4 @@ jobs:
labels: "investigate: costing,debugger"
ignoreLabels: language service,internal
closeDays: 180
closeComment: "This issue has been closed automatically because it has not had recent activity."
closeComment: "This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue."
@@ -24,6 +24,6 @@ jobs:
ignoreLabels: language service,internal
involves: wardengnaw,pieandcakes,calgagi
closeDays: 14
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity."
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
pingDays: 7
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
@@ -23,6 +23,6 @@ jobs:
labels: more info needed
ignoreLabels: debugger,internal
closeDays: 60
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity."
closeComment: "This issue has been closed 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."
@@ -24,6 +24,6 @@ jobs:
ignoreLabels: language service,internal
involves: wardengnaw,pieandcakes,calgagi
closeDays: 14
closeComment: "This issue has been closed automatically because it's labeled as a 'question' and has not had recent activity."
closeComment: "This issue has been closed because it is a question and has not had recent activity."
pingDays: 7
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
+1 -1
View File
@@ -23,6 +23,6 @@ jobs:
labels: question
ignoreLabels: debugger,internal
closeDays: 60
closeComment: "This issue has been closed automatically because it's labeled as a 'question' and has not had recent activity."
closeComment: "This issue has been closed because it is a question and has not had recent activity."
pingDays: 80
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the question has been answered."
+3 -1
View File
@@ -6,8 +6,10 @@ browse*.db*
*.exe
*.ilk
# ignore exported localization xlf directory
# ignore exported localization xlf and LCL directories
Build/loc/LCL
vscode-extensions-localization-export
OneLocBuild
# ignore imported localization xlf directory
vscode-translations-import
+6
View File
@@ -0,0 +1,6 @@
This folder contains the entitlements needed for the debugger to run on macOS.
We use the entitlements that the .net runtime uses. See https://github.com/dotnet/runtime/blob/57678512d214af368ff055f358c5106f1aa19ac4/eng/pipelines/common/entitlements.plist
Related Links:
https://docs.microsoft.com/en-us/dotnet/core/install/macos-notarization-issues#default-entitlements
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.debugger</key>
<true/>
<key>com.apple.security.get-task-allow</key>
<true/>
<key>com.apple.security.task_for_pid-allow</key>
<true/>
</dict>
</plist>
+30
View File
@@ -0,0 +1,30 @@
---
parameters:
archs: ["x86_64", "arm64"]
jobs:
- job:
pool:
name: VSEngSS-MicroBuild2022-1ES
steps:
- checkout: none
- ${{ each arch in parameters.archs }}:
- task: DownloadPipelineArtifact@1
displayName: 'Downloading unsigned_lldb-mi_${{ arch }}'
inputs:
targetPath: '$(Pipeline.Workspace)/Artifacts'
artifactName: 'unsigned_lldb-mi_${{ arch }}'
- task: MicroBuildSignMacFiles@1
displayName: 'ESRP Sign'
inputs:
SigningTarget: '$(Pipeline.Workspace)\Artifacts\lldb-mi_${{ arch }}.zip'
SigningCert: 8023
- task: PublishPipelineArtifact@1
displayName: 'Publish signed LLDB-MI'
inputs:
targetPath: '$(Pipeline.Workspace)\Artifacts\lldb-mi_${{ arch }}.zip'
artifactName: 'lldb-mi_${{ arch }}_zip'
...
+160
View File
@@ -0,0 +1,160 @@
parameters:
# Note: Make sure llvm_repo is the same as the one in Extension/cgmanifest.json
# 'RepositoryUrl' for llvm-project.
llvm_repo: https://github.com/llvm/llvm-project.git
# Note: Make sure llvm_commit is the same as the one in Extension/cgmanifest.json
# 'CommitHash' for llvm-project.
llvm_commit: 0d44201451f03ba907cdb268ddddfc3fa38a0ebd
llvm_build_type: Release
llvm_arch: x86_64
llvm_additional_parameters: "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON -DLLDB_RELOCATABLE_PYTHON=1 -DLLDB_INCLUDE_TESTS=OFF -DLLDB_BUILD_FRAMEWORK=1"
# Note: Make sure lldb_mi_repo is the same as the one in Extension/cgmanifest.json
# 'CommitHash' for lldb-mi.
lldb_mi_repo: https://github.com/lldb-tools/lldb-mi.git
# Note: Make sure lldb_mi_commit is the same as the one in Extension/cgmanifest.json
# 'CommitHash' for lldb-mi.
lldb_mi_commit: 2388bd74133bc21eac59b2e2bf97f2a30770a315
lldb_mi_additional_parameters: "-DUSE_LLDB_FRAMEWORK=1"
jobs:
- job: LLDB_MI_${{ parameters.llvm_arch }}
timeoutInMinutes: 360
pool:
${{if eq(parameters['llvm_arch'], 'arm64')}}:
name: cpptoolsMacM1pool
${{ else }}:
vmImage: macOS-latest
steps:
- task: CmdLine@2
displayName: 'Install Dependencies'
inputs:
script: brew install cmake ninja swig
continueOnError: true
- task: CmdLine@2
displayName: 'Make sure buildspace does not exist'
inputs:
script: rm -rf $(Build.StagingDirectory)/buildspace
condition: always()
- task: CmdLine@2
displayName: 'Build LLVM Project'
inputs:
script: |
log_and_exec_cmd() {
echo "##[command] $1"
$1
}
log_and_exec_cmd "sudo rm -rf /Library/Developer/CommandLineTools"
log_and_exec_cmd "sudo xcode-select --switch /Applications/XCode.app"
log_and_exec_cmd "cd $(Build.StagingDirectory)"
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace"
log_and_exec_cmd "git clone ${{ parameters.llvm_repo }} llvm-project"
log_and_exec_cmd "cd llvm-project"
log_and_exec_cmd "git checkout ${{ parameters.llvm_commit }}"
log_and_exec_cmd "./lldb/scripts/macos-setup-codesign.sh"
log_and_exec_cmd "cd .."
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-inst"
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-build"
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace/llvm-build"
log_and_exec_cmd "cmake -DLLVM_ENABLE_PROJECTS=clang;lldb -DCMAKE_BUILD_TYPE=${{ parameters.llvm_build_type }} -DCMAKE_INSTALL_PREFIX=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=${{ parameters.llvm_arch }} ${{ parameters.llvm_additional_parameters }} -GNinja $(Build.StagingDirectory)/llvm-project/llvm"
if [[ $? -ne 0 ]]
then
echo "##[error] cmake llvm failed"
cat $(Build.SourcesDirectory)/buildspace/llvm-build/CMakeFiles/CMakeError.log
exit 1
fi
log_and_exec_cmd ninja
if [[ $? -ne 0 ]]
then
echo "##[error] ninja failed"
exit 1
fi
### Workaround for https://github.com/llvm/llvm-project/issues/108
log_and_exec_cmd "ninja install"
# Remove conflicting LLDB.framework file.
log_and_exec_cmd "rm -rf $(Build.StagingDirectory)/buildspace/llvm-inst/Library/Frameworks/LLDB.framework"
# Build lldb/sources/API first
log_and_exec_cmd "cmake -P $(Build.StagingDirectory)/buildspace/llvm-build/tools/lldb/source/API/cmake_install.cmake"
### End of Workaround
log_and_exec_cmd "ninja install"
if [[ $? -ne 0 ]]
then
echo "##[error] ninja install failed"
exit 1
fi
echo "##[section] Build LLDB-MI"
# Download lldb-mi and build it against our custom installation.
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace"
log_and_exec_cmd "git clone ${{ parameters.lldb_mi_repo }} lldb-mi"
log_and_exec_cmd "cd lldb-mi"
log_and_exec_cmd "git checkout ${{ parameters.lldb_mi_commit }}"
# Create a separate build directory for building lldb-mi.
log_and_exec_cmd "mkdir build"
log_and_exec_cmd "cd build"
log_and_exec_cmd "cmake -DCMAKE_PREFIX_PATH=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=${{ parameters.llvm_arch }} ${{ parameters.lldb_mi_additional_parameters }} -GNinja .."
log_and_exec_cmd "ninja"
if [[ $? -ne 0 ]]
then
echo "##[error] ninja failed"
exit 1
fi
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/publish"
log_and_exec_cmd "cd $(Build.StagingDirectory)/publish"
log_and_exec_cmd "mkdir -p ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin"
log_and_exec_cmd "cp $(Build.StagingDirectory)/buildspace/lldb-mi/build/src/lldb-mi ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/."
# Set rpath for finding LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath @rpath/LLDB.framework/Versions/A/LLDB ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
# Set rpath for App Store XCode LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath /Applications/Xcode.app/Contents/SharedFrameworks/ ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
# Set rpath for XCode CLI LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath /Library/Developer/CommandLineTools/Library/PrivateFrameworks/ ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
# Set rpath next to the lldb-mi executable LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath @executable_path/. ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
# Add entitlements
log_and_exec_cmd "codesign -s - -f --entitlements $(Build.SourcesDirectory)/Build/lldb-mi/debugger-entitlements.plist ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/bin/lldb-mi"
# Grab NOTICE.TXT
cp $(Build.SourcesDirectory)/Build/lldb-mi/NOTICE.TXT ./debugAdapters/lldb-mi_${{ parameters.llvm_arch }}/.
zip -r $(Build.StagingDirectory)/lldb-mi_${{ parameters.llvm_arch }}.zip ./debugAdapters
- task: PublishPipelineArtifact@1
displayName: 'Publish LLDB-MI'
inputs:
targetPath: '$(Build.StagingDirectory)/lldb-mi_${{ parameters.llvm_arch }}.zip'
artifactName: 'unsigned_lldb-mi_${{ parameters.llvm_arch }}'
- task: CmdLine@2
displayName: 'Clean up'
inputs:
script: rm -rf $(Build.StagingDirectory)/buildspace
condition: always()
+21 -123
View File
@@ -1,125 +1,23 @@
variables:
llvm_repo: https://github.com/llvm/llvm-project.git
llvm_branch: release/10.x
llvm_build_type: Release
llvm_arch: x86_64
llvm_additional_parameters: "-DLLDB_RELOCATABLE_PYTHON=1 -DLLDB_INCLUDE_TESTS=OFF -DLLDB_BUILD_FRAMEWORK=1"
# TODO: fix lldb_mi_repo and lldb_mi_branch (https://github.com/lldb-tools/lldb-mi/pull/37 and https://github.com/lldb-tools/lldb-mi/pull/39)
lldb_mi_repo: https://github.com/WardenGnaw/lldb-mi # TODO: Change to lldb-tools
lldb_mi_branch: release/cpptools # TODO: Change to main
lldb_mi_additional_parameters: "-DUSE_LLDB_FRAMEWORK=1"
parameters:
- name: Build_Type
displayName: Build Type
type: string
default: Release
jobs:
- job: LLDB_MI
timeoutInMinutes: 360
pool:
vmImage: 'macOS-latest'
steps:
- task: CmdLine@2
displayName: 'Install Dependencies'
inputs:
script: brew install cmake ninja swig
continueOnError: true
stages:
- stage: Build
dependsOn: []
jobs:
- template: lldb-mi.template.yml
parameters:
llvm_build_type: ${{ parameters.Build_Type }}
llvm_arch: x86_64
- template: lldb-mi.template.yml
parameters:
llvm_build_type: ${{ parameters.Build_Type }}
llvm_arch: arm64
- task: CmdLine@2
displayName: 'Build LLVM Project'
inputs:
script: |
log_and_exec_cmd() {
echo "##[command] $1"
$1
}
log_and_exec_cmd "cd $(Build.StagingDirectory)"
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace"
log_and_exec_cmd "git clone $(llvm_repo) llvm-project"
log_and_exec_cmd "cd llvm-project"
log_and_exec_cmd "git checkout $(llvm_branch)"
log_and_exec_cmd "./lldb/scripts/macos-setup-codesign.sh"
log_and_exec_cmd "cd .."
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-inst"
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/buildspace/llvm-build"
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace/llvm-build"
log_and_exec_cmd "cmake -DLLVM_ENABLE_PROJECTS=clang;lldb -DCMAKE_BUILD_TYPE=$(llvm_build_type) -DCMAKE_INSTALL_PREFIX=$(Build.StagingDirectory)/buildspace/llvm-inst/ -DCMAKE_OSX_ARCHITECTURES=$(llvm_arch) $(llvm_additional_parameters) -GNinja $(Build.StagingDirectory)/llvm-project/llvm"
if [[ $? -ne 0 ]]
then
echo "##[error] cmake llvm failed"
cat $(Build.SourcesDirectory)/buildspace/llvm-build/CMakeFiles/CMakeError.log
exit 1
fi
log_and_exec_cmd ninja
if [[ $? -ne 0 ]]
then
echo "##[error] ninja failed"
exit 1
fi
### Workaround for https://github.com/llvm/llvm-project/issues/108
log_and_exec_cmd "ninja install"
# Remove conflicting LLDB.framework file.
log_and_exec_cmd "rm -rf $(Build.StagingDirectory)/buildspace/llvm-inst/Library/Frameworks/LLDB.framework"
# Build lldb/sources/API first
log_and_exec_cmd "cmake -P $(Build.StagingDirectory)/buildspace/llvm-build/tools/lldb/source/API/cmake_install.cmake"
### End of Workaround
log_and_exec_cmd "ninja install"
if [[ $? -ne 0 ]]
then
echo "##[error] ninja install failed"
exit 1
fi
echo "##[section] Build LLDB-MI"
# Download lldb-mi and build it against our custom installation.
log_and_exec_cmd "cd $(Build.StagingDirectory)/buildspace"
log_and_exec_cmd "git clone $(lldb_mi_repo) lldb-mi"
log_and_exec_cmd "cd lldb-mi"
log_and_exec_cmd "git checkout $(lldb_mi_branch)"
# Create a separate build directory for building lldb-mi.
log_and_exec_cmd "mkdir build"
log_and_exec_cmd "cd build"
log_and_exec_cmd "cmake -DCMAKE_PREFIX_PATH=$(Build.StagingDirectory)/buildspace/llvm-inst/ $(lldb_mi_additional_parameters) -GNinja .."
log_and_exec_cmd "ninja"
if [[ $? -ne 0 ]]
then
echo "##[error] ninja failed"
exit 1
fi
log_and_exec_cmd "mkdir $(Build.StagingDirectory)/publish"
log_and_exec_cmd "cd $(Build.StagingDirectory)/publish"
log_and_exec_cmd "mkdir -p ./debugAdapters/lldb-mi/bin"
log_and_exec_cmd "cp $(Build.StagingDirectory)/buildspace/lldb-mi/build/src/lldb-mi ./debugAdapters/lldb-mi/bin/."
# Set rpath for finding LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath @rpath/LLDB.framework/Versions/A/LLDB ./debugAdapters/lldb-mi/bin/lldb-mi"
# Set rpath for App Store XCode LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath /Applications/Xcode.app/Contents/SharedFrameworks/ ./debugAdapters/lldb-mi/bin/lldb-mi"
# Set rpath for XCode CLI LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath /Library/Developer/CommandLineTools/Library/PrivateFrameworks/ ./debugAdapters/lldb-mi/bin/lldb-mi"
# Set rpath next to the lldb-mi executable LLDB.Framework
log_and_exec_cmd "install_name_tool -add_rpath @executable_path/. ./debugAdapters/lldb-mi/bin/lldb-mi"
# Grab NOTICE.TXT
cp $(Build.SourcesDirectory)/Build/lldb-mi/NOTICE.TXT ./debugAdapters/lldb-mi/.
# Build can be found at https://dev.azure.com/ms/vscode-cpptools/_build?definitionId=313
# Click on the build and select 'Artifacts'
- task: PublishPipelineArtifact@1
displayName: 'Publish LLDB-MI'
inputs:
targetPath: '$(Build.StagingDirectory)/publish'
artifactName: 'lldb-mi'
- stage: Signing
dependsOn: ["Build"]
jobs:
- template: lldb-mi-sign.template.yml
+14
View File
@@ -0,0 +1,14 @@
{
"Projects": [
{
"LanguangeSet": "VS_Main_Languages",
"LocItems": [
{
"SourceFile": "vscode-extensions-localization-export\\vscode-extensions\\vscode-cpptools.xlf",
"Languages": "cs;de;es;fr;it;ja;ko;pl;pt-BR;ru;tr;zh-Hans;zh-Hant",
"LclFile": "Build\\loc\\LCL\\{Lang}\\vscode-cpptools.xlf.lcl"
}
]
}
]
}
+57
View File
@@ -0,0 +1,57 @@
# ==================================================================================
# Pipeline for VsCodeExtension-Localization build definition
# Runs OneLocBuild task to localize xlf file
# ==================================================================================
resources:
repositories:
- repository: self
clean: true
trigger: none
pr: none
schedules:
- cron: "0 7 * * *"
displayName: Daily 7 AM
branches:
include:
- main
always: true
pool:
name: 'AzurePipelines-EO'
demands:
- ImageOverride -equals AzurePipelinesWindows2022compliant
steps:
- task: CmdLine@2
inputs:
script: 'cd Extension && yarn install'
- task: CmdLine@2
inputs:
script: 'cd ./Extension && yarn run translations-export && cd ..'
- task: OneLocBuild@2
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
inputs:
locProj: 'Build/loc/LocProject.json'
outDir: '$(Build.ArtifactStagingDirectory)'
isCreatePrSelected: false
prSourceBranchPrefix: 'locfiles'
packageSourceAuth: 'patAuth'
patVariable: '$(OneLocBuildPat)'
LclSource: lclFilesfromPackage
LclPackageId: 'LCL-JUNO-PROD-VCPP'
lsBuildXLocPackageVersion: '7.0.30510'
- task: CmdLine@2
inputs:
script: 'cd Extension && node ./translations_auto_pr.js microsoft vscode-cpptools csigs $(csigsPat) csigs [email protected] "$(Build.ArtifactStagingDirectory)/loc" vscode-extensions-localization-export/vscode-extensions && cd ..'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
+1 -1
View File
@@ -21,4 +21,4 @@ This option will generate a tasks.json file for you, build your active source fi
### F5
Another way to begin building and debugging your active file is to execute the command by pressing <kbd>F5</kbd>. This method will configure
both a tasks.json and launch.json file for you, build your active source file, and then launch the debugger.
both a tasks.json and launch.json file for you, build your active source file, and then launch the debugger.
+1 -1
View File
@@ -1,3 +1,3 @@
# Fib
This code sample is to show debugging. Update `launch.json` and `tasks.json` in the `.vscode` folder to use your setup to build and debug.
This code sample is to show debugging. Update `launch.json` and `tasks.json` in the `.vscode` folder to use your setup to build and debug.
+6 -6
View File
@@ -15,14 +15,14 @@ static int fib(int n){
switch (n) {
case 0: return 1;
case 1: return 1;
default: return (fib(n-2) + fib(n-1));
}
default: return (fib(n-2) + fib(n-1));
}
}
void * thread_proc(void* ctx)
{
int tid = g_tid++;
char thread_name[16];
sprintf(thread_name, "Thread %d", tid);
#ifdef __APPLE__
@@ -30,19 +30,19 @@ void * thread_proc(void* ctx)
#else
pthread_setname_np(pthread_self(), thread_name);
#endif
// Random delay, 0 - 0.5 sec
timespec ts;
ts.tv_sec = 0;
ts.tv_nsec = 500000000 + ((float)rand() / (float)RAND_MAX) * 500000000;
nanosleep(&ts, NULL);
volatile int i = 0;
while (i <= 30) {
std::cout << "Thread " << tid << ": fib(" << i << ") = " << fib(i) << std::endl;
i++;
nanosleep(&ts, NULL);
}
std::cout << thread_name << " exited!" << std::endl;
}
+10 -2
View File
@@ -10,6 +10,14 @@ Prerequisite steps:
* From a command line, run the following commands from the **Extension** folder in the root of the repository:
* `yarn install` will install the dependencies needed to build the extension.
* **(optional)** `yarn global add vsce` will install `vsce` globally to create a VSIX package that you can install.
* **(optional)** Set an environment variable `CPPTOOLS_DEV=1`.
* This enables the local developer workflow when testing the debugger, copying dependencies from the **node_modules** folder. Testing the language server does not require this step.
* Open the **Extension** folder in Visual Studio Code and press F5. This will launch a VS Code Extension Host window and activate the TypeScript debugger. You can set breakpoints on the extension source code and debug your scenario.
* If, after pressing F5, you see the following error in the `[Extension Development Host]` window,
> Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: Missing binary at .../vscode-cpptools/Extension/bin/cpptools
* Then, you can follow the instructions in this [comment in a discussion about building this extension locally](https://github.com/microsoft/vscode-cpptools/discussions/8745#discussioncomment-2091563).
> get the <package.version.number> binaries from installing the extension and then copying the binaries
1. To do this, install this extension from the Visual Studio Marketplace and find its location on your device. It might be in a directory like `\\wsl$\Ubuntu\home\hamir\.vscode-server\extensions\ms-vscode.cpptools-<package.version.number>`, for example.
2. Next, go to the `bin/` directory of the aforementioned directory, and drag-and-drop, or copy-and-paste, `cpptools` and `cpptools-srv` from `...\extensions\ms-vscode.cpptools-<package.version.number>\bin\` to this repository's `Extension\bin\` directory on your local device, so that `.../vscode-cpptools/Extension/bin/cpptools` and `.../vscode-cpptools/Extension/bin/cpptools-srv` both exist in your workspace.
3. The aforementioned warning should be gone, and Intellisense, which gives those squiggly red error lines, should now be present.
4. The `insiders` branch has binaries compatible with the latest Pre-Release version of the extension, and the `release` branch has binaries compatible with the latest Release version, but the `main` branch may have TypeScript changes that are incompatible with the published binaries, in which case, you'll need to create a branch off the `insiders` or `release` branches.
* Feel free to use [the Discussions tab of this repository](https://github.com/microsoft/vscode-cpptools/discussions) if you have any further questions on building this extension locally.
@@ -0,0 +1,20 @@
# Exception Settings
The Microsoft Windows C/C++ debugger (cppvsdbg) supports configuration options for if the debugger stops when exceptions are thrown. This is done with the 'All Exceptions' check box in the BREAKPOINTS section of the 'Run and Debug' view.
Note that the BREAKPOINTS section will be missing this entry until the first time that the folder has been debugged with the 'cppvsdbg' debugger.
Checking 'All Exceptions' will configure the debugger to stop when an exception is thrown.
##### Exception Conditions
The 'All Exceptions' checkbox support conditions to break on only selected exception types (C++ exceptions) or codes (Win32 exceptions). To edit the condition, click on the pencil icon or right click on the entry and invoke 'Edit Condition'. The condition is a comma-separated list of exception types and codes to break on, or if the list starts with '!', a list of exception types and codes to ignore.
Examples conditions:
| Example condition value | Result |
|-------------------------|--------|
| 0xC0000005, 0xC0000094 | Break on Win32 Access Violation exceptions and integer division by zero exceptions |
| std::out_of_range, 0xC0000005 | This will break on out-of-range exceptions, and access violation exceptions |
| !MyExceptionClass | This will break on all exceptions except C++ `MyExceptionClass` exceptions |
| !MyExceptionClass, 0x6831C815 | This will break on all exceptions except C++ `MyExceptionClass` exceptions and Win32 exceptions with custom code 0x6831C815 |
@@ -1,6 +1,6 @@
# How To Debug MIEngine
MIEngine is one of the components used to enable the C/C++ debugging scenario with the Microsoft C/C++ extension with VS Code. This document is to help enable users who want to debug and contribute to MIEngine to fix issues or extend functionality. MIEngine is used to communicate with `gdb`/`lldb` using the MI protocol.
MIEngine is one of the components used to enable the C/C++ debugging scenario with the Microsoft C/C++ extension with VS Code. This document is to help enable users who want to debug and contribute to MIEngine to fix issues or extend functionality. MIEngine is used to communicate with `gdb`/`lldb` using the MI protocol.
**Repository:** https://github.com/Microsoft/MIEngine
@@ -19,7 +19,7 @@ You can open the solution file **MIDebugEngine.sln** located under **src** and c
The symbol files are as follows:
**On Windows**
**On Windows**
* Microsoft.MICore.pdb
* Microsoft.MIDebugEngine.pdb
* vscode\OpenDebugAD7.pdb
@@ -37,7 +37,7 @@ On Windows, the easiest way to debug is to use Visual Studio. Locate the **src\D
If you are not building the extension, Locate the **out\src\Debugger\extension.ts** file in the **.vscode\extensions\ms-vscode.cpptools** folder and open it in an editor.
Locate the following lines:
Locate the following lines:
```json
return {
command: command
@@ -48,13 +48,13 @@ and add the following line to the object:
args: ["--pauseForDebugger"]
```
This will cause the debugger to look like it has hung once you start debugging, but in reality it is waiting for a debugger to attach. Set your breakpoints and attach your debugger to the `OpenDebugAD7.exe` process. Once the debugger is attached, VS Code should start debugging and you can reproduce your scenario.
This will cause the debugger to look like it has hung once you start debugging, but in reality it is waiting for a debugger to attach. Set your breakpoints and attach your debugger to the `OpenDebugAD7.exe` process. Once the debugger is attached, VS Code should start debugging and you can reproduce your scenario.
### Debugging MIEngine running on Linux or Mac OS X
### Debugging MIEngine running on Linux or macOS
#### With MonoDevelop
On Linux and Mac OS X, we use `mono` as our framework. You can download Xamarin Studio v5.10.1.6 and remotely attach to your Mac or Linux box to debug there.
On Linux and macOS, we use `mono` as our framework. You can download Xamarin Studio v5.10.1.6 and remotely attach to your Mac or Linux box to debug there.
##### Install Prerequisites
1. Install [GTK](http://www.mono-project.com/download/).
@@ -78,12 +78,12 @@ MonoDevelop.exe
##### Configure the extension to enable remote debugging
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from Xamarin Studio.
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from Xamarin Studio.
##### Attach the remote debugger
In MonoDevelop: Run -> Run With -> Custom Command Mono Soft Debugger.
Fill in the IP and port of the Linux/Mac OS X machine and hit "Connect" to start debugging.
Fill in the IP and port of the Linux/macOS machine and hit "Connect" to start debugging.
After you've done this once, you can hit the MonoDevelop "Play" button or <kbd>F5</kbd> to bring up the connect dialog again.
@@ -113,7 +113,7 @@ After you've done this once, you can hit the MonoDevelop "Play" button or <kbd>F
##### Configure the extension to enable remote debugging
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from VS Code.
Open the **~/.vscode/extensions/ms-vscode.cpptools-\<version\>/debugAdapters/OpenDebugAD7** file with a text editor and locate and uncomment the line at the bottom. When you start debugging, it will now hang until the remote debugger is attached from VS Code.
##### Attach the remote debugger
+16 -16
View File
@@ -240,7 +240,7 @@
</xs:annotation>
</xs:attribute>
</xs:complexType>
<!-- Attributes for elements that support filtering by view-->
<xs:attributeGroup name="ViewConstraints">
<xs:attribute name="IncludeView" type ="ViewIncludeType" use="optional" />
@@ -335,9 +335,9 @@
are evaluated in the context of the node.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attribute>
</xs:attributeGroup>
<xs:complexType name="ListItemsNodeType">
<xs:annotation>
<xs:documentation>Expression that points to value of the linked list node. It can be left empty or have 'this' to refer to the linked list node itself. This expression is evaluated under the context of the linked list node and not the parent linked list type.</xs:documentation>
@@ -402,7 +402,7 @@
<xs:documentation>
Indicates that the item should use the icon associated with general data.
</xs:documentation>
</xs:annotation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Method">
<xs:annotation>
@@ -864,16 +864,16 @@
<xs:complexType name="MostDerivedObjectType">
<xs:annotation>
<xs:documentation>
Specifies an expression which evaluates to the current object, casted to its most-derived type.
In most cases, the debugger is able to automatically determine an object's most-derived type, in which case use of the &lt;MostDerivedType&gt;
Specifies an expression which evaluates to the current object, casted to its most-derived type.
In most cases, the debugger is able to automatically determine an object's most-derived type, in which case use of the &lt;MostDerivedType&gt;
element is unecessary. Automatic determination of an object's most-derived type requires the object to be an instance of a C++ class, with a
compiler-generated virtual function table. This is sufficient for most class-hierarchies; however, custom logic may occasionally be necessary
when dealing with a class hierarchy that does not contain virtual functions, or when the virtual function table is manually constructed by the
when dealing with a class hierarchy that does not contain virtual functions, or when the virtual function table is manually constructed by the
application code.
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="StringType">
<xs:attributeGroup ref="CommonAttributes" />
@@ -935,12 +935,12 @@
<xs:annotation>
<xs:documentation>
Indicates that the given type is a smart pointer. The text inside this element specifies the expression to evaluate the underlying pointer.
The &lt;SmartPointer&gt; element has the following effects:
- If no alternative &lt;DisplayString&gt; element is provided (or all &lt;DisplayString&gt; elements have failed conditions), the underlying pointer will be the display string
- If no alternative &lt;StringView&gt; element is provided (or all &lt;StringView&gt; elements have failed conditions), the underlying pointer will be the string view, if it has one.
- If no alternative &lt;Expand&gt; element is provided, the expansion of the smart pointer will be the expansion of the underlying pointer.
- The smart pointer class will also support overloaded operators as determined by the &lt;Usage&gt; attribute. You can opt out of this behavior by specifying
- The smart pointer class will also support overloaded operators as determined by the &lt;Usage&gt; attribute. You can opt out of this behavior by specifying
'DefaultExpansion=&quot;false&quot;'
</xs:documentation>
</xs:annotation>
@@ -949,7 +949,7 @@
<xs:attributeGroup ref="CommonAttributes_NoCondition" />
<xs:attribute name="Usage" type="SmartPointerUsage" use="required">
<xs:annotation>
<xs:documentation>Indicates which combinations of operators this smart pointer object supports.
<xs:documentation>Indicates which combinations of operators this smart pointer object supports.
</xs:documentation>
</xs:annotation>
</xs:attribute>
@@ -1004,10 +1004,10 @@
<xs:documentation>Specifies an optional priority to assign to this entry for type matching. Higher priority entries within a particular file or directory
are checked first. &lt;Type&gt; entries that do not specify a priority receive default priority of &quot;Medium&quot; &lt;AlternativeType&gt; entries which do not specify a priority
will inherit the priority of the enclosing &lt;Type&gt; element. The priority is only used to disambiguate type matching when all other means of disambiguation are unavailable.
For example, entries with more specific template instantiations, module constraints, or view constraints will take priority regardless of any priority values specified.
Similarly, regardless of priority, natvis files that are part of a loaded project will always take precedence over files in the user natvis directory,
which will, in turn, take precedence over files in the system-wide natvis directory.
For example, entries with more specific template instantiations, module constraints, or view constraints will take priority regardless of any priority values specified.
Similarly, regardless of priority, natvis files that are part of a loaded project will always take precedence over files in the user natvis directory,
which will, in turn, take precedence over files in the system-wide natvis directory.
If two entries have the same priority and cannot otherwise be disambiguated, it is unspecified which one will get used.
</xs:documentation>
</xs:annotation>
+10 -2
View File
@@ -19,7 +19,14 @@ module.exports = {
"rules": {
"@typescript-eslint/adjacent-overload-signatures": "error",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/class-name-casing": "error",
"camelcase": "off",
"@typescript-eslint/naming-convention": [
"error",
{
"selector": "typeLike",
"format": ["PascalCase"]
}
],
"@typescript-eslint/indent": "error",
"@typescript-eslint/member-delimiter-style": [
"error",
@@ -34,6 +41,7 @@ module.exports = {
}
}
],
"@typescript-eslint/no-for-in-array": "error",
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-non-null-assertion": "error",
@@ -71,7 +79,7 @@ module.exports = {
"no-fallthrough": "error",
"no-invalid-this": "error",
"no-irregular-whitespace": "error",
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0}],
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0 }],
"no-new-wrappers": "error",
"no-redeclare": "error",
"no-return-await": "error",
+1 -1
View File
@@ -25,7 +25,6 @@ install.lock
# ignore generated localization file
**/nls.*.json
**/*.nls.json
**/*.nls.*.json
# ignore generate native header
@@ -34,3 +33,4 @@ localized_string_ids.h
# ignore generate files. It will be generated when building
src/nativeStrings.ts
vscode*.d.ts
-8
View File
@@ -10,7 +10,6 @@
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
@@ -25,7 +24,6 @@
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
@@ -40,7 +38,6 @@
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
@@ -54,7 +51,6 @@
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
@@ -69,7 +65,6 @@
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
@@ -85,7 +80,6 @@
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/unitTests/index"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
@@ -102,7 +96,6 @@
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/languageServer/index"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
@@ -119,7 +112,6 @@
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/integrationTests/IntelliSenseFeatures/index"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
+1
View File
@@ -20,6 +20,7 @@ ui/*.ts
# ignore Azure-Pipelines files
jobs/**
cgmanifest.json
# ignore development files
tsconfig.json
+553 -19
View File
@@ -1,4 +1,538 @@
# C/C++ for Visual Studio Code Change Log
# C/C++ for Visual Studio Code Changelog
## Version 1.13.9: January 4, 2023
### Bug Fix
* Fix clang-format and clang-tidy not working for macOS 11 arm64. [#10282](https://github.com/microsoft/vscode-cpptools/issues/10282)
## Version 1.13.8: December 15, 2022
### Bug Fixes
* Fix tag parser failure on machines with multiple extension users. [#10224](https://github.com/microsoft/vscode-cpptools/issues/10224)
* Fix a `--using_directory` IntelliSense error if LIBPATH is defined with non-msvc IntelliSense modes. [#10249](https://github.com/microsoft/vscode-cpptools/issues/10249)
* Fix a crash when the configuration name is missing. [#10251](https://github.com/microsoft/vscode-cpptools/issues/10251)
## Version 1.13.7: December 8, 2022
### Bug Fix
* Fix `files.associations` not working. [#10244](https://github.com/microsoft/vscode-cpptools/issues/10244)
## Version 1.13.6: December 6, 2022
### New Features
* Add the ability to generate definitions from declarations and vice versa. [#664](https://github.com/microsoft/vscode-cpptools/issues/664)
* Add SSH Target Selector. [PR #9760](https://github.com/microsoft/vscode-cpptools/pull/9760)
* Add rsync support in deploySteps. [PR #9808](https://github.com/microsoft/vscode-cpptools/pull/9808)
### Enhancements
* Add `C_Cpp.caseSensitiveFileSupport` for enabling case sensitive file handling on Windows. [#1994](https://github.com/microsoft/vscode-cpptools/issues/1994)
* Add sections to settings. [#8237](https://github.com/microsoft/vscode-cpptools/issues/8237)
* Make Doxygen hover comments customizable with `C_Cpp.doxygen.sectionTags`. [#8525](https://github.com/microsoft/vscode-cpptools/issues/8525)
* Add better build and debug task handling for when a compiler or debugger doesn't exist. [#8836](https://github.com/microsoft/vscode-cpptools/issues/8836)
* Delay applying `c_cpp_properties.json` changes until after a save. [#9185](https://github.com/microsoft/vscode-cpptools/issues/9185)
* Create directories on Linux/Mac with 755 instead of 777 permissions. [#9670](https://github.com/microsoft/vscode-cpptools/issues/9670)
* Check for MSVC environment variables for configuring IntelliSense. [#9745](https://github.com/microsoft/vscode-cpptools/issues/9745)
* Enable the inlay hint settings to be set per-workspace folder. [#9782](https://github.com/microsoft/vscode-cpptools/issues/9782)
* Add a `C_Cpp.hover` setting to enable disabling hover results. [#9793](https://github.com/microsoft/vscode-cpptools/issues/9793)
* Update to clang-format and clang-tidy 15.0.3. [#9816](https://github.com/microsoft/vscode-cpptools/issues/9816)
* Enable hiding the SSH Targets view with the `C_Cpp.sshTargetsView` setting. [#9836](https://github.com/microsoft/vscode-cpptools/issues/9836)
* Change "Enabled", "Disabled", "Default" settings to camelCase. [PR #9862](https://github.com/microsoft/vscode-cpptools/pull/9862)
* Add support for C++ modules IFC version 0.42. [#9884](https://github.com/microsoft/vscode-cpptools/issues/9884)
* Add SSH terminal for targets. [PR #9895](https://github.com/microsoft/vscode-cpptools/pull/9895)
* Make array settings give a warning for duplicates. [PR #9959](https://github.com/microsoft/vscode-cpptools/pull/9959)
* Add "iar" and "armcc5" problem matchers. [#10054](https://github.com/microsoft/vscode-cpptools/issues/10054)
* Michael (@morsisko) [PR #10085](https://github.com/microsoft/vscode-cpptools/pull/10085), [PR #10101](https://github.com/microsoft/vscode-cpptools/pull/10101)
* Pass `--Wno-error=unknown` to clang-format (12 or newer) to avoid failing on unsupported settings. [#10072](https://github.com/microsoft/vscode-cpptools/issues/10072)
* Add support for `/cygdrive` paths returned by some versions of Cygwin. [#10112](https://github.com/microsoft/vscode-cpptools/issues/10112)
* Switch from RapidJSON to VS's internal JSON parser.
### Bug Fixes
* Fix "final" breaking formatting. [#6638](https://github.com/microsoft/vscode-cpptools/issues/6638)
* Fix incorrect "expected concept name" IntelliSense error. [#6876](https://github.com/microsoft/vscode-cpptools/issues/6876)
* Fix incorrect Outline view with C++20 namespace ::inline syntax. [#7216](https://github.com/microsoft/vscode-cpptools/issues/7216)
* Fix updates to compile_commands.json not being handled if specified using a relative path. [#7610](https://github.com/microsoft/vscode-cpptools/issues/7610)
* Fix variadic macros not expanding correctly. [#8178](https://github.com/microsoft/vscode-cpptools/issues/8178)
* Fix the `editor.parameterHints.enabled` setting not being used when `C_Cpp.autocompleteAddParentheses` is `true`. [#9314](https://github.com/microsoft/vscode-cpptools/issues/9314)
* Fix IntelliSense bug "A result type of `__builtin_choose_expr` that returns a pointer to a function is not correctly inferred in clang mode". [#9368](https://github.com/microsoft/vscode-cpptools/issues/9368)
* Fix some invalid macro redefinition errors. [#9435](https://github.com/microsoft/vscode-cpptools/issues/9435)
* Fix wordexp sometimes getting stuck on Mac (and Linux). [#9688](https://github.com/microsoft/vscode-cpptools/issues/9688)
* Fix ctrl+space completion for Doxygen tags. [#9732](https://github.com/microsoft/vscode-cpptools/issues/9732)
* Fix the position of inlay parameter hints when using at or operator[]. [#9741](https://github.com/microsoft/vscode-cpptools/issues/9741)
* Fix `-std=` being passed to clang-tidy in certain cases . [#9776](https://github.com/microsoft/vscode-cpptools/issues/9776)
* Fix `${workspaceFolder}` not being resolved in `C_Cpp.clang_format_style`. [#9786](https://github.com/microsoft/vscode-cpptools/issues/9786)
* Fix debugger visualization for ArrayItem elements more than 1000. [#9801](https://github.com/microsoft/vscode-cpptools/issues/9801)
* Fix extra comma in the generated the `(gdb) attach` configuration in `launch.json`. [#9818](https://github.com/microsoft/vscode-cpptools/issues/9818)
* Fix IntelliSense crash with range-v3 `ranges::views::addressof`. [#9870](https://github.com/microsoft/vscode-cpptools/issues/9870)
* Fix slow compiler querying. [#9882](https://github.com/microsoft/vscode-cpptools/issues/9882)
* Handle `-fexperimental-library` clang argument. [#9888](https://github.com/microsoft/vscode-cpptools/issues/9888)
* Fix compiler querying with multiple -arch. [#9894](https://github.com/microsoft/vscode-cpptools/issues/9894)
* Fix code analysis errors related to SSE being enabled when gcc is used. [#9898](https://github.com/microsoft/vscode-cpptools/issues/9898)
* Fix issue with parsing SSH configurations that could cause the extension to fail to activate. [#9933](https://github.com/microsoft/vscode-cpptools/pull/9933)
* Fix inlay hints showing "type" for lambdas in certain cases. [#9971](https://github.com/microsoft/vscode-cpptools/issues/9971)
* Resolve variables for `C_Cpp.codeAnalysis.clangTidy.args` and `headerFilter`. [#9981](https://github.com/microsoft/vscode-cpptools/issues/9981), [#9996](https://github.com/microsoft/vscode-cpptools/issues/9996)
* Fix some translations. [#9986](https://github.com/microsoft/vscode-cpptools/issues/9986), [#10011](https://github.com/microsoft/vscode-cpptools/issues/10011), [#10012](https://github.com/microsoft/vscode-cpptools/issues/10012), [#10013](https://github.com/microsoft/vscode-cpptools/issues/10013)
* Fix "Step Over past a logpoint stops at the wrong place". [#9995](https://github.com/microsoft/vscode-cpptools/issues/9995)
* Disable the "Generate Doxygen Comment" context menu when IntelliSense is disabled. [PR #10007](https://github.com/microsoft/vscode-cpptools/pull/10007)
* Fix Doxygen code action from appearing on a function that already has a `*/` comment. [#10009](https://github.com/microsoft/vscode-cpptools/issues/10009)
* Fix clang-tidy and clang-format not working on CentOS7 and other Linux OS's without glibc 2.27 or greater. [#10019](https://github.com/microsoft/vscode-cpptools/issues/10019)
* Fix various bugs with the `C_Cpp.codeAnalysis.clangTidy.headerFilter` setting. [#10023](https://github.com/microsoft/vscode-cpptools/issues/10023)
* Fix Doxygen comment generation when there's a selection. [#10028](https://github.com/microsoft/vscode-cpptools/issues/10028)
* Fix issue that could cause document corruption. [#10035](https://github.com/microsoft/vscode-cpptools/issues/10035)
* Fixed crash on Linux/Mac when a full command line is specified in `compilerPath` containing invalid arguments. [PR #10070](https://github.com/microsoft/vscode-cpptools/pull/10070)
* Fix random "Failed to spawn IntelliSense process: 65520" on Mac. [#10091](https://github.com/microsoft/vscode-cpptools/issues/10091)
* Fix debugger throwing error "stdout maxBuffer exceeded". [10107](https://github.com/microsoft/vscode-cpptools/issues/10107)
* Fix "Can't attach to process on Windows: Unexpected token \ in JSON". [#10108](https://github.com/microsoft/vscode-cpptools/issues/10108)
* Fix "Don't hardcode path to kill in UnixUtilities". [#10124](https://github.com/microsoft/vscode-cpptools/issues/10124)
* Ellie Hermaszewska (@expipiplus1) [PR #1373](https://github.com/microsoft/MIEngine/pull/1373)
* Fix formatting when clang-format 11 or earlier is used (and another issue for version 8 or earlier). [#10178](https://github.com/microsoft/vscode-cpptools/issues/10178)
* Fix "Natvis: are multi-dimensional arrays supported in gdb natvis?". [MIEngine#980](https://github.com/microsoft/MIEngine/issues/980)
* Fix include completion sorting extensionless headers (e.g. string) after headers with an extension (e.g. string.h).
* Fix extensionHost logging an error related to onWillSaveTextDocument whenever a save is done.
* Fix random "Failed to spawn IntelliSense process" on Mac.
* Fix a deadlock when IntelliSense errors are updating.
* Fix redundant rescan when adding a workspace folder.
### Removed Feature
* Removed explicit WSL support in favor of using the WSL extension. [PR #10066](https://github.com/microsoft/vscode-cpptools/pull/10066)
## Version 1.12.4: August 31, 2022
### Other
* Revert changes to telemetry key format. [PR #9822](https://github.com/microsoft/vscode-cpptools/pull/9822)
## Version 1.12.3: August 30, 2022
### New Features
* Add Doxygen comment generation via command, context menu, code action, or typing. [#5683](https://github.com/microsoft/vscode-cpptools/issues/5683)
* Add auto-complete of Doxygen keywords in comments.
### Enhancements
* Add auto-formatting of lines that are changed by code analysis fixes. [#9322](https://github.com/microsoft/vscode-cpptools/issues/9322)
* Add compile arguments to enable colorized output in cppBuild tasks for clang. [#9643](https://github.com/microsoft/vscode-cpptools/issues/9643)
* Cache and reuse SSH passwords in the current remote debugging session. [PR #9654](https://github.com/microsoft/vscode-cpptools/pull/9654)
* Fix "natvis collections only show the first 50 elements". [MIEngine#821](https://github.com/microsoft/MIEngine/issues/821)
* Related [#9377](https://github.com/microsoft/vscode-cpptools/issues/9377)
* Fix "cppdbg doesn't support array view of char* buf". [MIEngine#1258](https://github.com/microsoft/MIEngine/issues/1258)
* Support explicit `this` references in natvis files.
* @Trass3r [PR MIEngine#1163](https://github.com/microsoft/MIEngine/pull/1163)
* Do std fallback when compiler querying, even when explicitly specified via a compiler arg.
### Bug Fixes
* Fix several IntelliSense parsing bugs. [#3683](https://github.com/microsoft/vscode-cpptools/issues/3683), [#6659](https://github.com/microsoft/vscode-cpptools/issues/6659), [#7446](https://github.com/microsoft/vscode-cpptools/issues/7446), [#9215](https://github.com/microsoft/vscode-cpptools/issues/9215)
* Fix crash when tag parsing files containing certain string literals. [#9538](https://github.com/microsoft/vscode-cpptools/issues/9538)
* Fix incorrect semantic tokens with templated operator overloads. [#9556](https://github.com/microsoft/vscode-cpptools/issues/9556)
* Fix `.` to `->` completion in functions defined in the class/struct definition. [#9599](https://github.com/microsoft/vscode-cpptools/issues/9599)
* Fix inlay hint filtering not working with some cases of whitespace. [#9606](https://github.com/microsoft/vscode-cpptools/issues/9606)
* Fix Chinese translation mistakes.
* kouhe3 (@kouhe3) [PR #9624](https://github.com/microsoft/vscode-cpptools/pull/9624)
* Fix IntelliSense error with ARM register declarations. [#9627](https://github.com/microsoft/vscode-cpptools/issues/9627)
* Fix files with a `.c` extension not using a C++ `std` version passed in the `compilerArgs` or `compilerFragments`. [#9628](https://github.com/microsoft/vscode-cpptools/issues/9628)
* Fix unnecessary IntelliSense process restarting on file creation handling. [#9630](https://github.com/microsoft/vscode-cpptools/issues/9630)
* Fix tag parsing of classes and enums with attributes. [#9672](https://github.com/microsoft/vscode-cpptools/issues/9672)
* Add PID to the extended remote process picker. [PR #9673](https://github.com/microsoft/vscode-cpptools/pull/9673)
* Fix tag parser crash. [#9679](https://github.com/microsoft/vscode-cpptools/issues/9679), [#9695](https://github.com/microsoft/vscode-cpptools/issues/9695)
* Fix code analysis fixes generating invalid code when the fix has escaped characters. [#9683](https://github.com/microsoft/vscode-cpptools/issues/9683)
* Fix unintended generation of `nul.d` file when querying clang or gcc, when compiler arguments include dependency generation arguments. [#9707](https://github.com/microsoft/vscode-cpptools/issues/9707)
* Fix code analysis fixes not being available when more than one check is associated with a fix. [#9755](https://github.com/microsoft/vscode-cpptools/issues/9755)
* Fix error when debugging is started without a launch.json and IntelliSense is disabled. [#9762](https://github.com/microsoft/vscode-cpptools/issues/9762)
* Fix "The result of GDB -exec evaluate request in all contexts is printed in debug console." [MIEngine #1236](https://github.com/microsoft/MIEngine/issues/1236)
* Fix "Evaluating a variable after a failed Step Out causes a fatal error, leaving debug session unusable". [MIEngine#1336](https://github.com/microsoft/MIEngine/issues/1336)
* Gareth Rees (@gareth-rees) [PR MIEngine#1337](https://github.com/microsoft/MIEngine/pull/1337)
* Fix deadlock in HandleStackTraceRequestAsync where lock was hold too long.
* GeorgeMay (@JoergMeier106) [PR MIEngine#1309](https://github.com/microsoft/MIEngine/pull/1309)
* Fix potential crashes on shutdown.
## Version 1.11.5: August 9, 2022
### Bug Fixes
* Fix crash when tag parsing files containing certain string literals. [#9538](https://github.com/microsoft/vscode-cpptools/issues/9538)
* Fix `llvm-project` parser crash on file: `clang/test/parser/parser_overflow.c`. [#9653](https://github.com/microsoft/vscode-cpptools/issues/9653)
* Fix `llvm-project` parser crash on file: `libcxx/test/support/test.support/make_string_header.pass.cpp`. [#9679](https://github.com/microsoft/vscode-cpptools/issues/9679)
## Version 1.11.4: July 21, 2022
### New Features
* Add inlay hints for parameters and auto types. [#5845](https://github.com/microsoft/vscode-cpptools/issues/5845)
* Add extended remote support for debugging. [#8497](https://github.com/microsoft/vscode-cpptools/issues/8497), [#9195](https://github.com/microsoft/vscode-cpptools/issues/9195), [#9491](https://github.com/microsoft/vscode-cpptools/discussions/9491), [#9505](https://github.com/microsoft/vscode-cpptools/issues/9505)
### Enhancements
* Add deploySteps and variables to cppdbg. [PR #9418](https://github.com/microsoft/vscode-cpptools/pull/9418)
### Bug Fixes
* Fix "unknown register name" IntelliSense error. [#4382](https://github.com/microsoft/vscode-cpptools/issues/4382)
* Fix performance issue with tag parsing a file with a lot of defines. [#6454](https://github.com/microsoft/vscode-cpptools/issues/6454)
* Fix IntelliSense with gcc vector extension types. [#6890](https://github.com/microsoft/vscode-cpptools/issues/6890)
* Fix doc comments for macros and typedefs. [#8320](https://github.com/microsoft/vscode-cpptools/issues/8320)
* Fix issue with CUDA configuration when using a custom config provider and no config is available for the file. [#8483](https://github.com/microsoft/vscode-cpptools/issues/8483)
* Fix missing logging when `C_Cpp.intelliSenseEngine` is set to `"Disabled"`. [#9277](https://github.com/microsoft/vscode-cpptools/issues/9277)
* Fix doxygen comments not being displayed for multiple adjacent `@brief` or `@return` tags. [#9316](https://github.com/microsoft/vscode-cpptools/issues/9316)
* Fix the code analysis "disable" option not automatically clearing the disabled diagnostics. [#9364](https://github.com/microsoft/vscode-cpptools/issues/9364)
* Fix `-isystem` not being used for system headers with code analysis. [#9366](https://github.com/microsoft/vscode-cpptools/issues/9366)
* Fix compiler querying for EDG-based compilers. [#9410](https://github.com/microsoft/vscode-cpptools/issues/9410)
* Fix hiding IntelliSense dependent commands when `C_Cpp.intelliSenseEngine` is `"Disabled"`. [#9451](https://github.com/microsoft/vscode-cpptools/issues/9451)
* Fix cl.exe build tasks not showing for .c files and .c build tasks being cached for .cpp files (and vice versa). [PR #9544](https://github.com/microsoft/vscode-cpptools/pull/9544)
* Fix code analysis not detecting warnings with relative paths. [#9555](https://github.com/microsoft/vscode-cpptools/issues/9555)
* Fix `--header-filter` being used with clang-tidy when it shouldn't when a .clang-tidy file exists. [#9566](https://github.com/microsoft/vscode-cpptools/issues/9566)
* Fix code analysis giving an error with `__has_include` with gcc 9. [#9575](https://github.com/microsoft/vscode-cpptools/issues/9575)
* Fix `-target` not being processed in `compilerArgs`. [#9586](https://github.com/microsoft/vscode-cpptools/issues/9586)
## Version 1.10.8: July 7, 2022
### Enhancements
* Allow breakpoints for Rust debugging. [PR #9484](https://github.com/microsoft/vscode-cpptools/pull/9484)
* Make `C_Cpp.debugShortcut` settable per-workspace folder. [PR #9514](https://github.com/microsoft/vscode-cpptools/pull/9514)
### Bug Fixes
* Fix crash if clang-tidy returns a replacement with an empty FilePath. [#9437](https://github.com/microsoft/vscode-cpptools/issues/9437)
* Fix skipping the compiler argument after `-c`. [#9453](https://github.com/microsoft/vscode-cpptools/issues/9453)
* Fix `-std:c++20` not being handled with cl.exe. [#9458](https://github.com/microsoft/vscode-cpptools/issues/9458)
* Fix bug with the environment being incorrect when compiler querying. [#9472](https://github.com/microsoft/vscode-cpptools/issues/9472)
* Fix duplicate compiler args in compiler query with custom configuration providers using cpptools-api prior to v6. [#9531](https://github.com/microsoft/vscode-cpptools/issues/9531)
* Fix process launching concurrency issues on Windows.
## Version 1.10.7: June 15, 2022
### Bug Fixes
* Fix bugs with process creation on Windows (which caused IntelliSense to fail). [#9431](https://github.com/microsoft/vscode-cpptools/issues/9431)
## Version 1.10.6: June 14, 2022
### Bug Fixes
* Fix `@responseFile` in `compilerArgs` not being handled on Linux/Mac. [#9434](https://github.com/microsoft/vscode-cpptools/issues/9434)
* Fix debug preLaunchTask not working when `C_Cpp.intelliSenseEngine` is `"Disabled"`. [#9446](https://github.com/microsoft/vscode-cpptools/issues/9446)
* Make the `C_Cpp.legacyCompilerArgsBehavior` setting non-deprecated.
## Version 1.10.5: June 8, 2022
### New Features
* Add code actions to apply clang-tidy fixes (and other actions). [#8476](https://github.com/microsoft/vscode-cpptools/issues/8476)
* Added support for setting values on top level watch window expressions. [#9019](https://github.com/microsoft/vscode-cpptools/issues/9019)
* Make the "Run and Debug" button feature available to all users. [#9306](https://github.com/microsoft/vscode-cpptools/issues/9306)
### Enhancements
* Add `C_Cpp.clangTidy.useBuildPath` setting to enable using `-p` with clang-tidy. [#8740](https://github.com/microsoft/vscode-cpptools/issues/8740), [#8952](https://github.com/microsoft/vscode-cpptools/issues/8952)
* Generate launch.json when adding a new debug configuration. [#9100](https://github.com/microsoft/vscode-cpptools/issues/9100)
* Prioritize the "folder" option when doing a `#include` completion. [#9222](https://github.com/microsoft/vscode-cpptools/issues/9222)
* Add compiler path to debug configuration details. [PR #9264](https://github.com/microsoft/vscode-cpptools/pull/9264)
* Update the bundled clang-format and clang-tidy to version 14.0.0.
### Bug Fixes
* Fix 'System.NullReferenceException when continuing after adding breakpoint.' [#1297](https://github.com/microsoft/MIEngine/issues/1297)
* Fix completion not working in `#define` definitions and in definition names when manually invoked. [#4662](https://github.com/microsoft/vscode-cpptools/issues/4662), [#8973](https://github.com/microsoft/vscode-cpptools/issues/8973), [#9078](https://github.com/microsoft/vscode-cpptools/issues/9078)
* Fix several IntelliSense bugs. [#6226](https://github.com/microsoft/vscode-cpptools/issues/6226), [#8294](https://github.com/microsoft/vscode-cpptools/issues/8294), [#8530](https://github.com/microsoft/vscode-cpptools/issues/8530), [#8725](https://github.com/microsoft/vscode-cpptools/issues/8725), [#8751](https://github.com/microsoft/vscode-cpptools/issues/8751), [#9076](https://github.com/microsoft/vscode-cpptools/issues/9076), [#9224](https://github.com/microsoft/vscode-cpptools/issues/9224), [#9336](https://github.com/microsoft/vscode-cpptools/issues/9336).
* Fix issue with shell processing incorrectly occurring for `arguments` fields in `compile_commands.json` files. [#8649](https://github.com/microsoft/vscode-cpptools/issues/8649)
* Fix handling of `@response` files for clang-tidy on Windows. [#8843](https://github.com/microsoft/vscode-cpptools/issues/8843), [#9032](https://github.com/microsoft/vscode-cpptools/issues/9032), [#9102](https://github.com/microsoft/vscode-cpptools/issues/9102)
* Fix issue with inconsistent handling of shell escaping in compiler arg fields. All compiler arg array fields are now assumed to not include shell quoting, escaping or shell variables. Added a `C_Cpp.legacyCompilerArgsBehavior` to restore the legacy behavior. [#8963](https://github.com/microsoft/vscode-cpptools/issues/8963)
* Add localized strings for build tasks. [#9051](https://github.com/microsoft/vscode-cpptools/issues/9051)
* Fix Go to Definition with C for identifiers that are C++ keywords. [#9081](https://github.com/microsoft/vscode-cpptools/issues/9081)
* Fix the new Run/Debug Code button not working with a modified program location. [#9082](https://github.com/microsoft/vscode-cpptools/issues/9082)
* Fix `__GNUC__` system defines causing clang-tidy to undefine `_Float32`. [#9091](https://github.com/microsoft/vscode-cpptools/issues/9091)
* Fix 'breakpoints set before launch in shared objects cannot be disabled/deleted' [#9095]([https://github.com/microsoft/vscode-cpptools/issues/9095)
* Fix compiler querying failing for compilers that don't output system includes. [#9099](https://github.com/microsoft/vscode-cpptools/issues/9099)
* Fix completion occurring (when it shouldn't) after the comma in a definition list. [#9101](https://github.com/microsoft/vscode-cpptools/issues/9101)
* Fix `;` incorrectly matching for `break;` and `continue;` completion. [#9115](https://github.com/microsoft/vscode-cpptools/issues/9115)
* Fix Go to Definition on a `#include` with an absolute path. [#9287](https://github.com/microsoft/vscode-cpptools/issues/9287)
* Fix formatting issue with vcFormat when using multi-byte UTF-8 sequences. [#9297](https://github.com/microsoft/vscode-cpptools/issues/9297)
* Fix language server disabling due to a TypeError when invalid json values are used. [#9302](https://github.com/microsoft/vscode-cpptools/issues/9302)
* Add support for "user" level and "workspace" level debug configurations. [#9319](https://github.com/microsoft/vscode-cpptools/issues/9319)
* Prevent language service activation for macOS older than 10.12. [PR #9328](https://github.com/microsoft/vscode-cpptools/pull/9328)
* Fix code analysis with g++ 12 system headers. [#9347](https://github.com/microsoft/vscode-cpptools/issues/9347)
* Enable correct symbol parsing for methods that call loop-like macros without requiring the macro be added to cpp.hint. [#9378](https://github.com/microsoft/vscode-cpptools/issues/9378)
* Fix a code analysis error when C++23 is used. [#9404](https://github.com/microsoft/vscode-cpptools/issues/9404)
* Fix a potential crash in cpptools (in `get_identifier_at_offset`).
* Other Run and Debug button updates/fixes.
## Version 1.9.8: April 20, 2022
### Bug Fixes
* Fix an issue with extension activation failing if `C_Cpp.intelliSenseEngine` was set to `Disabled`. [#9083](https://github.com/microsoft/vscode-cpptools/issues/9083)
## Version 1.9.7: March 23, 2022
### New Features
* Add debugger support for Apple M1 (osx-arm64). [#7035](https://github.com/microsoft/vscode-cpptools/issues/7035)
* Resolves issue "[Big Sur M1] ERROR: Unable to start debugging. Unexpected LLDB output from command "-exec-run". process exited with status -1 (attach failed ((os/kern) invalid argument))". [#6779](https://github.com/microsoft/vscode-cpptools/issues/6779)
* Add a build and debug button when `C_Cpp.debugShortcut` is `true`. [#7497](https://github.com/microsoft/vscode-cpptools/issues/7497)
* The "Build and Debug Active File" command has been split into "Debug C++ File" and "Run C++ File", and it has been removed from the context menu.
* Add Alpine Linux arm64 support (VSIX).
* Add x64 debugger for CppVsdbg on Windows x64.
### Enhancements
* Reserved identifiers with characters that match typed characters in the correct order but not contiguously are initially filtered in the auto-completion list. Doing a `ctrl` + `space` in the same location will show all auto-complete suggestions. [#4939](https://github.com/microsoft/vscode-cpptools/issues/4939)
* Add `dotConfig` property to IntelliSense Configuration (c_cpp_properties.json) to use .config file created by Kconfig system.
* Matheus Castello (@microhobby) [PR #7845](https://github.com/microsoft/vscode-cpptools/pull/7845)
* Rework how cancelation is processed for semantic tokens and folding operations. [PR #8739](https://github.com/microsoft/vscode-cpptools/pull/8739)
* Make SwitchHeaderSource use the `workbench.editor.revealIfOpen` setting.
* Joel Smith (@joelmsmith) [PR #8857](https://github.com/microsoft/vscode-cpptools/pull/8857)
* Add tag parser error logging. [#8907](https://github.com/microsoft/vscode-cpptools/issues/8907)
* Add error and warning messages if the VSIX for an incompatible or mismatching platform or architecture is installed. [#8908](https://github.com/microsoft/vscode-cpptools/issues/8908)
* Add a "More Info" option when an incompatible VSIX is encountered. [PR #8920](https://github.com/microsoft/vscode-cpptools/pull/8920)
* Add `;` to `break` and `continue` completion keywords. [#8932](https://github.com/microsoft/vscode-cpptools/issues/8932)
* Prevent stripping of format specifiers from -exec commands.
* Gareth Rees (@gareth-rees) [PR MIEngine#1277](https://github.com/microsoft/MIEngine/pull/1278)
* Improve messages for unknown breakpoints and watchpoints.
* Gareth Rees (@gareth-rees) [PR MIEngine#1282](https://github.com/microsoft/MIEngine/pull/1283)
### Bug Fixes
* Fix some IntelliSense parsing bugs. [#5117](https://github.com/microsoft/vscode-cpptools/issues/5117)
* Fix IntelliSense process crashes caused by a stack overflow on Mac. [#7215](https://github.com/microsoft/vscode-cpptools/issues/7215), [#8653](https://github.com/microsoft/vscode-cpptools/issues/8653)
* Fix exclusions not applying during tag parsing of non-recursive dependent includes. [#8702](https://github.com/microsoft/vscode-cpptools/issues/8702)
* Fix issue that could cause an infinite loop when clicking on a preprocessor conditional directive. [#8717](https://github.com/microsoft/vscode-cpptools/issues/8717)
* Fix excludes applying to cases it should not when running code analysis. [#8724](https://github.com/microsoft/vscode-cpptools/issues/8724)
* Fix a crash when visualizing local variables for Microsoft Edge (msedge.exe) [#8738](https://github.com/microsoft/vscode-cpptools/issues/8738)
* Fix some system defines being incorrectly removed when running code analysis. [#8740](https://github.com/microsoft/vscode-cpptools/issues/8740)
* Prevent an error from being logged due to custom configuration processing prior to the provider being ready. [#8752](https://github.com/microsoft/vscode-cpptools/issues/8752)
* Fix incorrect crash recovery with multiroot. [#8762](https://github.com/microsoft/vscode-cpptools/issues/8762)
* Fix random compiler query, clang-tidy, or clang-format failure on Windows. [#8764](https://github.com/microsoft/vscode-cpptools/issues/8764)
* Fix invoking commands before cpptools is activated. [#8785](https://github.com/microsoft/vscode-cpptools/issues/8785)
* Fix a bug on Windows with semantic tokens updating. [#8799](https://github.com/microsoft/vscode-cpptools/issues/8799)
* Fix tag parser failure due to missing DLL dependencies on Windows. [#8851](https://github.com/microsoft/vscode-cpptools/issues/8851)
* Fix semantic tokens getting cleared for all other files in a TU after editing a file. [#8867](https://github.com/microsoft/vscode-cpptools/issues/8867)
* Fix a bug and typos with cppbuild task providers.
* InLAnn (@inlann) [PR #8897](https://github.com/microsoft/vscode-cpptools/pull/8897)
* Fix an issue that could cause the extension to fail to start up properly. [PR #8906](https://github.com/microsoft/vscode-cpptools/pull/8906)
* Fix handling of `-B` with compiler querying. [#8962](https://github.com/microsoft/vscode-cpptools/issues/8962)
* Fix incorrect "Running clang-tidy" status indications with multi-root workspaces. [#8964](https://github.com/microsoft/vscode-cpptools/issues/8964)
* Fix a crash during shutdown and potential database resetting due to shutdown being aborted too soon. [PR #8969](https://github.com/microsoft/vscode-cpptools/pull/8969)
* Fix an issue that could cause the active file to not be configured by a configuration provider when custom configurations are reset. [#8974](https://github.com/microsoft/vscode-cpptools/issues/8974)
* Fix detection of Visual Studio 2015. [#8975](https://github.com/microsoft/vscode-cpptools/issues/8975)
* Fix mingw clang being detected as gcc. [#9024](https://github.com/microsoft/vscode-cpptools/issues/9024)
* Fix a random crash on file open.
* Fix some IntelliSense crashes.
* Fix some IntelliSense parsing bugs.
* Fix a bug with IntelliSense updating not working if a file was closed and reopened while its TU was processing an update.
* Fix a potential heap corruption when `files.associations` are changed.
* Update translated text.
### Documentation
* Clarify how to get binaries when debugging the source from GitHub.
* Hamir Mahal (@hamirmahal) [PR #8788](https://github.com/microsoft/vscode-cpptools/pull/8788)
## Version 1.8.4: February 7, 2022
### Bug Fixes
* Suppress incorrect warnings on ARM64 macOS. [#8756](https://github.com/microsoft/vscode-cpptools/issues/8756)
* Fix debugger regressions. [#8760](https://github.com/microsoft/vscode-cpptools/issues/8760)
* Remove `Offline Installation` section from README.md. [#8769](https://github.com/microsoft/vscode-cpptools/pull/8769)
* Fix performance issue with loading large PDBs. [#8775](https://github.com/microsoft/vscode-cpptools/issues/8775)
## Version 1.8.2: January 31, 2022
### New Features
* Add data breakpoints (memory read/write interrupts) with `gdb` debugging. [#1410](https://github.com/microsoft/vscode-cpptools/issues/1410)
* Add "All Exceptions" Breakpoint for cppdbg [#1800](https://github.com/microsoft/vscode-cpptools/issues/1800)
* Add multi-threaded code analysis (using `clang-tidy`) based on the IntelliSense configuration. It defaults to using up to half the cores, but it can be changed via the `C_Cpp.codeAnalysis.maxConcurrentThreads` setting. [#2908](https://github.com/microsoft/vscode-cpptools/issues/2908)
* Add support for Alpine Linux [#4827](https://github.com/microsoft/vscode-cpptools/issues/4827)
* Implement platform-specific VSIX's via the marketplace. [#8152](https://github.com/microsoft/vscode-cpptools/issues/8152)
### Enhancements
* The maximum number of threads to use for Find All References can be configured with the `C_Cpp.references.maxConcurrentThreads` settings. [#4036](https://github.com/microsoft/vscode-cpptools/issues/4036)
* The IntelliSense processes launched to confirm references during Find All References can be cached via the `C_Cpp.references.maxCachedProcesses` setting. [#4038](https://github.com/microsoft/vscode-cpptools/issues/4038)
* The maximum number of IntelliSense processes can be configured with the `C_Cpp.intelliSense.maxCachedProcesses` setting, and the number of processes will automatically decrease when the free memory becomes < 256 MB and it can be configured to use less memory via the `maxMemory` settings (memory usage from code analysis is not handled yet). [#4811](https://github.com/microsoft/vscode-cpptools/issues/4811)
* Switch from 32-bit to 64-bit binaries on 64-bit Windows. [#7230](https://github.com/microsoft/vscode-cpptools/issues/7230)
* Add a compiler arg to the generated gcc build task to display colored text. [PR #8165](https://github.com/microsoft/vscode-cpptools/pull/8165)
* Add `static` and other modifiers to IntelliSense hover results. [#8173](https://github.com/microsoft/vscode-cpptools/issues/8173)
* Add a configuration warning when the default compiler modifies an explicitly set `intelliSenseMode`.
### Bug Fixes
* Fix several IntelliSense bugs. [#5704](https://github.com/microsoft/vscode-cpptools/issues/5704), [#6759](https://github.com/microsoft/vscode-cpptools/issues/6759), [#8412](https://github.com/microsoft/vscode-cpptools/issues/8412), [#8434](https://github.com/microsoft/vscode-cpptools/issues/8434)
* Fix newlines not being handled in comments with a Doxygen tag. [#5741](https://github.com/microsoft/vscode-cpptools/issues/5741)
* Fix Doxygen comments with `\0` being truncated. [#6084](https://github.com/microsoft/vscode-cpptools/issues/6084)
* Fix `files.exclude` not working for directories external to the active workspace folder. [#6877](https://github.com/microsoft/vscode-cpptools/issues/6877)
* Fix [MSYS2 GDB 10.2] gdb: ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". Error creating process [#7706](https://github.com/microsoft/vscode-cpptools/issues/7706)
* Fix a bug with vcFormat inserting additional spaces between `}` and `else`. [#7731](https://github.com/microsoft/vscode-cpptools/issues/7731)
* Fix GCC system include processing on Windows. [#8112](https://github.com/microsoft/vscode-cpptools/issues/8112), [#8496](https://github.com/microsoft/vscode-cpptools/issues/8496)
* Remove redundant cl.exe from the build and debug active file configuration list. [#8168](https://github.com/microsoft/vscode-cpptools/issues/8168)
* Fix string elements to render as code in the IntelliSense configuration UI. [PR #8271](https://github.com/microsoft/vscode-cpptools/pull/8271)
* Fix IntelliSense process crash on AMD Ryzen 3000 series processors without updated drivers. [#8312](https://github.com/microsoft/vscode-cpptools/issues/8312)
* Fix bug with `wmic` not being recognized during Windows attach debugging. [#8328](https://github.com/microsoft/vscode-cpptools/issues/8328)
* Fix Go to Type Definition on pointer types. [#8337](https://github.com/microsoft/vscode-cpptools/issues/8337)
* Fix a "Cannot read property" error during deactivation if the language service wasn't fully activated. [#8354](https://github.com/microsoft/vscode-cpptools/issues/8354)
* Fix an issue in which the language id for header files were not updated to match the source file of its TU. [#8381](https://github.com/microsoft/vscode-cpptools/issues/8381)
* Fix parsing of `bit_cast` with gcc mode IntelliSense. [#8434](https://github.com/microsoft/vscode-cpptools/issues/8434)
* Fix the tag parser getting stuck on certain code. [#8459](https://github.com/microsoft/vscode-cpptools/issues/8459)
* Fix an invalid success message when a build task fails. [#8467](https://github.com/microsoft/vscode-cpptools/issues/8467)
* Fix compiler querying with certain Cygwin/MSYS2 compilers on Windows. [#8496](https://github.com/microsoft/vscode-cpptools/issues/8496)
* Fix a bug with conditional breakpoints. [#8515](https://github.com/microsoft/vscode-cpptools/issues/8515)
* Fix non-ASCII output with `cppbuild` tasks. [#8518](https://github.com/microsoft/vscode-cpptools/issues/8518)
* Fix 3 settings not getting environment variables resolved after a settings change. [#8531](https://github.com/microsoft/vscode-cpptools/issues/8531)
* Don't block running a task if it doesn't use the active file. [#8586](https://github.com/microsoft/vscode-cpptools/issues/8586)
* Fix a command not found error message after clicking the database status icon when commands aren't available. [#8599](https://github.com/microsoft/vscode-cpptools/issues/8599)
* Fix /RTC compiler checks failures don't break into debugger [#8646](https://github.com/microsoft/vscode-cpptools/issues/8646)
* Fix workspace rescanning (tag parsing) not automatically happening after c/cpp associations are added to `files.associations`. [#8687](https://github.com/microsoft/vscode-cpptools/issues/8687)
* Fix debugging when Windows binaries are linked with /PDBPageSize > 4k. [#8690](https://github.com/microsoft/vscode-cpptools/issues/8690)
* Switch usage of `-dD` to `-dM` when compiler querying. [#8692](https://github.com/microsoft/vscode-cpptools/issues/8692)
* Fix breakpoints with msys2 gcc. [#8696](https://github.com/microsoft/vscode-cpptools/issues/8696)
* Fix no document symbols appearing in certain cases. [#8726](https://github.com/microsoft/vscode-cpptools/issues/8726)
* Fix an issue in which multiple (potentially different) diagnostics were delivered for headers shared by multiple TUs.
* Fix some translations.
### Other
* Remove trailing whitespaces in source code.
* Alexander (@Gordon01) [PR #8254](https://github.com/microsoft/vscode-cpptools/pull/8254)
## Version 1.7.1: October 19, 2021
### Bug Fixes
* Fix an extension crash that occurred on activation while a workspace is open with no folders in it. [#8280](https://github.com/microsoft/vscode-cpptools/issues/8280)
* Fix an issue in which configuration defaults were not properly applied. [#8298](https://github.com/microsoft/vscode-cpptools/pull/8298)
## Version 1.7.0: October 13, 2021
### New Features
* Add a command to restart IntelliSense for a specific file. [#3727](https://github.com/microsoft/vscode-cpptools/issues/3727)
* Add support for macOS app bundles [#6726](https://github.com/microsoft/vscode-cpptools/issues/6726)
* [PR MIEngine#1091](https://github.com/microsoft/MIEngine/pull/1091)
* Add support for Go To / Peek Type Definition. [#7999](https://github.com/microsoft/vscode-cpptools/issues/7999)
### Enhancements
* Detect IntelliSenseMode target architecture for `cl.exe` based on its path. [#8044](https://github.com/microsoft/vscode-cpptools/issues/8044)
* In generated build tasks, add a compiler arg to cause color to be displayed in gcc/clang output in terminal. [PR #8165](https://github.com/microsoft/vscode-cpptools/pull/8165)
* Add new configuration `mergeConfigurations` that enables include paths, defines, and forced includes from c_cpp_properties.json to be merged with those provided by a configuration provider.
* Thomas Willson (@willson556) [PR #8174](https://github.com/microsoft/vscode-cpptools/pull/8174)
### Bug Fixes
* Fix an issue with signature help for overloaded constructors. [#1664](https://github.com/microsoft/vscode-cpptools/issues/1664)
* Add markdown to settings descriptions. [#4544](https://github.com/microsoft/vscode-cpptools/issues/4544)
* Fix an IntelliSense process crash. [#5584](https://github.com/microsoft/vscode-cpptools/issues/5548), [#8110](https://github.com/microsoft/vscode-cpptools/issues/8110)
* Fix an issue with incorrect E0513 and E0167 IntelliSense errors. [#6338](https://github.com/microsoft/vscode-cpptools/issues/6338)
* Fix issue with IntelliSense for anonymous members. [#6412](https://github.com/microsoft/vscode-cpptools/issues/6412)
* Fix an issue with incorrect "no suitable user-defined conversion" errors. [#6721](https://github.com/microsoft/vscode-cpptools/issues/6721)
* Fix some issues with punctuation in setting descriptions. [#6870](https://github.com/microsoft/vscode-cpptools/issues/6870)
* Add descriptions for setting enum values. [#7358](https://github.com/microsoft/vscode-cpptools/issues/7358)
* Add support for `${execPath}` and `${pathSeparator}` in `c_cpp_properties.json`. [#7753](https://github.com/microsoft/vscode-cpptools/issues/7753)
* Move the scope of document symbols from the name (on the left) to the details (on the right). [#7785](https://github.com/microsoft/vscode-cpptools/issues/7785)
* Fix an issue with config validation of Force Include values. [#7822](https://github.com/microsoft/vscode-cpptools/issues/7822)
* Fix an issue related to arg parsing in build tasks. [#7891](https://github.com/microsoft/vscode-cpptools/issues/7891)
* Add a check when cppbuild task is used when the active file is not a source file. [#7892](https://github.com/microsoft/vscode-cpptools/issues/7892)
* Fix a cpptools crash [#8055](https://github.com/microsoft/vscode-cpptools/issues/8055)
* Fix issue "LogPoint stopped working v1.6.0". [#8065](https://github.com/microsoft/vscode-cpptools/issues/8065)
* [PR MIEngine#1208](https://github.com/microsoft/MIEngine/pull/1208)
* Fix issue "Debugger won't read/write from/to stdio". [#8075](https://github.com/microsoft/vscode-cpptools/issues/8075)
* [PR MIEngine#1209](https://github.com/microsoft/MIEngine/pull/1209)
* Fix an issue with VC 14.0 headers not being found. [#8078](https://github.com/microsoft/vscode-cpptools/issues/8078)
* Fix an issue with CUDA support with `compile_commands.json`. [#8091](https://github.com/microsoft/vscode-cpptools/issues/8091)
* Fix an issue with `/kernel` arg to `cl.exe` for C files. [#8158](https://github.com/microsoft/vscode-cpptools/issues/8158)
* Fix an issue where inactive regions no longer dimmed after switching between open files. [#8206](https://github.com/microsoft/vscode-cpptools/issues/8206)
## Version 1.6.0: August 24, 2021
### New Features
* Added support for standard `.editorconfig` entries when using vcFormat. [#7920](https://github.com/microsoft/vscode-cpptools/issues/7920)
* Debug Step Granularity for cppdbg [PR MIEngine#1169](https://github.com/microsoft/MIEngine/pull/1169)
* Thank you for the contribution @Trass3r
* InstructionBreakpoints for cppdbg [PR MIEgnine#1192](https://github.com/microsoft/MIEngine/pull/1192)
### Enhancements
* Debugger now runs on .NET 5 [#7858](https://github.com/microsoft/vscode-cpptools/pull/7858)
* When using the `Default` setting for `C_Cpp.formatting`, vcFormat will now be selected if a `.editorconfig` file is found with vcFormat entries and no `.clang-format` file was found with nearer proximity to the source file. [#7929](https://github.com/microsoft/vscode-cpptools/issues/7929)
### Bug Fixes
* Fix incorrect sizeof for packed structs (gcc/clang) [#5267](https://github.com/microsoft/vscode-cpptools/issues/5267)
* Fix designated initializers not working at file scope. [#6316](https://github.com/microsoft/vscode-cpptools/issues/6316)
* Fix an IntelliSense crash on template code. [#7349](https://github.com/microsoft/vscode-cpptools/issues/7349)
* Rank existence of a custom configuration higher than filename similarity and path proximity, when choosing a TU source for a header [#7396](https://github.com/microsoft/vscode-cpptools/issues/7396)
* Fix an IntelliSense crash when the display language is set to Italian. [#7685](https://github.com/microsoft/vscode-cpptools/issues/7685)
* Enable the C++ status bar items to be selectively disabled. [#7700](https://github.com/microsoft/vscode-cpptools/issues/7700)
* Fix an issue causing incorrect color selection for semantic tokens. [#7773](https://github.com/microsoft/vscode-cpptools/issues/7773)
* Fix some cl.exe and clang installations not being detected. [#7767](https://github.com/microsoft/vscode-cpptools/issues/7767) [#7795](https://github.com/microsoft/vscode-cpptools/issues/7795) [#7800](https://github.com/microsoft/vscode-cpptools/issues/7800)
* Fix an issue with recursive includes not found. [#7783](https://github.com/microsoft/vscode-cpptools/issues/7783)
* Fix an issue with code folding of single-line blocks. [#7809](https://github.com/microsoft/vscode-cpptools/issues/7809)
* Fix a typo in a localized string. [#7823](https://github.com/microsoft/vscode-cpptools/issues/7823)
* Add open file parsing status when hovering over the database icon. [PR #7831](https://github.com/microsoft/vscode-cpptools/pull/7831)
* Fix an issue with IntelliSense flame icon getting stuck on. [#7838](https://github.com/microsoft/vscode-cpptools/issues/7838)
* Fix an issue with character position after include completion. [#7856](https://github.com/microsoft/vscode-cpptools/issues/7856)
* Fix wrong version of clang-format being used in multi-root workspaces. [#7870](https://github.com/microsoft/vscode-cpptools/issues/7870)
* Fix issue with setting of MS extensions when `-fms-extensions` is used. [#7886](https://github.com/microsoft/vscode-cpptools/issues/7886)
* Fix an issue with support detection on Android. [#7906](https://github.com/microsoft/vscode-cpptools/issues/7906)
* Fix a bug with handling of `"C_Cpp.vcFormat.newLine.beforeOpenBrace.block": "newLine"`. [#7926](https://github.com/microsoft/vscode-cpptools/issues/7926)
* Fix Disassembly view is blank on linux [#7960](https://github.com/microsoft/vscode-cpptools/issues/7960)
* Fix an issue with cppdbg debugging on Windows x64. [#7971](https://github.com/microsoft/vscode-cpptools/issues/7971)
* Fix an issue with VS `<execution>` header causing IntelliSense process crash. [#7972](https://github.com/microsoft/vscode-cpptools/issues/7972)
* Fix insiders update install loop for remote scenarios. [#8000](https://github.com/microsoft/vscode-cpptools/issues/8000)
* Fix macOS unable to use external terminal to debug [#8008](https://github.com/microsoft/vscode-cpptools/issues/8008)
## Version 1.5.1: July 9, 2021
### Bug Fixes
* cppvsdbg Debugging becomes no-op between 1.4.1 and 1.5.0 [#7808](https://github.com/microsoft/vscode-cpptools/issues/7808)
## Version 1.5.0: July 8, 2021
### New Feature
* Add the "Inline macro" code action. [#4183](https://github.com/microsoft/vscode-cpptools/issues/4183)
* Add a Windows ARM64 debugger. [PR #7798](https://github.com/microsoft/vscode-cpptools/pull/7798)
### Enhancements
* Add auto-detection of clang compilers on Windows (and different versions of cl.exe). [#6718](https://github.com/microsoft/vscode-cpptools/issues/6718)
* Stop adding .cu files to `files.associations` (switch to using setTextDocumentLanguage). [#7359](https://github.com/microsoft/vscode-cpptools/issues/7359)
* Add "Symbol Options" for CppVsdbg to configure symbol settings [PR #7680](https://github.com/microsoft/vscode-cpptools/pull/7680)
* Update CppVsdbg to use newer CppEE and msdia.
### Bug Fixes
* Fix switch header/source not checking `files.exclude`. [#4429](https://github.com/microsoft/vscode-cpptools/issues/4429)
* Fix code folding causing `} else if` lines to be hidden. [#5521](https://github.com/microsoft/vscode-cpptools/issues/5521)
* Add abort handling to recursive includes directory iteration. [#6461](https://github.com/microsoft/vscode-cpptools/issues/6461)
* Fix include completion with recursive includes in header files. [#6842](https://github.com/microsoft/vscode-cpptools/issues/6842)
* Add the get-task-allow entitlement to macOS binaries to enable call stacks to be obtained when SIP is enabled. [#7412](https://github.com/microsoft/vscode-cpptools/issues/7412)
* Fix Find All References reporting certain references in headers as inactive. [#7609](https://github.com/microsoft/vscode-cpptools/issues/7609)
* Fix IntelliSense process crash and tag parser failure with columns > 65535. [#7621](https://github.com/microsoft/vscode-cpptools/issues/7621)
* Fix incorrect localization translations.
* jogo- (@jogo-) [PR #7625](https://github.com/microsoft/vscode-cpptools/pull/7625)
* Fix `autocompleteAddParentheses` for some template argument deduction cases. [#7626](https://github.com/microsoft/vscode-cpptools/issues/7626)
* Fix some incorrect IntelliSense errors. [#6639](https://github.com/microsoft/vscode-cpptools/issues/6639), [#7630](https://github.com/microsoft/vscode-cpptools/issues/7630)
* Change references of "OS X" to "macOS".
* Tyler Davis (@TylerADavis) [PR #7636](https://github.com/microsoft/vscode-cpptools/pull/7636)
* Prevent the root path from being added to the `browse.path`. [#7648](https://github.com/microsoft/vscode-cpptools/issues/7648)
* Fix a configuration squiggle when `${workspaceFolder}` is used with `compilerPath`. [#7649](https://github.com/microsoft/vscode-cpptools/issues/7649)
* Fix an issue causing editorConfig not to be used or cached. [PR #7666](https://github.com/microsoft/vscode-cpptools/pull/7666)
* Fix document symbols nesting with templates. [#7673](https://github.com/microsoft/vscode-cpptools/issues/7673)
* Fix include paths not being found when the paths start with /D or /I. [#7701](https://github.com/microsoft/vscode-cpptools/issues/7701), [#7757](https://github.com/microsoft/vscode-cpptools/issues/7756)
* Fix Find All References on a global variable giving incorrect references to local variables. [#7702](https://github.com/microsoft/vscode-cpptools/issues/7702)
* Fix `vcFormat` not working near the end of the file with UTF-8 characters > 1 byte. [#7704](https://github.com/microsoft/vscode-cpptools/issues/7704)
* Fix a configuration squiggle for a recursively resolved `forcedInclude`. [PR #7722](https://github.com/microsoft/vscode-cpptools/pull/7722)
* Fix `Build and Debug Active File` for certain file extensions (.cu, .cp, etc.).
* jogo- (@jogo-) [PR #7726](https://github.com/microsoft/vscode-cpptools/pull/7726)
* Fix `browse.path` being incorrect if an invalid `compileCommands` is set. [#7737](https://github.com/microsoft/vscode-cpptools/issues/7737)
* Fix an incorrect error message when `C_Cpp.errorSquiggles` is `"Enabled"`. [#7744](https://github.com/microsoft/vscode-cpptools/issues/7744)
* Fix compiler querying sometimes not working with Cygwin. [#7751](https://github.com/microsoft/vscode-cpptools/issues/7751)
* Fix a duplicate IntelliSense update when a new C/C++ file is opened and after switching from a non-C/C++ file and back.
* Fix a potential IntelliSense process crash on shutdown.
## Version 1.4.1: June 8, 2021
### Bug Fixes
* Fix the configuration UI sometimes not populating initially with VS Code 1.56 or later. [#7641](https://github.com/microsoft/vscode-cpptools/issues/7641)
## Version 1.4.0: May 27, 2021
### New Features
* Add a C++ walkthrough to the "Getting Started" page. [#7273](https://github.com/microsoft/vscode-cpptools/issues/7273)
* Note: VS Code may only make this available to a subset of users while they continue working on the feature.
### Enhancements
* Update to clang-format 12. [#6434](https://github.com/microsoft/vscode-cpptools/issues/6434)
* Add `private` or `protected` scope labels to class symbols. [#7120](https://github.com/microsoft/vscode-cpptools/issues/7120)
* Fix file:line path for $FILEPOS [#7193](https://github.com/microsoft/vscode-cpptools/issues/7193)
* [PR MIEngine#1124](https://github.com/microsoft/MIEngine/pull/1124)
* Add `stopAtConnect` and `hardwareBreakpoints` launch options [PR #7449](https://github.com/microsoft/vscode-cpptools/pull/7449)
* `stopAtConnect` stops the debugger on connection to a remote target [PR MIEngine#1109](https://github.com/microsoft/MIEngine/pull/1109)
* `hardwareBreakpoints` controls usage and number of remote hardware breakpoints [PR MIEngine#1128](https://github.com/microsoft/MIEngine/pull/1128)
* Add support for loading Concord extensions to the cppvsdbg debug adapter (see [documentation](https://github.com/microsoft/ConcordExtensibilitySamples/wiki/Support-for-VS-Code-cppvsdbg-Scenarios) for more information)
* Add support for exception conditions to cppvsdbg (see [documentation](https://aka.ms/VSCode-Cpp-ExceptionSettings) for more information)
### Bug Fixes
* Fix an incorrect IntelliSense error with object initialization. [#3212](https://github.com/microsoft/vscode-cpptools/issues/3212)
* Fix IntelliSense errors with designated initializers. [#3491](https://github.com/microsoft/vscode-cpptools/issues/3491), [#5500](https://github.com/microsoft/vscode-cpptools/issues/5550)
* Fix IntelliSense configuration with cl.exe compiler args `/external:I`, `/Zc:preprocessor`, and others. [#4980](https://github.com/microsoft/vscode-cpptools/issues/4980), [#6531](https://github.com/microsoft/vscode-cpptools/issues/6531), [#7259](https://github.com/microsoft/vscode-cpptools/issues/7259)
* Switch to showing no document symbols instead of random symbols for `files.exclude`'d documents. [#5142](https://github.com/microsoft/vscode-cpptools/issues/5142)
* Fix macros getting undefined when duplicate `#include` are used. [#5182](https://github.com/microsoft/vscode-cpptools/issues/5182), [#7270](https://github.com/microsoft/vscode-cpptools/issues/7270)
* Fix provider failed error logging. [#5487](https://github.com/microsoft/vscode-cpptools/issues/5487)
* Fix an IntelliSense crash with `#pragma GCC target`. [#6698](https://github.com/microsoft/vscode-cpptools/issues/6698), [#7377](https://github.com/microsoft/vscode-cpptools/issues/7377)
* Fix bitness detection for compilers targeting esp32. [#7034](https://github.com/microsoft/vscode-cpptools/issues/7034)
* Fix -idirafter directories being included too early. [#7129](https://github.com/microsoft/vscode-cpptools/issues/7129)
* Fix issue with the cpptools process lingering when no longer needed. [#7262](https://github.com/microsoft/vscode-cpptools/issues/7262)
* Filter out C++ std when querying the compiler as C (and vice versa). [#7269](https://github.com/microsoft/vscode-cpptools/issues/7269)
* Fix `files.exclude` ending with `/folder/**` not excluding `/folder`. [#7331](https://github.com/microsoft/vscode-cpptools/issues/7331)
* Fix VS Code UI freezing when hovering over very large literals. [#7334](https://github.com/microsoft/vscode-cpptools/issues/7334), [#7577](https://github.com/microsoft/vscode-cpptools/issues/7577)
* Fix clang-format formatting bug when new lines are removed. [#7360](https://github.com/microsoft/vscode-cpptools/issues/7360)
* Change default cwd in launch.json to `${fileDirname}`. [#7362](https://github.com/microsoft/vscode-cpptools/issues/7362)
* Syed Ahmad (@HackintoshwithUbuntu) [PR #7363](https://github.com/microsoft/vscode-cpptools/pull/7363)
* Fix the compile commands entry not being used when -Werror is used. [#7388](https://github.com/microsoft/vscode-cpptools/issues/7388)
* Fix some potential race conditions during vsix installation. [#7405](https://github.com/microsoft/vscode-cpptools/issues/7405)
* Fix completion at the end of a file. [#7472](https://github.com/microsoft/vscode-cpptools/issues/7472)
* Fix completion of constructors. [#7505](https://github.com/microsoft/vscode-cpptools/issues/7505)
* Fix typos.
* jogo- (@jogo-) [PR #7509](https://github.com/microsoft/vscode-cpptools/pull/7509), [PR #7568](https://github.com/microsoft/vscode-cpptools/pull/7568), [PR #7573](https://github.com/microsoft/vscode-cpptools/pull/7573)
* Fix an IntelliSense crash with the arrow library. [#7518](https://github.com/microsoft/vscode-cpptools/issues/7518)
* Fix the configuration UI randomly being blank (more frequently when remote). [#7523](https://github.com/microsoft/vscode-cpptools/issues/7523)
* Fix IntelliSense mode switching from `linux` to `macos` if `__unix__` is defined but `__linux__` is not. [#7525](https://github.com/microsoft/vscode-cpptools/issues/7525)
* Fix enabling of the `ms_extensions` flag for clang on Windows. [#7529](https://github.com/microsoft/vscode-cpptools/issues/7529)
* Fix `autocompleteAddParentheses` with no argument const/non-const overloads and deduction guides. [#7540](https://github.com/microsoft/vscode-cpptools/issues/7540), [#7541](https://github.com/microsoft/vscode-cpptools/issues/7541)
* Fix the browse configuration not being preserved when the configuration provider is auto-detected. [#7542](https://github.com/microsoft/vscode-cpptools/issues/7542)
* Fix clang-format failure on macOS 10.13 or older. [#7561](https://github.com/microsoft/vscode-cpptools/issues/7561)
* Fix an IntelliSense crash with std::ranges::unique. [#7576](https://github.com/microsoft/vscode-cpptools/issues/7576)
* Prevent 'Configuration Warnings' output when a custom configuration provider omits optional fields.
* Prevent 'Configuration Warnings' caused by corrections to auto-detected default configuration values.
* Reduce IntelliSense memory and CPU usage in certain scenarios (e.g. large files).
* Fix a crash on Linux with a `/**` includePath.
## Version 1.3.1: April 19, 2021
### Bug Fixes
@@ -58,7 +592,7 @@
* Fix an extension activation failure when a non-existent folder exists in the workspace. [#6981](https://github.com/microsoft/vscode-cpptools/issues/6981)
* Fix infinite loops during document symbol processing. [#6988](https://github.com/microsoft/vscode-cpptools/issues/6988), [#7012](https://github.com/microsoft/vscode-cpptools/issues/7012), [#7022](https://github.com/microsoft/vscode-cpptools/issues/7022), [#7025](https://github.com/microsoft/vscode-cpptools/issues/7025)
* Fix a regression with handling of -isysroot/--sysroot compiler arguments. [#6992](https://github.com/microsoft/vscode-cpptools/issues/6992)
* Fix issue querying certain compilers, including armclang and arm-poky-linux-musleabi-gcc. [7021](https://github.com/microsoft/vscode-cpptools/issues/7021)
* Fix issue querying certain compilers, including armclang and arm-poky-linux-musleabi-gcc. [#7021](https://github.com/microsoft/vscode-cpptools/issues/7021)
* Fix invalid "console" property when generating a "cppdbg" task. [#7048](https://github.com/microsoft/vscode-cpptools/issues/7048)
## Version 1.2.1: February 16, 2021
@@ -165,7 +699,7 @@
* Fix the default `cwd` for `cppbuild` tasks. [#6618](https://github.com/microsoft/vscode-cpptools/issues/6618)
## Version 1.1.2: November 17, 2020
### Bug Fix
### Bug Fixes
* Fix resolution of `${fileDirname}` with `cppbuild` tasks. [#6386](https://github.com/microsoft/vscode-cpptools/issues/6386)
## Version 1.1.1: November 9, 2020
@@ -218,7 +752,7 @@
* Fix C files being treated as C++ files with compile_commands.json. [#6279](https://github.com/microsoft/vscode-cpptools/issues/6279)
* Fix `Build and Debug Active File` race condition with EngineLogs. [#6304](https://github.com/microsoft/vscode-cpptools/pull/6304)
* Fix changes to some `c_cpp_properties.json` properties not taking effect (until a reload) if `compileCommands` is set. [#6332](https://github.com/microsoft/vscode-cpptools/issues/6332)
* Fix issue with compiler querying not handling various clang command line options correctly. [6359](https://github.com/microsoft/vscode-cpptools/issues/6356)
* Fix issue with compiler querying not handling various clang command line options correctly. [#6356](https://github.com/microsoft/vscode-cpptools/issues/6356), [#6359](https://github.com/microsoft/vscode-cpptools/issues/6359)
* Fix multiroot workspace tag parsing when `compileCommands` is set. [#6383](https://github.com/microsoft/vscode-cpptools/issues/6383)
* Fix mingw32 compilers not being detected. [#6394](https://github.com/microsoft/vscode-cpptools/issues/6394)
* Various bug fixes for vcFormat. [PR #6408](https://github.com/microsoft/vscode-cpptools/pull/6408)
@@ -299,10 +833,10 @@
## 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.
* 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)
* Add support for LogMessage Breakpoints for debug type `cppdbg`. [PR 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)
@@ -443,7 +977,7 @@
* 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 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)
@@ -464,7 +998,7 @@
* Fix `compile_commands.json` prompt appearing when a configuration provider is used. [#3972](https://github.com/microsoft/vscode-cpptools/issues/3972)
* Improve IntelliSense performance with range-v3. [#4414](https://github.com/microsoft/vscode-cpptools/issues/4414)
* Fix template members not being nested under the template type in the Outline view. [#4466](https://github.com/microsoft/vscode-cpptools/issues/4466)
* Fix an issue in which failure to invoke a compiler could result in a hang on Linux and Mac. [#4627](https://github.com/microsoft/vscode-cpptools/issues/4627)
* Fix an issue in which failure to invoke a compiler could result in a loss of functionality on Linux and Mac. [#4627](https://github.com/microsoft/vscode-cpptools/issues/4627)
* Fix custom configurations sometimes not being applied to headers. [#4649](https://github.com/microsoft/vscode-cpptools/issues/4649)
* Fix headers opening into header-only TU's instead of TU's for candidate source files. [#4696](https://github.com/microsoft/vscode-cpptools/issues/4696)
* Fix the missing description of `C_Cpp.clang_format_style`.
@@ -495,13 +1029,13 @@
* Fix child process creation when the Windows code page is set to a language with non-ASCII characters and there are non-ASCII characters in the extension's install path. [#1560](https://github.com/microsoft/vscode-cpptools/issues/1560)
* Fix path canonicalization of UNC paths to avoid duplicate files opening with different casing. [#2528](https://github.com/microsoft/vscode-cpptools/issues/2528), [#3980](https://github.com/microsoft/vscode-cpptools/issues/3980)
* Fix header opening without IntelliSense due to creation of a TU from a source file that includes the header in an inactive region. [#4320](https://github.com/microsoft/vscode-cpptools/issues/4320)
* Fix a hang in the extension process that can occur when using a scope named 'interface'. [#4470](https://github.com/microsoft/vscode-cpptools/issues/4470)
* Fix an infinite loop in the extension process that can occur when using a scope named 'interface'. [#4470](https://github.com/microsoft/vscode-cpptools/issues/4470)
* Fix an issue with the Rename UI that could cause the rename to not be applied. [#4504](https://github.com/microsoft/vscode-cpptools/issues/4504)
* Show an error message when a Rename fails due to the symbol not being found. [#4510](https://github.com/microsoft/vscode-cpptools/issues/4510)
* Fix `launch.json` creation due to localized strings containing quotes. [#4526](https://github.com/microsoft/vscode-cpptools/issues/4526)
* Fix configuration error squiggles not being applied unless the setting was set in both `c_cpp_properties.json` and `settings.json`. [PR #4538](https://github.com/microsoft/vscode-cpptools/pull/4538)
* Fix document symbol for Outline view and breadcrumbs on Windows 7. [#4536](https://github.com/microsoft/vscode-cpptools/issues/4536).
* Add support for `"ms-vscode.cmake-tools"` `configurationProvider` id. [#4586](https://github.com/microsoft/vscode-cpptools/issues/4586).
* Fix document symbol for Outline view and breadcrumbs on Windows 7. [#4536](https://github.com/microsoft/vscode-cpptools/issues/4536)
* Add support for `"ms-vscode.cmake-tools"` `configurationProvider` id. [#4586](https://github.com/microsoft/vscode-cpptools/issues/4586)
* Fix cancellation of Find All References sometimes resulting in an exception. [#2710](https://github.com/microsoft/vscode-cpptools/issues/2710)
* Fix the sort order of files in the Find All References and Rename UI's. [#4615](https://github.com/microsoft/vscode-cpptools/issues/4615)
* Fix localized Chinese strings not displaying on systems with case-sensitive file systems. [#4619](https://github.com/microsoft/vscode-cpptools/issues/4619)
@@ -512,7 +1046,7 @@
### Bug Fixes
* Fix `launch.json` creation when using non-English display languages. [#4464](https://github.com/microsoft/vscode-cpptools/issues/4464)
* Fix CHS translation. [#4422](https://github.com/microsoft/vscode-cpptools/issues/4422)
* Fix debugging hang when Windows 10 Beta Unicode (UTF-8) support is enabled. [#1527](https://github.com/microsoft/vscode-cpptools/issues/1527)
* Fix debugging not working when Windows 10 Beta Unicode (UTF-8) support is enabled. [#1527](https://github.com/microsoft/vscode-cpptools/issues/1527)
## Version 0.26.0: October 15, 2019
### New Features
@@ -585,11 +1119,11 @@
### Bug Fixes
* Fix wrong type of `this` pointer. [#2303](https://github.com/microsoft/vscode-cpptools/issues/2303)
* Fix previous cache path not deleted when new cache path is specified. Note that the VS Code bug [Microsoft/vscode#59391](https://github.com/microsoft/vscode/issues/59391) still occurs on the settings UI, but this fix should delete any incomplete path names as the extension receives changes from the cache path setting. [#3644](https://github.com/microsoft/vscode-cpptools/issues/3644).
* Fix previous cache path not deleted when new cache path is specified. Note that the VS Code bug [Microsoft/vscode#59391](https://github.com/microsoft/vscode/issues/59391) still occurs on the settings UI, but this fix should delete any incomplete path names as the extension receives changes from the cache path setting. [#3644](https://github.com/microsoft/vscode-cpptools/issues/3644)
* Fix broken shell script when launch/attaching as root. [#3711](https://github.com/microsoft/vscode-cpptools/issues/3711)
* Christian A. Jacobsen (@ChristianJacobsen) [PR MIEngine#906](https://github.com/microsoft/MIEngine/pull/906)
* Fix ".H" files not appearing in include completion results on Linux/macOS. [#3744](https://github.com/microsoft/vscode-cpptools/issues/3744)
* Fix `compile_commands.json` file changes not updated. [#3864](https://github.com/microsoft/vscode-cpptools/issues/3864).
* Fix `compile_commands.json` file changes not updated. [#3864](https://github.com/microsoft/vscode-cpptools/issues/3864)
* Fix `Failed to parse` error message in the open file scenario. [#3888](https://github.com/microsoft/vscode-cpptools/issues/3888)
* Fix loading the wrong symbols when creating or copying a file. [#3897](https://github.com/microsoft/vscode-cpptools/issues/3897)
* Fix IntelliSense process crash in clang mode. [#3898](https://github.com/microsoft/vscode-cpptools/issues/3898)
@@ -918,7 +1452,7 @@
* Fix `Go to Definition` bug (missing symbols outside the workspace). [#2281](https://github.com/Microsoft/vscode-cpptools/issues/2281)
* Fix incorrect hover in enum definitions. [#2286](https://github.com/Microsoft/vscode-cpptools/issues/2286)
* Add a setting to silence configuration provider warnings. [#2292](https://github.com/Microsoft/vscode-cpptools/issues/2292)
* Fix debugging async Visual C++ causing debugger to hang.
* Fix debugging async Visual C++ causing the debugger to stop responding.
* Fix `main` snippet.
## Version 0.17.6: July 2, 2018
@@ -1004,7 +1538,7 @@
## Version 0.16.1: March 30, 2018
* Fix random deadlock caused by logging code on Linux/Mac. [#1759](https://github.com/Microsoft/vscode-cpptools/issues/1759)
* Fix compiler from `compileCommands` not being queried for includes/defines if `compilerPath` isn't set on Windows. [#1754](https://github.com/Microsoft/vscode-cpptools/issues/1754)
* Fix OSX `UseShellExecute` I/O bug. [#1756](https://github.com/Microsoft/vscode-cpptools/issues/1756)
* Fix OSX `UseShellExecute` I/O bug. [#1756](https://github.com/Microsoft/vscode-cpptools/issues/1756)
* Invalidate partially unzipped files from package manager. [#1757](https://github.com/Microsoft/vscode-cpptools/issues/1757)
## Version 0.16.0: March 28, 2018
@@ -1186,8 +1720,8 @@
* Add `Edit Configurations...` command to the `Select a Configuration...` dropdown.
* Update Microsoft Visual C++ debugger to Visual Studio 2017 released components.
* Fix issue with showing wrong thread. [#550](https://github.com/Microsoft/vscode-cpptools/issues/550)
* Fix issue with binaries compiled with /FASTLINK causing debugger to hang. [#484](https://github.com/Microsoft/vscode-cpptools/issues/484)
* Fix issue in MinGW/Cygwin debugging where stop debugging causes VS Code to hang. [PR Microsoft/MIEngine#636](https://github.com/Microsoft/MIEngine/pull/636)
* Fix issue with binaries compiled with /FASTLINK causing the debugger to stop responding. [#484](https://github.com/Microsoft/vscode-cpptools/issues/484)
* Fix issue in MinGW/Cygwin debugging where stop debugging causes VS Code to stop responding. [PR Microsoft/MIEngine#636](https://github.com/Microsoft/MIEngine/pull/636)
## Version 0.12.0: June 26, 2017
* The default IntelliSense engine now provides semantic-aware autocomplete suggestions for `.`, `->`, and `::` operators. [#13](https://github.com/Microsoft/vscode-cpptools/issues/13)
@@ -1349,4 +1883,4 @@
## Version 0.5.0: April 14, 2016
* Usability and correctness bug fixes.
* Simplify installation experience.
* Usability and correctness bug fixes.
* Usability and correctness bug fixes.
+24 -19
View File
@@ -1,13 +1,33 @@
# C/C++ for Visual Studio Code
#### [Repository](https://github.com/microsoft/vscode-cpptools)&nbsp;&nbsp;|&nbsp;&nbsp;[Issues](https://github.com/microsoft/vscode-cpptools/issues)&nbsp;&nbsp;|&nbsp;&nbsp;[Documentation](https://code.visualstudio.com/docs/languages/cpp)&nbsp;&nbsp;|&nbsp;&nbsp;[Code Samples](https://github.com/microsoft/vscode-cpptools/tree/main/Code%20Samples)&nbsp;&nbsp;|&nbsp;&nbsp;[Offline Installers](https://github.com/microsoft/vscode-cpptools/releases)
#### [Repository](https://github.com/microsoft/vscode-cpptools)&nbsp;&nbsp;|&nbsp;&nbsp;[Issues](https://github.com/microsoft/vscode-cpptools/issues)&nbsp;&nbsp;|&nbsp;&nbsp;[Documentation](https://code.visualstudio.com/docs/languages/cpp)&nbsp;&nbsp;|&nbsp;&nbsp;[Code Samples](https://github.com/microsoft/vscode-cpptools/tree/main/Code%20Samples)
[![Badge](https://aka.ms/vsls-badge)](https://aka.ms/vsls)
The C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.
The C/C++ extension adds language support for C/C++ to Visual Studio Code, including [editing (IntelliSense)](https://code.visualstudio.com/docs/cpp/cpp-ide) and [debugging](https://code.visualstudio.com/docs/cpp/cpp-debug) features.
## Pre-requisites
C++ is a compiled language meaning your program's source code must be translated (compiled) before it can be run on your computer. VS Code is first and foremost an editor, and relies on command-line tools to do much of the development workflow. The C/C++ extension **does not include a C++ compiler or debugger**. You will need to install these tools or use those already installed on your computer.
* C++ compiler pre-installed
* C++ debugger pre-installed
<br/>
Here is a list of compilers and architectures per platform officially supported by the extension. These are reflected by the available [IntelliSense modes](https://code.visualstudio.com/docs/cpp/configure-intellisense-crosscompilation#_intellisense-mode) from the extension's IntelliSense configuration. Note that support for other compilers may be limited.
Platform | Compilers | Architectures
:--- | :--- | :---
Windows | MSVC, Clang, GCC | x64, x86, arm64, arm
Linux | Clang, GCC | x64, x86, arm64, arm
macOS | Clang, GCC | x64, x86, arm64
For more information about installing the required tools or setting up the extension, please follow the tutorials below.
<br/>
<br/>
## Overview and tutorials
* [C/C++ extension overview](https://code.visualstudio.com/docs/languages/cpp)
* [Introductory Videos](https://code.visualstudio.com/docs/cpp/introvideos-cpp)
C/C++ extension tutorials per compiler and platform
* [Microsoft C++ compiler (MSVC) on Windows](https://code.visualstudio.com/docs/cpp/config-msvc)
@@ -17,7 +37,7 @@ C/C++ extension tutorials per compiler and platform
* [Clang on macOS](https://code.visualstudio.com/docs/cpp/config-clang-mac)
## Quick links
* [Editing features (IntelliSense)](https://code.visualstudio.com/docs/cpp/cpp-ide)
* [Editing features (IntelliSense)](https://code.visualstudio.com/docs/cpp/cpp-ide)
* [IntelliSense configuration](https://code.visualstudio.com/docs/cpp/customize-default-settings-cpp)
* [Enhanced colorization](https://code.visualstudio.com/docs/cpp/colorization-cpp)
* [Debugging](https://code.visualstudio.com/docs/cpp/cpp-debug)
@@ -45,21 +65,6 @@ If someone has already filed an issue that encompasses your feedback, please lea
<br>
Let us know what you think of the extension by taking the quick survey.
## Offline installation
The extension has platform-specific binary dependencies, therefore installation via the Marketplace requires an Internet connection in order to download additional dependencies. If you are working on a computer that does not have access to the Internet or is behind a strict firewall, you may need to use our platform-specific packages and install them by running VS Code's `"Install from VSIX..."` command. These "offline' packages are available at: https://github.com/Microsoft/vscode-cpptools/releases.
Package | Platform
:--- | :---
`cpptools-linux.vsix` | Linux 64-bit
`cpptools-linux-armhf.vsix` | Linux ARM 32-bit
`cpptools-linux-aarch64.vsix` | Linux ARM 64-bit
`cpptools-osx.vsix` | macOS 64-bit
`cpptools-osx-arm64.vsix` | macOS ARM64
`cpptools-win32.vsix` | Windows 64-bit & 32-bit
`cpptools-win-arm64.vsix` | Windows ARM64
`cpptools-linux32.vsix` | Linux 32-bit ([available up to version 0.27.0](https://github.com/microsoft/vscode-cpptools/issues/5346))
## Contribution
Contributions are always welcome. Please see our [contributing guide](CONTRIBUTING.md) for more details.
@@ -70,4 +75,4 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
## Data and telemetry
This extension collects usage data and sends it to Microsoft to help improve our products and services. Collection of telemetry is controlled via the same setting provided by Visual Studio Code: `"telemetry.enableTelemetry"`. Read our [privacy statement](https://privacy.microsoft.com/en-us/privacystatement) to learn more.
This extension collects usage data and sends it to Microsoft to help improve our products and services. Collection of telemetry is controlled via the same setting provided by Visual Studio Code: `"telemetry.enableTelemetry"`. Read our [privacy statement](https://privacy.microsoft.com/en-us/privacystatement) to learn more.
+32
View File
@@ -0,0 +1,32 @@
<h1 data-loc-id="incompatible.extension.heading">Incompatible or Mismatched C/C++ Extension Binaries</h1>
<p data-loc-id="incompat.extension.text1">The C/C++ extension includes native binaries.</p>
<p data-loc-id="incompat.extension.text2">When installed via the marketplace UI in VS Code, the correct native binaries should be included. If incompatible binaries were detected and the C/C++ extension had been installed via the marketplace UI in VS Code, <a href="https://github.com/microsoft/vscode/issues/new?assignees=&labels=&template=bug_report.md" data-loc-id="bug.report.link.title">please report the issue</a>.</p>
<h1 data-loc-id="reinstalling.extension.heading">Reinstalling the C/C++ Extension</h1>
<p data-loc-id="reinstall.extension.text1">When reinstalling an equivalent version of an extension, VS Code may reuse the existing extension directory. To prevent this from occurring when reinstalling the C/C++ extension, it may be necessary to first delete the existing extension directory.</p>
<p data-loc-id="reinstall.extension.text2">Installed extension directories can be found under one of the following paths under your user directory (`%USERPROFILE%` on Windows, or `$HOME` on Linux and macOS)</p>
<pre><code class="lang-bash">%USERPROFILE%\.vscode\extensions</code></pre>
<pre><code class="lang-bash">%USERPROFILE%\.vscode-insiders\extensions</code></pre>
<pre><code class="lang-bash">%USERPROFILE%\.vscode-exploration\extensions</code></pre>
<p data-loc-id="reinstall.extension.text3">In a remote connection:</p>
<pre><code class="lang-bash">$HOME/.vscode-server/extensions</code></pre>
<pre><code class="lang-bash">$HOME/.vscode-server-insiders/extensions</code></pre>
<pre><code class="lang-bash">$HOME/.vscode-server-exploration/extensions</code></pre>
<p data-loc-id="reinstall.extension.text4">Example paths to installed C/C++ extension directories:</p>
<p data-loc-id="reinstall.extension.text5">On Windows:</p>
<pre><code class="lang-bash">%USERPROFILE%\.vscode\extensions\ms-vscode.cpptools-1.9.0</code></pre>
<p data-loc-id="reinstall.extension.text6">On Linux:</p>
<pre><code class="lang-bash">$HOME/.vscode/extensions/ms-vscode.cpptools-1.9.0</code></pre>
<p data-loc-id="reinstall.extension.text7">Then reinstall via the marketplace UI in VS Code.</p>
<p data-loc-id="reinstall.extension.text8">If the correct version of the extension fails to be deployed by VS Code, the correct VSIX for your system can be <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools" data-loc-id="download.vsix.link.title">downloaded from the VS Code marketplace web site</a> and installed using the `Install from VSIX...` option under the '...' menu in the marketplace UI in VS Code.</p>
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -26,8 +26,8 @@
"replace": "--using_directory\n$1"
},
{
"match": "^/dE--header_only_fallback",
"replace": "--header_only_fallback"
"match": "^/dE--(.*)",
"replace": "--$1"
}
]
}
+116 -14
View File
@@ -838,7 +838,7 @@
"Vrací se odkaz na místní proměnnou.",
"Vynechání explicitního typu je nestandardní (předpokládá se int).",
"Víc než jedna částečná specializace odpovídá seznamu argumentů šablony %n.",
"%no",
"%nod",
"Seznam argumentů šablony není v deklaraci primární šablony povolený.",
"Částečné specializace nemůžou mít výchozí argumenty šablony.",
"%n1 se nepoužívá nebo nejde odvodit ze seznamu argumentů šablony %n2.",
@@ -1389,14 +1389,14 @@
"Dllexport a dllimport se u šablon třídy ignorují.",
"Specifikace základní třídy dllexport/dllimport se liší od specifikace odvozené třídy.",
"Změnou deklarace se nedá přidat dllexport/dllimport k %nod.",
"Dllexport/dllimport je v konfliktu s %nod. Očekával se dllexport.",
"dllexport/dllimport je v konfliktu s %nod; Očekával se dllexport.",
"Entita dllimport se nedá definovat.",
"Dllexport/dllimport vyžaduje externí propojení.",
"Člen třídy deklarované pomocí dllexport/dllimport nemůže sám být deklarovaný pomocí takového specifikátoru.",
"pole typu třídy bez rozhraní DLL použité v třídě s rozhraním DLL",
"Deklarace člena v závorkách je nestandardní.",
"Prázdné znaky mezi zpětným lomítkem a znakem nového řádku se ve spojení řádku ignorují.",
"Dllexport/dllimport je v konfliktu s %nod. Došlo k vynechání dllimport/dllexport.",
"dllexport/dllimport je v konfliktu s %nod; Došlo k vynechání dllimport/dllexport.",
"Neplatný člen pro anonymní členskou třídu třída %t nepovolila členskou funkci.",
"Nestandardní reinterpret_cast",
"Specifikátor pozice formátu nemůže být nula.",
@@ -1464,24 +1464,24 @@
"makro",
"návěstí",
"parametr šablony",
null,
null,
null,
null,
"typ",
"spojení",
"třída",
"struktura",
"parametr Template šablony",
"šablona",
"šablona třídy",
null,
"výčet",
"parametr",
"parametr obslužné rutiny",
"proměnná",
"není typ",
null,
"konstanta",
"funkce",
"funkce přetížení",
"člen",
"pole",
null,
"obor názvů",
"pojmenovaný registr",
"pojmenovaný adresní prostor",
"šablona funkce",
@@ -1635,7 +1635,7 @@
"Rozšiřující konverze ukazatele z %t1 na %t2 rozšiřuje bit znaménka.",
"__sptr a __uptr se nedají použít u typů ukazatel na člena.",
"Deklarace operátoru přiřazení pro kopírování pro %t se potlačila, protože %n je konstanta.",
null,
"deklarace operátoru přiřazení pro kopírování objektu %t byla potlačena, protože %n je typu odkaz",
"Deklarace operátoru přiřazení pro kopírování pro %t1 se potlačila, protože došlo k potlačení deklarace %t2.",
"Deklarace operátoru přiřazení pro kopírování pro %t1 se potlačila, protože deklarace %t2 je dvojznačná.",
"Deklarace operátoru přiřazení pro kopírování pro %t1 se potlačila, protože deklarace %t2 není přístupná.",
@@ -2546,7 +2546,7 @@
"Typ decltype(auto) se nedá odvodit.",
"Deklarace rozsahu bloku místního vlákna musí zahrnovat statickou nebo externí",
"Odvozený návratový typ %t1 má konflikty s dříve odvozeným typem %t2.",
"Návratový typ %nd se nedá odvodit, nebyl definovaný.",
"Návratový typ %nd; se nedá odvodit, protože nebyl definován.",
"Virtuální funkce nemůže mít odvozený návratový typ.",
"%n se bude od tohoto bodu považovat za kontextové klíčové slovo.",
"Globální obor názvů nemá žádný skutečný člen %sq.",
@@ -2604,7 +2604,7 @@
"Definice veřejného typu C++/CX není u globálního rozsahu povolená.",
"Indexovaná vlastnost s veřejným přístupovým objektem get nebo set není povolená.",
"Veřejný vnořený typ delegáta není povolený.",
"Neplatný inicializátor delegáta -- očekávaná syntaxe je (<adresa-funkce nebo objekt-funktoru> [, Platform::CallbackContext]) nebo (<popisovač objektu>, <adresa-člena> [, Platform::CallbackContext [, bool]]).",
"Neplatný inicializátor delegáta -- očekávaná syntaxe je (<adresa-funkce nebo objekt-funktoru> [, Platform::CallbackContext]) nebo (<úchyt objektu>, <adresa-člena> [, Platform::CallbackContext [, bool]]).",
"Neplatný inicializátor delegáta -- objekt musí být popisovačem na třídu %[managed].",
"C++/CX nepodporuje pole in nebo out. U veřejných rozhraní API použijte pro in: const Platform::Array<T>^ a pro out: Platform::WriteOnlyArray<T>^ nebo Platform::Array<T>^*.",
"Chybí cílový atribut pro %nd.",
@@ -3373,5 +3373,107 @@
"__is_signed už není klíčové slovo.",
"Rozměr pole musí mít konstantní celočíselnou hodnotu bez znaménka.",
"Soubor IFC %sq má nepodporovanou verzi %d1.%d2.",
"Moduly se v tomto režimu nepovolily."
"Moduly se v tomto režimu nepovolily.",
"Název modulu nesmí obsahovat slovo import.",
"Název modulu nesmí obsahovat slovo module.",
null,
null,
"%n není výčtový typ.",
"Enumerátor %no2 je v konfliktu s %n1.",
"Enumerátor %no se už v tomto oboru %p deklaroval.",
"specifikace throw() není součástí standardu C++20 a novějších",
"více než jedna položka v mapě jednotky hlavičky odpovídá %s",
"Diagnostika #pragma musí mít buď argument push nebo pop.",
"Nenašel se žádný push diagnostiky #pragma, které by odpovídal tomuto popu diagnostiky.",
"%sq nemůže být makro, pokud se použije ve směrnici pro import nebo modul.",
"Tato direktiva se může vyskytovat jenom v rozsahu globálního oboru názvů.",
"Deklarace typu export se může vyskytovat jenom na úrovni globálního rozsahu (global) nebo rozsahu oboru názvů (namespace).",
"%sq se parsuje jako identifikátor, nikoli jako klíčové slovo, protože tokeny, které po něm následují, se neshodují s direktivou preprocesoru.",
"Vypadá to, že se jedná o začátek direktivy preprocesoru, ale chybějící znak „;“, po kterém ihned následuje nový řádek, tomu brání.",
"Vypadá to, že se jedná o direktivu předběžného zpracování modulů, ale tyto direktivy se nemůžou vyskytovat v rámci rozšíření makra.",
"Direktiva typu module se nemůže vyskytovat v oboru podmíněného zahrnutí (např. #if, #else, #elseif apod.).",
"Import %sq se přeskočil.",
"typ příslibu %t musí deklarovat get_return_object_on_allocation_failure jako funkci statického člena, která nevyžaduje žádné argumenty",
"šablona aliasu nemůže být explicitně specializovaná.",
"aby se to shodovalo s tímto „{“",
"v tomto volání makra",
"volání vyžaduje nejednoznačný převod argumentu.",
"deklarace vlastněná modulem %s je v konfliktu s %nd",
"deklarace vlastněná globálním modulem je v konfliktu s %nd vlastněnou pojmenovaným modulem",
"první argument atributu „malloc“ musí být funkce",
"nejde zachytit %nod",
"nejde zachytit „this“",
"již v kontextu consteval",
"Příkazy if consteval a if not consteval vyžadují příkazy uzavřené do složených závorek.",
"Příkazy if consteval a if not consteval nemají ve funkci, která není constexpr, žádný význam.",
"Převod řízení na příkaz if consteval nebo if not consteval se nepovoluje.",
"Konstantní vyhodnocování nemůže projít deklarací proměnné se statickou dobou trvání nebo uloženou po dobu existence vlákna.",
"Proměnlivý kvalifikátor se pro výraz lambda s explicitním parametrem this nepovoluje.",
"Členská funkce deklarovaná jako static nemůže mít explicitní parametr this.",
"Explicitní parametr this musí být první deklarovaný parametr.",
"Proměnná this se tady nepodporuje.",
"Porovnávací funkce s explicitním this nemůže být nastavena jako výchozí.",
"Funkce s explicitním this vyžaduje druhý operand.",
"Příkazy if consteval a if not consteval nejsou v tomto režimu standardní.",
"Vynechání () v deklarátoru výrazu lambda je v tomto režimu nestandardní.",
"Když se vynechá seznam parametrů výrazu lambda, nepodporuje se klauzule requires na konci.",
"Požádalo se o neplatný oddíl modulu %sq.",
"Požádalo se nedefinovaný oddíl modulu %sq1 (předpokládalo se, že je to %sq2).",
"Pro oddíl %sq2 se požádalo o pozici v souboru %d1 (relativní pozice %d2) v modulu %sq1, pozice je ale prázdná.",
"Pro oddíl %sq2 se požádalo o pozici v souboru %d1 (relativní pozice %d2) v modulu %sq1, pozice ale předchází začátek oddílu.",
"Pro oddíl %sq2 se požádalo o pozici v souboru %d1 (relativní pozice %d2) v modulu %sq1, pozice ale přetéká konec svého oddílu.",
"Pro oddíl %sq2 se požádalo o pozici v souboru %d1 (relativní pozice %d2) v modulu %sq1, pozice ale není zarovnaná s elementy oddílu.",
"z dílčího pole %sq (relativní pozice k uzlu %d)",
"Z oddílu %sq, elementu %d1 (pozice v souboru %d2, relativní pozice %d3)",
"Atributy výrazu lambda tady nejsou standardní.",
"Identifikátor %sq by bylo možné zaměnit za vizuálně podobné %p.",
"Tento komentář obsahuje podezřelé řídicí znaky formátování Unicode.",
"Tento řetězec obsahuje řídicí znaky formátování Unicode. To může způsobit neočekávané chování modulu runtime.",
"Došlo k potlačení %d1 upozornění při zpracovávání modulu %sq1.",
"Došlo k potlačení %d1 upozornění při zpracovávání modulu %sq1.",
"Došlo k potlačení %d1 chyby při zpracovávání modulu %sq1.",
"Došlo k potlačení %d1 chyb při zpracovávání modulu %sq1.",
"včetně",
"potlačeno",
"Virtuální členská funkce nemůže mít explicitní parametr this.",
"Převzetí adresy funkce s explicitním this vyžaduje kvalifikovaný název.",
"Vytvoření adresy funkce s explicitním this vyžaduje operátor &.",
"řetězcový literál nelze použít k inicializaci člena flexibilního pole.",
"Reprezentace IFC definice funkce %sq je neplatná.",
"byla provedena oprava vedoucí k zahození implicitní parametru this.",
"graf UniLevel IFC se nepoužil k zadání parametrů.",
"V grafu definice parametrů IFC byl zadán tento počet parametrů: %d1, zatímco deklarace IFC určovala tento počet parametrů: %d2.",
"V grafu definice parametrů IFC byl zadán %d1 parametr, zatímco deklarace IFC určovala tento počet parametrů: %d2.",
"V grafu definice parametrů IFC byl zadán tento počet parametrů: %d1, zatímco deklarace IFC určovala %d2 parametr.",
"Chybí reprezentace IFC definice funkce %sq.",
"modifikátor funkce se nevztahuje na deklaraci členské šablony.",
"výběr člena zahrnuje příliš mnoho vnořených anonymních typů",
"mezi operandy není žádný společný typ",
"očekával se ukazatel na člen",
"flexibilní člen pole nelze deklarovat v jinak prázdném typu",
"Očekávalo se, že std::source_location::__impl bude definováno pro třídu pouze s datovými členy _M_function_name, _M_file_name, _M_column a _M_line.",
"během inicializace std::source_location::__impl přeteklo číslo sloupce člena _M_column typu %t",
"během inicializace std::source_location::__impl přeteklo číslo řádku člena _M_line typu %t",
"znaková konstanta UTF-16 nemůže zabírat více než jednu jednotku kódu; hodnota byla zkrácena",
"oba argumenty musí mít stejný typ",
"typ %t není platný jako argument pro tento předdefinovan.",
"voláno z %nd:",
"kvalifikovaný typ je pro anonymní bitová pole nestandardní.",
"typ elementu vektorové podmínky (%t1) musí mít stejnou velikost jako typ elementu výsledku (%t2).",
"typ operandu vektoru s plovoucí desetinnou čárkou (%t) nemá žádný odpovídající celočíselný vektorový typ.",
"mangling pro výrazy requires ještě není implementovaný.",
"kvůli atributu „není k dispozici“",
"došlo k pokusu o vytvoření elementu z oddílu IFC %sq pomocí indexu do oddílu IFC %sq.",
"oddíl %sq určil svou velikost položky jako %d1, když bylo očekáváno %d2.",
"při zpracování modulu %sq1 byl zjištěn neočekávaný požadavek IFC.",
"podmínka selhala na řádku %d v %s1: %sq2",
"atomické omezení závisí na sobě",
"Funkce noreturn má návratový typ, který není void.",
"oprava byla provedena vyřazením parametru %sq (v relativním indexu %d).",
"při rekonstrukci entity se zjistil neplatný název identifikátoru IFC %sq.",
"neplatný identifikátor IFC s názvem %sq byl během obnovy entity přeskočen.",
"neplatná hodnota řazení modulu %sq",
"šablona funkce načtená z modulu IFC byla nesprávně parsována jako %nd.",
"nepovedlo se načíst odkaz na entitu IFC v modulu %sq.",
"Řazení indexu IFC = %d1, hodnota = %d2"
]
+115 -13
View File
@@ -838,7 +838,7 @@
"Ein Verweis auf die lokale Variable wird zurückgegeben.",
"Die Auslassung des expliziten Typs entspricht nicht dem Standard (\"int\" wird angenommen).",
"Mehr als eine teilweise Spezialisierung stimmt mit der Vorlagenargumentliste von \"%n\" überein.",
"%no",
"%nod",
"In einer Deklaration einer primären Vorlage ist keine Vorlagenargumentliste zulässig.",
"Teilweise Spezialisierungen dürfen keine Standardvorlagenargumente aufweisen.",
"%n1 wird nicht in der Vorlagenargumentliste von \"%n2\" verwendet oder kann nicht daraus hergeleitet werden.",
@@ -1389,14 +1389,14 @@
"dllexport und dllimport werden in Klassenvorlagen ignoriert.",
"Die dllexport/dllimport -Spezifikation der Basisklasse unterscheidet sich von der der abgeleiteten Klasse.",
"Durch die Neudeklaration kann dllexport/dllimport nicht zu \"%nod\" hinzugefügt werden.",
"dllexport/dllimport-Konflikt mit \"%nod\"; dllexport wird angenommen.",
"dllexport/dllimport-Konflikt mit %nod; dllexport wird angenommen.",
"Die dllimport-Entität kann nicht definiert werden.",
"dllexport/dllimport erfordert eine externe Bindung.",
"Ein Member einer Klasse, die mit dllexport/dllimport deklariert wurde, kann nicht selbst mit einem solchen Spezifizierer deklariert werden.",
"Das Feld eines Klassentyps ohne DLL-Schnittstelle wurde in einer Klasse mit DLL-Schnittstelle verwendet.",
"Eine in Klammern gesetzte Memberdeklaration entspricht nicht dem Standard.",
"Leerstellen zwischen dem umgekehrten Schrägstrich und dem Zeilenvorschub in der Zeilenverknüpfung wird ignoriert.",
"dllexport/dllimport-Konflikt mit \"%nod\"; dllimport/dllexport wurde gelöscht.",
"dllexport/dllimport-Konflikt mit %nod; dllimport/dllexport wurde gelöscht.",
"Ungültiger Member für anonyme Memberklasse; die Klasse \"%t\" weist eine unzulässige Memberfunktion auf.",
"reinterpret_cast entspricht nicht dem Standard.",
"Der Positionsformatspezifizierer kann nicht Null sein.",
@@ -1464,24 +1464,24 @@
"Makro",
"Bezeichnung",
"Vorlagenparameter",
null,
null,
null,
null,
"Typ",
"Union",
"Klasse",
"Struktur",
"template template-Parameter",
"Vorlage",
"Klassenvorlage",
null,
"Enumeration",
"Parameter",
"Handlerparameter",
"Variable",
"Nichttyp",
null,
"Konstante",
"Funktion",
"Überladene Funktion",
"Member",
"Feld",
null,
"Namespace",
"Benannte Registrierung",
"Benannter Adressbereich",
"Funktionsvorlage",
@@ -1635,7 +1635,7 @@
"Das Erweitern der Zeigerkonvertierung von \"%t1\" in \"%t2\" erweitert das signierte Bit.",
"__sptr und __uptr gelten nicht für Pointer-to-Member-Typen.",
"Die Deklaration des Kopierzuweisungsoperators für \"%t\" wurde unterdrückt, da \"%n\" konstant ist.",
null,
"Die Deklaration des Kopierzuweisungsoperators für \"%t\" wurde unterdrückt, weil \"%n\" folgenden Verweistyp aufweist",
"Die Deklaration des Kopierzuweisungsoperators für \"%t1\" wurde unterdrückt, da die Deklaration von \"%t2\" unterdrückt wurde.",
"Die Deklaration des Kopierzuweisungsoperators für \"%t1\" wurde unterdrückt, da die Deklaration von \"%t2\" mehrdeutig ist.",
"Die Deklaration des Kopierzuweisungsoperators für \"%t1\" wurde unterdrückt, da auf die Deklaration von \"%t2\" nicht zugegriffen werden kann.",
@@ -2546,7 +2546,7 @@
"Der Typ \"decltype(auto)\" kann nicht abgeleitet werden.",
"Eine threadlokale Erklärung im Blockbereich muss \"static\" oder \"extern\" enthalten.",
"abgeleiteter Rückgabetyp %t1 steht in Konflikt mit zuvor abgeleitetem Typ %t2",
"Rückgabetyp %nd kann nicht abgeleitet werden; wurde nicht definiert",
"Der Rückgabetyp \"%nd;\" kann nicht abgeleitet werden. Er wurde nicht definiert.",
"Eine virtuelle Funktion darf keinen abgeleiteten Rückgabetyp aufweisen.",
"%n wird als kontextsensibles Schlüsselwort von diesem Punkt betrachtet",
"Der globale Namespace weist keinen tatsächlichen Member \"%sq\" auf.",
@@ -3373,5 +3373,107 @@
"\"__is_signed\" kann ab jetzt nicht mehr als Schlüsselwort verwendet werden.",
"Eine Arraydimension muss einen konstanten ganzzahligen Wert ohne Vorzeichen aufweisen.",
"Die IFC-Datei \"%sq\" weist eine nicht unterstützte Version %d1.%d2 auf.",
"Module sind in diesem Modus nicht aktiviert."
"Module sind in diesem Modus nicht aktiviert.",
"\"Import\" ist in einem Modulnamen unzulässig.",
"\"Modul\" ist in einem Modulnamen unzulässig.",
null,
null,
"\"%n\" ist kein Enumerationstyp.",
"Der Enumerator \"%no2\" steht in Konflikt mit \"%n1\".",
"Der Enumerator \"%no\" wurde bereits in diesem Bereich (%p) deklariert.",
"Die Spezifikation \"throw()\" ist nicht in C++ 20 und höher enthalten.",
"Mehrere Einträge in der Headereinheitenzuordnung stimmen mit \"%s\" überein.",
"#pragma-Diagnose muss entweder das Argument \"push\" oder \"pop\" aufweisen",
"es wurde kein \"#pragma diagnostic push\" gefunden, um diesem \"diagnostic pop\" zu entsprechen",
"%sq kann kein Makro sein, wenn es in einer \"import\"- oder \"module\"-Direktive verwendet wird",
"diese Direktive darf nur im globalen Namespacebereich angezeigt werden",
"eine \"export\"-Deklaration kann nur im globalen oder Namespace-Gültigkeitsbereich auftreten.",
"%sq wird als Bezeichner und nicht als Schlüsselwort analysiert, da die nachfolgenden Token nicht mit denen einer Präprozessor-Direktive übereinstimmen",
"dies scheint der Anfang einer Präprozessor-Direktive zu sein, aber der Mangel an \";\", gefolgt von einem Zeilenumbruch, verhindert, dass",
"dies scheint eine Direktive für die Vorverarbeitung von Modulen zu sein, aber solche Direktiven dürfen nicht innerhalb einer Makroerweiterung auftreten",
"eine \"module\"-Direktive darf nicht im Bereich der bedingten Inklusion enthalten sein (z. B. #if, #else, #elseif usw.)",
"der Import von %sq wurde übersprungen",
"Der Zusagetyp „%t“ muss „get_return_object_on_allocation_failure“ als statische Memberfunktion deklarieren, die keine Argumente erfordert.",
"Eine Aliasvorlage kann nicht explizit spezialisiert werden.",
"um diesem „{“ zu entsprechen",
"in diesem Makroaufruf",
"Der Aufruf erfordert eine mehrdeutige Argumentkonvertierung.",
"Die Deklaration im Besitz des Moduls „%s“ steht in Konflikt mit %nd.",
"Die Deklaration im Besitz des globalen Moduls steht in Konflikt mit %nd im Besitz eines benannten Moduls.",
"Das erste Argument für ein malloc-Attribut muss eine Funktion sein.",
"%nod kann nicht erfasst werden.",
"„this“ kann nicht erfasst werden.",
"bereits im consteval-Kontext",
"„wenn consteval“ und „wennn nicht consteval“ erfordern abhängige Anweisungen mit geschweiften Klammern",
"„wenn consteval“ und „wenn nicht consteval“ sind in einer Nicht-constexpr-Funktion bedeutungslos",
"die Übertragung der Steuerung in eine „wenn consteval“- oder „wenn nicht consteval“-Anweisung ist nicht zulässig",
"die Konstantenauswertung kann die Deklaration einer Variablen mit statischer oder Thread-Speicherdauer nicht durchlaufen",
"der änderbare Qualifizierer ist für einen Lambda-Ausdruck mit einem expliziten „dies“-Parameter nicht zulässig",
"eine mit „statisch“ deklarierte Memberfunktion darf keinen expliziten „dies“-Parameter aufweisen",
"ein expliziter „dies“-Parameter muss der erste deklarierte Parameter sein",
"„dies“ ist hier nicht zulässig",
"eine Vergleichsfunktion mit explizitem „dies“ kann nicht als Standard verwendet werden",
"eine explizite „dies-2-Funktion erfordert einen Selektoroperanden",
"„wenn consteval“ und „wenn nicht consteval“ sind in diesem Modus nicht Standard",
"das Weglassen von „()“ in einem Lambda-Deklarator ist in diesem Modus nicht der Standard",
"eine „trailing-requires“-Klausel ist nicht zulässig, wenn die Lambda-Parameterliste ausgelassen wird",
"Modul %sq ungültige Partition angefordert",
"Modul %sq1 undefinierte Partition (könnte %sq2 sein) wurde angefordert",
"Modul %sq1 Dateiposition %d1 (relative Position %d2) wurde für Partition %sq2 angefordert die leer ist",
"Modul %sq1 Dateiposition %d1 (relative Position %d2) wurde für Partition %sq2 angefordert was dem Start der Partition vorausgeht",
"Modul %sq1 Dateiposition %d1 (relative Position %d2) wurde für die Partition %sq2 angefordert was das Ende ihrer Partition überschreitet",
"Modul %sq1 Dateiposition %d1 (relative Position %d2) wurde für die Partition %sq2 angefordert welche mit ihren Partitionselementen falsch ausgerichtet ist",
"von Unterfeld %sq (relative Position zum Knoten %d)",
"von Partition %sq Element %d1 (Dateiposition %d2, relative Position %d3)",
"Lambda-Attribute entsprechen hier nicht dem Standard",
"der Bezeichner %sq könnte mit einem visuell ähnlichen Bezeichner verwechselt werden, der %p angezeigt wird",
"dieser Kommentar enthält verdächtige Unicode-Formatierungssteuerzeichen",
"diese Zeichenfolge enthält Unicode-Formatierungssteuerzeichen, die zu unerwartetem Laufzeitverhalten führen könnten",
"%d1 unterdrückte Warnung wurde bei der Verarbeitung des Moduls %sq1 festgestellt",
"%d1 unterdrückte Warnungen wurden bei der Verarbeitung des Moduls %sq1 festgestellt",
"%d1 unterdrückter Fehler wurde beim Verarbeiten des Moduls %sq1 festgestellt",
"%d1 unterdrückte Fehler wurden beim Verarbeiten des Moduls %sq1 festgestellt",
"einschließlich",
"Unterdrückt",
"eine virtuelle Memberfunktion darf keinen expliziten „dies“-Parameter aufweisen",
"das Übernehmen der Adresse einer expliziten „dies“-Funktion erfordert einen qualifizierten Namen.",
"das Formatieren der Adresse einer expliziten „dies“-Funktion erfordert den Operator „&“",
"Ein Zeichenfolgenliteral kann nicht zum Initialisieren eines flexiblen Arraymembers verwendet werden.",
"Die IFC-Darstellung der Definition der Funktion %sq ist ungültig.",
"Es wurde eine Korrektur vorgenommen, um den impliziten „this“-Parameter zu löschen.",
"Ein UniLevel-IFC-Chart wurde nicht zum Angeben von Parametern verwendet.",
"%d1 Parameter wurden im IFC-Parameterdefinitionschart angegeben, während %d2 Parameter in der IFC-Deklaration angegeben wurden.",
"%d1 Parameter wurde im IFC-Parameterdefinitionschart angegeben, während %d2 Parameter in der IFC-Deklaration angegeben wurden.",
"%d1 Parameter wurden im IFC-Parameterdefinitionschart angegeben, während %d2 Parameter in der IFC-Deklaration angegeben wurde.",
"Die IFC-Darstellung der Definition der Funktion %sq fehlt.",
"Funktionsmodifizierer gilt nicht für eine statische Mitgliedervorlagendeklaration",
"Die Mitgliederauswahl umfasst zu viele geschachtelte anonyme Typen",
"Es gibt keinen gemeinsamen Typ zwischen den Operanden",
"Es wurde ein Pointer-to-Member erwartet",
"Ein flexibles Arrayelement kann nicht in einem ansonsten leeren Typ deklariert werden.",
"Es wurde erwartet, dass \"std::source_location::__impl\" für eine Klasse definiert ist, die nur die Datenmember \"_M_function_name\", \"_M_file_name\", \"_M_column\", \"_M_line\" enthält.",
"während der Initialisierung von \"std::source_location::__impl\" überläuft die Spaltennummer den Member \"_M_column\" vom Typ \"%t\".",
"während der Initialisierung von \"std::source_location::__impl\" überläuft die Zeilennummer den Member \"_M_line\" vom Typ \"%t\".",
"Eine UTF-16-Zeichenkonstante darf nicht mehrere Codeeinheiten belegen. Wert abgeschnitten.",
"Beide Argumente müssen denselben Typ aufweisen.",
"Der Typ \"%t\" ist als Argument für dieses integrierte Element ungültig.",
"aufgerufen von %nd:",
"ein qualifizierter Typ ist kein Standard für anonyme Bitfelder",
"der Elementtyp der Vektorbedingung (%t1) muss dieselbe Größe haben wie der Elementtyp des Ergebnisses (%t2)",
"der Gleitkomma-Vektoroperandentyp (%t) hat keinen übereinstimmenden ganzzahligen Vektortyp",
"das Mangling für 'requires'-Ausdrücke ist noch nicht implementiert",
"aufgrund eines „nicht verfügbaren“ Attributs",
"Es wurde versucht, ein Element aus der IFC-Partition %sq mithilfe eines Indexes in der IFC-Partition %sq zu erstellen",
"Die Partition %sq hat ihre Eintragsgröße mit %d1 angegeben, obwohl %d2 erwartet wurde",
"Unerwartete IFC-Anforderung beim Verarbeiten des Moduls %sq1",
"Bedingungsfehler in Zeile %d in %s1: %sq2",
"Die atomische Einschränkung hängt von sich selbst ab",
"Die Funktion \"noreturn\" weist den Rückgabetyp \"nicht void\" auf.",
"Eine Korrektur wurde vorgenommen, indem der Parameter %sq (beim relativen Index %d) weggelassen wurde",
"Ungültiger IFC-Bezeichnername %sq bei der Rekonstruktion der Entität gefunden",
"Ungültiger IFC-Bezeichnername %sq bei der Rekonstruktion der Entität übersprungen",
"Modul %sq ungültiger Sortierwert",
"Eine aus einem IFC-Modul geladene Funktionsvorlage wurde fälschlicherweise als %nd analysiert",
"Fehler beim Laden eines IFC-Entitätsverweises im Modul \"%sq\"",
"IFC-Indexsortierung = %d1, Wert = %d2"
]
+113 -11
View File
@@ -838,7 +838,7 @@
"devolviendo una referencia a una variable local",
"la omisión de un tipo explícito no es estándar (se presupone 'int')",
"más de una especialización parcial coincide con la lista de argumentos de plantilla de %n",
"%no",
"%nod",
"no se permite una lista de argumentos de plantilla en una declaración de plantilla principal",
"las especializaciones parciales no pueden tener argumentos de plantilla predeterminados",
"%n1 no se usa en (o no se puede deducir de) la lista de argumentos de plantilla de %n2",
@@ -1464,24 +1464,24 @@
"macro",
"etiqueta",
"parámetro de plantilla",
null,
null,
null,
null,
"tipo",
"unión",
"clase",
"estructura",
"parámetro template de plantilla",
"plantilla",
"plantilla de clase",
null,
"enumeración",
"parámetro",
"parámetro de controlador",
"variable",
"sin tipo",
null,
"constante",
"función",
"función sobrecargada",
"miembro",
"campo",
null,
"espacio de nombres",
"registro con nombre",
"espacio de dirección con nombre",
"plantilla de función",
@@ -1635,7 +1635,7 @@
"la conversión de puntero de ampliación de %t1 a %t2 extiende el bit de signo",
"__sptr y __uptr no se aplican a los tipos de puntero a miembro",
"la declaración del operador de asignación de copia para %t se ha suprimido porque %n es const",
null,
"la declaración del operador de asignación de copia para %t se ha suprimido porque %n tiene un tipo de referencia",
"la declaración del operador de asignación de copia para %t1 se ha suprimido porque también se suprimió la de %t2",
"la declaración del operador de asignación de copia para %t1 se ha suprimido porque la de %t2 es ambigua",
"la declaración del operador de asignación de copia para %t1 se ha suprimido porque no se puede obtener acceso a la de %t2",
@@ -2604,7 +2604,7 @@
"la definición de un tipo C++/CX público no se permite en el ámbito global",
"no se permite una propiedad indizada con un descriptor de acceso público 'get' o 'set'",
"no se permite un tipo de delegado anidado público",
"inicializador de delegado no válido: se esperaba '(<función-dirección o funtor-objeto> [, Platform::CallbackContext])' o '(<identificador de objeto>, <miembro-dirección> [, Platform::CallbackContext [, bool]])'",
"inicializador de delegado no válido: se esperaba \"(<function-address or functor-object> [, Platform::CallbackContext])\" o \"(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])\"",
"inicializador de delegado no válido: el objeto debe ser un identificador de una clase %[managed]",
"C++/CX no admite matrices 'in/out': use 'const Platform::Array<T>^' para 'in' y 'Platform::WriteOnlyArray<T>^' o 'Platform::Array<T>^*' para 'out' en API públicas",
"falta el atributo \"target\" de %nd",
@@ -3373,5 +3373,107 @@
"__is_signed ya no es una palabra clave a partir de este punto",
"una dimensión de matriz debe tener un valor entero sin signo constante",
"El archivo IFC %sq tiene la versión no compatible %d1.%d2",
"los módulos no están habilitados en este modo"
"los módulos no están habilitados en este modo",
"No se permite \"import\" en un nombre de módulo",
"No se permite usar \"módulo\" en un nombre de módulo",
null,
null,
"%n no es un tipo de enumeración",
"el enumerador %no2 entra en conflicto con %n1",
"el enumerador %no ya se ha declarado en el ámbito %p",
"la especificación \"throw()\" no forma parte de C++20 y versiones posteriores",
"más que la entrada en el mapa de la unidad del encabezado coincide con \"%s\"",
"el diagnóstico #pragma debe tener un argumento \"push\" o \"pop\"",
"no se encontró ninguna \"diagnóstico 'push' de #pragma\" que coincidiera con este \"diagnóstico 'pop'\"",
"%sq no puede ser una macro cuando se usa en una directiva \"import\" o \"module\"",
"esta directiva solo puede aparecer en el ámbito de espacio de nombres global",
"una declaración \"export\" solo puede aparecer en un ámbito global o de espacio de nombres",
"%sq se analiza como identificador en lugar de como palabra clave porque los tokens posteriores no coinciden con los de una directiva de preprocesador",
"parece ser el inicio de una directiva de preprocesador, pero la ausencia de un \";\" seguida inmediatamente por una nueva línea impide eso",
"parece que se trata de una directiva de preprocesamiento de módulos, pero estas directivas no pueden aparecer dentro de una expansión de macro",
"una directiva \"module\" no puede aparecer en el ámbito de la inclusión condicional (por ejemplo, #if, #else, #elseif, etc.)",
"se ha omitido la importación de %sq",
"el tipo de promesa %t debe declarar get_return_object_on_allocation_failure como una función miembro estática que no requiera argumentos",
"una plantilla de alias no se puede especializar explícitamente",
"para que coincida con este \"{\"",
"en esta invocación de macro",
"la llamada requiere una conversión de argumento ambigua",
"la declaración propiedad del módulo %s está en conflicto con %nd",
"la declaración propiedad del módulo global entra en conflicto con %nd propiedad de un módulo con nombre",
"el primer argumento de un atributo \"malloc\" debe ser una función",
"no se puede capturar %nod",
"no se puede capturar \"this\"",
"ya está en contexto de consteval",
"'if consteval' y 'if not consteval' requieren instrucciones dependientes limitadas",
"'if consteval' y 'if not consteval' no tienen sentido en una función que no es constexpr",
"no se permite la transferencia del control a una instrucción 'if consteval' o 'if not consteval'",
"constant-evaluation no puede pasar por la declaración de una variable con duración de almacenamiento estático o de subproceso",
"no se permite el calificador mutable en una expresión lambda con un parámetro \"this\" explícito",
"una función miembro declarada con 'static' no puede tener un parámetro 'this' explícito",
"un parámetro 'this' explícito debe ser el primer parámetro declarado",
"“this” no se permite aquí",
"no se puede establecer de forma predeterminada una función de comparación con 'this' explícita",
"una función explícita 'this' requiere un operando selector",
"'if consteval' y 'if not consteval' no son estándar en este modo",
"omitir '()' en un declarador lambda no es estándar en este modo",
"no se permite una cláusula trailing-requires-clause cuando se omite la lista de parámetros lambda",
"se solicitó una partición no válida del módulo %sq",
"módulo %sq1 partición no definida (se considera que es %sq2) solicitada",
"módulo %sq1, posición de archivo %d1 (posición relativa %d2) solicitada para la partición %sq2, que está vacía",
"módulo %sq1, posición de archivo %d1 (posición relativa %d2) solicitada para la partición %sq2, que es anterior al inicio de la partición",
"módulo %sq1, posición de archivo %d1 (posición relativa %d2) solicitada para la partición %sq2, que desborda el final de su partición",
"módulo %sq1 posición de archivo %d1 (posición relativa %d2) solicitada para la partición %sq2, que está mal alineada con sus elementos de particiones",
"desde el subcampo %sq (posición relativa al nodo %d)",
"de la partición %sq elemento %d1 (posición de archivo %d2, posición relativa %d3)",
"los atributos lambda no son estándar aquí",
"el identificador %sq podría confundirse con uno visualmente similar que aparece %p",
"este comentario contiene caracteres de control de formato Unicode sospechosos",
"esta cadena contiene caracteres de control de formato Unicode que podrían dar lugar a un comportamiento inesperado en tiempo de ejecución",
"Se encontró %d1 advertencia suprimida al procesar el módulo %sq1",
"Se encontraron %d1 advertencias suprimidas al procesar el módulo %sq1",
"Se encontró un error suprimido %d1 al procesar el módulo %sq1",
"Se encontraron %d1 errores suprimidos al procesar el módulo %sq1",
"Incluido",
"Suprimido",
"una función miembro virtual no puede tener un parámetro 'this' explícito",
"tomar la dirección de una función explícita \"this\" requiere un nombre completo",
"la formación de la dirección de una función explícita 'this' requiere el operador '&'",
"no se puede usar un literal de cadena para inicializar un miembro de matriz flexible",
"La representación IFC de la definición de la función %sq no es válida",
"se realizó una corrección para quitar un parámetro \"this\" implícito",
"no se usó un gráfico IFC UniLevel para especificar parámetros",
"el gráfico de definición de parámetros IFC especificó %d1 parámetros, mientras que la declaración IFC especificó %d2 parámetros",
"el gráfico de definición de parámetros IFC especificó %d1 parámetro, mientras que la declaración IFC especificó %d2 parámetros",
"el gráfico de definición de parámetros IFC especificó %d1 parámetros, mientras que la declaración IFC especificó %d2 parámetro",
"Falta la representación IFC de la definición de la función %sq",
"el modificador de función no se aplica a la declaración de plantilla de miembro",
"la selección de miembros implica demasiados tipos anónimos anidados",
"no hay ningún tipo común entre los operandos",
"se esperaba un puntero a miembro",
"un miembro de matriz flexible no se puede declarar en un tipo que de otro modo estaría vacío",
"se esperaba que 'std::source_location::__impl' se definiera a una clase con solo los miembros de datos '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
"durante la inicialización de 'std::source_location::__impl', el número de columna desborda el miembro '_M_column' de tipo %t",
"durante la inicialización de 'std::source_location::__impl', el número de línea desborda el miembro '_M_line' de tipo %t",
"una constante de caracteres UTF-16 no puede ocupar más de una unidad de código; valor truncado",
"ambos argumentos deben tener el mismo tipo",
"el tipo %t no es válido como argumento para este elemento integrado",
"llamado desde %nd:",
"un tipo calificado no es estándar para campos de bits anónimos",
"el tipo de elemento de la condición de vector (%t1) debe tener el mismo tamaño que el tipo de elemento del resultado (%t2)",
"el tipo de operando de vector de punto flotante (%t) no tiene ningún tipo de vector entero coincidente",
"aún no se ha implementado la limpieza de expresiones \"requires\"",
"debido a un atributo “no disponible”",
"intentó construir un elemento a partir de la partición IFC %sq mediante un índice en la partición IFC %sq",
"la partición %sq especificó su tamaño de entrada como %d1 cuando se esperaba %d2",
"se encontró un requisito IFC inesperado al procesar el módulo %sq1",
"error de condición en la línea %d en %s1: %sq2",
"la restricción atómica depende de sí misma",
"La función \"noreturn\" tiene un tipo de valor devuelto distinto de nulo",
"se ha quitado el parámetro %sq (en el índice relativo %d) para realizar una corrección",
"se encontró un nombre de identificador IFC no válido %sq durante la reconstrucción de entidades",
"se omitió un nombre de identificador IFC no válido %sq durante la reconstrucción de entidades",
"el módulo %sq es un valor de ordenación no válido",
"una plantilla de función cargada desde un módulo IFC se analizó incorrectamente como %nd",
"no se pudo cargar una referencia de entidad IFC en el módulo %sq",
"Ordenación de índice IFC = %d1, valor = %d2"
]
+117 -15
View File
@@ -838,7 +838,7 @@
"retourne la référence à une variable locale",
"omission de type explicite non standard ('int' pris par défaut)",
"plusieurs spécialisations partielles correspondent à la liste d'arguments template de %n",
"%no",
"%nod",
"liste d'arguments template non autorisée dans une déclaration de modèle principal",
"les spécialisations partielles ne peuvent pas avoir d'arguments template par défaut",
"%n1 n'est pas utilisé dans la liste d'arguments template de %n2, ou ne peut pas en être déduit",
@@ -1389,14 +1389,14 @@
"dllexport et dllimport ignorés sur les modèles de classe",
"la spécification dllexport/dllimport de la classe de base est différente de celle de la classe dérivée",
"la redéclaration ne peut pas ajouter dllexport/dllimport à %nod",
"dllexport/dllimport en conflit avec %nod ; dllexport pris par défaut",
"dllexport/dllimport en conflit avec %nod; dllexport pris par défaut",
"impossible de définir l'entité dllimport",
"dllexport/dllimport requiert une liaison externe",
"un membre d'une classe déclarée avec dllexport/dllimport ne peut pas être lui-même déclaré avec ce spécificateur",
"un champ de type de classe sans interface DLL a été utilisé dans une classe à interface DLL",
"déclaration de membre entre parenthèses non standard",
"espace blanc ignoré entre la barre oblique inverse et le saut de ligne dans la jointure de ligne",
"dllexport/dllimport en conflit avec %nod ; dllimport/dllexport supprimé",
"dllexport/dllimport en conflit avec %nod; dllimport/dllexport supprimé",
"membre non valide pour une classe membre anonyme -- la classe %t a une fonction membre interdite",
"reinterpret_cast non standard",
"le spécificateur de format de position ne peut pas être nul",
@@ -1464,24 +1464,24 @@
"macro",
"étiquette",
"paramètre du modèle",
null,
null,
null,
null,
"type",
"Union",
"classe",
"struct",
"paramètre template de modèle",
"modèle",
"modèle de classe",
null,
"enum",
"paramètre",
"paramètre de gestionnaire",
"variable",
"sans type",
null,
"constante",
"fonction",
"fonction surchargée",
"membre",
"champ",
null,
"espace de noms",
"registre nommé",
"espace d'adressage nommé",
"modèle de fonction",
@@ -1635,7 +1635,7 @@
"la conversion étendue de pointeur de %t1 en %t2 étend le bit de signe",
"__sptr et __uptr ne s'appliquent pas aux types pointeur vers membre",
"la déclaration de l'opérateur d'assignation de copie de %t a été supprimée car %n est const",
null,
"la déclaration de l'opérateur d'assignation de copie de %t a été supprimée, car %n a un type référence",
"la déclaration de l'opérateur d'assignation de copie de %t1 a été supprimée car celle de %t2 a été supprimée",
"la déclaration de l'opérateur d'assignation de copie de %t1 a été supprimée car celle de %t2 est ambiguë",
"la déclaration de l'opérateur d'assignation de copie de %t1 a été supprimée car celle de %t2 est inaccessible",
@@ -1896,7 +1896,7 @@
"l'attribut 'hiding' spécifié sur une déclaration référencée par la déclaration using %p",
"l'attribut 'hiding' est requis sur une déclaration (dans une classe 'base_check') qui masque %nd",
"%n n'est pas défini dans cette unité de traduction, mais dépend d'un type local",
"%n n'est pas défini dans cette unité de traduction, mais dépend d'u n type sans liaison",
"%n n'est pas défini dans cette unité de traduction, mais dépend d'un type sans liaison",
"l'attribut %sq est manquant dans une autre unité de traduction",
"l'attribut %sq est en conflit avec une autre unité de traduction",
"l'option 'nonstd_gnu_keywords' est uniquement valide dans les modes C GNU et C++ GNU",
@@ -1904,7 +1904,7 @@
"un initialiseur ne peut pas être spécifié pour un membre de tableau flexible à durée de stockage automatique",
null,
"un type de classe 'final' ne peut pas être utilisé comme une classe de base",
"les modèles exportés ne sont pus en langage C++ standard",
"les modèles exportés ne sont plus en langage C++ standard",
"un désignateur dépendant du modèle n'est pas autorisé",
"le second opérande de offsetof ne peut pas être un champ avec type référence",
"les temporaires à durée de vie longue sont incompatibles avec les autres fonctionnalités de langage plus récentes demandées",
@@ -2604,7 +2604,7 @@
"la définition d'un type C++/CX public n'est pas autorisée au niveau de la portée globale",
"une propriété indexée avec un accesseur 'get' ou 'set' public n'est pas autorisée",
"un type délégué imbriqué public n'est pas autorisé",
"initialiseur de délégué non valide -- '(<adresse-fonction ou objet-foncteur> [, Platform::CallbackContext])' ou '(<handle-objet>, <adresse-membre> [, Platform::CallbackContext [, bool]])' attendu",
"initialiseur de délégué non valide -- '(<function-address or functor-object> [, Platform::CallbackContext])' ou '(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])' attendu",
"initialiseur de délégué non valide -- l'objet doit être un handle de classe %[managed]",
"C++/CX ne prend pas en charge les tableaux 'in/out' -- utilisez 'const Platform::Array<T>^' pour 'in' et 'Platform::WriteOnlyArray<T>^' ou 'Platform::Array<T>^*' pour 'out' sur les API publiques",
"attribut 'target' manquant pour %nd",
@@ -3373,5 +3373,107 @@
"__is_signed n'est plus un mot clé à partir de ce point",
"une dimension de tableau doit avoir une valeur d'entier non signé constante",
"le fichier IFC %sq a une version non prise en charge : %d1.%d2",
"les modules ne sont pas activés dans ce mode"
"les modules ne sont pas activés dans ce mode",
"'import' n'est pas autorisé dans un nom de module",
"'module' n'est pas autorisé dans un nom de module",
null,
null,
"%n n'est pas un type énumération",
"l'énumérateur %no2 est en conflit avec %n1",
"l'énumérateur %no a déjà été déclaré dans cette étendue %p",
"la spécification 'throw()' ne fait pas partie de C++20 ni des versions ultérieures",
"plusieurs entrées dans le mappage d'unité d'en-tête correspondent à '%s'",
"#Le diagnostic pragma doit avoir un argument « push » ou « pop »",
"Aucun « #pragma diagnostic push » na été trouvé en correspondance à ce « diagnostic pop »",
"%sq ne peut pas être une macro quand il est utilisé dans une directive dimportation ou de module",
"cette directive ne peut apparaître que dans l’étendue de lespace de noms global",
"une déclaration « export » peut apparaître uniquement dans l’étendue globale ou de lespace de noms",
"Le %sq est ensuite analysé en tant quidentificateur plutôt quen tant que mot clé, car les jetons qui suivent ne correspondent pas à ceux dune directive de préprocesseur",
"cette directive semble être le début dune directive de préprocesseur, mais labsence de « ; » suivie immédiatement dune nouvelle ligne empêche",
"il sagit dune directive de prétraitement de modules, mais une telle directive ne peut pas apparaître dans une extension de macro",
"une directive « module » ne peut pas apparaître dans le cadre de linclusion conditionnelle (par exemple, #if, #else, #elseif, etc.)",
"limportation de %sq a été ignorée",
"le type de promesse %t doit déclarer get_return_object_on_allocation_failure en tant que fonction membre statique ne nécessitant aucun argument",
"un modèle d'alias ne peut pas être explicitement spécialisé",
"pour correspondre à ce '{'",
"dans cette invocation de macro",
"l'appel nécessite une conversion d'argument ambiguë",
"la déclaration appartenant au module %s est en conflit avec %nd",
"la déclaration appartenant au module global est en conflit avec %nd appartenant à un module nommé",
"le premier argument d'un attribut 'malloc' doit être une fonction",
"impossible de capturer %nod",
"impossible de capturer 'this'",
"déjà dans un contexte consteval",
"« if consteval » et « if not consteval » nécessitent des instructions dépendantes resserrés",
"« if consteval » et « if not consteval » ne sont pas valides dans une fonction non constexpr",
"le transfert de contrôle dans une instruction « if consteval » ou « if not consteval » nest pas autorisé",
"l’évaluation constante ne peut pas passer par la déclaration dune variable avec une durée de stockage statique ou de thread",
"le qualificateur mutable nest pas autorisé sur une expression lambda avec un paramètre « this » explicite",
"une fonction membre déclarée avec « static » ne peut pas avoir de paramètre « this » explicite",
"un paramètre « this » explicite doit être le premier paramètre déclaré",
"« this » nest pas autorisé ici",
"une fonction de comparaison avec « this » explicite ne peut pas être par défaut",
"une fonction « this » explicite nécessite un opérande de sélecteur",
"« if consteval » et « if not consteval » ne sont pas standard dans ce mode",
"lomission de « () » dans un déclarateur lambda nest pas standard dans ce mode",
"une clause requires de fin nest pas autorisée lorsque la liste de paramètres lambda est omise",
"module %sq partition non valide demandée",
"module %sq1 partition non définie (on pense quil sagirait de %sq2) demandée",
"module %sq1 position de fichier %d1 (position relative %d2) demandée pour la partition %sq2, qui est vide",
"module %sq1 position de fichier %d1 (position relative %d2) demandée pour la partition %sq2, qui précède le début de la partition",
"module %sq1 position de fichier %d1 (position relative %d2) demandée pour la partition %sq2, qui dépasse la fin de sa partition",
"module %sq1 position de fichier %d1 (position relative %d2) demandée pour la partition %sq2, qui est mal alignée avec ses éléments de partitions",
"à partir du sous-champ %sq (position relative par rapport au nœud %d)",
"à partir de la partition %sq, élément %d1 (position de fichier %d2, position relative %d3)",
"les attributs lambda ne sont pas standard ici",
"lidentificateur %sq peut être confondu avec un identificateur visuellement similaire qui apparaît %p",
"ce commentaire contient des caractères de contrôle de mise en forme Unicode suspects",
"cette chaîne contient des caractères de contrôle de mise en forme Unicode qui peuvent entraîner un comportement dexécution inattendu",
"%d1 avertissement supprimé rencontré lors du traitement du module %sq1",
"%d1 avertissements supprimés rencontrés lors du traitement du module %sq1",
"%d1 erreur supprimé rencontré lors du traitement du module %sq1",
"%d1 erreurs supprimées rencontrées lors du traitement du module %sq1",
"Y compris",
"Supprimé",
"une fonction membre virtuelle ne peut pas avoir un paramètre « this » explicite",
"la prise de ladresse dune fonction « this » explicite nécessite un nom qualifié",
"la création de ladresse dune fonction « this » explicite nécessite lopérateur '&'",
"impossible dutiliser un littéral de chaîne pour initialiser un membre de tableau flexible",
"La représentation IFC de la définition de la fonction %sq nest pas valide.",
"une correction a été apportée pour supprimer « ce » paramètre implicite.",
"un graphique IFC UniLevel na pas été utilisé pour spécifier des paramètres.",
"%d1 paramètre a été spécifié par le graphique de définition de paramètres IFC alors que %d2 paramètres ont été spécifiés par la déclaration IFC.",
"%d1 paramètre a été spécifié par le graphique de définition de paramètres IFC alors que %d2 paramètres ont été spécifiés par la déclaration IFC.",
"%d1 paramètre a été spécifié par le graphique de définition de paramètres IFC alors que %d2 paramètres ont été spécifiés par la déclaration IFC.",
"La représentation IFC de la définition de la fonction %sq est manquante.",
"Le modificateur de fonction ne s'applique pas à la déclaration du modèle de membre.",
"la sélection de membre implique un trop grand nombre de types anonymes imbriqués",
"il nexiste aucun type commun entre les opérandes",
"pointeur vers membre attendu",
"un membre de tableau flexible ne peut pas être déclaré dans un type autrement vide.",
"expected 'std::source_location::__impl' to be defined to a class with only the data members '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
"lors de linitialisation de 'std::source_location::__impl', le numéro de colonne dépasse le membre '_M_column' de type %t",
"lors de linitialisation de 'std::source_location::__impl', le numéro de ligne dépasse le membre '_M_line' de type %t",
"une constante de caractères UTF-16 ne peut pas occuper plusieurs unités de code ; valeur tronquée",
"les deux arguments doivent avoir le même type",
"le type %t nest pas valide en tant quargument pour ce builtin",
"appelé à partir de %nd :",
"un type qualifié nest pas standard pour les champs de bits anonymes.",
"le type d’élément de la condition vectorielle (%t1) doit avoir la même taille que le type d’élément du résultat (%t2).",
"le type dopérande vectoriel à virgule flottante (%t) na pas de type de vecteur entier correspondant.",
"La gestion des expressions \"requires\" n'est pas encore implémentée.",
"en raison dun attribut 'unavailable'",
"a tenté de construire un élément à partir dune partition IFC %sq à laide dun index dans la partition IFC %sq.",
"le %sq de partition a spécifié sa taille dentrée %d1 alors que %d2 était attendu.",
"une exigence IFC inattendue sest produite lors du traitement du module %sq1.",
"échec de la condition à la ligne %d dans %s1 : %sq2",
"la contrainte atomique dépend delle-même.",
"La fonction 'noreturn' a un type de retour non vide",
"une correction a été effectuée en supprimant le paramètre %sq (au %d dindex relatif)",
"nom didentificateur IFC non valide %sq rencontré lors de la reconstruction de lentité",
"identificateur IFC non valide nommé %sq ignoré lors de la reconstruction de lentité",
"le module %sq valeur de tri non valide",
"un modèle de fonction chargé à partir dun module IFC a été analysé de manière incorrecte en tant que %nd",
"échec du chargement dune référence dentité IFC dans le module %sq",
"Tri dindex IFC = %d1, valeur = %d2"
]
+117 -15
View File
@@ -682,9 +682,9 @@
"directory PCH non valida: %s",
"previsto __except o __finally",
"un'istruzione __leave può essere utilizzata solo in un blocco __try",
"rilevato durante la creazione di un'istanza del contesto %p1 del modello %nt1",
"rilevato durante la creazione di un'istanza del contesto %p del modello %nt",
"rilevato durante la generazione implicita del contesto %p1 del modello %nt1",
"rilevato durante la creazione di un'istanza del contesto %p1 della classe %na2",
"rilevato durante la creazione di un'istanza del contesto %p della classe %na",
"rilevato durante l'elaborazione dell'elenco degli argomenti di modello per %na %p",
"rilevato durante la definizione implicita del contesto %p1 del modello %nt1",
"%sq non trovato nello stack di allineamento compressione",
@@ -838,7 +838,7 @@
"verrà restituito il riferimento alla variabile locale",
"omissione del tipo esplicito non conforme allo standard. Verrà utilizzato 'int'",
"più specializzazioni parziali corrispondenti all'elenco degli argomenti di modello di %n",
"%no",
"%nod",
"elenco degli argomenti di modello non consentito in una dichiarazione di un modello principale",
"le specializzazioni parziali non possono includere argomenti di modello predefiniti",
"%n1 non viene usato o non può essere dedotto dall'elenco degli argomenti di modello di %n2",
@@ -1389,14 +1389,14 @@
"dllexport e dllimport ignorati nei modelli di classe",
"la specifica di dllexport/dllimport della classe base è diversa da quella della classe derivata",
"impossibile aggiungere dllexport/dllimport a %nod nella ridichiarazione",
"conflitto tra dllexport/dllimport e %nod. Verrà utilizzato dllexport",
"conflitto tra dllexport/dllimport e %nod;. Verrà utilizzato dllexport",
"impossibile definire l'entità di dllimport",
"con dllexport/dllimport è richiesto il collegamento esterno",
"impossibile dichiarare da solo con un tale identificatore un membro di una classe dichiarata con dllexport/dllimport",
"campo del tipo classe senza interfaccia DLL utilizzato in una classe con interfaccia DLL",
"dichiarazione di membro tra parentesi non conforme allo standard",
"spazio vuoto tra barra rovesciata e carattere di nuova riga ignorato nella giunzione di riga",
"conflitto tra dllexport/dllimport e %nod. dllimport/dllexport verrà eliminato",
"conflitto tra dllexport/dllimport e %nod; dllimport/dllexport verrà eliminato",
"membro non valido per la classe di membro anonima. La classe %t include una funzione membro non consentita",
"reinterpret_cast non conforme allo standard",
"l'identificatore di formato posizionale non può essere zero",
@@ -1464,24 +1464,24 @@
"macro",
"etichetta",
"parametro di modello",
null,
null,
null,
null,
"tipo",
"unione",
"classe",
"struct",
"parametro di modello template",
"modello",
"modello di classe",
null,
"enumerazione",
"parametro",
"parametro del gestore",
"variabile",
"non di tipo",
null,
"costante",
"funzione",
"funzione in overload",
"membro",
"campo",
null,
"spazio dei nomi",
"registro denominato",
"spazio degli indirizzi denominato",
"modello di funzione",
@@ -1635,7 +1635,7 @@
"la conversione widening del puntatore da %t1 a %t2 implica l'estensione del bit di segno",
"__sptr e __uptr non sono validi per i tipi di puntatore a membro",
"la dichiarazione dell'operatore di assegnazione di copia per %t è stata eliminata perché %n è costante",
null,
"la dichiarazione dell'operatore di assegnazione di copia per %t è stata eliminata perché %n include il tipo riferimento",
"la dichiarazione dell'operatore di assegnazione di copia per %t1 è stata eliminata perché quella di %t2 è stata eliminata",
"la dichiarazione dell'operatore di assegnazione di copia per %t1 è stata eliminata perché quella di %t2 è ambigua",
"la dichiarazione dell'operatore di assegnazione di copia per %t1 è stata eliminata perché quella di %t2 è inaccessibile",
@@ -2546,7 +2546,7 @@
"non è possibile dedurre il tipo 'decltype(auto)'",
"una dichiarazione thread-local con ambito blocco deve includere static o extern",
"il tipo restituito dedotto %t1 è in conflitto con il tipo dedotto in precedenza %t2",
"non è possibile dedurre il tipo restituito di %nd perché non è stato definito",
"non è possibile dedurre il tipo restituito di %nd; perché non è stato definito",
"il tipo restituito da una funzione virtuale non può essere dedotto",
"a partire da questo punto %n verrà considerato come una parola chiave sensibile al contesto",
"lo spazio dei nomi globale non include membri effettivi %sq",
@@ -3373,5 +3373,107 @@
"__is_signed non è più una parola chiave a partire da questo punto",
"una dimensione di matrice deve avere un valore intero senza segno costante",
"il file IFC %sq ha una versione %d1.%d2 non supportata",
"i moduli non sono abilitati in questa modalità"
"i moduli non sono abilitati in questa modalità",
"Il nome di un modulo non può contenere 'import'",
"Il nome di un modulo non può contenere 'module'",
null,
null,
"%n non è un tipo di enumerazione",
"l'enumeratore %no2 è in conflitto con %n1",
"l'enumeratore %no è già stato dichiarato in questo ambito %p",
"la specifica 'throw()' non fa parte di C++20 e versioni successive",
"più di una voce nel mapping dell'unità intestazione corrisponde a '%s'",
"la diagnostica #pragma deve avere l'argomento 'push' o 'pop'",
"nessun '#pragma diagnostic push' trovato che corrisponda a questo 'diagnostic pop'",
"%sq non può essere una macro se usata in una direttiva import o modulo",
"questa direttiva può essere visualizzata solo nell'ambito dello spazio dei nomi globale",
"una dichiarazione 'export' può essere visualizzata solo nell'ambito globale o dello spazio dei nomi",
"%sq viene analizzato come identificatore anziché come parola chiave perché i token che seguono non corrispondono a quelli di una direttiva preprocessore",
"sembra essere l'inizio di una direttiva preprocessore, ma la mancanza di ';' seguita immediatamente da una nuova riga lo impedisce",
"sembra essere una direttiva pre-elaborazione dei moduli, ma tali direttive non possono essere visualizzate all'interno di un'espansione delle macro",
"una direttiva 'module' non può comparire nell'ambito dell'inclusione condizionale (ad esempio, #if, #else, #elseif e così via)",
"l'importazione di %sq è stata ignorata",
"il tipo di promessa %t deve dichiarare get_return_object_on_allocation_failure come funzione membro statica che non richiede argomenti",
"un modello di alias non può essere specializzato in modo esplicito",
"per corrispondere a questo '{'",
"in questa chiamata macro",
"la chiamata richiede una conversione di argomento ambigua",
"la dichiarazione di proprietà del modulo %s è in conflitto con %nd",
"la dichiarazione di proprietà di un modulo globale è in conflitto con %nd di proprietà di un modulo denominato",
"il primo argomento di un attributo 'malloc' deve essere una funzione",
"non è possibile acquisire %nod",
"non è possibile acquisire 'this'",
"già nel contesto consteval",
"'if consteval' e 'if not consteval' richiedono istruzioni dipendenti con parentesi graffe",
"'if consteval' e 'if not consteval' non sono significativi in una funzione non constexpr",
"il trasferimento del controllo in un'istruzione 'if consteval' o 'if not consteval' non è consentito",
"la valutazione costante non può passare attraverso la dichiarazione di una variabile con durata di archiviazione statica o thread",
"qualificatore modificabile non consentito in un'espressione lambda con un parametro 'this' esplicito",
"una funzione membro dichiarata con 'static' non può avere un parametro 'this' esplicito",
"un parametro 'this' esplicito deve essere il primo parametro dichiarato",
"'this' non è consentito qui",
"una funzione di confronto con 'this' esplicito non può essere predefinita",
"una funzione 'this' esplicita richiede un operando selettore",
"'if consteval' e 'if not consteval' non sono standard in questa modalità",
"l'omissione di '()' in un dichiaratore lambda non è standard in questa modalità",
"una clausola requires finale non è consentita quando l'elenco di parametri lambda viene omesso",
"modulo %sq partizione non valida richiesta",
"richiesta partizione non definita del modulo %sq1 (che si ritiene sia %sq2)",
"modulo %sq1 posizione file %d1 (posizione relativa %d2) richiesta per la partizione %sq2, che è vuota",
"modulo %sq1 posizione del file %d1 (posizione relativa %d2) richiesta per la partizione %sq2, che precede l'inizio della partizione",
"modulo %sq1 posizione del file %d1 (posizione relativa %d2) richiesta per la partizione %sq2, che causa l'overflow della fine della partizione",
"modulo %sq1 posizione file %d1 (posizione relativa %d2) richiesta per la partizione %sq2, che non è allineata con i relativi elementi di partizioni",
"dal sottocampo %sq (posizione relativa al nodo %d)",
"dalla partizione %sq elemento %d1 (posizione file %d2, posizione relativa %d3)",
"attributi lambda non conformi allo standard",
"l'identificatore %sq potrebbe essere confuso con un identificatore visivamente simile visualizzato %p",
"questo commento contiene caratteri di controllo di formattazione Unicode sospetti",
"questa stringa contiene caratteri di controllo di formattazione Unicode che potrebbero causare un comportamento di runtime imprevisto",
"%d1 avviso eliminato durante l'elaborazione del modulo %sq1",
"%d1 avvisi eliminati rilevati durante l'elaborazione del modulo %sq1",
"Errore %d1 eliminato durante l'elaborazione del modulo %sq1",
"%d1 errori eliminati rilevati durante l'elaborazione del modulo %sq1",
"compreso",
"eliminato",
"una funzione membro virtuale non può avere un parametro 'this' esplicito",
"l'acquisizione dell'indirizzo di una funzione esplicita 'this' richiede un nome qualificato",
"per formare l'indirizzo di una funzione esplicita 'this' è necessario l'operatore '&'",
"impossibile utilizzare un valore letterale stringa per inizializzare un membro di matrice flessibile",
"La rappresentazione IFC della definizione della funzione %sq non è valida",
"è stata apportata una correzione per eliminare un parametro 'this' implicito",
"un grafico IFC UniLevel non è stato usato per specificare i parametri",
"%d1 parametri specificati dal grafico di definizione dei parametri IFC mentre %d2 parametri sono stati specificati dalla dichiarazione IFC",
"%d1 parametro è stato specificato dal grafico di definizione del parametro IFC mentre %d2 parametri sono stati specificati dalla dichiarazione IFC",
"%d1 parametri sono stati specificati dal grafico di definizione del parametro IFC mentre %d2 parametro è stato specificato dalla dichiarazione IFC",
"Manca la rappresentazione IFC della definizione della funzione %sq",
"il modificatore di funzione non si applica alla dichiarazione del modello di membro",
"la selezione dei membri implica troppi tipi anonimi annidati",
"non esiste alcun tipo comune tra gli operandi",
"è previsto un puntatore a membro",
"un membro di matrice flessibile non può essere dichiarato in un tipo altrimenti vuoto",
"previsto 'std::source_location::__impl' da definire in una classe con solo i membri dati '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
"durante l'inizializzazione di 'std::source_location::__impl', il membro '_M_column' in overflow del numero di colonna è di tipo %t",
"durante l'inizializzazione di 'std::source_location::__impl', il membro '_M_line' in overflow del numero di riga è di tipo %t",
"una costante di caratteri UTF-16 non può occupare più di un'unità di codice; valore troncato",
"entrambi gli argomenti devono avere lo stesso tipo",
"il tipo %t non è valido come argomento per questa compilazione",
"chiamato da %nd:",
"un tipo qualificato non è conforme allo standard per i campi di bit anonimi",
"il tipo di elemento della condizione vettoriale (%t1) deve avere le stesse dimensioni del tipo di elemento del risultato (%t2)",
"il tipo di operando di vettore a virgola mobile (%t) non ha un tipo di vettore intero corrispondente",
"il mangling per le espressioni 'requires' non è ancora implementato",
"a causa di un attributo 'non disponibile'",
"ha tentato di costruire un elemento dalla partizione IFC %sq utilizzando un indice nella partizione IFC %sq",
"la partizione %sq ha specificato la dimensione della voce come %d1 mentre era previsto %d2",
"Durante l'elaborazione del modulo %sq1 è stato riscontrato un requisito IFC imprevisto.",
"condizione fallita alla riga %d in %s1: %sq2",
"il vincolo atomico dipende da se stesso",
"La funzione 'noreturn' ha un tipo restituito non void",
"è stata apportata una correzione eliminando il parametro %sq (in corrispondenza dell'indice relativo %d)",
"nome identificatore IFC %sq non valido rilevato durante la ricostruzione dell'entità",
"nome identificatore IFC %sq non valido ignorato durante la ricostruzione dell'entità",
"il modulo %sq valore di ordinamento non valido",
"un modello di funzione caricato da un modulo IFC è stato analizzato erroneamente come %nd",
"non è stato possibile caricare un riferimento all'entità IFC nel modulo %sq",
"Ordinamento indice IFC = %d1, valore = %d2"
]
+116 -14
View File
@@ -838,7 +838,7 @@
"ローカル変数への参照を返しています",
"明示的な型の省略は非標準です ('int' が想定されます)",
"複数の部分的特殊化が %n のテンプレート引数リストと一致します",
"%no",
"%nod",
"テンプレート引数リストはプライマリ テンプレートの宣言では使用できません",
"部分的特殊化に既定のテンプレート引数があってはなりません",
"%n1 は、%n2 のテンプレート引数リストで使用されていないか、またはリストから推測できません",
@@ -1389,14 +1389,14 @@
"dllexport および dllimport はクラス テンプレートでは無視されます",
"基底クラスの dllexport/dllimport の指定が派生クラスのものと異なります",
"再宣言で dllexport/dllimport を %nod に追加することはできません",
"dllexport/dllimport が %nod と競合しています (dllexport が想定されます)",
"dllexport/dllimport が %nod; と競合しています (dllexport が想定されます)",
"dllimport エンティティを定義できません",
"dllexport/dllimport には外部リンケージが必要です",
"dllexport/dllimport で宣言されたクラスのメンバー自体をこれらの指定子で宣言することはできません",
"DLL インターフェイスを含まないクラス型のフィールドが DLL インターフェイスを含むクラスで使用されています",
"かっこで囲まれたメンバー宣言は非標準です",
"行スプライスでの円記号 (\\) と改行の間の空白は無視されました",
"dllexport/dllimport が %nod と競合しているためドロップされました",
"dllexport/dllimport が %nod; と競合しているためドロップされました",
"匿名メンバー クラスに対する無効なメンバーです -- クラス %t には許可されないメンバー関数があります",
"非標準の reinterpret_cast です",
"位置指定の形式指定子は 0 にできません",
@@ -1464,24 +1464,24 @@
"マクロ",
"ラベル",
"テンプレート パラメーター",
null,
null,
null,
null,
"型",
"和集合",
"クラス",
"構造体",
"テンプレート template パラメーター",
"テンプレート",
"クラス テンプレート",
null,
"列挙型",
"パラメーター",
"ハンドラー パラメーター",
"変数",
"非型",
null,
"定数",
"関数",
"オーバーロードされた関数",
"メンバー",
"フィールド",
null,
"名前空間",
"名前付きレジスタ",
"名前付きアドレス空間",
"関数テンプレート",
@@ -1635,7 +1635,7 @@
"%t1 から %t2 へのポインター変換の拡張により符号ビットが拡張されます",
"__sptr と __uptr は pointer-to-member 型に適用されません",
"%n が定数であるため、%t のコピー代入演算子の宣言は抑制されています",
null,
"%n に参照型があるため、%t のコピー代入演算子の宣言は抑制されています",
"%t2 のコピー代入演算子が抑制されたため、%t1 のコピー代入演算子の宣言は抑制されています",
"%t2 のコピー代入演算子があいまいであるため、%t1 のコピー代入演算子の宣言は抑制されています",
"%t2 のコピー代入演算子にアクセスできないため、%t1 のコピー代入演算子の宣言は抑制されています",
@@ -2546,7 +2546,7 @@
"'decltype(auto)' 型を推測できません",
"ブロック スコープでスレッド ローカルな宣言には static または extern を含める必要があります",
"推測される戻り値の型 %t1 は以前に推測された型 %t2 と競合します",
"戻り値の型 %nd を推測できません。定義されていません",
"%nd; の戻り値の型を推測できません。定義されていません",
"仮想関数は推測される戻り値の型を持つことができません",
"%n はこのポイントから状況依存キーワードとして扱われます",
"グローバル名前空間に実際のメンバー %sq がありません",
@@ -2604,7 +2604,7 @@
"パブリック C++/CX 型の定義はグローバル スコープでは許可されていません",
"パブリックの 'get' または 'set' アクセサーを使用するインデックス付きプロパティは使用できません",
"パブリックな入れ子にされたデリゲート型は使用できません",
"デリゲート初期化子が無効です -- '(<関数アドレスまたはファンクター オブジェクト> [, Platform::CallbackContext])' または '(<オブジェクト ハンドル>, <メンバー アドレス> [, Platform::CallbackContext [, bool]])' が必要です",
"デリゲート初期化子が無効です -- '(<function-address or functor-object> [, Platform::CallbackContext])' または '(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])' が必要です",
"デリゲート初期化子が無効です -- オブジェクトは %[managed] クラスのハンドルである必要があります",
"C++/CX は 'in/out' 配列をサポートしていません -- パブリック API では 'in' に対して 'const Platform::Array<T>^' を、 'out' に対して 'Platform::WriteOnlyArray<T>^' または 'Platform::Array<T>^*' を使用してください ",
"%nd の 'ターゲット' 属性がありません",
@@ -3373,5 +3373,107 @@
"__is_signed はこのポイントからキーワードではなくなりました",
"配列の次元には定数の符号なし整数値を指定する必要があります",
"IFC ファイル %sq は、サポートされていないバージョン %d1.%d2 です",
"このモードではモジュールは無効です"
"このモードではモジュールは無効です",
"'import' は、モジュール名には使用できません",
"'module' は、モジュール名には使用できません",
null,
null,
"%n は列挙型ではありません",
"列挙子 %no2 が %n1 と競合しています",
"列挙子 %no はこのスコープ %p で既に宣言されています",
"'throw()' 仕様は C++20 以降に含まれていません",
"ヘッダー ユニット マップのエントリより多くが '%s' に一致しています",
"#pragma 診断には、' push ' または ' pop ' のいずれかの引数が必要です",
"' #pragma 診断プッシュ ' が見つからなかったため、この ' 診断 pop ' と一致しません",
"インポートまたはモジュール ディレクティブで使用する場合、%sq がマクロにならないようにすることはできません",
"このディレクティブは、グローバル名前空間スコープでのみ表示されます",
"' export ' 宣言はグローバルまたは名前空間スコープでのみ表示されます",
"%sq は、その後のトークンがプリプロセッサ ディレクティブのトークンと一致しないため、キーワードではなく識別子として解析されます",
"これはプリプロセッサ ディレクティブの先頭であるようですが、'; ' がなくなり、その直後に改行があるために",
"これはモジュールの前処理ディレクティブですが、このようなディレクティブはマクロの展開の中では使用できません",
"' module ' ディレクティブは、条件付き包含のスコープ内では使用できません (例: #if、#else、#elseif など)",
"%sq のインポートはスキップされました",
"promise 型 %t は、引数を必要としない静的メンバー関数として get_return_object_on_allocation_failure を宣言する必要があります",
"エイリアス テンプレートを明示的に特殊化することはできません",
"この '{' と一致する",
"このマクロ呼び出しで",
"呼び出しにはあいまいな引数変換が必要です",
"モジュール %s が所有する宣言は %nd と競合しています",
"グローバル モジュールが所有する宣言が、名前付きモジュールが所有する %nd と競合しています",
"'malloc' 属性の最初の引数は関数である必要があります",
"%nod をキャプチャできません",
"'this' をキャプチャできません",
"既に consteval コンテキストにあります",
"'if consteval' および 'if not consteval' には、中かっこ依存ステートメントが必要です",
"constexpr 以外の関数では'if consteval' と 'if not consteval' は意味がありません",
"コントロールを 'if consteval' または 'if not consteval' ステートメントに転送することは許可されていません",
"定数評価は、静的またはスレッド ストレージ期間を持つ変数の宣言を経由できません",
"可変修飾子は、明示的な 'this' パラメーターを持つラムダでは許可されていません",
"'static' と宣言されたメンバー関数に明示的な 'this' パラメーターを指定することはできません",
"明示的な 'this' パラメーターは最初に宣言されたパラメーターでなければなりません",
"'this' はここでは許可されていません",
"明示的な 'this' を持つ比較関数は既定値にできません",
"明示的な 'this' 関数にはセレクター オペランドが必要です",
"このモードでは、'if consteval' と 'if not consteval' は標準ではありません",
"ラムダ宣言子での '()' の省略は、このモードでは非標準です",
"ラムダ パラメーター リストが省略されている場合、末尾の Requires 句は許可されません",
"モジュール %sq 無効なパーティションが要求されました",
"モジュール %sq1 個の未定義のパーティション (%sq2 と推定) が要求されました",
"モジュール %sq1 ファイル位置 %d1 (相対位置 %d2) がパーティション %sq2 に対して要求されました - これは空です",
"モジュール %sq1 ファイル位置 %d1 (相対位置 %d2) がパーティション %sq2 に対して要求されました - これはパーティションの始点より前です",
"モジュール %sq1 ファイル位置 %d1 (相対位置 %d2) がパーティション %sq2 に対して要求されました - これはそのパーティションの終点をオーバーフローしています",
"モジュール %sq1 ファイル位置 %d1 (相対位置 %d2) がパーティション %sq2 に対して要求されました - これはそのパーティション要素の整列誤りです",
"サブフィールド %sq から (ノード %d への相対位置)",
"パーティション元 %sq 要素 %d1 (ファイル位置 %d2、相対位置 %d3)",
"ラムダ属性はここでは非標準です",
"識別子 %sq は、%p に表示される視覚的に類似したものと混同される可能性があります",
"このコメントには、不審な Unicode 書式設定制御文字が含まれています",
"この文字列には、予期しない実行時の動作を引き起こす可能性のある Unicode 形式の制御文字が含まれています",
"%d1 個の抑制された警告が、モジュール %sq1 の処理中に発生しました",
"%d1 個の抑制された警告が、モジュール %sq1 の処理中に発生しました",
"%d1 個の抑制されたエラーが、モジュール %sq1 の処理中に発生しました",
"%d1 個の抑制されたエラーが、モジュール %sq1 の処理中に発生しました",
"含む",
"抑制",
"仮想メンバー関数は、明示的な 'this' パラメーターを持つことはできません",
"明示的な 'this' 関数のアドレスの取得には修飾名が必要です",
"明示的な 'this' 関数のアドレスの形成には '&' 演算子が必要です",
"文字列リテラルを柔軟な配列メンバーを初期化するのに使用することはできません",
"関数 %sq の定義の IFC 表現が無効です",
"暗黙的な `this` パラメーターを削除するように修正が行われました",
"パラメーターの指定に UniLevel IFC グラフが使用されませんでした",
"%d1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %d2 個のパラメーターが指定されました",
"%d1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %d2 個のパラメーターが指定されました",
"%d1 個のパラメーターが IFC パラメーター定義グラフで指定されましたが、IFC 宣言では %d2 個のパラメーターが指定されました",
"関数 %sq の定義の IFC 表現が見つかりません",
"関数修飾子はメンバー テンプレート宣言には適用されません",
"メンバーの選択に含まれる、入れ子になった匿名のタイプが多すぎます",
"オペランド間に共通型がありません",
"メンバーへのポインターが必要です",
"フレキシブル配列メンバーは、otherwise-empty 型で宣言できません",
"'std::source_location::__impl' が、データ メンバー '_M_function_name'、'_M_file_name'、'_M_column'、'_M_line' のみを持つクラスに定義される必要があります",
"'std::source_location::__impl' の初期化中に、列番号が型 %t のメンバー '_M_column' をオーバーフローしました",
"'std::source_location::__impl' の初期化中に、行番号が型 %t のメンバー '_M_line' をオーバーフローしました",
"UTF-16 文字定数は複数のコード単位を占有できません。値が切り捨てられました",
"両方の引数は同じ型である必要があります",
"型 %t は、このビルトインの引数として無効です",
"%nd からの呼び出し:",
"修飾された型は匿名ビット フィールドでは非標準です",
"ベクトル条件 (%t1) の要素型は、結果の要素型 (%t2) と同じサイズである必要があります",
"浮動小数点ベクトル オペランド型 (%t) に一致する整数ベクトル型がありません",
"'requires' 式のためのマングリングは、まだ実装されていません",
"'unavailable' 属性が原因です",
"IFC パーティション %sq へのインデックスを使用して、IFC パーティション %sq から要素を構築しようとしました",
"パーティション %sq は、%d2 が予期されたときにエントリ サイズを %d1 として指定しました",
"モジュール %sq1 の処理中に予期しない IFC 要件が発生しました",
"条件が行 %d で失敗しました (%s1: %sq2)",
"アトミック制約は、それ自体に依存します",
"'noreturn' 関数に void 以外の戻り値の型があります",
"パラメーター %sq (相対インデックス %d) を削除することで修正が行われています",
"エンティティの再構築中に無効な IFC 識別子名 %sq が見つかりました",
"エンティティの再構築中に %sq と命名された無効な IFC 識別子がスキップされました",
"モジュール %sq は無効な並べ替え値です",
"IFC モジュールから読み込まれた関数テンプレートが誤って %nd として解析されました",
"モジュール %sq で IFC エンティティ参照を読み込めませんでした",
"IFC インデックスの並べ替え = %d1、値 = %d2"
]
+115 -13
View File
@@ -838,7 +838,7 @@
"지역 변수에 대한 참조를 반환합니다.",
"명시적 형식의 생략은 표준이 아닙니다('int'로 간주됨).",
"두 개 이상의 부분 특수화가 %n의 템플릿 인수 목록과 일치합니다.",
"%no",
"%nod",
"기본 템플릿의 선언에서 템플릿 인수 목록을 사용할 수 없습니다.",
"부분 특수화에 기본 템플릿 인수를 사용할 수 없습니다.",
"%n1이(가) 사용되지 않았거나 %n2의 템플릿 인수 목록에서 추론할 수 없습니다.",
@@ -1389,14 +1389,14 @@
"클래스 템플릿에서 dllexport 및 dllimport가 무시됩니다.",
"기본 클래스 dllexport/dllimport 사양이 파생된 클래스의 사양과 다릅니다.",
"재선언에서 dllexport/dllimport를 %nod에 추가할 수 없습니다.",
"dllexport/dllimport가 %nod과(와) 충돌합니다. dllexport로 간주됩니다.",
"dllexport/dllimport가 %nod;과(와) 충돌합니다. dllexport로 간주됩니다.",
"dllimport 엔터티를 정의할 수 없습니다.",
"dllexport/dllimport에는 외부 연결이 필요합니다.",
"dllexport/dllimport로 선언된 클래스의 멤버가 같은 지정자를 사용하여 자신을 선언할 수 없습니다.",
"DLL 인터페이스가 없는 클래스 형식의 필드가 DLL 인터페이스가 있는 클래스에 사용되었습니다.",
"괄호로 묶인 멤버 선언은 표준이 아닙니다.",
"줄 연결에서 백슬래시와 줄 바꿈 사이의 공백은 무시됩니다.",
"dllexport/dllimport가 %nod과(와) 충돌합니다. dllimport/dllexport가 삭제되었습니다.",
"dllexport/dllimport가 %nod;과(와) 충돌합니다. dllimport/dllexport가 삭제되었습니다.",
"익명 멤버 클래스의 잘못된 멤버 -- %t 클래스에 허용되지 않는 멤버 함수가 있습니다.",
"비표준 reinterpret_cast",
"위치 서식 지정자는 0이 될 수 없습니다.",
@@ -1464,24 +1464,24 @@
"매크로",
"레이블",
"템플릿 매개 변수",
null,
null,
null,
null,
"형식",
"합집합",
"클래스",
"구조체",
"template 템플릿 매개 변수",
"템플릿",
"클래스 템플릿",
null,
"열거형",
"매개 변수",
"처리기 매개 변수",
"변수",
"비형식",
null,
"상수",
"함수",
"오버로드된 함수",
"멤버",
"필드",
null,
"네임스페이스",
"명명된 레지스터",
"명명된 주소 공간",
"함수 템플릿",
@@ -1635,7 +1635,7 @@
"%t1에서 %t2(으)로의 확대 포인터 변환은 부호 비트를 확장합니다.",
"__sptr 및 __uptr은 멤버 포인터 형식에 적용되지 않습니다.",
"%n이(가) const이기 때문에 %t에 대한 복사 대입 연산자 선언이 표시되지 않았습니다.",
null,
"%n에 참조 형식이 있기 때문에 %t에 대한 복사 대입 연산자 선언이 표시되지 않았습니다.",
"%t2의 선언이 표시되지 않았기 때문에 %t1에 대한 복사 대입 연산자 선언이 표시되지 않았습니다.",
"%t2의 선언이 모호하기 때문에 %t1에 대한 복사 대입 연산자 선언이 표시되지 않았습니다.",
"%t2의 선언에 액세스할 수 없기 때문에 %t1에 대한 복사 대입 연산자 선언이 표시되지 않았습니다.",
@@ -2546,7 +2546,7 @@
"'decltype(auto)' 형식을 추론할 수 없습니다.",
"블록 범위 스레드 로컬 선언에는 staic 또는 extern이 포함되어야 합니다.",
"추론된 반환 형식 %t1이(가) 이전에 추론된 형식 %t2과(와) 충돌합니다.",
"반환 형식 %nd을(를) 추론할 수 없습니다. 정의되지 않았습니다.",
"반환 형식 %nd;을(를) 추론할 수 없습니다. 정의되지 않았습니다.",
"가상 함수에는 추론된 반환 형식을 사용할 수 없습니다.",
"%n은(는) 이 시점부터 대/소문자 구분 키워드로 취급됩니다.",
"전역 네임스페이스에 실제 멤버 %sq이(가) 없습니다.",
@@ -3373,5 +3373,107 @@
"__is_signed는 이 시점부터 더 이상 키워드가 아님",
"배열 차원에는 상수인 부호 없는 정수 값이 있어야 함",
"IFC 파일 %sq에 지원되지 않는 버전 %d1.%d2이(가) 있음",
"이 모드에서 모듈을 사용할 수 없음"
"이 모드에서 모듈을 사용할 수 없음",
"'import'는 모듈 이름에 사용할 수 없습니다.",
"'module'은 모듈 이름에 사용할 수 없습니다.",
null,
null,
"%n은(는) 열거형 형식이 아닙니다.",
"열거자 %no2이(가) %n1과(와) 충돌합니다.",
"열거자 %no은(는) 이미 이 범위 %p에 선언되었습니다.",
"'throw()' 사양은 C++20 이상에 포함되지 않습니다.",
"헤더 단위 맵의 입력보다 많은 항목이 '%s'과(와) 일치합니다.",
"#pragma 진단에 'push' 또는 'pop' 인수가 있어야 합니다.",
"이 '진단 팝업'과 일치하는 '#pragma 진단 푸시'가 없음",
"가져오기 또는 모듈 지시문에 사용된 경우 %sq은(는) 매크로일 수 없습니다.",
"이 지시문은 전역 네임스페이스 범위에만 표시될 수 있습니다.",
"'내보내기' 선언은 전역 또는 네임스페이스 범위에만 나타날 수 있습니다.",
"%sq는 뒤에 오는 토큰이 전처리기 지시문의 토큰과 일치하지 않으므로 키워드가 아닌 식별자로 구문 분석됩니다.",
"이것은 전처리기 지시문의 시작인 것처럼 보이지만 ';'가 없습니다. 바로 뒤에 줄 바꿈이 있으면",
"이는 모듈 전처리기 지시문으로 보이지만 이러한 지시문은 매크로 확장 내에 나타날 수 없습니다.",
"'모듈' 지침은 조건부 포함 범위 내에 나타날 수 없습니다(예: #if, #else, #elseif 등).",
"%sq 가져오기를 건너뜀",
"promise 형식 %t은(는) 인수가 필요하지 않은 정적 멤버 함수로 get_return_object_on_allocation_failure를 선언해야 합니다.",
"별칭 템플릿은 명시적으로 특수화할 수 없습니다.",
"다음에 일치하려면 '{'",
"이 매크로 호출에서",
"호출에는 애매한 인수 변환이 필요합니다.",
"%s 모듈이 소유한 선언이 %nd과(와) 충돌합니다.",
"전역 모듈이 소유한 선언이 명명된 모듈이 소유한 %nd과(와) 충돌합니다.",
"'malloc' 특성에 대한 첫 번째 인수는 함수여야 합니다.",
"%nod을(를) 캡처할 수 없습니다.",
"'this'를 캡처할 수 없습니다.",
"이미 consteval 컨텍스트에 있습니다.",
"'if consteval' 및 'if not consteval'에는 중괄호가 있는 종속 문이 필요합니다.",
"비 constexpr 함수에서는 'if consteval' 및 'if not consteval'이 의미가 없습니다.",
"컨트롤을 'if consteval' 또는 'if not consteval' 문으로 전송할 수 없습니다.",
"상수 평가는 정적 또는 스레드 스토리지 기간이 있는 변수 선언을 통과할 수 없습니다.",
"명시적 'this' 매개 변수가 있는 람다에서는 변경 가능한 한정자를 사용할 수 없습니다.",
"'static'으로 선언된 멤버 함수에는 명시적 'this' 매개 변수를 사용할 수 없습니다.",
"명시적 'this' 매개 변수는 첫 번째 선언된 매개 변수여야 합니다.",
"여기서는 'this'를 사용할 수 없습니다.",
"명시적 'this'를 사용하는 비교 함수는 기본값으로 사용할 수 없습니다.",
"명시적 'this' 함수에는 선택기 피연산자가 필요합니다.",
"'if consteval' 및 'if not consteval'은 이 모드에서 표준이 아닙니다.",
"람다 선언자에서 '()'를 생략하는 것은 이 모드에서 표준이 아닙니다.",
"람다 매개 변수 목록을 생략하면 후행-requires 절이 허용되지 않습니다.",
"모듈 %sq 잘못된 파티션이 요청됨",
"모듈 %sq1 정의되지 않은 파티션(%sq2로 추정됨) 요청됨",
"%sq1 모듈 파일 위치 %d1(상대 위치 %d2)이(가) %sq2 파티션에 대해 요청되었습니다. 이 위치는 비어 있습니다.",
"%sq1 모듈 파일 위치 %d1(상대 위치 %d2)이(가) 파티션 %sq2에 대해 요청되었습니다. 이는 파티션의 시작을 선행합니다.",
"모듈 %sq1 파일 위치 %d1(상대 위치 %d2)이(가) 파티션의 끝을 오버플로하는 파티션 %sq2에 대해 요청되었습니다.",
"모듈 %sq1 파일 위치 %d1(상대 위치 %d2)이(가) 파티션 요소가 잘못 정렬된 파티션 %sq2에 대해 요청되었습니다.",
"하위 필드 %sq(노드 %d에 대한 상대 위치)에서",
"파티션 %sq 요소 %d1(파일 위치 %d2, 상대 위치 %d3)에서",
"여기서 람다 특성은 표준이 아닙니다.",
"식별자 %sq은(는) 시각적으로 유사한 식별자와 혼동될 수 있습니다. %p",
"이 주석에는 의심스러운 유니코드 서식 지정 제어 문자가 포함되어 있습니다.",
"이 문자열에는 예기치 않은 런타임 동작이 발생할 수 있는 유니코드 서식 지정 컨트롤 문자가 포함되어 있습니다.",
"%d1 모듈 %sq1을(를) 처리하는 동안 표시되지 않는 경고가 발생했습니다.",
"%d1 모듈 %sq1을(를) 처리하는 동안 표시되지 않는 경고가 발생했습니다.",
"%d1 모듈 %sq1을(를) 처리하는 동안 오류가 표시되지 않았습니다.",
"%d1 모듈 %sq1을(를) 처리하는 동안 오류가 표시되지 않았습니다.",
"포함",
"표시 안 함",
"가상 멤버 함수에는 명시적 'this' 매개 변수를 사용할 수 없습니다.",
"명시적 'this' 함수의 주소를 사용하려면 정규화된 이름이 필요합니다.",
"명시적 'this' 함수의 주소를 구성하려면 '&' 연산자가 필요합니다.",
"가변 배열 멤버를 초기화하는 데 문자열 리터럴을 사용할 수 없습니다.",
"함수 %sq의 정의에 대한 IFC 표현이 잘못되었습니다.",
"암시적 'this' 매개 변수를 삭제하도록 수정되었습니다.",
"매개 변수를 지정하는 데 UniLevel IFC 차트가 사용되지 않았습니다.",
"%d1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %d2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
"%d1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %d2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
"%d1 매개 변수는 IFC 매개 변수 정의 차트에 의해 지정되었지만 %d2 매개 변수는 IFC 선언에 의해 지정되었습니다.",
"%sq 함수 정의의 IFC 표현이 없습니다.",
"함수 한정자는 멤버 템플릿 선언에 적용되지 않습니다.",
"멤버 선택에 너무 많은 중첩된 익명 형식이 포함됩니다.",
"피연산자 사이에 공통 형식이 없습니다.",
"멤버 포인터가 필요합니다.",
"유연한 배열 멤버는 비어 있는 형식으로 선언할 수 없습니다.",
"예상되는 'std::source_location::__impl'이 '_M_function_name', '_M_file_name', '_M_column', '_M_line'의 데이터 멤버만을 포함하는 클래스에 정의되어야 함",
"'std::source_location::__impl' 초기화 중 열 번호가 %t 형식의 '_M_column' 멤버를 오버플로",
"'std::source_location::__impl' 초기화 중 줄 번호가 %t 형식의 '_M_line' 멤버를 오버플로",
"UTF-16 문자 상수는 코드 단위를 두 개 이상 사용할 수 없음; 값 잘림",
"두 인수의 형식이 같아야 함",
"%t 형식은 이 기본 제공의 인수로 사용할 수 없음",
"%nd에서 호출",
"정규화된 형식이 익명 비트 필드에 대해 표준이 아닙니다.",
"벡터 조건의 요소 유형(%t1)은 결과의 요소 유형(%t2)과 크기가 같아야 합니다.",
"부동 소수점 벡터 피연산자 유형(%t)에 일치하는 정수 벡터 유형이 없습니다.",
"'requires' 식에 대한 mangling이 아직 구현되지 않았습니다.",
"'unavailable' 특성 때문에",
"IFC 파티션 %sq에 대한 인덱스를 사용하여 IFC 파티션 %sq에서 요소를 구성하려고 했습니다.",
"파티션 %sq는 %d2가 예상될 때 항목 크기를 %d1로 지정했습니다.",
"모듈 %sq1을(를) 처리하는 동안 예기치 않은 IFC 요구 사항이 발생했습니다.",
"%d행(%s1)에서 조건 실패: %sq2",
"원자성 제약 조건은 자체에 따라 달라집니다.",
"'noreturn' 함수에 void가 아닌 반환 형식이 있습니다.",
"매개 변수 %sq(상대 인덱스 %d)를 삭제하여 수정했습니다.",
"엔터티를 재구성하는 동안 %sq라는 잘못된 IFC 식별자를 발견했습니다.",
"엔티티를 재구성하는 동안 %sq라는 잘못된 IFC 식별자를 건너뛰었습니다.",
"모듈 %sq 잘못된 정렬 값",
"IFC 모듈에서 로드된 함수 템플릿이 %nd(으)로 잘못 구문 분석되었습니다.",
"모듈 %sq에서 IFC 엔터티 참조를 로드하지 못했습니다.",
"IFC 인덱스 정렬 = %d1, 값 = %d2"
]
+115 -13
View File
@@ -838,7 +838,7 @@
"zwracanie odwołania do zmiennej lokalnej",
"pominięcie jawnego typu jest niestandardowe (przyjęto typ „int”)",
"więcej niż jedna specjalizacja częściowa jest zgodna z listą argumentów szablonu %n",
"%no",
"%nod",
"lista argumentów szablonu jest niedozwolona w deklaracji szablonu podstawowego",
"częściowe specjalizacje nie mogą mieć domyślnych argumentów szablonu",
"element %n1 nie jest używany lub nie można go określić na podstawie listy argumentów szablonu elementu %n2",
@@ -1389,14 +1389,14 @@
"atrybuty dllexport i dllimport są ignorowane w szablonach klas",
"specyfikacja atrybutu dllexport/dllimport klasy bazowej różni się od specyfikacji klasy pochodnej",
"ponowna deklaracja nie może dodać atrybutu dllexport/dllimport do elementu %nod",
"atrybut dllexport/dllimport powoduje konflikt z elementem %nod. Przyjęto atrybut dllexport.",
"atrybut dllexport/dllimport powoduje konflikt z elementem %nod; Przyjęto atrybut dllexport.",
"nie można zdefiniować jednostki atrybutu dllimport",
"atrybut dllexport/dllimport wymaga zewnętrznego wiązania",
"składowa klasy zadeklarowana przy użyciu atrybutu dllexport/dllimport nie może sama zostać zadeklarowana z takim specyfikatorem",
"pole typu klasy bez interfejsu biblioteki DLL używane w klasie z interfejsem biblioteki DLL",
"deklaracja składowej w nawiasach jest niestandardowa",
"zignorowano biały znak między ukośnikiem odwrotnym i znakiem nowego wiersza w operacji łączenia wierszy",
"atrybut dllexport/dllimport powoduje konflikt z elementem %nod. Pominięto atrybut dllexport/dllimport.",
"atrybut dllexport/dllimport powoduje konflikt z elementem %nod; Pominięto atrybut dllexport/dllimport.",
"nieprawidłowa składowa dla anonimowej klasy składowej — klasa %t ma niedozwoloną funkcję składową",
"niestandardowa instrukcja reinterpret_cast",
"pozycyjny specyfikator formatu nie może być zerem",
@@ -1464,24 +1464,24 @@
"makro",
"etykieta",
"parametr szablonu",
null,
null,
null,
null,
"typ",
"suma zbiorów",
"klasa",
"struktura",
"szablon parametryzujący szablon",
"szablon",
"szablon klasy",
null,
"wyliczenie",
"parametr",
"parametr procedury obsługi",
"zmienna",
"bez typu",
null,
"stała",
"funkcja",
"funkcja przeciążona",
"składowa",
"pole",
null,
"przestrzeń nazw",
"nazwany rejestr",
"nazwana przestrzeń adresowa",
"szablon funkcji",
@@ -1635,7 +1635,7 @@
"poszerzanie konwersji wskaźnika z %t1 na %t2 powoduje rozszerzenie bitu znaku",
"modyfikatory __sptr i __uptr nie dotyczą typów wskaźnika do składowej",
"deklaracja kopiującego operatora przypisania dla elementu %t została pominięta, ponieważ element %n to stała",
null,
"deklaracja kopiującego operatora przypisania dla elementu %t została pominięta, ponieważ element %n ma typ referencyjny",
"deklaracja kopiującego operatora przypisania dla elementu %t1 została pominięta, ponieważ pominięto deklarację elementu %t2",
"deklaracja kopiującego operatora przypisania dla elementu %t1 została pominięta, ponieważ deklaracja elementu %t2 jest niejednoznaczna",
"deklaracja kopiującego operatora przypisania dla elementu %t1 została pominięta, ponieważ deklaracja elementu %t2 jest niedostępna",
@@ -2604,7 +2604,7 @@
"definicja publicznego typu języka C++/CX jest niedozwolona w zasięgu globalnym",
"właściwość indeksowana z publiczną metodą dostępu „get” lub „set” nie jest dozwolona",
"publiczny zagnieżdżony typ delegata jest niedozwolony",
"nieprawidłowy inicjator delegata — oczekiwano elementu „(<adres-funkcji lub obiekt-funkcji> [, Platform::CallbackContext])” lub „(<dojście-do-obiektu>, <adres-składowej> [, Platform::CallbackContext [, bool]])”",
"nieprawidłowy inicjator delegata — oczekiwano elementu „(<adres-funkcji lub obiekt-funkcji> [, Platform::CallbackContext])” lub „(<object handle>, <adres-elementu-członkowskiego> [, Platform::CallbackContext [, bool]])”",
"nieprawidłowy inicjator delegata — obiekt musi być dojściem do klasy typu %[managed]",
"język C++/CX nie obsługuje tablic „in/out” — użyj deklaracji „const Platform::Array<T>^” dla tablicy „in” oraz „Platform::WriteOnlyArray<T>^” lub „Platform::Array<T>^*” dla tablicy „out” w publicznych interfejsach API",
"brak atrybutu „target” dla elementu %nd",
@@ -3373,5 +3373,107 @@
"Od tego punktu __is_signed nie jest już słowem kluczowym",
"wymiar tablicy musi mieć stałą wartość całkowitą bez znaku",
"Plik IFC %sq ma nieobsługiwaną wersję %d1.%d2",
"moduły nie są włączone w tym trybie"
"moduły nie są włączone w tym trybie",
"Ciąg „import” nie jest dozwolony w nazwie modułu",
"Ciąg „module” nie jest dozwolony w nazwie modułu",
null,
null,
"Element %n nie jest typem wyliczenia",
"moduł wyliczający %no2 powoduje konflikt z elementem %n1",
"moduł wyliczający %no został już zadeklarowany w tym zakresie %p",
"Specyfikacja „throw()” nie jest częścią języka C++20 i nowszych",
"więcej niż wpis na mapie jednostek nagłówka pasuje do „%s”",
"Diagnostyka #pragma musi mieć argument \"push\" lub \"pop\"",
"nie znaleziono instrukcji \"#pragma diagnostic push\" pasującej do tego argumentu \"diagnostic pop\"",
"Element %sq nie może być makrem, gdy jest używany w dyrektywie importu lub modułu",
"ta dyrektywa może występować tylko w zakresie globalnej przestrzeni nazw",
"Deklaracja \"export\" może występować tylko w zakresie globalnym lub przestrzeni nazw",
"Element %sq jest analizowany jako identyfikator, a nie słowo kluczowe, ponieważ tokeny po nim występujące nie pasują do tych, które obowiązują w dyrektywie preprocesora",
"wydaje się, że jest to początek dyrektywy preprocesora, ale brak elementu \";\", po którym niezwłocznie występuje nowy wiersz to uniemożliwia",
"wydaje się, że jest to dyrektywa przetwarzania wstępnego modułów, ale takie dyrektywy nie mogą występować w rozszerzeniu makra",
"Dyrektywa \"module\" nie może pojawiać się w zakresie dołączania warunkowego (np. #if, #else, #elseif itp.)",
"import elementu %sq został pominięty",
"typ obietnicy %t musi deklarować funkcję get_return_object_on_allocation_failure jako statyczną funkcję składową, która nie wymaga żadnych argumentów",
"nie można jawnie specjalizować szablonu aliasu",
"aby pasować do tego elementu „{”",
"w tym wywołaniu makra",
"wywołanie wymaga niejednoznacznej konwersji argumentów",
"deklaracja należąca do modułu %s powoduje konflikt z %nd",
"deklaracja należąca do modułu globalnego powoduje konflikt z elementem %nd należącymi do nazwanego modułu",
"pierwszy argument atrybutu „malloc” musi być funkcją",
"nie można przechwycić elementu %nod",
"nie można przechwycić „tego”",
"już w kontekście consteval",
"Instrukcje „if consteval” i „if not consteval” wymagają zwartych instrukcji zależnych",
"Instrukcje „if consteval” i „if not consteval” są bez znaczenia w funkcji non-constexpr",
"przeniesienie kontrolki do instrukcji „if consteval” lub „if not consteval” jest niedozwolone",
"obliczanie stałej nie może przejść przez deklarację zmiennej ze statycznym lub wątkiem czasu przechowywania",
"modyfikowalny kwalifikator jest niedozwolony w wyrażeń lambda z jawnym parametrem „this”",
"funkcja składowa zadeklarowana za pomocą elementu „static” nie może mieć jawnego parametru „this”",
"jawny parametr „this” musi być pierwszym zadeklarowanym parametrem",
"Element „this” jest niedozwolony w tym miejscu",
"nie można domyślnie określić funkcji porównania z jawnym elementem „this”",
"jawna funkcja „this” wymaga operandu selektora",
"Instrukcje „if consteval” i „if not consteval” nie są standardowe w tym trybie",
"pominięcie elementu „()” w deklaratorze lambda jest niestandardowe w tym trybie",
"klauzula trailing-requires-clause jest niedozwolona, gdy lista parametrów lambda zostanie pominięta",
"zażądano nieprawidłowej partycji modułu %sq",
"zażądano niezdefiniowanej partycji modułu %sq1 (prawdopodobnie %sq2)",
"zażądano modułu %sq1 pozycji pliku %d1 (pozycja względna %d2) dla partycji %sq2 — która jest pusta",
"zażądano modułu %sq1 pozycji pliku %d1 (względna pozycja %d2) dla partycji %sq2, która poprzedza rozpoczęcie partycji",
"zażądano modułu %sq1 pozycji pliku %d1 (pozycja względna %d2) dla partycji %sq2, która powoduje przepełnienie końca partycji",
"zażądano modułu %sq1 pozycji pliku %d1 (pozycja względna %d2) dla partycji %sq2, która jest nieprawidłowo wyrównana do jej elementów partycji",
"z podpola %sq (względne położenie w stosunku do węzła %d)",
"z partycji %sq element %d1 (pozycja pliku %d2, względna pozycja %d3)",
"atrybuty lambda są niestandardowe w tym miejscu",
"identyfikator %sq można pomylić z widocznym wizualnie identyfikatorem %p",
"ten komentarz zawiera podejrzane znaki kontrolne formatowania Unicode",
"ten ciąg zawiera znaki kontrolne formatowania Unicode, które mogą spowodować nieoczekiwane zachowanie środowiska uruchomieniowego",
"Znaleziono pominięte ostrzeżenie %d1 podczas przetwarzania modułu %sq1",
"Znaleziono ostrzeżenia pominięte przez %d1 podczas przetwarzania modułu %sq1",
"Znaleziono pominięty błąd %d1 podczas przetwarzania modułu %sq1",
"Znaleziono %d1 pominiętych błędów podczas przetwarzania modułu %sq1",
"uwzględniając",
"Pominięte",
"wirtualna funkcja składowa nie może mieć jawnego parametru „this”",
"pobieranie adresu jawnej funkcji „this” wymaga kwalifikowanej nazwy",
"utworzenie adresu jawnej funkcji „this” wymaga operatora \"&\"",
"literału ciągu nie można użyć do zainicjowania elastycznej składowej tablicy",
"Reprezentacja IFC definicji funkcji %sq jest nieprawidłowa",
"korekta została wprowadzona w celu porzucenia niejawnego parametru „this”",
"wykres IFC UniLevel nie został użyty do określenia parametrów",
"Parametry (%d1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%d2) zostały określone przez deklarację IFC",
"Parametry (%d1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%d2) zostały określone przez deklarację IFC",
"Parametry (%d1) zostały określone przez wykres definicji parametru IFC, podczas gdy parametry (%d2) zostały określone przez deklarację IFC",
"Brak reprezentacji IFC definicji funkcji %sq",
"modyfikator funkcji nie ma zastosowania do deklaracji szablonu elementu członkowskiego",
"wybór elementu członkowskiego obejmuje zbyt wiele zagnieżdżonych typów anonimowych",
"nie ma wspólnego typu między argumentami operacji",
"oczekiwano wskaźnika do składowej",
"elastyczna składowa tablicy nie może być zadeklarowana w typie pustym w inny sposób",
"oczekiwano zdefiniowania elementu „std::source_location::__impl” w klasie z tylko składowymi danych „_M_function_name”, „_M_file_name”, „_M_column”, „_M_line”",
"podczas inicjowania elementu „std::source_location::__impl” liczba kolumn przepełnia składową „_M_column” typu %t",
"podczas inicjowania elementu „std::source_location::__impl” liczba wierszy przepełnia składową „_M_line” typu %t",
"stała znaków UTF-16 nie może zajmować więcej niż jednej jednostki kodu; obcięta wartość",
"oba argumenty muszą mieć ten sam typ",
"typ %t jest nieprawidłowy jako argument dla tej wbudowanej",
"wywołano z %nd:",
"kwalifikowany typ jest niestandardowy dla anonimowych pól bitowych",
"typ elementu warunku wektora (%t1) musi mieć taki sam rozmiar jak typ elementu wyniku (%t2)",
"typ operandu wektora zmiennoprzecinkowego (%t) nie ma zgodnego typu wektora liczb całkowitych",
"nie jest jeszcze zaimplementowane dekorowanie wyrażeń typu „requires”.",
"z powodu atrybutu „unavailable”",
"próbowano skonstruować element z partycji IFC %sq przy użyciu indeksu do partycji IFC %sq",
"partycja %sq określiła swój rozmiar wpisu jako %d1, gdy oczekiwano wartości %d2",
"napotkano nieoczekiwane wymaganie IFC podczas przetwarzania modułu %sq1",
"warunek nie powiódł się w wierszu %d w %s1: %sq2",
"niepodzielne ograniczenie zależy od samego siebie",
"Funkcja \"noreturn\" ma zwracany typ inny niż void",
"wprowadzono poprawkę przez usunięcie parametru %sq (względny indeks %d)",
"napotkano nieprawidłową nazwę identyfikatora IFC %sq podczas odbudowy jednostki",
"podczas odbudowy jednostki pominięto nieprawidłowy identyfikator IFC o nazwie %sq",
"nieprawidłowa wartość sortowania modułu %sq",
"szablon funkcji załadowany z modułu IFC został niepoprawnie przeanalizowany jako %nd",
"nie można załadować odwołania do jednostki IFC w module %sq",
"Sortowanie indeksu IFC = %d1, wartość = %d2"
]
+112 -10
View File
@@ -838,7 +838,7 @@
"referência de retorno para variável local",
"a omissão do tipo explícito não é padrão ('int' assumed)",
"mais de uma especialização parcial corresponde à lista de argumentos do modelo de %n",
"%no",
"%nod",
"uma lista de argumentos do modelo não é permitida em uma declaração de um modelo primário",
"as especializações parciais podem não ter argumentos de modelo padrão",
"%n1 não é usado ou não pode ser deduzido a partir da lista de argumentos do modelo de %n2",
@@ -1464,24 +1464,24 @@
"macro",
"rótulo",
"parâmetro de template",
null,
null,
null,
null,
"tipo",
"união",
"classe",
"struct",
"parâmetro de modelo",
"modelo",
"modelo de classe",
null,
"enumeração",
"parâmetro",
"parâmetro de manipulador",
"variável",
"sem tipo",
null,
"constante",
"função",
"função sobrecarregada",
"membro",
"campo",
null,
"namespace",
"registro nomeado",
"espaço de endereçamento nomeado",
"modelo de função",
@@ -1635,7 +1635,7 @@
"a conversão do apontador de alargamento de %t1 para %t2 aumenta o bit de sinal",
"__sptr e __uptr não se aplicam a tipos ponteiro para membro",
"a declaração do operador de atribuição de cópia para %t foi suprimida porque %n é const",
null,
"a declaração do operador de atribuição de cópia para %t foi suprimida porque %n tem um tipo de referência",
"a declaração do operador de atribuição de cópia para %t1 foi suprimida porque a de %t2 foi suprimida",
"a declaração do operador de atribuição de cópia para %t1 foi suprimida porque a de %t2 é ambígua",
"a declaração do operador de atribuição de cópia para %t1 foi suprimida porque a de %t2 está inacessível",
@@ -3373,5 +3373,107 @@
"__is_signed não é mais uma palavra-chave deste ponto",
"uma dimensão de matriz precisa ter um valor inteiro sem sinal constante",
"O arquivo IFC %sq tem uma versão sem suporte %d1.%d2",
"os módulos não estão habilitados neste modo"
"os módulos não estão habilitados neste modo",
"'import' não é permitido em um nome de módulo",
"'module' não é permitido em um nome de módulo",
null,
null,
"O %n não é um tipo de enumeração",
"o enumerador %no2 entra em conflito com %n1",
"o enumerador %no já foi declarado neste escopo %p",
"a especificação 'throw()' não faz parte de C++ 20 e posteriores",
"mais de uma entrada no mapa de unidades de cabeçalho corresponde a '%s'",
"diagnóstico #pragma deve ter argumento 'push' ou 'pop'",
"nenhum 'diagnóstico push #pragma' foi encontrado para corresponder a esae 'pop de diagnóstico'",
"o %sq não pode ser uma macro quando for usado em uma diretiva de importação ou módulo",
"essa diretiva só pode aparecer no escopo de namespace global",
"uma declaração 'exportar' só pode aparecer no escopo global ou de namespace",
"%sq é analisado como um identificador em vez de uma palavra-chave porque os tokens que o seguem não correspondem aos de uma diretiva de pré-processador",
"parece que esse é o início de uma diretiva de pré-processador, mas a falta de um '; ' seguido imediatamente por uma nova linha evita que",
"parece ser uma diretiva de pré-processamento de módulos, mas essas diretivas não podem aparecer dentro de uma expansão de macro",
"uma diretriz 'módulo' não pode aparecer dentro do escopo de inclusão condicional (por exemplo, #se, #outro, #outrose, etc.)",
"a importação de %sq foi ignorada",
"tipo promise %t deve declarar get_return_object_on_allocation_failure como uma função membro estática que não requer argumentos",
"um modelo de alias não pode ser explicitamente especializado",
"para corresponder a este '{'",
"nesta invocação de macro",
"a chamada requer uma conversão de argumento ambígua",
"declaração pertencente ao módulo %s está em conflito com %nd",
"a declaração de propriedade do módulo global está em conflito %nd pertencente a um módulo nomeado",
"o primeiro argumento para um atributo 'malloc' deve ser uma função",
"não é possível capturar %nod",
"não é possível capturar 'this'",
"já no contexto consteval",
"'if consteval' e 'if not consteval' exigem instruções dependentes entre chaves",
"'if consteval' e 'if not consteval' são sem sentido em uma função não constexpr",
"a transferência de controle para uma instrução 'if consteval' ou 'if not consteval' não é permitida",
"a avaliação constante não pode passar pela declaração de uma variável com duração estática ou de armazenamento de thread",
"o qualificador mutável não é permitido em um lambda com um parâmetro 'this' explícito",
"uma função membro declarada com 'static' não pode ter um parâmetro 'this' explícito",
"um parâmetro 'this' explícito deve ser o primeiro parâmetro declarado",
"'this' não é permitido aqui",
"uma função de comparação com 'this' explícito não pode ser padrão",
"uma função 'this' explícita requer um operando de seletor",
"'if consteval' e 'if not consteval' não são padrão neste modo",
"omitir '()' em um declarador lambda não é padrão neste modo",
"uma cláusula-requer à direita não é permitida quando a lista de parâmetros lambda é omitida",
"módulo %sq partição inválida solicitada",
"módulo %sq1 partição indefinida (acredita-se que seja %sq2) solicitada",
"módulo %sq1 posição de arquivo %d1 (posição relativa %d2) solicitada para a partição %sq2 - que está vazia",
"módulo %sq1 posição de arquivo %d1 (posição relativa %d2) solicitada para a partição %sq2 - que impede o início da partição",
"módulo %sq1 posição de arquivo %d1 (posição relativa %d2) solicitada para a partição %sq2 - que estoura o final de sua partição",
"módulo %sq1 posição de arquivo %d1 (posição relativa %d2) solicitada para a partição %sq2 - que está desalinhada com seus elementos de partições",
"do subcampo %sq (posição relativa ao nó %d)",
"da partição %sq elemento %d1 (posição do arquivo %d2, posição relativa %d3)",
"os atributos lambda não são padrão aqui",
"O identificador %sq pode ser confundido com um visualmente semelhante ao que aparece %p",
"este comentário contém caracteres de controle de formatação Unicode suspeitos",
"essa cadeia de caracteres contém caracteres de controle de formatação Unicode que podem resultar em comportamento de runtime inesperado",
"%d1 aviso suprimido encontrado durante o processamento do módulo %sq1",
"%d1 avisos suprimidos foram encontrados durante o processamento do módulo %sq1",
"%d1 erro suprimido encontrado ao processar o módulo %sq1",
"%d1 erros suprimidos foram encontrados durante o processamento do módulo %sq1",
"incluindo",
"suprimida",
"uma função membro virtual não pode ter um parâmetro 'this' explícito",
"usar o endereço de uma função explícita 'this' requer um nome qualificado",
"formar o endereço de uma função 'this' explícita requer o operador '&'",
"um literal de cadeia de caracteres não pode ser usado para inicializar um membro de matriz flexível",
"A representação IFC da definição da função %sq é inválida",
"foi feita uma correção para descartar um parâmetro 'this' implícito",
"um gráfico UNILevel IFC não foi usado para especificar parâmetros",
"%d1 parâmetros foram especificados pelo gráfico de definição de parâmetro IFC, enquanto %d2 parâmetros foram especificados pela declaração IFC",
"O parâmetro %d1 foi especificado pelo gráfico de definição de parâmetro IFC, enquanto %d2 parâmetros foram especificados pela declaração IFC",
"%d1 parâmetros foram especificados pelo gráfico de definição de parâmetro IFC, enquanto o parâmetro %d2 foi especificado pela declaração IFC",
"A representação IFC da definição da função %sq está ausente",
"o modificador de função não se aplica à declaração de modelo do membro",
"a seleção de membro envolve muitos tipos anônimos aninhados",
"não há nenhum tipo comum entre os operandos",
"esperava-se um ponteiro para membro",
"um membro da matriz flexível não pode ser declarado em um tipo de outro modo vazio",
"esperado que 'std::source_location::__impl' seja definido para uma classe com apenas os membros de dados '_M_function_name', '_M_file_name', '_M_column', '_M_line'",
"durante a inicialização de 'std::source_location::__impl', o número da coluna estoura o membro '_M_column' do tipo %t",
"durante a inicialização de 'std::source_location::__impl', o número da linha estoura o membro '_M_line' do tipo %t",
"uma constante de caractere UTF-16 não pode ocupar mais de uma unidade de código; valor truncado",
"ambos os argumentos devem ter o mesmo tipo",
"o tipo %téinválido como argumento para este builtin",
"chamado de %nd:",
"um tipo qualificado não é padrão para campos de bits anônimos",
"o tipo de elemento da condição de vetor (%t1) deve ter o mesmo tamanho que o tipo de elemento do resultado (%t2)",
"o tipo de operando vetorial de ponto flutuante (%t) não tem nenhum tipo de vetor inteiro correspondente",
"a estruturação para expressões 'requires' ainda não foi implementada",
"devido a um atributo 'indisponível'",
"tentou construir um elemento da partição IFC %sq usando um índice na partição IFC %sq",
"a partição %sq especificou seu tamanho de entrada como %d1 quando %d2 era esperado",
"um requisito IFC inesperado foi encontrado durante o processamento do módulo %sq1",
"condição falhou na linha %d em %s1: %sq2",
"restrição atômica depende de si mesma",
"A função 'noreturn' tem um tipo de retorno não nulo",
"foi feita uma correção eliminando o parâmetro %sq (no índice relativo %d)",
"nome de identificador IFC inválido %sq encontrado durante a reconstrução da entidade",
"identificador IFC inválido chamado %sq ignorado durante a reconstrução da entidade",
"valor de classificação inválido do módulo %sq",
"um modelo de função carregado de um módulo IFC foi analisado incorretamente como %nd",
"falha ao carregar uma referência de entidade IFC no módulo %sq",
"Classificação do índice IFC = %d1, valor = %d2"
]
+113 -11
View File
@@ -838,7 +838,7 @@
"возвращение ссылки на локальную переменную",
"нестандартное упущение явного типа (требуется \"int\")",
"списку аргументов шаблона %n соответствует более одной частичной специализации",
"%no",
"%nod",
"использование списка аргументов шаблона в объявлении основного шаблона не допускается",
"частичные специализации не могут содержать аргументы шаблона по умолчанию",
"%n1 не используется или не может быть выведено из списка аргументов шаблона %n2",
@@ -1464,24 +1464,24 @@
"макроопределение",
"метка",
"параметр шаблона",
null,
null,
null,
null,
"тип",
"объединение",
"класс",
"структура",
"параметр шаблона template",
"шаблон",
"шаблон класса",
null,
"перечисление",
"параметр",
"параметр обработчика",
"переменная",
"нетипизированный",
null,
"константа",
"функцию",
"перегруженная функция",
"член",
"поле",
null,
"пространство имен",
"именованный регистр",
"именованное пространство имен",
"шаблон функции",
@@ -1635,7 +1635,7 @@
"расширяющее преобразование указателя из %t1 в %t2 расширяет бит знака",
"__sptr и __uptr не применимы к типам указателя на элемент.",
"Объявление оператора назначения копированием для %t было подавлено, так как %n является константой.",
null,
"Объявление оператора назначения копированием для %t было подавлено, так как %n имеет ссылочный тип.",
"Объявление оператора назначения копированием для %t1 было подавлено, так как подавляется %t2.",
"Объявление оператора назначения копированием для %t1 было подавлено, так как %t2 является неоднозначным.",
"Объявление оператора назначения копированием для %t1 было подавлено, так как %t2 является недоступным.",
@@ -2604,7 +2604,7 @@
"Определение открытого типа C++/CX не может находиться в глобальной области.",
"не допускается использовать индексируемое свойство с открытым методом доступа \"get\" или \"set\"",
"открытые вложенные типы делегата запрещены",
"недопустимый инициализатор делегата — ожидалось \"(<адрес_или_объект_функции> [, Platform::CallbackContext])\" или \"(<дескриптор_объекта>, <адрес_члена> [, Platform::CallbackContext [, bool]])\"",
"недопустимый инициализатор делегата — ожидалось \"(<function-address or functor-object> [, Platform::CallbackContext])\" или \"(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])\"",
"недопустимый инициализатор делегата — объект должен быть дескриптором класса %[managed]",
"C++/CX не поддерживает массивы \"in/out\" — используйте \"const Platform::Array<T>^\" для \"in\" и \"Platform::WriteOnlyArray<T>^\" или \"Platform::Array<T>^*\" для массивов \"out\" в открытых API.",
"отсутствует атрибут target для %nd",
@@ -3373,5 +3373,107 @@
"__is_signed больше не является ключевым словом из этой точки",
"измерение массива должно иметь постоянное целочисленное значение без знака",
"файл IFC %sq имеет неподдерживаемую версию %d1.%d2",
"модули не включены в этом режиме"
"модули не включены в этом режиме",
"слово \"import\" не допускается в имени модуля",
"слово \"module\" не допускается в имени модуля",
null,
null,
"%n не является типом перечисления",
"перечислитель %no2 конфликтует с %n1",
"перечислитель %no уже объявлен в этой области %p",
"спецификация \"throw()\" не входит в C++20 и более поздние версии",
"несколько записей в карте блока заголовка соответствуют \"%s\"",
"диагностика #pragma должна иметь аргумент \"push\" или \"pop\"",
"не найден параметр \"#pragma diagnostic push\", соответствующий этому \"diagnostic pop\"",
"%sq не может быть макросом при использовании в директиве \"import\" или \"module\"",
"эта директива может использоваться только в области глобального пространства имен",
"объявление \"export\" может использоваться только в глобальной области или области пространства имен",
"%sq анализируется как идентификатор, а не как ключевое слово, поскольку следующие токены не соответствуют токенам директивы препроцессора",
"это выглядит как начало директивы препроцессора, однако должен присутствовать знак \";\", за которым идет переход на новую строку",
"по-видимому, это директива препроцессора модулей, но такие директивы не могут присутствовать в расширении макроса",
"директива \"module\" не может находиться в области условного включения (например, #if, #else, #elseif и т. д.)",
"импорт %sq был пропущен",
"тип обещания %t должен объявить get_return_object_on_allocation_failure как элемент статической функции, не требующий аргументов",
"шаблон псевдонима не может быть явно специализированным",
"в соответствие с этим \"{\"",
"в этом вызове макроса",
"для вызова требуется неоднозначное преобразование аргумента",
"объявление, которым владеет модуль %s, конфликтует с %nd",
"объявление, которым владеет глобальный модуль, конфликтует с %nd, которым владеет именованный модуль",
"первый аргумент атрибута \"malloc\" должен быть функцией",
"не удается захватить %nod",
"не удается захватить \"this\"",
"уже в контексте consteval",
"Для \"if consteval\" и \"if not consteval\" требуются зависимые операторы в фигурных скобках",
"\"if consteval\" и \"if not consteval\" не имеют смысла в функции, отличной от constexpr",
"передача управления оператору \"if consteval\" или \"if not consteval\" не допускается",
"вычисление константы не может проходить через объявление переменной со статической длительностью или длительностью хранилища потока",
"изменяемый квалификатор недопустим для лямбды с явным параметром \"this\"",
"функция-член, объявленная со значением \"static\", не может иметь явный параметр \"this\"",
"явный параметр \"this\" должен быть первым объявленным параметром",
"\"this\" здесь не разрешено",
"функция сравнения с явным параметром \"this\" не может быть задана по умолчанию",
"для явной функции \"this\" требуется операнд селектора",
"\"if consteval\" и \"if not consteval\" не являются стандартными в этом режиме",
"опущение \"()\" в лямбда-операторе объявления является нестандартным в этом режиме",
"конечное предложение requires не допускается, если список лямбда-параметров опущен",
"запрошен недопустимый раздел модуля %sq",
"запрошен неопределенный раздел модуля %sq1 (предполагается — %sq2)",
"модуль %sq1, позиция файла %d1 (относительная позиция %d2) запрошена для раздела %sq2, который пуст",
"модуль %sq1, позиция файла %d1 (относительная позиция %d2) запрошена для раздела %sq2, который находится перед началом раздела",
"модуль %sq1, позиция файла %d1 (относительная позиция %d2) для раздела %sq2, который переполняет окончание этого раздела",
"модуль %sq1, позиция файла %d1 (относительная позиция %d2) запрошена для раздела %sq2, который не выровнен по элементам разделов",
"из подполя %sq (относительное положение к узлу %d)",
"из раздела %sq, элемент %d1 (позиция файла %d2, относительная позиция %d3)",
"здесь нестандартные лямбда-атрибуты",
"идентификатор %sq можно перепутать с визуально похожим %p",
"этот комментарий содержит подозрительные управляющие символы форматирования Юникода",
"эта строка содержит управляющие символы форматирования Юникода, которые могут привести к непредвиденной работе среды выполнения",
"обнаружено %d1 подавленное предупреждение при обработке модуля %sq1",
"обнаружено несколько (%d1) подавленных предупреждений при обработке модуля %sq1",
"Обнаружена %d1 подавленная ошибка при обработке модуля %sq1",
"Обнаружено несколько (%d1) подавленных ошибок при обработке модуля %sq1",
"включая",
"подавлено",
"виртуальная функция-член не может иметь явный параметр \"this\"",
"для получения адреса явной функции \"this\" требуется полное имя",
"для формирования адреса явной функции \"this\" требуется оператор \"&\"",
"строковый литерал нельзя использовать для инициализации элемента гибкого массива",
"Представление IFC определения функции %sq недопустимо",
"внесено исправление для удаления неявного параметра \"this\"",
"диаграмма IFC UniLevel не использовалось для указания параметров",
"несколько (%d1) параметров указаны в диаграмме определения параметров IFC, в то время как несколько (%d2) параметров указаны в объявлении IFC",
"%d1 параметр указан в диаграмме определения параметров IFC, в то время как несколько (%d2) параметров указаны в объявлении IFC",
"несколько (%d1) параметров указаны в диаграмме определения параметров IFC, в то время как %d2 параметр указан в объявлении IFC",
"Представление IFC определения функции %sq отсутствует",
"модификатор функции не применяется к объявлению шаблона элемента",
"выбор элемента включает слишком много вложенных анонимных типов",
"между операндами нет общего типа",
"необходим указатель на элемент",
"гибкий элемент массива не может быть объявлен в пустом типе",
"ожидается, что ''std::source_location::__impl'' будет определен для класса только с элементами данных ''_M_function_name'', ''_M_file_name'', ''_M_column'', ''_M_line''",
"во время инициализации ''std::source_location::__impl'' номер столбца переполняет элемент ''_M_column'' типа %t",
"во время инициализации ''std::source_location::__impl'' номер строки переполняет элемент ''_M_line'' типа %t",
"символьная константа UTF-16 не может занимать более одной кодовой единицы; значение усечено",
"оба аргумента должны быть одного типа",
"тип %t недопустим в качестве аргумента для этой встроенной функции.",
"вызвано из %nd:",
"нестандартный тип с квалификатором для анонимных битовых полей",
"тип элемента векторного условия (%t1) должен иметь тот же размер, что и тип элемента результата (%t2)",
"тип векторного операнда с плавающей запятой (%t) не имеет соответствующего целочисленного векторного типа",
"искажение для выражений \"requires\" еще не реализовано",
"из-за атрибута \"unavailable\"",
"попытка создать элемент из раздела IFC %sq с использованием индекса в разделе IFC %sq",
"раздел %sq указал размер своей записи как %d1, в то время как ожидалось %d2",
"При обработке модуля %sq1 было обнаружено неожиданное требование IFC",
"сбой условия в строке %d в %s1: %sq2",
"атомарное ограничение зависит от самого себя",
"Функция \"noreturn\" имеет не недействительный тип возврата",
"исправление внесено путем удаления параметра %sq (по относительному индексу %d)",
"обнаружено недопустимое имя идентификатора IFC %sq во время реконструкции сущности",
"недопустимое имя идентификатора IFC %sq пропущено во время реконструкции сущности",
"недопустимое значение сортировки модуля %sq",
"шаблон функции, загруженный из модуля IFC, был неправильно проанализирован как %nd",
"не удалось загрузить ссылку на объект IFC в модуль %sq",
"Сортировка индекса IFC = %d1, значение = %d2"
]
+116 -14
View File
@@ -838,7 +838,7 @@
"yerel değişkene başvuru döndürülüyor",
"belirtik türün atlanması standart dışı ('int' varsayılıyor)",
"birden fazla kısmi özelleşme, %n öğesinin şablon bağımsız değişken listesi ile eşleşiyor",
"%no",
"%nod",
"bir birincil şablon bildiriminde, şablon bağımsız değişken listesine izin verilmiyor",
"kısmi özelleşmeler varsayılan şablon bağımsız değişkenlerine sahip olamaz",
"%n1, %n2 öğesinin şablon bağımsız değişken listesinde kullanılamaz veya bu listeden çıkarsanamaz",
@@ -1389,14 +1389,14 @@
"sınıf şablonlarında, dllexport ve dllimport yoksayılıyor",
"temel sınıftaki dllexport/dllimport özelleştirmesi, türetilmiş sınıftaki ile aynı değil",
"yeniden bildirim, %nod öğesine dllexport/dllimport ekleyemez",
"dllexport/dllimport %nod ile çakışıyor; dllexport varsayıldı",
"dllexport/dllimport %nod; ile çakışıyor; dllexport varsayıldı",
"dllimport varlığı tanımlanamıyor",
"dllexport/dllimport dış bağlantı gerektiriyor",
"dllexport/dllimport ile bildirilen bir sınıfın üyesi, böyle bir belirtici ile bildirilemez",
"DLL arabirimi olmayan sınıf türü alanı, DLL arabirimi olan bir sınıf ile kullanılıyor",
"parantez içine alınmış üye bildirimi standart dışı",
"satır ek yerindeki ters eğik çizgi ve yeni satır arasındaki boşluk yoksayılıyor",
"dllexport/dllimport %nod ile çakışıyor; dllimport/dllexport bırakıldı",
"dllexport/dllimport %nod; ile çakışıyor; dllimport/dllexport bırakıldı",
"anonim üye sınıfı için geçersiz üye -- %t sınıfının izin verilmeyen bir üye işlevi var",
"standart dışı reinterpret_cast",
"konumsal biçim tanımlayıcı sıfır olamaz",
@@ -1464,24 +1464,24 @@
"makro",
"etiket",
"şablon parametresi",
null,
null,
null,
null,
"tür",
"birleşim",
"sınıf",
"yapı",
"şablon parametresi şablonu",
"şablon",
"sınıf şablonu",
null,
"sabit listesi",
"parametre",
"işleyici parametresi",
"değişken",
"tür olmayan",
null,
"sabit",
"işlev",
"aşırı yüklenmiş işlev",
"üye",
"alan",
null,
"ad alanı",
"adlandırılmış yazmaç",
"adlandırılmış adres alanı",
"işlev şablonu",
@@ -1635,7 +1635,7 @@
"%t1 ile %t2 işaretçileri arasındaki genişleyen işaretçi dönüşümü, işaret bitini genişletiyor",
"__sptr ve __uptr üye işaretçisi türleri için geçerli değil",
"%t için kopya atama işlecinin bildirimi, %n const olduğundan dolayı gizlendi",
null,
"%t için kopya atama işlecinin bildirimi, %n içinde başvuru türü olduğundan kullandırılmadı",
"%t1 için kopya atama işlecinin bildirimi, %t2 gizlendiğinden dolayı gizlendi",
"%t1 için kopya atama işlecinin bildirimi, %t2 belirsiz olduğundan dolayı gizlendi",
"%t1 için kopya atama işlecinin bildirimi, %t2 öğesine erişilemediğinden dolayı gizlendi",
@@ -2546,7 +2546,7 @@
"'decltype(auto)' türü çıkarılamıyor",
"block-scope thread-local bildirimi static veya extern içermelidir",
"çıkarılan dönüş türü %t1 daha önce çıkarılmış %t2 türüyle çakışıyor",
"%nd dönüş türü çıkarılamıyor; tanımlanmamış",
"%nd; dönüş türü çıkarılamıyor tanımlanmamış",
"sanal bir işlevin çıkarılan dönüş türü olamaz",
"bu noktadan sonra %n, içeriğe duyarlı anahtar sözcük işlemi görecek",
"genel ad alanının gerçek bir %sq üyesi yok",
@@ -2604,7 +2604,7 @@
"ortak C++/CX türünün tanımına genel kapsamda izin verilmez",
"ortak bir 'get' veya 'set' erişimcisi içeren dizini oluşturulmuş özelliğe izin verilmez",
"ortak iç içe temsilci türüne izin verilmez",
"temsilci başlatıcısı geçersiz; '(<işlev-adres veya fonktör-nesne> [, Platform::CallbackContext])' veya '(<nesne tanıtıcısı>, <üye-adres> [, Platform::CallbackContext [, bool]])' bekleniyordu",
"temsilci başlatıcısı geçersiz; '(<function-address or functor-object> [, Platform::CallbackContext])' veya '(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])' bekleniyordu",
"temsilci başlatıcısı geçersiz; nesne %[managed] sınıfına yönelik bir tanıtıcı olmalıdır",
"C++/CX, 'in/out' dizilerini desteklemez; ortak API'lerde 'in' için 'const Platform::Array<T>^' ve 'out' için 'Platform::WriteOnlyArray<T>^' veya 'Platform::Array<T>^*' kullanın",
"%nd için eksik 'target' özniteliği",
@@ -3373,5 +3373,107 @@
"__is_signed şu andan itibaren bir anahtar sözcük değil",
"dizi boyutu sabit bir işaretsiz tamsayı değerine sahip olmalıdır",
"%sq IFC dosyasının sürümü desteklenmiyor: %d1.%d2",
"modüller bu modda etkin değil"
"modüller bu modda etkin değil",
"'import', modül adında kullanılamaz.",
"Modül adında 'module' kullanılmasına izin verilmez",
null,
null,
"%n sabit listesi türü değil",
"%no2 numaralandırıcısı %n1 ile çakışıyor",
"%no numaralandırıcısı bu %p kapsamında zaten bildirildi",
"'throw ()' belirtimi C++ 20 ve üzeri sürümlerin bir parçası değil",
"üst bilgi birimi eşlemesindeki giriş sayısı '%s' ile eşleşiyor:",
"#pragma tanılamasının 'push' ya da 'pop' bağımsız değişkeni olmalıdır",
"bu 'tanılama pop' ile eşleşen '#pragma tanı push' bulunamadı",
"%sq, içeri aktarma veya modül yönergesinde kullanıldığında makro olamaz",
"bu yönerge yalnızca genel ad alanı kapsamında yer görünebilir",
"'Export' bildirimi yalnızca genel veya ad alanı kapsamında görünebilir",
"%sq, bir anahtar sözcük yerine tanımlayıcı olarak ayrıştırıldı çünkü kendisini izleyen belirteçler bir önişlemci yönergesiyle eşleşmiyor",
"bu bir önişlemci yönergesinin başlangıcı gibi görünüyor, ancak yeni bir satırın hemen ardından gelen '; ' bulunmaması bunu engelliyor",
"bu bir modül ön işleme yönergesi gibi görünüyor, ancak bu yönergeler makro genişlemesi içinde görünemez",
"koşullu ekleme kapsamında bir 'modül' yönergesi görünemez (örneğin #if, #else, #elseif vb.)",
"%sq içeri aktarma işlemi atlandı",
"%t promise türü, bağımsız değişken gerektirmeyen statik üye işlevi olarak get_return_object_on_allocation_failure bildirmelidir",
"diğer ad şablonu açıkça özelleştirilemiyor",
"bu '{' ile eşleştirmek için",
"bu makro çağrısında",
"çağrı, belirsiz bir bağımsız değişken dönüştürme gerektiriyor",
"%s modülüne ait bildirim, %nd ile çakışıyor",
"genel modüle ait bildirim, adlandırılmış bir modülün sahip olduğu %nd ile çakışıyor",
"'malloc' özniteliğine yönelik ilk bağımsız değişken bir işlev olmalıdır",
"%nod yakalanamıyor",
"'this' yakalanamıyor",
"consteval bağlamında zaten var",
"'if consteval' ve 'if not consteval' ayraçlı bağımlı deyimler gerektiriyor",
"'if consteval' ve 'if not consteval' constexpr olmayan bir işlevde anlamsız durumda",
"denetimin 'if consteval' veya 'if not consteval' deyimine aktarılmasına izin verilmiyor",
"sabit değerlendirme, statik veya iş parçacığı depolama süresine sahip bir değişkenin bildiriminde bulunamıyor",
"açık 'this' parametresine sahip bir lambda üzerinde değiştirilebilir niteleyiciye izin verilmez",
"'static' ile bildirilen üye işlevi açık bir 'this' parametresine sahip olamaz",
"açık 'this' parametresi, bildirilen ilk parametre olmalıdır",
"burada 'this' kullanımına izin verilmiyor",
"açık 'this' içeren karşılaştırma işlevi varsayılan olarak ayarlanamaz",
"açık 'this' işlevi bir seçici işleneni gerektirir",
"'if consteval' ve 'if not consteval' bu modda standart değil",
"lambda bildirimcisinde '()' atlanması bu modda standart değil",
"lambda parametre listesi atlandığında trailing-requires-clausea izin verilmez",
"%sq modülünün geçersiz bölümü istendi",
"%sq1 modülünün tanımsız bölümü (%sq2 olduğu düşünülüyor) istendi",
"%sq1 modülünün %d1 dosya konumu (%d2 göreli konumu) boş olan %sq2 bölümü için istekte bulundu",
"%sq1 modülünün %d1 dosya konumu (%d2 göreli konumu) bölümün başlangıcından önce gelen %sq2 bölümü için istekte bulundu",
"%sq1 modülünün %d1 dosya konumu (%d2 göreli konumu) bölümünün sonundan taşan %sq2 bölümü için istekte bulundu",
"%sq1 modülünün %d1 dosya konumu (%d2 göreli konumu) bölüm öğeleriyle yanlış hizalanan %sq2 bölümü için istekte bulundu",
"%sq alt alanından (%d düğümüne göreli olan konum)",
"%sq bölümündeki %d1 öğesinden (%d2 dosya konumu, %d3 göreli konumu)",
"lambda öznitelikleri burada standart dışı",
"%sq tanımlayıcısı görsel olarak %p gibi görünen tanımlayıcıyla karıştırılabilir",
"bu açıklama, şüpheli Unicode biçimlendirme denetim karakterleri içeriyor",
"bu dize beklenmeyen çalışma zamanı davranışına neden olabilecek Unicode biçimlendirme denetim karakterleri içeriyor",
"%d1 modülü işlenirken %sq1 gizlenen uyarıyla karşılaşıldı",
"%d1 modülü işlenirken %sq1 gizlenen uyarıyla karşılaşıldı",
"%d1 modülü işlenirken %sq1 gizlenen hatayla karşılaşıldı",
"%d1 modülü işlenirken %sq1 gizlenen hatayla karşılaşıldı",
"dahil",
"gizlendi",
"sanal üye işlevi açık bir 'this' parametresine sahip olamaz",
"açık 'this' işlevine ait adresin alınabilmesi için tam ad gerekir",
"açık 'this' işlevine ait adresin oluşturulabilmesi için '&' operatörü gerekir",
"sabit değerli dize, esnek bir dizi üyesini başlatmak için kullanılamaz",
"%sq işlevine ait tanımın IFC gösterimi geçersiz",
"örtük this parametresini kaldırmak için bir düzeltme yapıldı",
"parametreleri belirtmek için UniLevel IFC grafiği kullanılmadı",
"%d1 parametre IFC parametre tanım grafiği tarafından belirtilirken %d2 parametre IFC bildirimi tarafından belirtildi",
"%d1 parametre IFC parametre tanım grafiği tarafından belirtilirken %d2 parametre IFC bildirimi tarafından belirtildi",
"%d1 parametre IFC parametre tanım grafiği tarafından belirtilirken %d2 parametre IFC bildirimi tarafından belirtildi",
"%sq işlevine ait tanımın IFC gösterimi eksik",
"işlev değiştirici, üye şablonu bildirimi için geçerli değil",
"üye seçimi çok fazla iç içe anonim tür içeriyor",
"işlenenler arasında ortak tür yok",
"üye işaretçisi bekleniyordu",
"esnek bir dizi üyesi diğer türlü boş olan bir türde bildirilemez",
"'std::source_location::__impl', yalnızca '_M_function_name', '_M_file_name', '_M_column', '_M_line' veri üyelerine sahip bir sınıfa tanımlanmalıdır",
"'std::source_location::__impl' başlatılırken, sütun numarası %t türündeki '_M_column' üyesini aşıyor",
"'std::source_location::__impl' başlatılırken, satır numarası %t türündeki '_M_line' üyesini aşıyor",
"UTF-16 karakter sabit değeri, bir kod biriminden fazla yer kaplayamaz; kesilmiş değer",
"her iki bağımsız değişken de aynı türe sahip olmalıdır",
"%t türü bu yerleşik için bağımsız değişken olarak geçersiz",
"%nd kaynağından çağrı:",
"nitelenmiş bir tür adı anonim bit alanları için standart dışı",
"vektör koşulunun öğe türü (%t1), sonucun öğe türü (%t2) ile aynı boyuta sahip olmalıdır",
"kayan nokta vektörü işlenen türü (%t) eşleşen bir tamsayı vektörü türü içermiyor",
"'requires' ifadeleri için değiştirme henüz uygulanmadı",
"'kullanılamayan' bir öznitelik nedeniyle",
"%sq IFC bölümü içinde bir dizin kullanılarak %sq IFC bölümündeki bir öğe oluşturulmaya çalışıldı",
"%sq bölümü, %d2 beklenirken girdi boyutunu %d1 olarak belirtti",
"%sq1 modülü işlenirken beklenmeyen bir IFC gereksinimiyle karşılaşıldı",
"koşul, %d numaralı satırda (%s1 içinde) başarısız oldu: %sq2",
"atomik kısıtlama kendisine bağımlı",
"'noreturn' işlevi geçersiz olmayan bir dönüş türüne sahiptir",
"%sq parametresi kaldırılarak bir düzeltme yapıldı (%d göreli dizininde)",
"varlık yeniden oluşturma işlemi sırasında geçersiz %sq IFC tanımlayıcı adı ile karşılaşıldı",
"varlık yeniden oluşturma işlemi sırasında geçersiz %sq IFC tanımlayıcı adı atlandı",
"%sq modülü geçersiz sıralama değeri",
"bir IFC modülünden yüklenen bir fonksiyon şablonu hatalı bir şekilde %nd olarak ayrıştırıldı",
"%sq modülünde bir IFC varlık referansı yüklenemedi",
"IFC dizin sıralaması = %d1, değer = %d2"
]
+115 -13
View File
@@ -838,7 +838,7 @@
"正在返回对局部变量的引用",
"显式类型的省略是非标准的(假定“int”)",
"有多个部分专用化与 %n 的模板参数列表匹配",
"%no",
"%nod",
"主模板的声明中不允许使用模板参数列表",
"部分专用化不能带有默认模板参数",
"%n1 未在 %n2 的模板参数列表中使用或无法从中推导",
@@ -1389,14 +1389,14 @@
"已忽略类模板上的 dllexport 和 dllimport",
"基类 dllexport/dllimport 规范与派生类的此规范不同",
"重新声明无法将 dllexport/dllimport 添加到 %nod",
"dllexport/dllimport 与 %nod 冲突;假定 dllexport",
"dllexport/dllimport 与 %nod; 冲突;假定 dllexport",
"无法定义 dllimport 实体",
"dllexport/dllimport 需要外部链接",
"使用 dllexport/dllimport 声明的类成员无法使用此类说明符对其自身进行声明",
"在具有 DLL 接口的类中使用了没有 DLL 接口的类类型的字段",
"带圆括号的成员声明是非标准的",
"已忽略行接合中反斜杠和新行之间的空白",
"dllexport/dllimport 与 %nod 冲突;已丢弃 dllimport/dllexport",
"dllexport/dllimport 与 %nod; 冲突;已丢弃 dllimport/dllexport",
"匿名成员类的无效成员 -- 类 %t 包含禁用的成员函数",
"非标准的 reinterpret_cast",
"位置格式说明符不能为零",
@@ -1464,24 +1464,24 @@
"宏",
"标签",
"模板参数",
null,
null,
null,
null,
"类型",
"联合",
"类",
"结构",
"模板 template 参数",
"模板",
"类模板",
null,
"枚举",
"参数",
"处理程序参数",
"变量",
"非类型",
null,
"常数",
"函数",
"重载函数",
"成员",
"字段",
null,
"命名空间",
"已命名的寄存器",
"命名地址空间",
"函数模板",
@@ -1635,7 +1635,7 @@
"将指针转换从 %t1 扩大到 %t2 会扩展符号位",
"__sptr 和 __uptr 不适用于指向成员的指针类型",
"%t 的复制赋值运算符的声明已取消,因为 %n 是常量",
null,
"%t 的复制赋值运算符的声明已被抑制,因为 %n 包含引用类型",
"%t1 的复制赋值运算符的声明已取消,因为 %t2 的该声明已取消",
"%t1 的复制赋值运算符的声明已取消,因为 %t2 的该声明不明确",
"%t1 的复制赋值运算符的声明已取消,因为 %t2 的该声明无法访问",
@@ -2546,7 +2546,7 @@
"无法推导出 \"decltype(auto)\" 类型",
"块范围线程本地声明必须包含 static 或 extern",
"推导出的返回类型 %t1 与之前推导出的类型 %t2 冲突",
"无法推导出 %nd 的返回类型;尚未定义",
"无法推导出 %nd; 的返回类型;尚未定义",
"虚函数不能具有推导出的返回类型",
"从这个时间点起,%n 将被视为上下文相关的关键字",
"全局命名空间不具有任何实际成员 %sq",
@@ -3373,5 +3373,107 @@
"__is_signed 不再是从此点开始的关键字",
"数组维度必须具有常量无符号整数值",
"IFC 文件 %sq 具有不受支持的版本 %d1。%d2",
"此模式中没有启用模块"
"此模式中没有启用模块",
"模块名称中不允许使用 \"import\"",
"模块名称中不允许使用 \"module\"",
null,
null,
"%n 不是枚举类型",
"枚举器 %no2 与 %n1 冲突",
"枚举器 %no 已在此范围 %p 中进行声明",
"\"throw()\" 规范不是 C++20 及更高版本的一部分",
"标头单元映射中的多个条目与“%s”匹配",
"#pragma 诊断必须具有 '推送' 或 'pop' 参数",
"未找到 '#pragma 诊断推送' 匹配此 '诊断 pop'",
"用于导出或模块指令时,%sq 不能是宏",
"此指令只能出现在全局命名空间范围内",
"'导出' 声明只能出现在全局或命名空间范围内",
"将 %sq 分析为标识符而不是关键字,因为其后续标记与预处理器指令的标记不匹配",
"这似乎只是预处理器指令的开始,但缺少后面紧跟换行符的 ';' 阻止了该指令",
"这看起来是预处理指令的模块,但此类指令出现在宏扩展内。",
"'模块' 指令不能出现在条件包含范围内(例如,#if、#else、#elseif 等)",
"已跳过 %sq 导入",
"承诺类型 %t 必须声明 get_return_object_on_allocation_failure 为不需要参数的静态成员函数",
"别名模板不能显式专用化",
"以匹配此“{”",
"在此宏调用中",
"调用需要不明确的参数转换",
"模块 %s 拥有的声明与 %nd 冲突",
"全局模块拥有的声明与命名模块拥有的 %nd 冲突",
"“malloc”属性的第一个参数必须是函数",
"无法捕获 %nod",
"无法捕获“this”",
"已在 consteval 上下文中",
"'if consteval' 和 'if not consteval' 需要大括号从属语句",
"'if consteval' 和 'if not consteval' 在非 constexpr 函数中无意义",
"不允许将控制传输到 'if consteval' 或 'if not consteval' 语句",
"常数计算无法通过具有静态或线程存储持续时间的变量的声明",
"在具有显式 'this' 参数的 lambda 上,不允许使用可变限定符",
"使用 'static' 声明的成员函数不能具有显式 'this' 参数",
"显式 'this' 参数必须是第一个声明的参数",
"此处不允许使用 'this'",
"不能默认使用具有显式 'this' 的比较函数",
"显式 'this' 函数需要选择器操作数",
"在此模式下,'if consteval' 和 'if not consteval' 不标准",
"在此模式下,在 lambda 声明符中省略 '()' 为不标准操作",
"当省略 lambda 参数列表时,不允许使用尾随 Requires 子句",
"已请求模块 %sq 无效分区",
"已请求模块 %sq1 未定义分区(被认为是 %sq2)",
"已请求模块 %sq1 文件位置 %d1 (相对位置 %d2),针对分区 %sq2 请求 - 为空",
"已请求模块 %sq1 文件位置 %d1 (相对位置 %d2),针对分区 %sq2 请求 - 分区开始前",
"已请求模块 %sq1 文件位置 %d1 (相对位置 %d2),针对分区 %sq2 请求 - 溢出其分区的末尾",
"已请求模块 %sq1 文件位置 %d1 (相对位置 %d2),针对分区 %sq2 - 与其分区元素不一致",
"从子域 %sq (相对于节点 %d 的位置)",
"从分区 %sq 元素 %d1 (文件位置 %d2,相对位置 %d3)",
"lambda 属性在此处为非标准属性",
"标识符 %sq 可能与显示 %p 的视觉上相似的标识符混淆",
"此注释包含可疑的 Unicode 格式控制字符",
"此字符串包含可能导致意外运行时行为的 Unicode 格式控制字符",
"遇到 %d1 条已抑制警告(处理模块 %sq1 时)",
"遇到 %d1 条已抑制警告(处理模块 %sq1 时)",
"遇到 %d1 条已抑制错误(处理模块 %sq1 时)",
"遇到 %d1 条已抑制错误(处理模块 %sq1 时)",
"包括",
"已抑制",
"虚拟成员函数不能具有显式 'this' 参数",
"获取显式 'this' 函数的地址需要限定名称",
"形成显式 'this' 函数的地址需要 '&' 运算符",
"字符串文本无法用于初始化灵活数组成员",
"函数 %sq 定义的 IFC 表示形式无效",
"已进行更正以删除隐式 “this” 参数",
"未将 UniLevel IFC 图表用于指定参数",
"%d1 参数由 IFC 参数定义图表指定,而 %d2 参数由 IFC 声明指定",
"%d1 参数由 IFC 参数定义图表指定,而 %d2 参数由 IFC 声明指定",
"%d1 参数由 IFC 参数定义图表指定,而 %d2 参数由 IFC 声明指定",
"缺少函数 %sq 定义的 IFC 表示形式",
"函数修饰符不适用于成员模板声明",
"成员选择涉及太多嵌套的匿名类型",
"操作数之间没有通用类型",
"需要指向成员的指针",
"不能在其他空类型中声明灵活数组成员",
"应将“std::source_location::__impl”定义为仅包含数据成员“__M_function_name”、“_M_file_name”、“_M_column”、“_M_line”的类",
"在初始化“std::source_location::__impl”期间,列号将溢出类型为 %t 的成员“_M_column”",
"在初始化“std::source_location::__impl”期间,行号将溢出类型为 %t 的成员“_M_line”",
"UTF-16 字符常量不能占用多个代码单元;值已截断",
"两个参数的类型必须相同",
"类型 %t 无效,不能用作此内置项的参数",
"调用自 %nd:",
"限定类型对于匿名位字段是非标准的",
"向量条件的元素类型(%t1)的大小必须与结果的元素类型相同(%t2)",
"浮点向量操作数类型(%t)没有匹配的整数向量类型",
"尚未实现 “requires” 表达式的变量名压缩",
"因为“不可用”属性",
"已尝试使用索引将一个元素从 IFC 分区 %sq 构造到 IFC 分区 %sq",
"分区 %sq 将其条目大小指定为 %d1,正确的大小为 %d2",
"处理模块 %sq1 时遇到意外的 IFC 要求",
"条件失败,行 %d%s1: %sq2",
"原子约束依赖于自身",
"“noreturn”函数具有非 void 返回类型",
"通过删除参数 %sq (在相对索引 %d 处)进行了更正",
"实体重建期间遇到了无效的 IFC 标识符名称 %sq",
"实体重建期间跳过了名为 %sq 的无效 IFC 标识符",
"模块 %sq 排序值无效",
"从 IFC 模块加载的函数模板被错误地分析为 %nd",
"未能在模块 %sq 中加载 IFC 实体引用",
"IFC 索引排序 = %d1,值 = %d2"
]
+115 -13
View File
@@ -838,7 +838,7 @@
"傳回區域變數的參考",
"省略明確類型並非標準做法 (假設為 'int')",
"有一個以上的部分特製化符合 %n 的樣板引數清單",
"%no",
"%nod",
"主要樣板的宣告不能有樣板引數清單",
"部分特製化不可有預設的樣板引數",
"%n1 未使用於或推算自 %n2 的引數清單",
@@ -1389,14 +1389,14 @@
"類別樣板忽略 dllexport 和 dllimport",
"基底類別的 dllexport/dllimport 規格與衍生類別的不同",
"重新宣告無法將 dllexport/dllimport 加入到 %nod",
"dllexport/dllimport 與 %nod 衝突; 假設為 dllexport",
"dllexport/dllimport 與 %nod; 衝突; 假設為 dllexport",
"無法定義 dllimport 實體",
"dllexport/dllimport 需要有外部連結",
"以 dllexport/dllimport 宣告的類別成員本身無法以這類規範宣告",
"無 DLL 介面的類別類型的欄位已用於有 DLL 介面的類別",
"小括號內的成員宣告並非標準用法",
"已忽略行接合處的反斜線與新行之間的空白字元",
"dllexport/dllimport 與 %nod 衝突; 已卸除 dllimport/dllexport",
"dllexport/dllimport 與 %nod; 衝突; 已卸除 dllimport/dllexport",
"匿名成員類別的成員無效 -- 類別 %t 有不允許的成員定義",
"非標準的 reinterpret_cast",
"位置格式規範不能為零",
@@ -1464,24 +1464,24 @@
"巨集",
"標籤",
"樣板參數",
null,
null,
null,
null,
"類型",
"集合聯集",
"類別",
"結構",
"樣板類樣板參數",
"樣板",
"類別樣板",
null,
"列舉",
"參數",
"處理常式參數",
"變數",
"非類型",
null,
"常數",
"函式",
"多載函式",
"成員",
"欄位",
null,
"命名空間",
"具名暫存器",
"具名位址空間",
"函式樣板",
@@ -1635,7 +1635,7 @@
"擴展從 %t1 到 %t2 的指標轉換會擴充正負號位元",
"__sptr 和 __uptr 不適用於成員指標類型",
"%t 的複製指派運算子的宣告已經隱藏,因為 %n 不是常數",
null,
"因為 %n 有參考類型,所以已經將 %t 的複製指派運算子宣告隱藏",
"%t1 的複製指派運算子的宣告已經隱藏,因為 %t2 的宣告已經隱藏",
"%t1 的複製指派運算子的宣告已經隱藏,因為 %t2 的宣告模稜兩可",
"%t1 的複製指派運算子的宣告已經隱藏,因為無法存取 %t2 的宣告",
@@ -2546,7 +2546,7 @@
"無法推算 'decltype(auto)' 類型",
"區域範圍執行緒區域宣告必須包含靜態或外部",
"推算的傳回類型 %t1 與先前推算的類型 %t2 衝突",
"無法推算 %nd 的傳回類型,尚未定義",
"無法推算 %nd; 的傳回類型,尚未定義",
"虛擬函式不得有推算的傳回型別",
"會將 %n 視為此點的即時關鍵字",
"全域命名空間沒有實際成員 %sq",
@@ -3373,5 +3373,107 @@
"__is_signed 從現在起已不再是關鍵字",
"陣列維度必須要有不帶正負號的常數整數值",
"IFC 檔案 %sq 的版本為不支援的 %d1.%d2",
"此模式下未啟用的模組"
"此模式下未啟用的模組",
"模組名稱中不得包含 'import'",
"模組名稱中不得包含 'module'",
null,
null,
"%n 不是列舉類型",
"列舉程式 %no2 與 %n1 衝突",
"列舉程式 %no 已於此範圍 %p 中宣告",
"'throw()' 規格不屬於 C++20 及更新版本",
"項目超過標頭單位對應相符中的 '%s'",
"#pragma 診斷必須有 'push' 或 'pop' 引數",
"找不到符合這個 '診斷快顯' 的 '#pragma 診斷推送'",
"當 %sq 用於匯入或模組指示詞中時,不得為巨集",
"這個指示詞只能出現在全域命名空間範圍內",
"'export' 宣告只能出現在全域或命名空間範圍",
"%sq 剖析為識別碼而非關鍵字,因為後續的權杖與前置處理器指示詞的標記不相符",
"這似乎是前置處理器指示詞的開頭,但是缺少 ';',後面緊接著新行會防止",
"這似乎是模組前置處理指示詞,但這類指示詞不能出現在巨集展開中",
"'module' 指示詞不能出現在條件式包含的範圍 (例如,#if、#else、#elseif 等)",
"已略過 %sq 的輸入",
"promise 類型 %t 必須將 get_return_object_on_allocation_failure 宣告為不需要引數的靜態成員函式",
"別名範本無法明確特殊化",
"以符合此 '{'",
"在此巨集引動中",
"呼叫需要不明確的引數轉換",
"模組 %s 所擁有的宣告與 %nd 衝突",
"由全域模組所擁有的宣告與已命名模組所擁有的 %nd 衝突",
"'malloc' 屬性的第一個引數必須是函式",
"無法擷取 %nod",
"無法擷取 'this'",
"已在 consteval 內容中",
"'if consteval' 和 'if not consteval' 需要大括弧相依陳述句",
"'if consteval' 和 'if not consteval' 在非 constexpr 函數中沒有意義",
"不允許將控制項傳送至 'if consteval' 或 'if not consteval' 陳述式",
"constant-evaluation 無法通過具有靜態或執行緒儲存持續時間之變數的宣告",
"在具有明確 'this' 參數的 Lambda 上不允許可變動的限定詞",
"以 'static' 宣告的成員函式不能有明確的 'this' 參數",
"明確 'this' 參數必須是第一個宣告的參數",
"這裡不允許 'this'",
"無法預設具有明確 'this' 的比較函數",
"明確 'this' 函數需要選取器運算元",
"在此模式中,'if consteval' 和 'if not consteval' 不是標準",
"在此模式中,在 Lambda 宣告子中省略 '()' 並非標準",
"省略 Lambda 參數清單時,不允許後置 Requires 子句",
"模組 %sq 要求的分割區無效",
"模組 %sq1 已要求未定義的分割區 (相信是 %sq)",
"模組 %sq1 檔案位置 %d1 (相對位置 %d2) 要求分割區 %sq2 - 是空的",
"模組 %sq1 檔案位置 %d1 (相對位置 %d2) 要求分割區 %sq2 - 在分割區開始之前",
"模組 %sq1 檔案位置 %d1 (相對位置 %d2) 要求分割區 %sq2 - 溢出其分割區的結尾",
"模組 %sq1 檔案位置 %d1 (相對位置 %d2) 要求分割區 %sq2 - 與其分割區元素對齊錯誤",
"從 subfield %sq (節點 %d 的相對位置)",
"從分割區 %sq 元素 %d1 (檔案位置 %d2,相對位置 %d3)",
"Lambda 屬性在此為非標準",
"識別碼 %sq 可能會與 %p 上視覺類似的識別碼混淆",
"此註解包含可疑的 Unicode 格式化控制字元",
"此字串包含 Unicode 格式化控制字元,可能會導致非預期的執行時間行為",
"%d1 抑制警告在處理模組 %sq1 時發生",
"%d1 抑制警告在處理模組 %sq1 時發生",
"%d1 抑制錯誤在處理模組 %sq1 時發生",
"%d1 抑制錯誤在處理模組 %sq1 時發生",
"包括",
"抑制",
"虛擬成員函式不能有明確的 'this' 參數",
"取得明確 'this' 函數的位址需要限定名稱",
"形成明確 'this' 函數的位址需要 '&' 運算子",
"字串常值不能用來初始化彈性陣列成員",
"函數 %sq 定義的 IFC 表示法無效",
"已進行更正以捨棄隱含的 'this' 參數",
"UniLevel IFC 圖表未用來指定參數",
"IFC 參數定義圖表指定了 %d1 個參數,而 IFC 宣告則指定了 %d2 個參數",
"IFC 參數定義圖表指定了 %d1 個參數,而 IFC 宣告則指定了 %d2 個參數",
"IFC 參數定義圖表指定了 %d1 個參數,而 IFC 宣告則指定了 %d2 個參數",
"遺漏函數 %sq 定義的 IFC 標記法",
"函數修飾詞不適用於成員範本宣告",
"成員選取涉及太多巢狀匿名型別",
"運算元之間沒有通用類型",
"必須是指標對成員",
"彈性陣列成員不能在非空白的類型中宣告",
"必須將 'std::source_location::__impl' 定義為只有資料成員為 '_M_function_name', '_M_file_name', '_M_column', '_M_line' 的類別",
"在初始化 'std::source_location::__impl' 時,欄位數會溢出類型為 %t 的成員 '_M_column'",
"在初始化 'std::source_location::__impl' 時,行數會溢出類型為 %t 的成員 '_M_line'",
"UTF-16 字元常數不可佔用多個程式碼單位; 已截斷值",
"兩個引數的類型必須相同",
"類型 %t 對此內建的引數無效",
"呼叫自 %nd:",
"限定類型對匿名位欄位而言不是標準類型",
"向量條件 (%t1) 的元素類型大小必須與結果的元素類型相同 (%t2)",
"浮點向量運算元類型 (%t) 沒有相符的整數向量類型",
"尚未實作 'requires' 運算式的重整",
"因為 'unavailable' 屬性",
"已嘗試使用索引從 IFC 磁碟分割 %sq 將元素建構到 IFC 磁碟分割 %sq",
"磁碟分割 %sq 在需要 %d2 時將其項目大小指定為 %d1",
"處理模組 %sq1 時發現未預期的 IFC 需求",
"第 %d 行 (在 %s1 中) 條件失敗: %sq2",
"不可部分完成限制式依賴其本身",
"'noreturn' 函數具有非 void 的返回類型",
"已置放參數 %sq (相對索引 %d) 進行修正",
"實體重建期間發現無效 IFC 識別碼名稱 %sq",
"實體重建期間略過名稱為 %sq 的無效 IFC 識別碼",
"模組 %sq 無效排序值",
"從 IFC 模組載入的函數範本不正確地剖析為 %nd",
"無法在模組 %sq 中載入 IFC 實體參考",
"IFC 索引排序 = %d1,值 = %d2"
]
+3 -3
View File
@@ -4,11 +4,11 @@
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1929",
"1932",
"--pack_alignment",
"8",
"-D_MSC_VER=1929",
"-D_MSC_FULL_VER=192929917",
"-D_MSC_VER=1932",
"-D_MSC_FULL_VER=193231326",
"-D_MSC_BUILD=0",
"-D_M_ARM=7"
],
+3 -3
View File
@@ -4,12 +4,12 @@
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1929",
"1932",
"--pack_alignment",
"8",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1929",
"-D_MSC_FULL_VER=192929917",
"-D_MSC_VER=1932",
"-D_MSC_FULL_VER=193231326",
"-D_MSC_BUILD=0",
"-D_M_ARM64=1"
],
+3 -3
View File
@@ -4,12 +4,12 @@
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1929",
"1932",
"--pack_alignment",
"8",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1929",
"-D_MSC_FULL_VER=192929917",
"-D_MSC_VER=1932",
"-D_MSC_FULL_VER=193231326",
"-D_MSC_BUILD=0",
"-D_M_X64=100",
"-D_M_AMD64=100"
+3 -3
View File
@@ -4,11 +4,11 @@
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1929",
"1932",
"--pack_alignment",
"8",
"-D_MSC_VER=1929",
"-D_MSC_FULL_VER=192929917",
"-D_MSC_VER=1932",
"-D_MSC_FULL_VER=193231326",
"-D_MSC_BUILD=0",
"-D_M_IX86=600",
"-D_M_IX86_FP=2"
+38 -14
View File
@@ -11,15 +11,18 @@
],
"properties": {
"name": {
"description": "Configuration identifier. Mac, Linux, and Win32 are special identifiers for configurations that will be auto-selected on those platforms, but the identifier can be anything.",
"markdownDescription": "Configuration identifier. `Mac`, `Linux`, and `Win32` are special identifiers for configurations that will be auto-selected on those platforms, but the identifier can be anything.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "string"
},
"compilerPath": {
"description": "Full path of the compiler being used, e.g. /usr/bin/gcc, to enable more accurate IntelliSense.",
"markdownDescription": "Full path of the compiler being used, e.g. `/usr/bin/gcc`, to enable more accurate IntelliSense.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "string"
},
"compilerArgs": {
"description": "Compiler arguments to modify the includes or defines used, e.g. -nostdinc++, -m32, etc.",
"markdownDescription": "Compiler arguments to modify the includes or defines used, e.g. `-nostdinc++`, `-m32`, etc.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "array",
"items": {
"type": "string"
@@ -50,21 +53,25 @@
"c++14",
"c++17",
"c++20",
"c++23",
"gnu++98",
"gnu++03",
"gnu++11",
"gnu++14",
"gnu++17",
"gnu++20",
"gnu++23",
"${default}"
]
},
"compileCommands": {
"description": "Full path to compile_commands.json file for the workspace.",
"markdownDescription": "Full path to `compile_commands.json` file for the workspace.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "string"
},
"includePath": {
"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.",
"markdownDescription": "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. Usually, this should not include system includes; instead, set `C_Cpp.default.compilerPath`.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "array",
"items": {
"type": "string"
@@ -78,19 +85,26 @@
}
},
"windowsSdkVersion": {
"description": "Version of the Windows SDK include path to use on Windows, e.g. '10.0.17134.0'.",
"markdownDescription": "Version of the Windows SDK include path to use on Windows, e.g. `10.0.17134.0`.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "string",
"pattern": "^\\d{2}\\.\\d{1}\\.\\d{5}\\.\\d{1}$|^8\\.1$"
},
"dotConfig": {
"description": "A path to a .config file created by Kconfig system. Kconfig system generates a file with all the defines to build a project. Examples of projects that use Kconfig system are the Linux Kernel and NuttX RTOS.",
"type": "string"
},
"defines": {
"description": "A list of preprocessor definitions for the IntelliSense engine to use while parsing files. Optionally, use = to set a value, e.g. VERSION=1.",
"markdownDescription": "A list of preprocessor definitions for the IntelliSense engine to use while parsing files. Optionally, use `=` to set a value, e.g. `VERSION=1`.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "array",
"items": {
"type": "string"
}
},
"intelliSenseMode": {
"description": "The IntelliSense mode to use that maps to a platform and architecture 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 windows-msvc-x64, Linux defaults to linux-gcc-x64, and macOS defaults to macos-clang-x64. IntelliSense modes that only specify <compiler>-<architecture> variants (e.g. gcc-x64) are legacy modes and are converted automatically to the <platform>-<compiler>-<architecture> variants based on the host platform.",
"markdownDescription": "The IntelliSense mode to use that maps to a platform and architecture 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 `windows-msvc-x64`, Linux defaults to `linux-gcc-x64`, and macOS defaults to `macos-clang-x64`. IntelliSense modes that only specify `<compiler>-<architecture>` variants (e.g. `gcc-x64`) are legacy modes and are converted automatically to the `<platform>-<compiler>-<architecture>` variants based on the host platform.",
"descriptionHint": "Uses of words 'platform', 'compiler', and 'architecture' are meant to be descriptive placeholders for literal values, so they should be translated, but without changing the surrounding `<>-<>` symbols. All other text inside `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "string",
"enum": [
"macos-clang-x86",
@@ -147,11 +161,17 @@
"description": "The id of a VS Code extension that can provide IntelliSense configuration information for source files.",
"type": "string"
},
"mergeConfigurations": {
"markdownDescription": "Set to `true` to merge include paths, defines, and forced includes with those from a configuration provider.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "boolean"
},
"browse": {
"type": "object",
"properties": {
"limitSymbolsToIncludedHeaders": {
"description": "true to process only those files directly or indirectly included as headers, false to process all files under the specified include paths.",
"markdownDescription": "Set to `true` to process only those files directly or indirectly included as headers. Set to `false` to process all files under the specified include paths.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": [
"boolean",
"string"
@@ -162,7 +182,8 @@
"type": "string"
},
"path": {
"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.",
"markdownDescription": "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.",
"descriptionHint": "Text in '' is a command and should be translated in the same way that VS Code itself translates it. Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"type": "array",
"items": {
"type": "string"
@@ -173,7 +194,8 @@
},
"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.",
"markdownDescription": "Custom variables that can be queried through the command `${cpptools:activeConfigCustomVariable}` to use for the input variables in `launch.json` or `tasks.json`.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
"patternProperties": {
"(^.+$)": {
"type": "string"
@@ -187,9 +209,10 @@
},
"env": {
"type": "object",
"description": "Custom variables that can be reused anywhere in this file using the ${variable} or ${env:variable} syntax.",
"markdownDescription": "Custom variables that can be reused anywhere in this file using the `${variable}` or `${env:variable}` syntax.",
"descriptionHint": "The word 'variable' within curly braces should be translated. The \"env\" should not be translated, and the capitalization, spacing, and punctuation (\"${:}\", including the ``) should be preserved.",
"patternProperties": {
"(?!^workspaceFolder$)(?!^workspaceRoot$)(?!^workspaceFolderBasename$)(?!^default$)(^.+$)": {
"(?!^workspaceFolder$)(?!^workspaceRoot$)(?!^workspaceFolderBasename$)(?!^execPath$)(?!^pathSeparator$)(?!^default$)(^.+$)": {
"oneOf": [
{
"type": "string"
@@ -212,7 +235,8 @@
"enableConfigurationSquiggles": {
"type": "boolean",
"default": true,
"description": "Controls whether the extension will report errors detected in c_cpp_properties.json."
"markdownDescription": "Controls whether the extension will report errors detected in `c_cpp_properties.json`.",
"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
}
},
"properties": {
+25
View File
@@ -0,0 +1,25 @@
{
"$schema": "https://json.schemastore.org/component-detection-manifest.json",
"Registrations": [
{
"Component": {
"Type": "git",
"Git": {
"RepositoryUrl": "https://github.com/llvm/llvm-project",
"CommitHash": "0d44201451f03ba907cdb268ddddfc3fa38a0ebd"
},
"DevelopmentDependency": true
}
},
{
"Component": {
"Type": "git",
"Git": {
"RepositoryUrl": "https://github.com/lldb-tools/lldb-mi",
"CommitHash": "2388bd74133bc21eac59b2e2bf97f2a30770a315"
}
}
}
],
"Version": 1
}
-8
View File
@@ -1,8 +0,0 @@
{
"intelliSenseEngine_default_percentage": 100,
"defaultIntelliSenseEngine": 100,
"recursiveIncludes": 100,
"gotoDefIntelliSense": 100,
"enhancedColorization": 100,
"minimumVSCodeVersion": "1.53.0"
}
+127 -200
View File
@@ -26,7 +26,14 @@ const https = require('https');
// Patterns to find HTML files
const htmlFilesPatterns = [
"ui/**/*.html"
"ui/**/*.html",
"Reinstalling the Extension.md"
];
// HTML files for walkthroughs are handled differently, as localization support
// requires specific file name patterns, and must all reside in the same directory.
const walkthroughHtmlFilesPatterns = [
"walkthrough/**/*.md"
];
const jsonSchemaFilesPatterns = [
@@ -65,17 +72,6 @@ gulp.task('lint', function () {
.pipe(eslint.failAfterError());
});
gulp.task('pr-check', (done) => {
const packageJson = JSON.parse(fs.readFileSync('./package.json').toString());
if (packageJson.activationEvents.length !== 1 && packageJson.activationEvents[0] !== '*') {
console.log('Please make sure to not check in package.json that has been rewritten by the extension activation. If you intended to have changes in package.json, please only check-in your changes. If you did not, please run `git checkout -- package.json`.');
done();
process.exit(1);
}
done();
});
// ****************************
// Command: translations-export
@@ -83,8 +79,8 @@ gulp.task('pr-check', (done) => {
// The result will be written to: ../vscode-extensions-localization-export/ms-vscode/
// ****************************
const translationProjectName = "vscode-extensions";
const translationExtensionName = "vscode-cpptools";
const translationProjectName = "vscode-extensions";
const translationExtensionName = "vscode-cpptools";
function removePathPrefix(path, prefix) {
if (!prefix) {
@@ -98,37 +94,40 @@ function removePathPrefix(path, prefix) {
}
let ch = prefix.charAt(prefix.length - 1);
if (ch === '/' || ch === '\\') {
return path.substr(prefix.length);
return path.substring(prefix.length);
}
ch = path.charAt(prefix.length);
if (ch === '/' || ch === '\\') {
return path.substr(prefix.length + 1);
return path.substring(prefix.length + 1);
}
return path;
}
const dataLocIdAttribute = "data-loc-id";
const dataLocHintAttribute = "data-loc-hint";
// Helper to traverse HTML tree
// nodeCallback(locId, node) is invoked for nodes
// attributeCallback(locId, attribute) is invoked for attribtues
const traverseHtml = (contents, nodeCallback, attributeCallback) => {
const htmlTree = parse5.parse(contents);
// nodeCallback(locId, locHint, node) is invoked for nodes
// attributeCallback(locId, locHint, attribute) is invoked for attributes
const traverseHtml = (contents, nodeCallback, attributeCallback, isFragment) => {
const htmlTree = isFragment ? parse5.parseFragment(contents) : parse5.parse(contents);
traverse(htmlTree, {
pre(node, parent) {
if (node.attrs) {
// Check if content text should be localized based on presense of data-loc-id attribute
let locId = node.attrs.find(attribute => attribute.name.toLowerCase() == "data-loc-id");
let locId = node.attrs.find(attribute => attribute.name.toLowerCase() == dataLocIdAttribute);
if (locId) {
nodeCallback(locId.value, node);
let locHint = node.attrs.find(attribute => attribute.name.toLowerCase() == dataLocHintAttribute);
nodeCallback(locId.value, locHint?.value, node);
}
// Check if an attribute should be localized based on presense of data-loc-id-<attribute_name> attribute
node.attrs.forEach(attribute => {
const dataLocIdAttributePrefix = "data-loc-id-";
if (attribute.name.startsWith(dataLocIdAttributePrefix))
{
let targetAttributeName = attribute.name.substring(dataLocIdAttributePrefix.length);
if (attribute.name.startsWith(`${dataLocIdAttribute}-`)) {
let targetAttributeName = attribute.name.substring(dataLocIdAttribute.length + 1);
let targetAttribute = node.attrs.find(a => a.name == targetAttributeName);
if (targetAttribute) {
attributeCallback(attribute.value, targetAttribute);
let hint = node.attrs.find(a => a.name.toLowerCase() == `${dataLocHintAttribute}-${targetAttributeName}`);
attributeCallback(attribute.value, hint?.value, targetAttribute);
}
}
});
@@ -148,7 +147,7 @@ const processHtmlFiles = () => {
keys: [],
filePath: removePathPrefix(file.path, file.cwd)
};
let nodeCallback = (locId, node) => {
let nodeCallback = (locId, locHint, node) => {
let subNodeCount = 0;
let text = "";
node.childNodes.forEach((childNode) => {
@@ -158,16 +157,16 @@ const processHtmlFiles = () => {
text += `{${subNodeCount++}}`;
}
});
localizationJsonContents[locId.value] = text;
localizationMetadataContents.keys.push(locId);
localizationJsonContents[locId] = text;
localizationMetadataContents.keys.push(locHint ? { key: locId, comment: [locHint] } : locId);
localizationMetadataContents.messages.push(text);
};
let attributeCallback = (locId, attribute) => {
let attributeCallback = (locId, locHint, attribute) => {
localizationJsonContents[locId] = attribute.value;
localizationMetadataContents.keys.push(locId);
localizationMetadataContents.keys.push(locHint ? { key: locId, comment: [locHint] } : locId);
localizationMetadataContents.messages.push(attribute.value);
};
traverseHtml(file.contents.toString(), nodeCallback, attributeCallback);
traverseHtml(file.contents.toString(), nodeCallback, attributeCallback, false);
this.queue(new vinyl({
path: path.join(file.path + '.nls.json'),
contents: Buffer.from(JSON.stringify(localizationJsonContents, null, '\t'), 'utf8')
@@ -179,13 +178,13 @@ const processHtmlFiles = () => {
});
};
// descriptionCallback(path, value, parent) is invoked for attribtues
// descriptionCallback(path, value, parent) is invoked for attributes
const traverseJson = (jsonTree, descriptionCallback, prefixPath) => {
for (let fieldName in jsonTree) {
if (jsonTree[fieldName] !== null) {
if (typeof(jsonTree[fieldName]) == "string" && fieldName === "description") {
if (typeof (jsonTree[fieldName]) == "string" && (fieldName === "description" || fieldName === "markdownDescription")) {
descriptionCallback(prefixPath, jsonTree[fieldName], jsonTree);
} else if (typeof(jsonTree[fieldName]) == "object") {
} else if (typeof (jsonTree[fieldName]) == "object") {
let path = prefixPath;
if (path !== "")
path = path + ".";
@@ -210,8 +209,9 @@ const processJsonSchemaFiles = () => {
};
let descriptionCallback = (path, value, parent) => {
let locId = filePath + "." + path;
let locHint = parent.descriptionHint;
localizationJsonContents[locId] = value;
localizationMetadataContents.keys.push(locId);
localizationMetadataContents.keys.push(locHint ? { key: locId, comment: [locHint] } : locId);
localizationMetadataContents.messages.push(value);
};
traverseJson(jsonTree, descriptionCallback, "");
@@ -233,9 +233,9 @@ gulp.task("translations-export", (done) => {
.pipe(sourcemaps.init())
.pipe(tsProject()).js
.pipe(nls.createMetaDataFiles());
// Scan html files for tags with the data-loc-id attribute
let htmlStream = gulp.src(htmlFilesPatterns)
let htmlStream = gulp.src([...htmlFilesPatterns, ...walkthroughHtmlFilesPatterns])
.pipe(processHtmlFiles());
let jsonSchemaStream = gulp.src(jsonSchemaFilesPatterns)
@@ -291,109 +291,6 @@ 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
// The following is used to import an i18n directory structure and generate files used at runtime.
@@ -422,73 +319,101 @@ const generateSrcLocBundle = () => {
.pipe(gulp.dest('dist'));
};
const generateLocalizedHtmlFilesImpl = (file, relativePath, language, isFragment) => {
let stringTable = {};
// Try to open i18n file for this file
let locFile = path.join("./i18n", language.folderName, relativePath + ".i18n.json");
if (fs.existsSync(locFile)) {
stringTable = jsonc.parse(fs.readFileSync(locFile).toString());
}
// Entire file is scanned and modified, then serialized for that language.
// Even if no translations are available, we still write new files to dist/html/...
// Rewrite child nodes to fill in {0}, {1}, etc., in localized string.
let nodeCallback = (locId, locHint, node) => {
let locString = stringTable[locId];
if (locString) {
let nonTextChildNodes = node.childNodes.filter(childNode => childNode.nodeName != "#text");
let textParts = locString.split(/\{[0-9]+\}/);
let matchParts = locString.match(/\{[0-9]+\}/g);
let newChildNodes = [];
let i = 0;
for (; i < textParts.length - 1; i++) {
if (textParts[i] != "") {
newChildNodes.push({ nodeName: "#text", value: textParts[i] });
}
let childIndex = matchParts[i].match(/[0-9]+/);
newChildNodes.push(nonTextChildNodes[childIndex]);
}
if (textParts[i] != "") {
newChildNodes.push({ nodeName: "#text", value: textParts[i] });
}
node.childNodes = newChildNodes;
}
};
let attributeCallback = (locId, locHint, attribute) => {
let value = stringTable[locId];
if (value) {
attribute.value = value;
}
};
let htmlTree = traverseHtml(file.contents.toString(), nodeCallback, attributeCallback, isFragment);
return parse5.serialize(htmlTree);
};
const generateLocalizedHtmlFiles = () => {
return es.through(function (file) {
let relativePath = removePathPrefix(file.path, file.cwd);
languages.map((language) => {
let stringTable = {};
// Try to open i18n file for this file
let relativePath = removePathPrefix(file.path, file.cwd);
let locFile = path.join("./i18n", language.folderName, relativePath + ".i18n.json");
if (fs.existsSync(locFile)) {
stringTable = jsonc.parse(fs.readFileSync(locFile).toString());
}
// Entire file is scanned and modified, then serialized for that language.
// Even if no translations are available, we still write new files to dist/html/...
// Rewrite child nodes to fill in {0}, {1}, etc., in localized string.
let nodeCallback = (locId, node) => {
let locString = stringTable[locId];
if (locString) {
let nonTextChildNodes = node.childNodes.filter(childNode => childNode.nodeName != "#text");
let textParts = locString.split(/\{[0-9]+\}/);
let matchParts = locString.match(/\{[0-9]+\}/g);
let newChildNodes = [];
let i = 0;
for (; i < textParts.length - 1; i ++) {
if (textParts[i] != "") {
newChildNodes.push({ nodeName: "#text", value: textParts[i]});
}
let childIndex = matchParts[i].match(/[0-9]+/);
newChildNodes.push(nonTextChildNodes[childIndex]);
}
if (textParts[i] != "") {
newChildNodes.push({ nodeName: "#text", value: textParts[i]});
}
node.childNodes = newChildNodes;
}
};
let attributeCallback = (locId, attribute) => {
let value = stringTable[locId];
if (value) {
attribute.value = value;
}
};
let htmlTree = traverseHtml(file.contents.toString(), nodeCallback, attributeCallback);
let newContent = parse5.serialize(htmlTree);
let newContent = generateLocalizedHtmlFilesImpl(file, relativePath, language, false);
this.queue(new vinyl({
path: path.join("html", language.id, relativePath),
contents: Buffer.from(newContent, 'utf8')
}));
});
// Special case - put the original in an 'en' directory to simplify referring code
this.queue(new vinyl({
path: path.join("html/en/", relativePath),
contents: file.contents
}));
});
};
// Generate localized versions of HTML files
// Check for cooresponding localized json file in i18n
// Generate new version of the HTML file in dist/html/<language_id>/<path>
const generateLocalizedWalkthroughHtmlFiles = () => {
return es.through(function (file) {
let relativePath = removePathPrefix(file.path, file.cwd);
languages.map((language) => {
let newPath = relativePath.substring(0, relativePath.lastIndexOf(".")) + `.nls.${language.id}.md`;
let newContent = generateLocalizedHtmlFilesImpl(file, relativePath, language, true);
this.queue(new vinyl({
path: newPath,
contents: Buffer.from(newContent, 'utf8')
}));
});
// Put the original in an 'en' file.
let newPath = relativePath.substring(0, relativePath.lastIndexOf(".")) + ".nls.en.md";
this.queue(new vinyl({
path: newPath,
contents: file.contents
}));
});
}
// Generate localized versions of HTML files.
// Check for corresponding localized json file in i18n.
// Generate new version of the HTML file in: dist/html/<language_id>/<path>
const generateHtmlLoc = () => {
return gulp.src(htmlFilesPatterns)
.pipe(generateLocalizedHtmlFiles())
.pipe(gulp.dest('dist'));
};
// Generate localized versions of walkthrough HTML (.md) files.
// Check for corresponding localized json file in i18n.
// Generate new version of the HTML file in: dist/<path>
// The destination filename will have ".md" extension replaced with: .nls.<language>.md
// For example, the Spanish translation of "walkthrough/doc.md" will be written to "dist/walkthrough/doc.nls.es.md".
const generateWalkthroughHtmlLoc = () => {
return gulp.src(walkthroughHtmlFilesPatterns)
.pipe(generateLocalizedWalkthroughHtmlFiles())
.pipe(gulp.dest('dist'));
};
const generateLocalizedJsonSchemaFiles = () => {
return es.through(function (file) {
let jsonTree = JSON.parse(file.contents.toString());
@@ -506,7 +431,10 @@ const generateLocalizedJsonSchemaFiles = () => {
keyPrefix = keyPrefix.replace(/\\/g, "/");
let descriptionCallback = (path, value, parent) => {
if (stringTable[keyPrefix + path]) {
parent.description = stringTable[keyPrefix + path];
if (!parent.markdownDescription)
parent.description = stringTable[keyPrefix + path];
else
parent.markdownDescription = stringTable[keyPrefix + path];
}
};
traverseJson(jsonTree, descriptionCallback, "");
@@ -520,7 +448,7 @@ const generateLocalizedJsonSchemaFiles = () => {
};
// Generate localized versions of JSON schema files
// Check for cooresponding localized json file in i18n
// Check for corresponding localized json file in i18n
// Generate new version of the JSON schema file in dist/schema/<language_id>/<path>
const generateJsonSchemaLoc = () => {
return gulp.src(jsonSchemaFilesPatterns)
@@ -528,8 +456,7 @@ const generateJsonSchemaLoc = () => {
.pipe(gulp.dest('dist'));
};
gulp.task('translations-generate', gulp.series(generateSrcLocBundle, generateAdditionalLocFiles, generateHtmlLoc, generateJsonSchemaLoc));
gulp.task('translations-generate', gulp.series(generateSrcLocBundle, generateAdditionalLocFiles, generateHtmlLoc, generateWalkthroughHtmlLoc, generateJsonSchemaLoc));
// ****************************
// Command: generate-native-strings
@@ -549,15 +476,14 @@ gulp.task("generate-native-strings", (done) => {
for (let property in stringTable) {
let stringValue = stringTable[property];
let hintValue;
if (typeof stringValue !== "string")
{
if (typeof stringValue !== "string") {
hintValue = stringValue.hint;
stringValue = stringValue.text;
}
// Add to native enum
nativeEnumContent += ` ${property} = ${stringIndex},\n`;
// Add to native string table
nativeStringTableContent += ` ${JSON.stringify(stringValue)},\n`;
@@ -635,7 +561,7 @@ ${typeScriptSwitchContent}
// ****** This file is generated from nativeStrings.json. Do not edit this file directly. ******
#pragma once
// NOLINTBEGIN(modernize-raw-string-literal)
enum class localized_string_id : unsigned int
{
blank = 0,
@@ -644,6 +570,7 @@ ${nativeEnumContent}};
inline static const char *localizable_strings[] = {
"",
${nativeStringTableContent}};
// NOLINTEND(modernize-raw-string-literal)
`;
console.log("Writing file: localized_string_ids.h -- If changed, copy to VS repo: src/vc/designtime/vscode/Common/generated/");
@@ -0,0 +1,21 @@
/*---------------------------------------------------------------------------------------------
* 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.
{
"incompatible.extension.heading": "C/C++ 扩展二进制文件不兼容或不匹配",
"incompat.extension.text1": "C/C++ 扩展包括本机二进制文件。",
"incompat.extension.text2": "通过 VS Code 中的市场 UI 安装时,应包含正确的本机二进制文件。如果检测到不兼容的二进制文件,并且已通过 VS Code 中的市场 UI 安装 C/C++ 扩展,则 {0}。",
"bug.report.link.title": "请报告问题",
"reinstalling.extension.heading": "正在重新安装 C/C++ 扩展",
"reinstall.extension.text1": "重新安装等效版本的扩展时,VS Code 可能重用现有的扩展目录。如果要在重新安装 C/C++ 扩展时放置发生这种情况,可能需要先删除现有的扩展目录。",
"reinstall.extension.text2": "可在用户目录下以下路径之一的下面找到已安装的扩展目录(Windows 上的 `%USERPROFILE%` 或 Linux 和 macOS 上的 `$HOME`)",
"reinstall.extension.text3": "在远程连接中:",
"reinstall.extension.text4": "已安装的 C/C++ 扩展目录的示例路径:",
"reinstall.extension.text5": "在 Windows 上:",
"reinstall.extension.text6": "在 Linux 上:",
"reinstall.extension.text7": "然后通过 VS Code 中的市场 UI 重新安装。",
"reinstall.extension.text8": "如果 VS Code 无法部署扩展的正确版本,则可以 {0} 并使用 VS Code 中市场 UI 内 “...” 菜单下的 `从 VSIX... 安装` 选项安装系统的正确 VSIX。",
"download.vsix.link.title": "已从 VS Code 市场网站下载"
}
@@ -4,24 +4,26 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"c_cpp_properties.schema.json.definitions.configurations.items.properties.name": "配置标识符。MacLinux 和 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.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": "用于修改使用的包含或定义的编译器参数,例如 `-nostdinc++`、`-m32` 等。",
"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 引擎要使用的路径列表。这些路径的搜索不是递归搜索。指定 \"**\" 可指示递归搜索。例如: \"${workspaceFolder}/**\" 将搜索所有子目录,而 \"${workspaceFolder}\" 将不搜索所有子目录。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compileCommands": "工作区的 `compile_commands.json` 文件的完整路径。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.includePath": "搜索包含的标头时IntelliSense 引擎要使用的路径列表。这些路径上进行搜索为非递归搜索。指定 `**` 以指示递归搜索。例如`${workspaceFolder}/**` 将搜索所有子目录,而 `${workspaceFolder}` 则不会。通常,此操作不应包含系统包含项;请改为设置 `C_Cpp.default.compilerPath`。",
"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。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.intelliSenseMode": "要使用的 IntelliSense 模式,该模式映射到 MSVC、gcc 或 Clang 的平台和体系结构变体。如果未设置或设置为 ${default},则扩展将选择该平台的默认值。Windows 默认为 windows-msvc-x64Linux 默认为 linux-gcc-x64macOS 默认为 macos-clang-x64。仅指定 <compiler>-<architecture> 变体(例如 gcc-x64)的 IntelliSense 模式是旧模式,它们会根据主机平台自动转换为 <platform>-<compiler>-<architecture> 变体。",
"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.dotConfig": "Kconfig 系统创建的 .config 文件的路径。Kconfig 系统生成包含所有定义的文件以生成项目。使用 Kconfig 系统的项目示例包括 Linux 内核和 NuttX RTOS。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.defines": "分析文件时要使用的 IntelliSense 引擎的预处理器定义列表。(可选)使用 `=` 设置值,例如 `VERSION=1`。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.intelliSenseMode": "要使用的、映射到 MSVC、gcc 或 Clang 的平台和体系结构变体的 IntelliSense 模式。如果未设置或设置为`${default}`,则扩展将为该平台选择默认值。Windows 默认为 `windows-msvc-x64`Linux 默认为`linux-gcc-x64`macOS 默认为 `macos-clang-x64`。仅指定 `<编译器>-<体系结构>` 变体(例如 `gcc-x64`)的 IntelliSense 模式为旧模式,且会根据主机平台上的 `<平台>-<编译器>-<体系结构>` 变体进行自动转换。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.forcedInclude": "应在翻译单元中包括在任何包含文件之前的文件的列表。",
"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.mergeConfigurations": "设置`true` 以将包含路径、定义和强制包含与来自配置提供程序的包含路径、定义和强制包含合并。",
"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": "一个路径列表,这些路径用于为工作区符号编制索引和进行分析(这些符号用于“转到定义”“查找所有引用”等)。默认在这些路径中以递归方式进行搜索。指定 \"*\" 可指示非递归搜索。例如,\"${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.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 中检测到的错误。"
"c_cpp_properties.schema.json.definitions.enableConfigurationSquiggles": "控制扩展是否报告在 `c_cpp_properties.json` 中检测到的错误。"
}
+250 -108
View File
@@ -4,6 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"c_cpp.capabilities.untrustedWorkspaces.description": "多个设置可能导致执行工作区本地进程,例如,C_Cpp.clang_format_path、C_Cpp.codeAnalysis.clangTidy.path、C_Cpp.addNodeAddonIncludePaths、C_Cpp.default.compilerPath、C_Cpp.default.configurationProvider 和 C_Cpp.default.compileCommands,以及 c_cpp_properties.json 中的等效属性。",
"c_cpp.command.configurationSelect.title": "选择配置...",
"c_cpp.command.configurationProviderSelect.title": "更改配置提供程序...",
"c_cpp.command.configurationEditJSON.title": "编辑配置(JSON)",
@@ -15,7 +16,7 @@
"c_cpp.command.toggleDimInactiveRegions.title": "切换非活动区域着色",
"c_cpp.command.resetDatabase.title": "重置 IntelliSense 数据库",
"c_cpp.command.takeSurvey.title": "参加调查",
"c_cpp.command.buildAndDebugActiveFile.title": "生成和调试活动文件",
"c_cpp.command.restartIntelliSenseForFile.title": "重启活动文件的 IntelliSense",
"c_cpp.command.logDiagnostics.title": "日志诊断",
"c_cpp.command.referencesViewGroupByType.title": "按引用类型分组",
"c_cpp.command.referencesViewUngroupByType.title": "取消按引用类型分组",
@@ -25,50 +26,98 @@
"c_cpp.command.generateEditorConfig.title": "从 VC 格式设置生成 EditorConfig 内容",
"c_cpp.command.GoToNextDirectiveInGroup.title": "转到条件组中的下一个预处理器指令",
"c_cpp.command.GoToPrevDirectiveInGroup.title": "转到条件组中的上一个预处理器指令",
"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.command.RunCodeAnalysisOnActiveFile.title": "在活动文件上运行 Code Analysis",
"c_cpp.command.RunCodeAnalysisOnOpenFiles.title": "在打开的文件上运行 Code Analysis",
"c_cpp.command.RunCodeAnalysisOnAllFiles.title": "在所有文件上运行 Code Analysis",
"c_cpp.command.RemoveAllCodeAnalysisProblems.title": "清除所有代码分析问题",
"c_cpp.command.BuildAndDebugFile.title": "调试 C/C++ 文件",
"c_cpp.command.BuildAndRunFile.title": "运行 C/C++ 文件",
"c_cpp.command.AddDebugConfiguration.title": "添加调试配置",
"c_cpp.command.GenerateDoxygenComment.title": "生成 Doxygen 注释",
"c_cpp.command.addSshTarget.title": "添加 SSH 目标",
"c_cpp.command.removeSshTarget.title": "移除 SSH 目标",
"c_cpp.command.setActiveSshTarget.title": "将此 SSH 目标设置为活动目标",
"c_cpp.command.selectActiveSshTarget.title": "选择活动 SSH 目标",
"c_cpp.command.selectSshTarget.title": "选择 SSH 目标",
"c_cpp.command.activeSshTarget.title": "获取活动 SSH 目标",
"c_cpp.command.refreshCppSshTargetsView.title": "刷新",
"c_cpp.command.sshTerminal.title": "在新终端中连接到此 SSH 目标",
"c_cpp.configuration.maxConcurrentThreads.markdownDescription": "用于语言服务处理的最大并发线程数。该值是一个提示,且不能始终使用。默认值 `null` (空)使用可用的逻辑处理器数。",
"c_cpp.configuration.maxCachedProcesses.markdownDescription": "用于语言服务处理的最大缓存进程数。默认值 `null` (空)使用可用逻辑处理器数的两倍。",
"c_cpp.configuration.maxMemory.markdownDescription": "可用于语言服务处理的最大内存(以 MB 为单位)。超过此内存使用量后,将缓存且并发运行较少的进程。默认值 `null` (空)使用系统的空闲内存。",
"c_cpp.configuration.intelliSense.maxCachedProcesses.markdownDescription": "要继续运行的最大 IntelliSense 进程数。默认值 `null` (空)使用从 `#C_Cpp.maxCachedProcesses#` 继承的值。",
"c_cpp.configuration.intelliSense.maxMemory.markdownDescription": "超过此内存使用量(以 MB 为单位)后,在创建新进程之前,旧的 IntelliSense 进程将关闭。默认值 `null` (空)使用从 `#C_Cpp.maxMemory#` 继承的值。",
"c_cpp.configuration.references.maxConcurrentThreads.markdownDescription": "用于“查找所有引用”和“重命名”的最大并发线程数。默认值 `null` (空)使用从 `#C_Cpp.maxConcurrentThreads#` 继承的值。",
"c_cpp.configuration.references.maxCachedProcesses.markdownDescription": "“查找所有引用”和“重命名”的要保留在内存中的最大进程数。默认值 `0` 将禁用此功能。值为 `null` (空)则使用从 `#C_Cpp.maxCachedProcesses#` 继承的值。",
"c_cpp.configuration.references.maxMemory.markdownDescription": "超过此内存使用量(以 MB 为单位)后,将缓存且并发运行更少的“查找所有引用”和“重命名”进程。默认值 `null` (空)使用从 `#C_Cpp.maxMemory#` 继承的值。",
"c_cpp.configuration.codeAnalysis.maxConcurrentThreads.markdownDescription": "用于代码分析的最大并发线程数。默认值 `null` (空)使用从 `#C_Cpp.maxConcurrentThreads#` 继承的值的一半。",
"c_cpp.configuration.codeAnalysis.maxMemory.markdownDescription": "超过此内存使用量(以 MB 为单位)后,将并发运行更少的代码分析进程。默认值 `null` (空)使用从 `#C_Cpp.maxMemory#` 继承的值。",
"c_cpp.configuration.codeAnalysis.updateDelay.markdownDescription": "控制在 `#files.autoSave#` 为 `afterDelay` 且 `#C_Cpp.codeAnalysis.runAutomatically#` 为 `true` 时从编辑触发保存后,代码分析开始处理之前的延迟(以毫秒为单位)。",
"c_cpp.configuration.codeAnalysis.exclude.markdownDescription": "配置 glob 模式以排除用于代码分析的文件夹和文件。始终排除不在工作区文件夹下的文件。从 `#files.exclude#` 和 `#C_Cpp.files.exclude#` 继承值。详细了解 glob 模式 [此处](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options)。",
"c_cpp.configuration.codeAnalysis.excludeBoolean.markdownDescription": "要与文件路径匹配的 glob 模式。设置为 `true` 或 `false` 以启用或禁用模式。",
"c_cpp.configuration.codeAnalysis.excludeWhen.markdownDescription": "对匹配文件同辈进行其他检查。将 `$(basename)` 用作匹配文件名变量。",
"c_cpp.configuration.codeAnalysis.runAutomatically.markdownDescription": "如果为 `true`,则代码分析将在文件打开或保存后自动在文件上运行。",
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showDisable.markdownDescription": "如果为`true`'禁用'代码操作将在可用时显示(下次运行代码分析时)。使用'禁用'代码操作时,它会将警告代码添加到 `C_Cpp.codeAnalysis.clangTidy.checks.disabled`设置。",
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showDocumentation.markdownDescription": "如果为 `true`,“显示文档”代码操作将在可用时显示(下次运行代码分析时)。",
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.description": "控制哪些“清除”代码分析问题代码操作选项可用。更改设置以显示更多选项可能需要重新运行代码分析。",
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.None.description": "不显示“清除”代码操作。",
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllOnly.description": "仅显示“全部清除”代码操作(如果只有一种类型,则显示“清除所有<type>”,如果只有一个问题,则显示“清除此项”)。",
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllType.description": "如果存在多个问题类型,显示“全部清除”代码操作和“清除所有 <type>”代码操作(或如果<type>只有一个问题,显示“清除此项”)",
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.showClear.AllAndAllTypeAndThis.description": "如果有多个问题类型,显示“全部清除”,如果有多个 <type> 问题,显示“清除所有 <type>”以及显示“清除此项”代码操作",
"c_cpp.configuration.codeAnalysis.clangTidy.codeAction.formatFixes.markdownDescription": "如果为 `true`,则在 '修复' 代码操作更改的行上运行格式设置。",
"c_cpp.configuration.codeAnalysis.clangTidy.enabled.markdownDescription": "如果为 `true`,则在 `#C_Cpp.codeAnalysis.runAutomatically#` 为 `true` (默认值)时,将启用并自动运行使用 `clang-tidy` 的代码分析。",
"c_cpp.configuration.codeAnalysis.clangTidy.path.markdownDescription": "`clang-tidy` 可执行文件的完整路径。如果未指定,并且 `clang-tidy` 在环境路径中可用,则使用该路径。如果在环境路径中找不到,则将使用与扩展捆绑的 `clang-tidy`。",
"c_cpp.configuration.codeAnalysis.clangTidy.config.markdownDescription": "指定 YAML/JSON 格式的 `clang-tidy` 配置: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{键: x, 值: y}]}`。当值为空时,`clang-tidy` 将尝试为其父目录中的每个源文件查找名为 `.clang-tidy` 的文件。",
"c_cpp.configuration.codeAnalysis.clangTidy.fallbackConfig.markdownDescription": "指定 YAML/JSON 格式的 `clang-tidy` 配置,以在未设置 `#C_Cpp.codeAnalysis.clangTidy.config#`,并且未找到 `.clang-tidy` 文件: `{Checks: '-*,clang-analyzer-*', CheckOptions: [{键: x, 值: y}]}` 时将其用作回退。",
"c_cpp.configuration.codeAnalysis.clangTidy.headerFilter.markdownDescription": "与要从中输出诊断的标头名称匹配的 POSIX 扩展正则表达式 (ERE)。始终显示来自每个翻译单元的主文件的诊断。支持 `${workspaceFolder}` 变量(如果不存在 `.clang-tidy` 文件,则该变量将用作默认回退值)。如果此选项不是 `null` (空),则将替代 `.clang-tidy` 文件中的 `HeaderFilterRegex` 选项(如果有)。",
"c_cpp.configuration.codeAnalysis.clangTidy.args.markdownDescription": "要传递给 `clang-tidy` 的其他命令行参数。这些优先于等效的 `C_Cpp.codeAnalysis.clangTidy.*` 设置。",
"c_cpp.configuration.codeAnalysis.clangTidy.useBuildPath.markdownDescription": "如果设置了 `true` 和 `compileCommands`,则 `-p=<build-path>` 参数将传递给 `clang-tidy`,而不是在 `--` 之后传递生成参数。如果未设置环境变量以便可以找到系统包含项,则此操作可能不起作用。",
"c_cpp.configuration.codeAnalysis.clangTidy.checks.enabled.markdownDescription": "已启用的 `clang-tidy` 检查列表。这些值将追加到 `.clang-tidy` 文件中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有)。除非显式禁用,否则始终使用默认检查 `clang-analyzer-*`。",
"c_cpp.configuration.codeAnalysis.clangTidy.checks.disabled.markdownDescription": "已禁用的 `clang-tidy` 检查列表。该值将追加到 `.clang-tidy` 文件中的 `Checks` 或 `#C_Cpp.codeAnalysis.clangTidy.config#` (如果有)。",
"c_cpp.configuration.formatting.description": "配置格式设置引擎。",
"c_cpp.configuration.formatting.clangFormat.markdownDescription": "`clang-format` 将用于格式代码。",
"c_cpp.configuration.formatting.vcFormat.markdownDescription": "将使用 Visual C++ 格式设置引擎来设置代码的格式。",
"c_cpp.configuration.formatting.Default.markdownDescription": "默认情况下,`clang-format` 将用于格式化代码。但是,如果找到具有相关设置的 `.editorconfig` 文件接近于所格式化的代码,且 `#C_Cpp.clang_format_style#` 为默认值: `file`,则将使用 Visual C++ 格式化引擎。",
"c_cpp.configuration.formatting.Disabled.markdownDescription": "将禁用代码格式设置。",
"c_cpp.configuration.vcFormat.indent.braces.markdownDescription": "按 `#editor.tabSize#` 设置中指定的量缩进大括号。",
"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.withinParentheses.markdownDescription": "键入新行时,其会在左括号下或根据 `#C_Cpp.vcFormat.indent.multiLineRelativeTo#` 进行对齐。",
"c_cpp.configuration.vcFormat.indent.withinParentheses.alignToParenthesis.markdownDescription": "新行对齐到左括号下。",
"c_cpp.configuration.vcFormat.indent.withinParentheses.indent.markdownDescription": "根据 `#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.caseLabels.markdownDescription": "按 `#editor.tabSize#` 设置中指定的量缩进标签(相对于开关语句)。",
"c_cpp.configuration.vcFormat.indent.caseContents.markdownDescription": "按 `#editor.tabSize#` 设置中指定的量缩进 `case`的代码(相对于其标签)。",
"c_cpp.configuration.vcFormat.indent.caseContentsWhenBlock.markdownDescription": "按 `#editor.tabSize#` 设置中指定的量缩进 case 语句后的大括号",
"c_cpp.configuration.vcFormat.indent.lambdaBracesWhenParameter.markdownDescription": "按 `#editor.tabSize#` 设置中指定的量,对用作函数参数的 Lambda 大括号进行缩进(相对于语句开头)。",
"c_cpp.configuration.vcFormat.indent.gotoLabels.description": "goto 标签的位置",
"c_cpp.configuration.vcFormat.indent.gotoLabels.oneLeft.markdownDescription": "按 `#editor.tabSize#` 设置中指定的量将 goto 标签置于当前代码缩进的左侧",
"c_cpp.configuration.vcFormat.indent.gotoLabels.leftmostColumn.markdownDescription": "将 goto 标签置于代码的最左侧边缘。",
"c_cpp.configuration.vcFormat.indent.gotoLabels.none.markdownDescription": "不会格式化 goto 标签。",
"c_cpp.configuration.vcFormat.indent.preprocessor.description": "预处理器指令的位置",
"c_cpp.configuration.vcFormat.indent.preprocessor.oneLeft.markdownDescription": "按 `#editor.tabSize#` 设置中指定的量将预处理器指令放置在当前代码缩进的左侧",
"c_cpp.configuration.vcFormat.indent.preprocessor.leftmostColumn.markdownDescription": "预处理器指令位于代码的最左侧边缘。",
"c_cpp.configuration.vcFormat.indent.preprocessor.none.markdownDescription": "不会格式化预处理器指令。",
"c_cpp.configuration.vcFormat.indent.accessSpecifiers.markdownDescription": "按 `#editor.tabSize#` 设置中指定的量缩进访问说明符(相对于类或结构定义)。",
"c_cpp.configuration.vcFormat.indent.namespaceContents.markdownDescription": "按 `#editor.tabSize#` 设置中指定的量缩进代码(相对于封闭命名空间)。",
"c_cpp.configuration.vcFormat.indent.preserveComments.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.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.newLine.beforeCatch.markdownDescription": "将 `catch` 和类似关键字放在新行上。",
"c_cpp.configuration.vcFormat.newLine.beforeElse.markdownDescription": "将 `else` 置于新行。",
"c_cpp.configuration.vcFormat.newLine.beforeWhileInDoWhile.markdownDescription": "将 `while` 置于新行上的 `do`-`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": "保留输入的空格。",
@@ -100,90 +149,117 @@
"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.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.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 StudioLLVMGoogleChromiumMozillaWebKit。使用 \"file\" 从当前目录或父目录中的 .clang 格式文件加载样式。使用 {键: 值, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }",
"c_cpp.configuration.clang_format_fallbackStyle.description": "如果使用样式 \"file\" 调用 clang 格式但是找不到 .clang 格式文件,则使用预定义的样式的名称作为回退。可能的值为 Visual StudioLLVMGoogleChromiumMozillaWebKitnone,或使用 {key: value, ...} 设置特定参数。例如,\"Visual Studio\" 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }",
"c_cpp.configuration.clang_format_sortIncludes.description": "如果设置,则重写由 SortIncludes 参数确定的包含排序行为。",
"c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供程序。“标记分析器”提供非上下文感知的“模糊”结果。“默认”提供上下文感知结果。“已禁用”将关闭 C/C++ 语言服务功能。",
"c_cpp.configuration.intelliSenseEngineFallback.description": "控制 IntelliSense 引擎是否自动切换到包含 #include 错误的翻译单元的标记分析器。",
"c_cpp.configuration.autocomplete.description": "控制自动完成提供程序。“默认”使用活动 IntelliSense 引擎。“已禁用”使用由 Visual Studio Code 提供的基于单词的完成。",
"c_cpp.configuration.errorSquiggles.description": "控制是否向编辑器回传 IntelliSense 引擎检测到的可疑编译错误。标记分析器引擎会忽略此设置。",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.description": "块的换行选项",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.oneLiners.markdownDescription": "在一行输入的完整代码块保留在一行上,不考虑`C_Cpp.vcFormat.newLine.*` 设置的值。",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.allOneLineScopes.markdownDescription": "任何在一行输入左大括号和右大括号的代码都保留在一行上,不考虑任何 `C_Cpp.vcFormat.newLine.*` 设置的值。",
"c_cpp.configuration.vcFormat.wrap.preserveBlocks.never.markdownDescription": "代码块始终基于 `C_Cpp.vcFormat.newLine.*` 设置的值进行格式化。",
"c_cpp.configuration.clang_format_path.markdownDescription": "`clang-format` 可执行文件的完整路径。如果未指定,则 `clang-format` 在使用的环境路径中可用。如果在环境路径中找不到,则将使用与扩展绑的 `clang-format`。",
"c_cpp.configuration.clang_format_style.markdownDescription": "编码样式前支持: `Visual Studio`、`LLVM`、 `Google`、`Chromium`、`Mozilla`、`WebKit`、 `Microsoft`、`GNU`。使用 `file` 从当前目录或父目录中的 `.clang-format` 文件加载样式,或使用 `file:<路径>/.clang-format` 引用特定路径。使用 `{键: 值, ...}` 设置特定参数。例如,`Visual Studio` 样式类似于: `{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }`。",
"c_cpp.configuration.clang_format_fallbackStyle.markdownDescription": "用作回退的预定义样式的名称,以防使用样式 `file` 调用 `clang-format` 但找不到 `.clang-format` 文件。可能的值为 `Visual Studio`、`LLVM`、 `Google`、`Chromium`、`Mozilla`、`WebKit`、 `Microsoft`、`GNU`、`none`,或使用 `{键: 值, ...}` 以设置特定参数。例如,`Visual Studio` 样式类似于: `{ BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }`。",
"c_cpp.configuration.clang_format_sortIncludes.markdownDescription": "如果设置,则替换`SortIncludes` 参数确定的包含排序行为。",
"c_cpp.configuration.intelliSenseEngine.description": "控制 IntelliSense 提供程序。",
"c_cpp.configuration.intelliSenseEngine.default.description": "通过单独的 IntelliSense 流程提供上下文感知结果。",
"c_cpp.configuration.intelliSenseEngine.tagParser.description": "提供非上下文感知的“模糊”结果。",
"c_cpp.configuration.intelliSenseEngine.disabled.description": "关闭 C/C++ 语言服务功能。",
"c_cpp.configuration.intelliSenseEngineFallback.markdownDescription": "控制 IntelliSense 引擎是否将自动切换为包含 `#include` 错误的翻译单元的标记分析器。",
"c_cpp.configuration.autocomplete.markdownDescription": "控制自动完成提供程序。如果 `disabled`,且你想要基于字词的补全,则还需要设置 `\"[cpp]\": {\"editor.wordBasedSuggestions\": true}`(对 `c` 和 `cuda-cpp` 语言同样执行此操作)。",
"c_cpp.configuration.autocomplete.default.description": "使用活动的 IntelliSense 引擎。",
"c_cpp.configuration.autocomplete.disabled.description": "使用 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.markdownDescription": "控制非活动预处理块的不透明度。在 `0.1``1.0` 之间进行缩放。仅当启用非活动区域暗化时,此设置才适用。",
"c_cpp.configuration.inactiveRegionForegroundColor.description": "控制非活动预处理程序块的字体颜色。输入的格式为十六进制颜色代码或有效的主题颜色。如果未设置,则默认为编辑器的语法颜色方案。此设置仅在启用非活动区域变暗时适用。",
"c_cpp.configuration.inactiveRegionBackgroundColor.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": "控制在分析非活动工作区文件时是否使用休眠以避免 CPU 使用率达到 100%。最高/高/中等/低的值约对应于 100/75/50/25% 的 CPU 使用率。",
"c_cpp.configuration.inlayHints.autoDeclarationTypes.enabled.markdownDescription": "在声明中使用 `auto` 时显示推导类型的内嵌提示:\n```cpp \n\n auto index /* : int */ = 0;\n```",
"c_cpp.configuration.inlayHints.autoDeclarationTypes.showOnLeft.markdownDescription": "在标识符左侧声明中使用 `auto` 时显示推导类型的内嵌提示:\n```cpp \n\n auto /* int */ index = 0;\n```",
"c_cpp.configuration.inlayHints.parameterNames.enabled.markdownDescription": "显示参数名称的内嵌提示:\n```cpp \n\n int a = getArea(/* width: */ x, /* height: */ y);\n```",
"c_cpp.configuration.inlayHints.parameterNames.hideLeadingUnderscores.markdownDescription": "在参数名称提示中隐藏开头的 `_`。",
"c_cpp.configuration.inlayHints.parameterNames.suppressWhenArgumentContainsName.markdownDescription": "当参数文本或内联注释包含参数名称时,抑制参数名称提示:\n```cpp \n\n int a = getArea(width, /* height: */ y);\n```",
"c_cpp.configuration.inlayHints.referenceOperator.enabled.markdownDescription": "显示非常量引用传递的参数的内嵌提示引用运算符 `&`:\n```cpp \n\n swap(/* &first: */ str1, /* &last: */ str2);\n```",
"c_cpp.configuration.inlayHints.referenceOperator.showSpace.markdownDescription": "控制在 `&` 后是否显示非常量引用传递的参数的空格:\n```cpp \n\n swap(/* & first: */ str1, /* & last: */ str2);\n```",
"c_cpp.configuration.loggingLevel.markdownDescription": "输出面板中日志记录的详细程度。从最不详细到最详细的级别顺序为: `None` < `Error` < `Warning` < `Information` < `Debug`。",
"c_cpp.configuration.autoAddFileAssociations.markdownDescription": "控制当文件为 C/C++ 文件中导航操作的目标时,其是否自动添加到 `#files.associations#`。",
"c_cpp.configuration.workspaceParsingPriority.markdownDescription": "控制分析非活动工作区文件是否使用睡眠以避免使用 100% CPU。值 `highest`/`high`/`medium`/`low` 对应于约 100/75/50/25% 的 CPU 使用率。",
"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.exclusionPolicy.markdownDescription": "当扩展在确定哪些文件应添加到代码导航数据库,并遍历 `browse.path` 数组中的路径时,指示其使用 `#files.exclude#` (和 `#C_Cpp.files.exclude#`)设置的时间。如果 `#files.exclude#` 设置仅包含文件夹,则 `checkFolders` 为最佳选择,且将提高扩展可以初始化代码导航数据库的速度。",
"c_cpp.configuration.exclusionPolicy.checkFolders.description": "排除筛选器将仅对每个文件夹进行一次评估(不检查单个文件)。",
"c_cpp.configuration.exclusionPolicy.checkFilesAndFolders.description": "将针对每个遇到的文件和文件夹评估排除筛选器。",
"c_cpp.configuration.preferredPathSeparator.markdownDescription": "用作 `#include` 自动完成结果的路径分隔符的字符。",
"c_cpp.configuration.simplifyStructuredComments.markdownDescription": "如果为 `true`,则悬停和自动完成的工具提示将仅显示结构化注释的某些标签。否则,将显示所有注释。",
"c_cpp.configuration.doxygen.generateOnType.description": "控制在键入所选注释样式后是否自动插入 Doxygen 注释。",
"c_cpp.configuration.doxygen.generatedStyle.description": "用作 Doxygen 注释起始行的字符串。",
"c_cpp.configuration.doxygen.sectionTags.description": "启用 `简化结构化注释` 设置后,选择希望在工具提示区域中悬停时显示的 Doxygen 节标记。 ",
"c_cpp.configuration.commentContinuationPatterns.items.anyof.string.markdownDescription": "开始多行或单行注释块的模式。多行注释块的延续模式默认为 ` * `,或单行注释块默认为此字符串。",
"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,则为 \"$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.intelliSenseCachePath.markdownDescription": "定义 IntelliSense 使用的缓存预编译标头文件夹路径。默认缓存路径为 Windows 上的`%LocalAppData%/Microsoft/vscode-cpptools` Linux 上的 `$XDG_CACHE_HOME/vscode-cpptools/` (如果未定义 `XDG_CACHE_HOME`,则为`$HOME/.cache/vscode-cpptools/`) 和 macOS 上的 `$HOME/Library/Caches/vscode-cpptools/`。如果未指定路径或指定的路径无效,则使用默认路径。",
"c_cpp.configuration.intelliSenseCacheSize.markdownDescription": "缓存预编译标头的每个工作区硬盘空间的最大大小(以兆字节(MB)为单位);实际使用量可能围绕此值波动。默认大小为 `5120` MB。当大小为 `0` 时,将禁用预编译标头缓存。",
"c_cpp.configuration.intelliSenseMemoryLimit.markdownDescription": "IntelliSense 程的内存使用限制,以兆字节 (MB)为单位。默认为 `4096`,最大为 `16384`。当扩展超出限制时,其将关闭并重启 IntelliSense 流程。",
"c_cpp.configuration.intelliSenseUpdateDelay.description": "控制修改之后到 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\"。",
"c_cpp.configuration.default.compileCommands.description": "未指定 \"compileCommands\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
"c_cpp.configuration.default.forcedInclude.description": "未指定 \"forcedInclude\" 时要在配置中使用的值,或 \"forcedInclude\" 中存在 \"${default}\" 时要插入的值。",
"c_cpp.configuration.default.intelliSenseMode.description": "未指定 \"intelliSenseMode\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
"c_cpp.configuration.default.compilerPath.description": "未指定 \"compilerPath\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
"c_cpp.configuration.default.compilerArgs.description": "未指定 \"compilerArgs\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
"c_cpp.configuration.default.cStandard.description": "未指定 \"cStandard\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
"c_cpp.configuration.default.cppStandard.description": "未指定 \"cppStandard\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
"c_cpp.configuration.default.configurationProvider.description": "未指定 \"configurationProvider\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
"c_cpp.configuration.default.browse.path.description": "未指定 \"browse. path\" 时要在配置中使用的值,或 \"browse.path\" 中存在 \"${default}\" 时要插入的值。",
"c_cpp.configuration.default.browse.databaseFilename.description": "未指定 \"browse.databaseFilename\" 时或将其设置为 \"${default}\" 时要在配置中使用的值。",
"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.default.includePath.markdownDescription": "`c_cpp_properties.json` 中指定 `includePath` 时要在配置中使用的值。如果指定 `includePath`,请将 `${default}` 添加到数组以插入此设置中的值。通常,此不应包含系统包含;请改为设置 `#C_Cpp.default.compilerPath#`。",
"c_cpp.configuration.default.defines.markdownDescription": "未指定 `defines` 时要在配置中使用的值,或 `defines` 中存在 `${default}` 时要插入的值。",
"c_cpp.configuration.default.macFrameworkPath.markdownDescription": "未指定 `macFrameworkPath` 时要在配置中使用的值,或 `macFrameworkPath` 中存在 `${default}` 时要插入的值。",
"c_cpp.configuration.default.windowsSdkVersion.markdownDescription": "要在 Windows 上使用的 Windows SDK 包含路径的版本,例如 `10.0.17134.0`。",
"c_cpp.configuration.default.compileCommands.markdownDescription": "`compileCommands` 未指定或设置为 `${default}` 时要在配置中使用的值。",
"c_cpp.configuration.default.forcedInclude.markdownDescription": "未指定 `forcedInclude` 时要在配置中使用的值,或 `forcedInclude` 中存在 `${default}` 时要插入的值。",
"c_cpp.configuration.default.intelliSenseMode.markdownDescription": "`intelliSenseMode` 未指定或设置为 `${default}` 时要在配置中使用的值。",
"c_cpp.configuration.default.compilerPath.markdownDescription": "`compilerPath` 未指定或设置为 `${default}` 时要在配置中使用的值。",
"c_cpp.configuration.default.compilerArgs.markdownDescription": "`compilerArgs` 未指定或设置为 `${default}` 时要在配置中使用的值。",
"c_cpp.configuration.default.cStandard.markdownDescription": "`cStandard` 未指定或设置为 `${default}` 时要在配置中使用的值。",
"c_cpp.configuration.default.cppStandard.markdownDescription": "`cppStandard` 未指定或设置为 `${default}` 时要在配置中使用的值。",
"c_cpp.configuration.default.configurationProvider.markdownDescription": "`configurationProvider` 未指定或设置为 `${default}` 时要在配置中使用的值。",
"c_cpp.configuration.default.mergeConfigurations.markdownDescription": "设置为 `true` 以将包含路径、定义和强制包含与来自配置提供程序的包含路径、定义和强制包含合并。",
"c_cpp.configuration.default.browse.path.markdownDescription": "未指定 `browse.path` 时要在配置中使用的值,或 `browse.path` 中存在 `${default}` 时要插入的值。",
"c_cpp.configuration.default.browse.databaseFilename.markdownDescription": "`browse.databaseFilename` 未指定或设置为 `${default}` 时要在配置中使用的值。",
"c_cpp.configuration.default.browse.limitSymbolsToIncludedHeaders.markdownDescription": "`browse.limitSymbolsToIncludedHeaders` 未指定或设置为 `${default}` 时要在配置中使用的值。",
"c_cpp.configuration.default.systemIncludePath.markdownDescription": "要用于系统包含路径的值。如果设置,则其将替换通过 `compilerPath` 和 `compileCommands` 设置获取的系统包含路径。",
"c_cpp.configuration.default.enableConfigurationSquiggles.markdownDescription": "控制扩展是否将报告在 `c_cpp_properties.json` 中检测到的错误。",
"c_cpp.configuration.default.customConfigurationVariables.markdownDescription": "设置 `customConfigurationVariables` 时要在配置中使用的值,或 `${default}` 在 `customConfigurationVariables` 中作为键存在时要插入的值。",
"c_cpp.configuration.updateChannel.markdownDescription": "设置为 `Insiders` 以自动下载并安装扩展的最新预览体验版本,其中包含即将推出的功能和 bug 修复。",
"c_cpp.configuration.updateChannel.deprecationMessage": "此设置已弃用。预发行版扩展现在可通过市场获得。",
"c_cpp.configuration.default.dotConfig.markdownDescription": "未指定 `dotConfig` 时要在配置中使用的值,或 `dotConfig` 中存在 `${default}` 时要插入的值。",
"c_cpp.configuration.experimentalFeatures.description": "控制“实验性”功能是否可用。",
"c_cpp.configuration.suggestSnippets.description": "如果为 true,则由语言服务器提供片段。",
"c_cpp.configuration.enhancedColorization.description": "如果启用,则根据 IntelliSense 对代码设定颜色。此设置仅在 intelliSenseEngine 设置为“默认”时适用。",
"c_cpp.configuration.suggestSnippets.markdownDescription": "如果为 `true`,则由语言服务器提供片段。",
"c_cpp.configuration.caseSensitiveFileSupport.markdownDescription": "如果设置为 `default`,则假定工作区的文件系统在 Windows 上不区分大小写,在 macOS 或 Linux 上区分大小写。如果设置为 `enabled`,则假定工作区的文件系统在 Windows 上区分大小写。",
"c_cpp.configuration.enhancedColorization.markdownDescription": "如果启用,则根据 IntelliSense 对代码进行着色。仅当 `#C_Cpp.intelliSenseEngine#` 设置为 `default` 时,此设置才适用。",
"c_cpp.configuration.codeFolding.description": "如果启用,则由语言服务器提供代码折叠范围。",
"c_cpp.configuration.vcpkg.enabled.markdownDescription": "为 [vcpkg 依关系管理器] 启用集成服务(https://aka.ms/vcpkg/)。",
"c_cpp.configuration.addNodeAddonIncludePaths.description": "当它们是依赖项时,从 nan 和 node-addon-api 添加 include 路径。",
"c_cpp.configuration.renameRequiresIdentifier.description": "如果为 true,则“重命名符号”将需要有效的 C/C++ 标识符。",
"c_cpp.configuration.autocompleteAddParentheses.description": "如果为 true,则自动完成功能将在函数调用后自动添加 \"(\"这种情况下可以添加 \")\",具体取决于 \"editor.autoClosingBrackets\" 设置的值。",
"c_cpp.configuration.filesExclude.description": "为排除文件夹(和文件配置 glob 模式,如果 \"C_Cpp. exclusionPolicy\" 已更改)。这些是除了\"files.exclude\" 之外的 C/C + + 特定扩展,但与 \"files.exclude\" 不同,他们不从资源管理器视图中删除。了解 glob 模式的详细信息 [here] (https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options)。",
"c_cpp.configuration.filesExcludeBoolean.description": "匹配文件路径所依据的 glob 模式。设置为 true 或 false启用或禁用模式。",
"c_cpp.configuration.filesExcludeWhen.description": "对匹配文件的同级文件的其他检查。使用 $(basename) 作为匹配文件名变量。",
"c_cpp.configuration.debugger.useBacktickCommandSubstitution.description": "如果为 true调试程序 shell 命令替换将使用过时的反引号(`)。",
"c_cpp.configuration.vcpkg.enabled.markdownDescription": "为 [vcpkg 依关系管理器](https://aka.ms/vcpkg/) 启用集成服务。",
"c_cpp.configuration.addNodeAddonIncludePaths.markdownDescription": "当来自 `nan``node-addon-api` 的包含路径为依赖项时,请将其添加。",
"c_cpp.configuration.renameRequiresIdentifier.markdownDescription": "如果为 `true`,则“重命名符号”将需要有效的 C/C++ 标识符。",
"c_cpp.configuration.autocompleteAddParentheses.markdownDescription": "如果为 `true`,则自动完成将在函数调用后自动添加 `(` ,在这种情况下,也可以添加 `)` ,具体取决于 `#editor.autoClosingBrackets#` 设置的值。",
"c_cpp.configuration.filesExclude.markdownDescription": "为排除文件夹(以及文件 - 如果更改了 `#C_Cpp.exclusionPolicy#`)配置 glob 模式。这些特定于 C/C++ 扩展,并且是 `#files.exclude#` 的补充,但与 `#files.exclude#` 不同,它们也适用于当前工作区文件夹之外的路径,并且不会从资源管理器视图中删除。[此处](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options)。",
"c_cpp.configuration.filesExcludeBoolean.markdownDescription": "要与文件路径匹配的 glob 模式。设置为 `true``false` 以启用或禁用模式。",
"c_cpp.configuration.filesExcludeWhen.markdownDescription": "对匹配文件同辈进行其他检查。将 `$(basename)` 用作匹配文件名变量。",
"c_cpp.configuration.debugger.useBacktickCommandSubstitution.markdownDescription": "如果为 `true`,则调试程序 shell 命令替换将使用过时的反引号 ``(`)``。",
"c_cpp.configuration.legacyCompilerArgsBehavior.markdownDescription": "启用 v1.10.0 以前的行为,以了解在编译器参数设置中如何处理 shell 转义。从 v1.10.0 开始,参数数组在默认情况下不再需要或支持 shell 转义。",
"c_cpp.configuration.legacyCompilerArgsBehavior.deprecationMessage": "此设置是临时的,用于支持转换为 v1.10.0 中更正后的行为。",
"c_cpp.configuration.sshTargetsView.description": "控制 SSH 目标视图是否可见。默认情况下,在调用 SSH 命令时启用视图。",
"c_cpp.contributes.views.cppReferencesView.title": "C/C++: 其他引用结果",
"c_cpp.contributes.views.sshTargetsView.title": "Cpptools: SSH 目标",
"c_cpp.contributes.viewsWelcome.contents": "要了解有关 launch.json 的信息,请参阅 [配置 C/C++ 调试](https://code.visualstudio.com/docs/cpp/launch-json-reference)。",
"c_cpp.configuration.debugShortcut.description": "显示 C++ 文件编辑器标题栏中的“运行和调试”播放按钮和“添加调试配置”齿轮。",
"c_cpp.debuggers.pipeTransport.description": "如果存在,这会指示调试程序使用其他可执行文件作为管道来连接到远程计算机,此管道将在 VS Code 和已启用 MI 的调试程序后端可执行文件(如 gdb)之间中继标准输入/输入。",
"c_cpp.debuggers.pipeTransport.default.pipeProgram": "输入管道程序名称的完全限定路径,例如 \"/usr/bin/ssh\"",
"c_cpp.debuggers.pipeTransport.default.pipeProgram": "输入管道程序名称的完全限定路径,例如 '/usr/bin/ssh'。",
"c_cpp.debuggers.pipeTransport.default.debuggerPath": "目标计算机上调试程序的完整路径,例如 /usr/bin/gdb。",
"c_cpp.debuggers.pipeTransport.debuggerPath.description": "目标计算机上调试程序的完整路径,例如 /usr/bin/gdb。",
"c_cpp.debuggers.pipeTransport.pipeCwd.description": "管道程序工作目录的完全限定的路径。",
"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.pipeTransport.quoteArgs.description": "如果 pipeProgram 的单个参数包含字符(如空格或制表符),是否应引用它? 如果为 false,则将不再自动引用调试程序命令。默认true。",
"c_cpp.debuggers.logging.description": "用于确定应将哪些类型的消息记录到调试控制台的可选标志。",
"c_cpp.debuggers.logging.exceptions.description": "用于确定是否应将异常消息记录到调试控制台的可选标志。默认为 true。",
"c_cpp.debuggers.logging.moduleLoad.description": "用于确定是否应将模块加载事件记录到调试控制台的可选标志。默认为 true。",
@@ -191,8 +267,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.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。",
@@ -201,22 +277,25 @@
"c_cpp.debuggers.cppdbg.type.description": "引擎的类型。必须为 \"cppdbg\"。",
"c_cpp.debuggers.cppvsdbg.type.description": "引擎的类型。必须为 \"cppvsdbg\"。",
"c_cpp.debuggers.targetArchitecture.description": "调试对象的体系结构。如果未设置此参数,将进行自动检测。允许的值有 x86、arm、arm64、mips、x64、amd64、x86_64。",
"c_cpp.debuggers.cwd.description": "目标的工作目录",
"c_cpp.debuggers.cwd.description": "目标的工作目录",
"c_cpp.debuggers.setupCommands.description": "为了安装基础调试程序而执行的一个或多个 GDB/LLDB 命令。示例: \"setupCommands\": [ { \"text\": \"-enable-pretty-printing\", \"description\": \"Enable GDB pretty printing\", \"ignoreFailures\": true }]。",
"c_cpp.debuggers.postRemoteConnectCommands.description": "远程连接到调试服务器后执行的一个或多个命令。",
"c_cpp.debuggers.customLaunchSetupCommands.description": "如果已提供,将使用其他命令替换用于启动目标的默认命令。例如,附加到目标进程的命令可以为 \"-target-attach\"。如果是空命令列表,将不会用任何内容替换启动命令。此功能可在向调试程序提供启动选项作为命令行选项时很有用。示例: \"customLaunchSetupCommands\": [ { \"text\": \"target-run\", \"description\": \"run target\", \"ignoreFailures\": false }]。",
"c_cpp.debuggers.launchCompleteCommand.description": "调试程序完全安装后,为了使目标进程运行而执行的命令。允许的值为 \"exec-run\"、\"exec-continue\"、\"None\"。默认值为 \"exec-run\"。",
"c_cpp.debuggers.cppdbg.visualizerFile.description": "调试此进程时要使用的 .natvis 文件。此选项与 GDB 整齐打印不兼容。如果使用此设置,请同时查看 \"showDisplayString\"。",
"c_cpp.debuggers.cppdbg.svdPath.description": "嵌入设备的 SVD 文件的完整路径。",
"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": "包含环境变量定义的文件的绝对路径。此文件具有每行由等号分隔的键值对。例如: 键=值",
"c_cpp.debuggers.environment.description": "要添加到程序环境的环境变量。示例: [ { \"name\": \"config\", \"value\": \"Debug\" } ],而不是 [ { \"config\": \"Debug\" } ]。",
"c_cpp.debuggers.envFile.description": "包含环境变量定义的文件的绝对路径。此文件的键值对由每行等于号分隔。例如 KEY=VALUE。",
"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)的路径。如果未指定,将首先在路径中搜索调试程序。",
"c_cpp.debuggers.miDebuggerArgs.description": "MI 调试程序(如 gdb)的其他参数。",
"c_cpp.debuggers.miDebuggerServerAddress.description": "要连接到的 MI 调试程序服务器的网络地址(示例: localhost:1234)。",
"c_cpp.debuggers.useExtendedRemote.description": "使用目标扩展远程模式连接到 MI 调试器服务器。",
"c_cpp.debuggers.stopAtEntry.description": "可选参数。如果为 true,则调试程序应在目标的入口点处停止。如果传递了 processId,则不起任何作用。",
"c_cpp.debuggers.debugServerPath.description": "用于调试要启动的服务器的可选完整路径。默认设置为 null。通过运行“-target-select remote <server:port>”的 \"customSetupCommand\" 将它与 \"miDebugServerAddress\" 或你自己的服务器合使用。",
"c_cpp.debuggers.debugServerPath.description": "要启动的调试服务器的可选完整路径。默认为 null。该路径与 “miDebugServerAddress” 或带有运行 “-target-select remote <server:port>” customSetupCommand” 的自有服务器合使用。",
"c_cpp.debuggers.debugServerArgs.description": "可选调试服务器参数。默认为 null。",
"c_cpp.debuggers.serverStarted.description": "要在调试服务器输出中查找的可选服务器启动模式。默认为 null。",
"c_cpp.debuggers.filterStdout.description": "在 stdout 流中搜索服务器启动模式,并将 stdout 记录到默认输出。默认为 true。",
@@ -226,27 +305,90 @@
"c_cpp.debuggers.cppdbg.externalConsole.description": "如果为 true,则为调试对象启动控制台。如果为 false,它在 Linux 和 Windows 上会显示在集成控制台中。",
"c_cpp.debuggers.cppvsdbg.externalConsole.description": "[已通过“控制台”弃用]如果为 true,将为调试对象启动控制台。如果为 false,将不启动任何控制台。",
"c_cpp.debuggers.cppvsdbg.console.description": "启动调试目标的位置。如果未定义,则默认为 \"internalConsole\"。",
"c_cpp.debuggers.cppvsdbg.console.internalConsole.description": "输出到 VS Code 调试控制台。这不支持读取控制台输入(例如: \"std::cin\"\"scanf\")",
"c_cpp.debuggers.cppvsdbg.console.integratedTerminal.description": "VS Code 的集成终端",
"c_cpp.debuggers.cppvsdbg.console.internalConsole.description": "输出到 VS Code 调试控制台。这不支持读取控制台输入(例如:'std::cin''scanf')。",
"c_cpp.debuggers.cppvsdbg.console.integratedTerminal.description": "VS Code 的集成终端",
"c_cpp.debuggers.cppvsdbg.console.externalTerminal.description": "控制台应用程序将在外部终端窗口中启动。该窗口将在重新启动方案中重复使用,并且在应用程序退出时不会自动消失。",
"c_cpp.debuggers.cppvsdbg.console.newExternalWindow.description": "控制台应用程序将在自身的外部控制台窗口中启动,该窗口将在应用程序停止时结束。非控制台应用程序将在没有终端的情况下运行,并且 stdout/stderr 将被忽略。",
"c_cpp.debuggers.avoidWindowsConsoleRedirection.description": "如果为 true,则禁用集成终端支持所需的调试对象控制台重定向。",
"c_cpp.debuggers.sourceFileMap.description": "传递调试引擎的可选源文件映射。示例: \"{ \"/original/source/path\":\"/current/source/path\" }\"",
"c_cpp.debuggers.sourceFileMap.description": "传递调试引擎的可选源文件映射。示例: '{ \"/original/source/path\":\"/current/source/path\" }'。",
"c_cpp.debuggers.processId.anyOf.description": "要将调试程序附加到的可选进程 ID。使用 \"${command:pickProcess}\" 获取要附加到的本地运行进程的列表。请注意,一些平台需要管理员权限才能附加到进程。",
"c_cpp.debuggers.symbolSearchPath.description": "用于搜索符号(即 pdb)文件的目录列表(以分号分隔)。示例: \"c:\\dir1;c:\\dir2\"。",
"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,则将加载所有 lib 的符号;否则不加载任何 solib 符号。默认值为 true。",
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "分号 \";\" 分隔的文件名列表(允许使用通配符)。修改 LoadAll 的行为。如果 LoadAll 为 true,则不加载与列表中任何名称匹配的 lib 的符号。否则,仅匹配的 lib 加载符号。示例: \"foo.so;bar.so\"",
"c_cpp.debuggers.symbolLoadInfo.exceptionList.description": "分号 ';' 分隔的文件名(允许通配符)列表。修改 LoadAll 的行为。如果 LoadAll 为 true,则不加载与列表中名称匹配的的符号。否则,仅加载匹配的库的符号。示例: \"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.debuggers.stopAtConnect.description": "如果为 true,则调试器在连接到目标后应停止。如果为 false,则连接后,调试器将继续工作。默认值为 false。",
"c_cpp.debuggers.hardwareBreakpoints.description": "对远程目标的硬件断点行为的显式控制。",
"c_cpp.debuggers.hardwareBreakpoints.require.description": "如果为 true,请始终使用硬件断点。默认值为 false。",
"c_cpp.debuggers.hardwareBreakpoints.limit.description": "要使用的可用硬件断点数量的可选限制。仅在“需要”为 true 且“限制”大于 0 时强制使用。默认值为 0。",
"c_cpp.debuggers.variables.description": "此启动配置中递归替换的变量。每个变量都可以引用其他变量。",
"c_cpp.debuggers.variables.properties.description": "此启动配置中递归替换的变量。该值可以引用其他变量。",
"c_cpp.debuggers.host.description": "主机信息。",
"c_cpp.debuggers.host.user.description": "登录到主机的用户。",
"c_cpp.debuggers.host.hostName.description": "主机名。",
"c_cpp.debuggers.host.port.description": "主机上的 SSH 端口。默认值为 22。",
"c_cpp.debuggers.host.jumpHost.description": "首先连接到跳转主机以连接到目标主机。",
"c_cpp.debuggers.host.localForward.description": "将本地(客户端)主机上给定 TCP 端口或 Unix 套接字的连接转发到远程端上的给定主机和端口或 Unix 套接字",
"c_cpp.debuggers.host.localForward.bindAddress.description": "本地地址",
"c_cpp.debuggers.host.localForward.port.description": "本地端口",
"c_cpp.debuggers.host.localForward.host.description": "主机名",
"c_cpp.debuggers.host.localForward.hostPort.description": "主机端口",
"c_cpp.debuggers.host.localForward.localSocket.description": "本地套接字",
"c_cpp.debuggers.host.localForward.remoteSocket.description": "远程套接字",
"c_cpp.debuggers.deploySteps.description": "部署应用程序所需的步骤。顺序很重要。",
"c_cpp.debuggers.deploySteps.copyFile.description": "使用 SCP 或 rsync 复制文件。",
"c_cpp.debuggers.deploySteps.copyFile.files.description": "要复制的文件。支持路径模式。",
"c_cpp.debuggers.deploySteps.copyFile.targetDir.description": "目标目录。",
"c_cpp.debuggers.deploySteps.copyFile.recursive.description": "如果为 true,则以递归方式复制文件夹。",
"c_cpp.debuggers.deploySteps.copyFile.scpPath.description": "SCP 的可选完整路径。假定 SCP 位于 PATH 上(如果未指定)",
"c_cpp.debuggers.deploySteps.copyFile.rsyncPath.description": "rsync 的可选完整路径。假定 rsync 在 PATH 上(如果未指定)",
"c_cpp.debuggers.deploySteps.debug": "如果为 true,则在不调试的情况下启动时跳过。如果为 false,则在开始调试时跳过。如果未定义,则从不跳过。",
"c_cpp.debuggers.deploySteps.ssh.description": "SSH 命令步骤。",
"c_cpp.debuggers.deploySteps.ssh.command.description": "要通过 SSH 执行的命令。SSH 命令中 \"-c\" 后面的命令。",
"c_cpp.debuggers.deploySteps.ssh.sshPath.description": "SSH 的可选完整路径。假定 SSH 位于 PATH 上(如果未指定)",
"c_cpp.debuggers.deploySteps.continueOn.description": "输出中的可选完成模式。在输出中看到此模式时,无论此步骤是否返回,都继续执行部署过程。",
"c_cpp.debuggers.deploySteps.shell.description": "shell 命令步骤。",
"c_cpp.debuggers.deploySteps.shell.command.description": "要执行的 shell 命令。",
"c_cpp.debuggers.vsCodeCommand.description": "要调用的 VS Code 命令。可以是 VS Code 或活动扩展中的命令。",
"c_cpp.debuggers.vsCodeCommand.command.description": "要调用的 VS Code 命令。",
"c_cpp.debuggers.vsCodeCommand.args.description": "VS Code 命令的参数。",
"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": "任务类型的其他详细信息",
"c_cpp.taskDefinitions.detail.description": "任务的其他详细信息",
"c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.description": "相同源树的当前路径和编译时路径。EditorPath 下的文件会映射到 CompileTimePath 路径以进行断点匹配,并在显示 stacktrace 位置时,从 CompileTimePath 映射到 EditorPath。",
"c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.editorPath.description": "编辑器将使用的源树的路径。",
"c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "如果此条目仅用于堆栈帧位置映射,则为 False。如果在指定断点位置时也需要使用此条目,则为 True。"
"c_cpp.debuggers.sourceFileMap.sourceFileMapEntry.useForBreakpoints.description": "如果此条目仅用于堆栈帧位置映射,则为 False。如果在指定断点位置时也需要使用此条目,则为 True。",
"c_cpp.debuggers.symbolOptions.description": "用于控制如何找到和加载符号(.pdb 文件)的选项。",
"c_cpp.debuggers.unknownBreakpointHandling.description": "控制在命中时如何处理(通常通过原始 GDB 命令)外部设置的断点。\n允许的值为 \"throw\" (好像应用程序抛出了异常)和 \"stop\" (只会暂停调试会话)。默认值为 \"throw\"。",
"c_cpp.debuggers.VSSymbolOptions.description": "提供用于找到符号并将其加载到调试适配器的配置。",
"c_cpp.debuggers.VSSymbolOptions.searchPaths.description": "在其中搜索 .pdb 文件的符号服务器 URL (例如 http://MyExampleSymbolServer)或目录(例如 /build/symbols)的数组。除了默认位置,还将搜索这些目录 - 在模块以及 pdb 最初放置到的路径的旁边。",
"c_cpp.debuggers.VSSymbolOptions.searchMicrosoftSymbolServer.description": "如果为 \"true\",则 Microsoft 符号服务器(https://msdl.microsoft.com/download/symbols)会添加到符号搜索路径。如果未指定,此选项会默认为 \"false\"。",
"c_cpp.debuggers.VSSymbolOptions.cachePath.description": "从符号服务器下载的符号应缓存到的目录。如果未指定,则在 Windows 上,调试程序将默认为 %TEMP%\\SymbolCache。",
"c_cpp.debuggers.VSSymbolOptions.moduleFilter.description": "提供选项来控制调试程序将尝试为哪些模块(.dll 文件)加载符号(.pdb 文件)。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.description": "提供用于将符号加载到调试适配器的配置。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.mode.description": "控制模块筛选器在两种基本操作模式的下一种模式下操作。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.mode.loadAllButExcluded.enumDescriptions": "为所有模块加载符号,除非模块在 \"excludedModules\" 数组中。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.mode.loadOnlyIncluded.enumDescriptions": "请勿尝试为任何模块加载符号,除非该模块在 \"includedModules\" 数组中,或者它通过 \"includeSymbolsNextToModules\" 设置包含在内。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.excludedModules.description": "调试程序不得为其加载符号的模块数组。支持通配符(例如: MyCompany.*.dll)。\n\n会忽略此属性,除非“模式”设置为 \"loadAllButExcluded\"。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.includedModules.description": "调试程序应为其加载符号的模块数组。支持通配符(例如: MyCompany.*.dll)。\n\n会忽略此属性,除非“模式”设置为 \"loadOnlyIncluded\"。",
"c_cpp.debuggers.VSSymbolOptionsModuleFilter.includeSymbolsNextToModules.description": "如果为 true,则对于未在 \"includedModules\" 数组中的任何模块,调试程序将在模块本身和启动可执行文件旁边进行检查,但它将不检查符号搜索列表上的路径。此选项默认为 \"true\"\n\n会忽略此属性,除非“模式”设置为 \"loadOnlyIncluded\"。",
"c_cpp.semanticTokenTypes.referenceType.description": "C++/CLI 引用类型的样式。",
"c_cpp.semanticTokenTypes.cliProperty.description": "C++/CLI 属性的样式。",
"c_cpp.semanticTokenTypes.genericType.description": "C++/CLI 泛型类型的样式。",
"c_cpp.semanticTokenTypes.valueType.description": "C++/CLI 值类型的样式。",
"c_cpp.semanticTokenTypes.templateFunction.description": "C++ 模板函数的样式。",
"c_cpp.semanticTokenTypes.templateType.description": "C++ 模板类型的样式。",
"c_cpp.semanticTokenTypes.operatorOverload.description": "C++ 重载运算符的样式。",
"c_cpp.semanticTokenTypes.memberOperatorOverload.description": "C++ 重载运算符成员函数的样式。",
"c_cpp.semanticTokenTypes.newOperator.description": "C++ `new` 或 `delete` 运算符的样式。",
"c_cpp.semanticTokenTypes.customLiteral.description": "C++ 用户定义文本的样式。",
"c_cpp.semanticTokenTypes.numberLiteral.description": "C++ 用户定义文本数字的样式。",
"c_cpp.semanticTokenTypes.stringLiteral.description": "C++ 用户定义文本字符串的样式。",
"c_cpp.semanticTokenModifiers.global.description": "用于全局符号的样式。",
"c_cpp.semanticTokenModifiers.local.description": "用于本地符号的样式。"
}

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