Compare commits

...
461 Commits
Author SHA1 Message Date
Sean McManus 97c5f14bd5 Merge pull request #13563 from microsoft/main
Merge for 1.25.3
2025-04-28 15:03:26 -07:00
Luca ff55c59e19 telemetry addition (#13564) 2025-04-28 15:01:25 -07:00
Sean McManus 73c95bef48 Update changelog for 1.25.3. (#13560)
* Update changelog for 1.25.3.
2025-04-28 12:04:43 -07:00
Sean McManus fd57bfd074 Localization update for 1.25.3 (#13561)
* Localization - Translated Strings
2025-04-28 11:57:31 -07:00
Luca 4fc36fa25d avoid reporting cancellation as errors (#13552) 2025-04-25 15:27:27 -08:00
Colen Garoutte-Carson 35e5376235 Fix errors reported for recursive includes settings validations (#13554) 2025-04-25 15:07:35 -07:00
Sean McManus 4639ac6049 Update changelog for 1.25.2 (#13550)
* Update changelog for 1.25.2.
2025-04-25 11:22:01 -07:00
Colen Garoutte-Carson 9eb37abe16 Fix how C_Cpp.default recursive include settings are defined (#13549) 2025-04-24 15:27:06 -07:00
Luca 92a34d51b1 codesnippets v2 changes (#13525) 2025-04-22 03:00:49 -07:00
Sean McManus 964bc5b6bd Update version and changelog for 1.25.1. (#13524)
* Update version and changelog for 1.25.1.
2025-04-21 18:56:11 -07:00
Sean McManus ab79eedf6f Localization update (#13540)
* Localization - Translated Strings
* Fixes.
2025-04-21 17:20:19 -07:00
Sean McManus c21a214fc4 Fix translations export. (#13539) 2025-04-21 13:58:34 -07:00
Bob Brown 97ef1aa99d Don't show bogus errors for compilerPath + args in config UI (#13531) 2025-04-17 16:52:55 -07:00
Sean McManus 799d09f41f Fix some loc bugs. (#13522)
* Fix some loc bugs.
* Fix newlines at end of files in json.
2025-04-17 12:51:30 -07:00
Bob Brown 04bc6c8294 No error message shown in config UI for invalid compilerPath (#13529) 2025-04-17 11:12:26 -07:00
Bob Brown 735d74175c Add a message explaining why we couldn't find a quote-wrapped path (#13521) 2025-04-16 14:04:37 -07:00
Sean McManus ce67c4c146 Update loc strings for 1.25.1 (#13515)
* Localization - Translated Strings
* Update loc strings. Add more locked comments.
2025-04-16 12:21:06 -07:00
Sean McManus 7522617143 Fix the Debug button disappearing. (#13492) 2025-04-16 10:59:11 -07:00
Colen Garoutte-Carson 1b2285c7ed Fix recursive includes settings UI (#13498) 2025-04-14 17:29:09 -07:00
Sean McManus d03af2d389 Fix SIG-?? matching the filter regex. (#13493) 2025-04-11 17:27:30 -07:00
Colen Garoutte-Carson a204903ff2 Fix an error on startup if a file is open (#13487) 2025-04-10 15:54:56 -07:00
Garrett Serack 1709999bb7 Update lmTool.test.ts to account for interface change in vscode.d.ts (#13484)
This works around a change to the vscode TextDocument interface
2025-04-10 14:17:29 -07:00
Sean McManus 44d32aa807 Update changelog for 1.25.0. (#13479)
* Update changelog for 1.25.0.
2025-04-09 16:33:49 -07:00
Colen Garoutte-Carson bcdd61859b Add IsExplicit fields for new recursive include properties (#13480) 2025-04-09 16:08:40 -07:00
Sean McManus 4e6f2f8172 Add an extra crash call stack filter check. (#13478) 2025-04-09 12:28:19 -07:00
Colen Garoutte-Carson a71cbadb21 Fix issues with remapping of .C files (#13476) 2025-04-08 18:53:18 -07:00
Ben McMorran 17f149d57d Shutdown LSP server on request (#13475) 2025-04-08 18:19:30 -07:00
Colen Garoutte-Carson 2ca08b061f Work around missing visible editor notifications (#13474) 2025-04-08 16:59:05 -07:00
Sean McManus 6b8b999059 Fix interval timer not firing. (#13469) 2025-04-07 17:30:22 -07:00
Sean McManus 1b7efea691 Fix a warning with copilotHover. (#13467) 2025-04-07 12:56:05 -07:00
Colen Garoutte-Carson 3f9ca1577a Fix cpptools-wordexp (#13468) 2025-04-07 12:39:52 -07:00
Sean McManus c617c38829 Improve copilotHover description. (#13461)
* Improve copilotHover description.
2025-04-04 19:15:42 -07:00
Colen Garoutte-Carson b73353fc9e Fix some file association (#13455) 2025-04-03 16:04:57 -07:00
Garrett Serack 799f0b39c5 use Node v22 (#13454) 2025-04-03 09:59:43 -07:00
Sean McManus c4003c07e8 Merge pull request #13451 from microsoft/main
Merge for 1.24.5 (release)
2025-04-02 12:39:30 -07:00
Sean McManus 93d5c1fbcf Update changelog and version for 1.24.5. (#13450)
* Update changelog and version for 1.24.5.
2025-04-02 12:34:17 -07:00
Sean McManusandcsigs 7020960ec3 Localization fixes for 1.24.5 (#13446)
* Localization - Translated Strings
* Fix issues.
* Translate license_terms.
* Add  {Locked=\"`disabled`\"}

---------

Co-authored-by: csigs <[email protected]>
2025-04-02 09:15:32 -07:00
Ben McMorran d515544750 Allow notifications during initialization (#13443)
* Allow notifications during initialization

* Change capitalization
2025-04-01 11:14:17 -07:00
Sean McManus 569bf64378 Change ? to ?+<offset> with filtered crash call stacks. (#13434)
* Change ?\n to ?+<offset> with crash call stacks.
2025-03-27 15:57:28 -07:00
Sean McManus c27806e763 Merge pull request #13430 from microsoft/main
Merge for 1.24.x (2nd time)
2025-03-26 14:20:24 -07:00
Colen Garoutte-Carson 5bd0f9be77 Merge TypeScript main branch to VC (#13428) 2025-03-26 14:15:09 -07:00
Luca 8b8e9451d7 merge rpc calls to fetch completion context (#13417)
rework the log output, fix output and levels.
2025-03-26 12:56:42 -08:00
Sean McManus 3b92649ea7 Update changelog date. (#13426) 2025-03-26 12:15:41 -07:00
Sean McManus 7cfb2d3316 Merge pull request #13423 from microsoft/seanmcm/1_24_x_release
Merge for 1.24.x
2025-03-26 11:09:49 -07:00
Sean McManus 9a03b747c6 Fix incorrect diffs in the branch. 2025-03-25 17:21:16 -07:00
Sean McManus 989cee4414 Merge branch 'main' into seanmcm/1_24_x_release 2025-03-25 16:59:59 -07:00
Sean McManus acc2a84940 Update version and changelog for 1.24.4. (#13418) 2025-03-25 16:55:46 -07:00
Bob Brown 05fec365d2 Remove usage of parse-git-config (#13416) 2025-03-25 15:27:23 -07:00
Sean McManus 31ada4a296 Try adding always-auth=true. (#13413) 2025-03-25 11:24:57 -07:00
Sean McManusandColen Garoutte-Carson 625ee33af0 Stop skipping the top crash stack frames. (#13403)
Co-authored-by: Colen Garoutte-Carson <[email protected]>
2025-03-24 16:41:39 -07:00
Bob Brown 2100587df1 replace CmdLine tasks with 'script' (#13410) 2025-03-24 15:49:26 -07:00
Bob Brown e2f90ba353 Missing npmrc for other extensions (#13408) 2025-03-24 15:13:23 -07:00
dependabot[bot] 00f0915b78 Bump @octokit/plugin-paginate-rest, @actions/github and @octokit/rest (#13402)
Bumps [@octokit/plugin-paginate-rest](https://github.com/octokit/plugin-paginate-rest.js) to 9.2.2 and updates ancestor dependencies [@octokit/plugin-paginate-rest](https://github.com/octokit/plugin-paginate-rest.js), [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) and [@octokit/rest](https://github.com/octokit/rest.js). These dependencies need to be updated together.


Updates `@octokit/plugin-paginate-rest` from 2.21.3 to 9.2.2
- [Release notes](https://github.com/octokit/plugin-paginate-rest.js/releases)
- [Commits](https://github.com/octokit/plugin-paginate-rest.js/compare/v2.21.3...v9.2.2)

Updates `@actions/github` from 5.1.1 to 6.0.0
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

Updates `@octokit/rest` from 19.0.13 to 21.1.1
- [Release notes](https://github.com/octokit/rest.js/releases)
- [Commits](https://github.com/octokit/rest.js/compare/v19.0.13...v21.1.1)

---
updated-dependencies:
- dependency-name: "@octokit/plugin-paginate-rest"
  dependency-type: indirect
- dependency-name: "@actions/github"
  dependency-type: direct:production
- dependency-name: "@octokit/rest"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 08:22:13 -07:00
Colen Garoutte-Carson 225143f1f1 Add settings for 'reduce', 'priority' and internal 'order' of recursive includes. (#13374) 2025-03-21 18:19:24 -07:00
Sean McManus bd805090d5 Fix crash call stack filtering. (#13397)
* Fix crash call stack filtering.
* Save regex object. Fix newlines.
2025-03-21 11:56:41 -07:00
Spencer Bloom 56968c5617 Turn Copilot Hover on by default. React immediately to settings changes for copilot hover. Change flight check to new flag to indicate a disabled state. (#13385) 2025-03-20 11:13:56 -07:00
Sean McManus 0681d82936 Fix Copilot snippet logging level. (#13388) 2025-03-19 13:05:23 -07:00
Colen Garoutte-Carson 700432c7eb Fix a regression that prevented settings updates (#13386) 2025-03-18 15:03:07 -07:00
Sean McManus a807d5717b Update changelog and version for 1.24.3. (#13380) 2025-03-18 13:11:56 -07:00
Sean McManus 1c5e46bdc5 Filter crash telemetry data per-line so it's not completely filtered later on (#13379)
* Filter crash telemetry data per-line so it's not completely filtered later on.
2025-03-17 17:13:40 -07:00
Sean McManus e43157f952 Remove --pack_alignment from .json files. (#13378) 2025-03-17 16:51:49 -07:00
Sean McManus 3ffd98fdbe Merge in latest localization changes with fixes applied (#13373) 2025-03-17 12:58:07 -07:00
Colen Garoutte-Carson 3196778f63 Remove updateChannel setting (#13376) 2025-03-17 12:46:57 -07:00
Colen Garoutte-Carson 301f9a6a9d Add a string for browse path not found (#13372) 2025-03-14 13:51:12 -07:00
Sean McManus 4412f2083e Update to clang-tidy 20.1.0. (#13348) 2025-03-13 16:56:50 -07:00
Luca fcda971f1b test framework traits for Chat (#13285)
* add test frameworks traits to VSCode Copilot Chat

* add test framework traits for #cpp

* update prompt

* drop unnecessary `?.`, and use sensible names for test framework in tests.
2025-03-13 07:22:37 -08:00
Sean McManus 669e830649 Set the extensionKind. (#13361) 2025-03-12 14:15:06 -07:00
Bob Brown 53f3a144af Remove some unnecessary files from the vsix (#13368) 2025-03-12 13:36:40 -07:00
Sean McManus 6cc1bd787e Fix loc for link text "C/C++ Properties Schema Reference". (#13359) 2025-03-11 10:19:46 -07:00
Luca 72f68c01f2 match Copilot's CanceledError which has name == message == "Canceled". (#13357) 2025-03-10 11:46:42 -08:00
Bob Brown 3a837ecdea Update github actions package.json for reported vulnerabilities (#13356) 2025-03-10 10:42:34 -07:00
Colen Garoutte-Carson 9afc2954f1 Work around E2E test failure (#13347) 2025-03-06 16:24:26 -08:00
Sean McManus f7e2cafaad Update changelog and version for 1.24.2. (#13344) 2025-03-06 14:59:35 -08:00
Colen Garoutte-Carson 5697dcce61 Let native process populate default browse paths (#13342) 2025-03-06 01:41:06 -08:00
Sean McManus 5ebe93c628 Add crash log handling. (#13253)
* Add crash log handling.
2025-03-05 18:48:31 -08:00
Luca db16246990 telemetry metrics accommodate signed values (#13326) 2025-03-05 11:43:39 -08:00
Bob Brown 8cc85356ae fix type checking (#13334) 2025-03-03 15:23:43 -08:00
Sean McManus db1cfda601 Stop reporting copilotHover "enabled" as invalid. (#13318) 2025-03-03 13:42:46 -08:00
Sean McManus 60c443418e Fix Copilot hover warning in the ExtensionHost logging. (#13316) 2025-03-03 13:10:28 -08:00
Luca 1813c82eb4 -new feat: add traits for C++ lang version (#13296)
-telemetry: fix cancellation events.
-telemetry: more diag event for registration failure.
-add fallback to SimilarFiles providers such as openTabs and/or
related-files
2025-02-28 18:00:28 -08:00
Garrett Serack a2b7383c97 Add instrumentation support to the typescript code (#12991)
* add instrumentation support to the typescript code

* fix linter

* missed file

* update to a newer image?

* merged

* work around webpack

* webpack! Arg!

* cleanup

* cleanups

* remove spaces

* must use eval to work around webpack

* need vscode in here

* fix line endings?

* fix line endings?

* Add comment

* Added instrumentation to copilothoverprovider

* inject instrumentation code via perfecto instead

* Ensure that everything is instrumented where we can.

* extra comma
2025-02-26 14:28:09 -08:00
Sean McManus 388a81c19b Update TPN. (#13309) 2025-02-24 14:52:01 -08:00
Glen Chung 9a9ac3aa51 Remove Compiler Argument Traits (#13278)
* Remove Compiler Argument Traits

- Couldn't find examples of where this actually improved the prompt per ad-hoc analysis.

* Address review comment
2025-02-24 14:35:17 -08:00
Sean McManus 879202e785 Update yarn.lock (octokit/rest) (#13303)
* Update yarn.lock.
* Try switching to node 20.
* Increase action version. 
* Switch octokit to a dynamic import.
2025-02-21 18:40:15 -08:00
Bob Brown c6e635542c The other extensions don't build with yarn (#13304) 2025-02-21 23:11:35 +00:00
Bob Brown 74aa385373 Update code analysis mode in Language Status when the settings change (#13301) 2025-02-21 11:55:55 -08:00
Bob Brown 127166df23 description for svdPath doesn't appear in launch configuration (#13302) 2025-02-21 11:43:15 -08:00
Colen Garoutte-Carson 7fbe9b160a Fix an issue with C: treated as a relative path (#13297) 2025-02-21 11:07:21 -08:00
Bob Brown 907b225b47 Update README and metadata for extension pack (#13298) 2025-02-20 16:05:30 -08:00
Bob Brown a6e06dc921 Update the Windows SDK packages pointed to in the walkthrough (#13295) 2025-02-20 12:57:22 -08:00
Sean McManus 72e28d9b67 Check for more unexpected characters in crash call stack data. (#13281) 2025-02-13 15:44:33 -08:00
Sean McManus 44406cea7c Fix handling of "Could not open input path" when calling c++filt (#13279)
* Fix handling of "Could not open input path" when calling c++filt
2025-02-13 14:33:49 -08:00
Sean McManus 20d1f424a6 Update changelog and version for 1.24.1. (#13276) 2025-02-13 11:37:26 -08:00
Sean McManus 69393c4567 Add a changelog entry. (#13270) 2025-02-10 21:11:46 -08:00
Luca 1518d0ee6f convert the time budget integer to a real number. (#13268)
* convert the time budget integer to a real number.

* update the changes' log
2025-02-10 17:11:43 -08:00
Sean McManus db82927d27 Fix Copilot hover reprompting. (#13266) 2025-02-10 11:26:17 -08:00
Luca 59677cfad7 bump copilot-language-server to v1.266 (#13256) 2025-02-07 15:26:10 -08:00
Sean McManus 53412d70f7 Update TPN. (#13254) 2025-02-07 14:42:29 -08:00
Sean McManus 0f8dd275a1 Update changelog and version for 1.24.0. (#13248)
* Update changelog and version for 1.24.0.
2025-02-06 21:16:05 -08:00
Colen Garoutte-Carson 60e998b590 Don't use 'system' include/framework paths as fallback 'user' include/framework paths in the base config (#13247) 2025-02-06 17:38:10 -08:00
Sean McManus c357224407 Merge pull request #13245 from microsoft/seanmcm/1_23_6_release
Cherry-picks for 1.23.6
2025-02-06 11:51:34 -08:00
Sean McManus a636c87f3e Update changelog for 1.23.6 (#13244)
* Update changelog and version.
2025-02-06 11:26:32 -08:00
Garrett Serack 471cdfecf8 don't abort instantly, keep searching (#13243) 2025-02-06 11:25:58 -08:00
Sean McManus 97128122b0 Fix Select IntelliSense Configuration regression. (#13224) 2025-02-06 11:21:39 -08:00
Sean McManus e1d824f6c1 Update changelog for 1.23.6 (#13244)
* Update changelog and version.
2025-02-06 11:21:08 -08:00
Garrett Serack ebce162542 don't abort instantly, keep searching (#13243) 2025-02-06 10:31:49 -08:00
Luca 94758afea0 code snippet provider (#13018)
* add a code snippet provider
2025-02-05 14:26:14 -08:00
Spencer Bloom e5e176b68b Add check for copilot access before providing copilot hover (#13238)
* Add check for copilot access before providing copilot hover
* Don't check flight until we can validate copilot is enabled
2025-02-05 13:01:30 -08:00
Sean McManus 64c00a92f5 Fix Select IntelliSense Configuration regression. (#13224) 2025-02-03 11:57:35 -08:00
Colen Garoutte-Carson 0a64b77ba0 Fix an issue with editorconfig tab_size (#13216) 2025-01-30 11:03:21 -08:00
Garrett SerackandColen Garoutte-Carson c3f8d0c2cd Remove cpptools1 experiment flag from Symbol Search (#13199)
* remove cpptools1 experiment flag

* Missed a couple things

---------

Co-authored-by: Colen Garoutte-Carson <[email protected]>
2025-01-29 07:25:32 -08:00
Colen Garoutte-Carson e3bb8a778d Fix a potential race between didChange and didOpen (#13209) 2025-01-28 15:41:43 -08:00
Sean McManus 006ebff619 Merge pull request #13211 from microsoft/seanmcm/1_23_5_release
Merge insiders to release (with cherry-picks from main) for 1.23.5
2025-01-28 13:20:36 -08:00
Sean McManus 1458694ed6 Fix incorrect merge. 2025-01-28 12:09:47 -08:00
Sean McManus 896024ba9c Update changelog and version for 1.23.5. (#13208)
* Update changelog and version for 1.23.5.
2025-01-28 12:07:40 -08:00
Sean McManus 779bb080c1 Fix an undefined access when an edit is done before cpptools starts (#13206)
* Fix an undefined access.
2025-01-28 12:07:29 -08:00
Sean McManus 97df273fc1 Fix Call Hierarchy Calls From. (#13201) 2025-01-28 12:07:18 -08:00
dependabot[bot] 7037b070ce Bump undici from 5.28.4 to 5.28.5 in /.github/actions (#13180)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.28.5.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.4...v5.28.5)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-28 12:06:58 -08:00
Sean McManus 205e63772c Merge branch 'insiders' into seanmcm/1_23_5_release 2025-01-28 12:06:48 -08:00
Sean McManus 99864b0fd7 Update changelog and version for 1.23.5. (#13208)
* Update changelog and version for 1.23.5.
2025-01-28 11:53:05 -08:00
Sean McManus 77f30faf00 Fix an undefined access when an edit is done before cpptools starts (#13206)
* Fix an undefined access.
2025-01-27 20:02:08 -08:00
Sean McManus 3614cab5ac Fix Call Hierarchy Calls From. (#13201) 2025-01-27 12:18:58 -08:00
Colen Garoutte-Carson d7f5c28c85 Fix label casing in action workflows, and add 'help wanted' to addLabels in two debugger workflows (#13192) 2025-01-24 15:16:55 -08:00
dependabot[bot] cdf1e6b4f2 Bump undici from 5.28.4 to 5.28.5 in /.github/actions (#13180)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.28.5.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.4...v5.28.5)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 18:51:52 -08:00
Sean McManus e7dff799fd Merge pull request #13179 from microsoft/seanmcm/1_23_4_cherrypicks2
More cherry picks for 1.23.4
2025-01-21 16:31:21 -08:00
Sean McManus ec41c3e481 Add a changelog entry. (#13177) 2025-01-21 16:30:13 -08:00
Sean McManus 1aa24fe51f Add a changelog entry. (#13177) 2025-01-21 16:29:29 -08:00
[email protected] 71cf89ce70 [Auto] Localization - Translated Strings (#13027) 2025-01-21 16:14:44 -08:00
[email protected] 1b82daf079 [Auto] Localization - Translated Strings (#13027) 2025-01-21 16:08:54 -08:00
Colen Garoutte-Carson 33a205bf19 Fix issue with config requests before provider has registered (#13167) 2025-01-17 19:05:56 -08:00
Sean McManus f7863066f3 Merge pull request #13168 from microsoft/seanmcm/cherryPick1_23_4
Cherry-pick for 1.23.4
2025-01-17 18:21:21 -08:00
Sean McManus 0c2862c379 Update changelog for 1.23.4 (3rd time) (#13164)
* Update changelog (3rd time).
* Minor TPN changes.
2025-01-17 18:13:23 -08:00
Sean McManus ce0435b55a Update changelog for 1.23.4 (3rd time) (#13164)
* Update changelog (3rd time).
* Minor TPN changes.
2025-01-17 18:11:16 -08:00
Spencer Bloom 5d32121787 Support Content Exclusion for Copilot Hover (#13143)
* Use propsed content exclusion APIs
2025-01-16 12:13:41 -08:00
Sean McManus 6026c84c6f Merge pull request #13163 from microsoft/main
Merge for 1.23.4 (2nd time)
2025-01-16 10:46:23 -08:00
Sean McManus 9e96d6383c Update changelog (2nd time). (#13159) 2025-01-16 10:31:22 -08:00
Sean McManus 31969c8df2 Stop sending err.message in telemetry (#13158)
* Stop sending err.message.
2025-01-16 07:36:51 -08:00
Glen Chung e4091ab3b5 Combine ProjectContext and RelatedFilesProvider Telemetry in One Event (#13157)
- This allows calculating the time spent on the extension side vs the language server side.
- Also send filter telemetry if available.
2025-01-15 17:35:10 -08:00
Sean McManus e3ee2ee76a Merge pull request #13156 from microsoft/main
Merge for 1.23.4 (pre-release)
2025-01-15 15:44:30 -08:00
Sean McManus c4d9f11386 Update changelog and version for 1.23.4. (#13155)
* Update changelog and version for 1.23.4.
2025-01-15 15:30:36 -08:00
Sean McManus 6f9ddbf52a Fix casing of Windows. (#13149) 2025-01-14 10:39:45 -08:00
Colen Garoutte-Carson fed7a82d36 Fix .editorConfig setting precedence (#13140) 2025-01-10 15:48:14 -08:00
Sean McManus ff1cd88466 Merge pull request #13136 from microsoft/main
Merge for 1.23.3 (pre-release)
2025-01-08 14:04:36 -08:00
Sean McManus 941aa608f4 Minor TPN updates. (#13135) 2025-01-08 12:41:29 -08:00
Sean McManus 205ae065f5 Update changelog and version for 1.23.3. (#13127)
* Update changelog and version for 1.23.3.
2025-01-08 12:30:39 -08:00
Glen Chung 8e5bbf1320 Support C89 in Completion Prompts (#13132)
- Also send unrecognized ones in telementry for further ananlysis.
2025-01-08 10:24:58 -08:00
Colen Garoutte-Carson 200f0934bf Add 3rd party notice for libiconv (#13056) 2025-01-07 14:25:10 -08:00
Sean McManus 4c6f319304 Update IntelliSense loc strings. (#13098) 2025-01-03 12:19:00 -08:00
Sean McManus 6e3e0748e0 Update msvc versions. (#13097) 2025-01-02 16:17:18 -08:00
Sean McManus d70d063698 Fix other developer command prompt cases, and "developer" and "code" … (#13093)
* Fix other developer command prompt cases, and "developer" and "code" references.
2025-01-02 11:55:02 -08:00
Sean McManus fa0e1c0376 Fix cl.exe.not.available loc. (#13091)
* Fix cl.exe.not.available loc.
* Disabling eslint indent linting.
2024-12-31 14:20:42 -08:00
Sean McManus d2626e0ad8 Re-enable the SingleRootProject tests with check-in tests and fix the getIncludes test failure (#13084)
* Fix getIncludes call with E2E test.
* Add a --skipCheckBinaries arg.
2024-12-30 17:09:43 -08:00
browntarik 42c6d99012 Updated Description for Preferred Path Separator Setting and Refactor Its Usage (#13082)
* Updated description for preferred path separator setting.

* Change wording.

* Refactor configuration quickpick to correctly reflect preferred path separator.
2024-12-30 16:37:34 -08:00
Yiftah Waisman 2bff033a27 Handle multiple compile commands on client side (needs native server side support) (#12960) 2024-12-30 10:31:13 -08:00
Ben McMorran 0aaae1fabf Support sending telemetry during cpptools initialization (#13077) 2024-12-20 12:24:15 -08:00
Colen Garoutte-Carson a172a425ad Ensure default persistent values get persisted (#13074) 2024-12-19 15:55:42 -08:00
Colen Garoutte-Carson 5c684a87d0 Don't reset everyones databases (#13073) 2024-12-19 15:19:29 -08:00
Ben McMorran b96d82a1a7 Add appName telemetry (#13072) 2024-12-19 15:07:54 -08:00
Bob Brown 73f4442d27 Update the descriptions of clang path settings (#13071) 2024-12-19 12:18:04 -08:00
dependabot[bot] b11f390d4a Bump nanoid from 3.3.7 to 3.3.8 in /Extension (#13060)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...
2024-12-18 13:34:05 -08:00
Bob Brown 84b92dcae5 Don't show the output window for "references may be missing" when the loggingLevel is less than Warning (#13068) 2024-12-18 12:14:19 -08:00
Luca afb208dabb get isense client by uri (#13059) 2024-12-17 14:30:51 -08:00
Colen Garoutte-Carson fbf81359df Trigger reparsing when files.encoding setting changes (#13047) 2024-12-16 14:46:09 -08:00
Emmanuel Ferdman d7ee24158f Update extension.test.ts reference (#13040) 2024-12-13 18:25:29 -08:00
Sean McManus ab7bebfd7c Fix space around binary operator translation. (#13057)
* Fix space around binary operator translation.
2024-12-13 17:41:18 -08:00
Sean McManus cd5aaaa489 Fix native strings. (#13046) 2024-12-12 10:27:21 -08:00
Yiftah Waisman d04d53e9a6 Detect compile_commands.json after containing folder deleted and recreated on Windows (#13032)
* fix issue #7030
* check for the undefined case (on first load)
2024-12-11 15:35:00 -08:00
Spencer BloomandBen McMorran fa80d4477e Support for copilot-generated summaries in quick info. (On-the-fly docs) (#12552)
Off by default, can be explicitly disabled in the setting.

Co-authored-by: Ben McMorran <[email protected]>

---------

Co-authored-by: Ben McMorran <[email protected]>
2024-12-09 10:15:52 -08:00
Colen Garoutte-Carson 98696368f4 Merge pull request #13025 from microsoft/main 2024-12-05 12:45:31 -08:00
Colen Garoutte-Carson ee71e1f82c Update changelog for 1.23.2 (2nd time) (#13024) 2024-12-05 12:39:02 -08:00
[email protected] 05d43dc2f7 [Auto] Localization - Translated Strings (#12869) 2024-12-05 12:09:39 -08:00
Sean McManus 99d98afcec Merge pull request #13021 from microsoft/main
Merge to insiders for 1.23.2
2024-12-04 20:04:33 -08:00
Colen Garoutte-Carson 44b736e84a Update changelog for 1.23.2 (#13020) 2024-12-04 18:55:51 -08:00
Sean McManus 052bcffe37 Fix an unnecessary cancel/re-request with GitHub Copilot requests (and fix some other bugs with Copilot exception handling) (#12988)
* Fix an unnecessary cancel/re-request with GitHub Copilot requests.
* A couple bug fixes from the previous PR.
* Fix another loc case.
2024-12-04 15:01:24 -08:00
Colen Garoutte-Carson 74d691f431 Update mac runner to macos-14 (#13013) 2024-12-03 15:21:03 -08:00
adrianstephens 9efde543c5 pass optional parameter to C_Cpp.ConfigurationSelect (#12993) 2024-12-02 19:19:52 -08:00
Glen Chung a6089eaa6c Support A/B Compiler Arguments Traits (#12979)
- Depends on cpptools' update to provide ProjectContextResult.
- Send "standardVersion" trait in completion prompt by default.
- Added the following new traits
  - intelliSenseDisclaimer: compiler information disclaimer.
  - intelliSenseDisclaimerBeginning: to note the beginning of IntelliSense information.
  - compilerArguments: a list of compiler command arguments that could affect Copilot generating completions.
  - directAsks: direct asking Copilot to do something instead of providing an argument.
  - intelliSenseDisclaimerEnd: to note the end of IntelliSense information.
- A/B Experimental flags
  - copilotcppTraits: deprecated, no longer used.
  - copilotcppExcludeTraits:: deprecated, no longer used.
  - copilotcppIncludeTraits: string array to include individual trait, i.e., compilerArguments.
  - copilotcppMsvcCompilerArgumentFilter: map of regex string to absence prompt for MSVC.
  - copilotcppClangCompilerArgumentFilter: map of regex string to absence prompt for Clang.
  - copilotcppGccCompilerArgumentFilter: map of regex string to absence prompt for GCC.
  - copilotcppCompilerArgumentDirectAskMap: map of argument to prompt.
2024-12-02 14:38:50 -08:00
Colen Garoutte-Carson 21a44d9be6 Add a string for multiple compile_commands.json (on native side) (#12964) 2024-12-02 12:31:42 -08:00
Bob Brown bfa3c7544e Add a CODEOWNERS file for required PR reviews (#12987) 2024-11-21 13:02:20 -08:00
dependabot[bot] 64e9106cb3 Bump cross-spawn from 7.0.3 to 7.0.6 in /Extension (#12973)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 10:46:12 -08:00
Colen Garoutte-Carson 05fbc0eae7 Fix matching of editorConfig sections patterns (#12953) 2024-11-12 18:44:32 -08:00
Colen Garoutte-Carson 9646722501 Address issue with Attempting to use languageClient before initialized (#12959) 2024-11-12 16:25:04 -08:00
Yiftah Waisman 911c39d054 Fixes to compile commands file watchers fallback logic (#12948)
* close file watchers before clearing the array
* keep track of fallback time per file
2024-11-12 16:02:42 -08:00
Sean McManus 784f1450c0 Merge pull request #12939 from microsoft/main
Update changelog. (#12938)
2024-11-06 13:56:23 -08:00
Sean McManus c9cae0b8c0 Update changelog. (#12938) 2024-11-06 12:43:56 -08:00
Sean McManus 7d26dd1c4f Merge pull request #12932 from microsoft/main
Merge for 1.23.1
2024-11-05 17:29:22 -08:00
Sean McManus 1b21b69422 Update changelog for 1.23.1 (#12931)
* Update changelog for 1.23.1
2024-11-05 17:15:09 -08:00
Sean McManus 37950ffb2d Merge pull request #12930 from microsoft/seanmcm/1_22_11_release
Cherry-pick and version and changelog update for 1.22.11
2024-11-05 15:05:32 -08:00
Sean McManus 23b0672837 Cherry-pick and update version and changelog for 1.22.11. 2024-11-05 14:44:40 -08:00
Colen Garoutte-Carson 7bafd64cfe Fix processing of bools and numbers in editorConfig files (#12923) 2024-11-05 14:35:27 -08:00
Colen Garoutte-Carson 390046ccf4 Fix processing of bools and numbers in editorConfig files (#12923) 2024-11-04 18:08:15 -08:00
Ben McMorran fcd0b0c25f Add telemetry for #cpp failures (#12910) 2024-10-30 17:02:51 -07:00
LucaandBen McMorran dc8140199b Ensure only wel known values are passed in to the LLM #2293227 (#12907)
Co-authored-by: Ben McMorran <[email protected]>
2024-10-30 14:32:31 -08:00
Bob Brown 1462b0dacb Normalize messages for bad paths (#12904) 2024-10-30 10:54:22 -07:00
Colen Garoutte-Carson e45dbcec9b Fix issue with requests in protocolFilter.ts causing stalls (#12906) 2024-10-29 18:46:13 -07:00
Sean McManus f51404d9db Switch to @vscode/dts. (#12901) 2024-10-29 17:57:47 -07:00
Sean McManus 381d69646b Merge pull request #12900 from microsoft/main
Merge for 1.23.0 (2nd time)
2024-10-29 13:02:21 -07:00
Sean McManus d56740e498 Update changelog (2nd time). (#12899)
* Update changelog (2nd time).
2024-10-29 12:40:07 -07:00
Ben McMorran 4138750b3b Enable #cpp for all users (#12898)
* Enable #cpp for all users

* Address PR comments
2024-10-29 12:05:17 -07:00
Sean McManus bfa36bc662 Merge pull request #12886 from microsoft/main
Merge for 1.23.0 (2nd time)
2024-10-24 16:59:12 -07:00
Sean McManus 8cb1deff76 Update changelog for 1.23.0 (#12880)
* Update changelog for 1.23.0.
2024-10-24 13:58:32 -07:00
Bob Brown 5416e79622 Values set in settings are not immediately available for use (#12881) 2024-10-24 13:42:43 -07:00
Sean McManus 5cbe83ec44 Merge pull request #12877 from microsoft/main
Preliminary merge for 1.23.0
2024-10-22 17:02:44 -07:00
Colen Garoutte-Carson e58e96369f Prevent redundant progressive squiggle updates (#12876) 2024-10-22 15:31:38 -07:00
Ben McMorran 1f7f2f77ad Switch to stable lmTools API (#12874)
* Revert "Check-in lmTools API to avoid build breaks (#12872)"

This reverts commit a248d107da.

* Switch to stable lmTools API
2024-10-22 09:08:31 -07:00
Ben McMorran a248d107da Check-in lmTools API to avoid build breaks (#12872) 2024-10-21 15:20:07 -07:00
Ben McMorran ddb7a5502d Fix E2E tests (#12871) 2024-10-21 14:02:25 -07:00
Sean McManus dead10ac8a Merge pull request #12870 from microsoft/seanmcm/1_22_10_release
Cherry-picks for 1.22.10
2024-10-21 14:00:18 -07:00
Colen Garoutte-Carson ce20613f24 Update changelog for 1.22.10 (#12852) 2024-10-21 12:51:56 -07:00
Ben McMorran 86c6c10f18 React to lmTools API breaking changes (#12866) 2024-10-21 12:50:06 -07:00
Colen Garoutte-Carson a61c55ca8c Update changelog for 1.22.10 (#12852) 2024-10-21 12:45:35 -07:00
Ben McMorran ad12ca63b0 React to lmTools API breaking changes (#12866) 2024-10-21 08:47:53 -07:00
[email protected] 456af8c7af [Auto] Localization - Translated Strings (#12469) 2024-10-18 11:55:23 -07:00
Colen Garoutte-Carson 4ed9e22ef2 Update edge strings for FI (#12847) 2024-10-18 11:19:06 -07:00
Colen Garoutte-Carson 401f91f3ab Ensure updates to openFileVersion data is not delayed (#12851) 2024-10-18 11:00:46 -07:00
Ben McMorran 9df3a17b11 Always use related files API for Copilot completions (#12848) 2024-10-17 15:05:33 -07:00
Sean McManus 038a5ee5e7 Update for clang-tidy 19. (#12834) 2024-10-16 15:34:25 -07:00
Sean McManus db6e0cb5cf Merge pull request #12839 from microsoft/seanmcm/1_22_9_update
Last minute updates for 1.22.9
2024-10-14 12:09:27 -07:00
Sean McManus f9e067f5d1 Last minute updates for 1.22.9. 2024-10-14 12:05:29 -07:00
Ben McMorran b137df0bcd React to breaking changes in lmTools API (#12838) 2024-10-14 12:04:56 -07:00
Ben McMorran a4998ed84a React to breaking changes in lmTools API (#12838) 2024-10-14 18:59:51 +00:00
Glen Chung 05c9176fb8 Add Cpp Context Traits to Completions Prompt (#12821)
- Move related files code to its own module
- Refactor related files provider code to enable unit testing
- Add Cpp context traits to completions prompt
2024-10-14 11:46:00 -07:00
Bob Brown f09715ff6b Add packages for copilot folks (#12822) 2024-10-10 11:56:26 -07:00
Sean McManus 827db55084 Merge pull request #12827 from microsoft/seanmcm/1_22_9_release
Merge for 1.22.9
2024-10-10 11:46:03 -07:00
Sean McManus 8a2324daaa Merge branch 'main' into seanmcm/1_22_9_release 2024-10-09 14:34:08 -07:00
Sean McManus c1de7373e6 Update changelog for 1.22.9. (#12823)
* Update changelog for 1.22.9.
2024-10-09 14:31:01 -07:00
Colen Garoutte-Carson d41ccfd497 Merge pull request #12818 from microsoft/main 2024-10-07 18:05:23 -07:00
Colen Garoutte-Carson 292d84f55a Update changelog for 1.22.8 (insiders) (#12816) 2024-10-07 17:59:23 -07:00
Bob Brown c2badddf6f clang-format/tidy version comparisons fail for some builds (#12813) 2024-10-07 13:54:49 -07:00
Sean McManus bdd3541f28 Merge branch 'main' into seanmcm/1_22_8_release 2024-10-04 15:07:46 -07:00
Sean McManus 3324ea8c86 Update changelog for 1.22.8. (#12802)
* Update changelog for 1.22.8.
2024-10-04 14:10:16 -07:00
Luca 34f0dd673c filter out C++ headers outside the current opened folder. (#12803) 2024-10-04 09:53:37 -08:00
Ben McMorran 23c9fb5a9f Fix break in lmTools API (#12801) 2024-10-03 11:10:17 -07:00
Ben McMorran 4b2dac32aa React to breaking changes in Copilot API (#12797) 2024-10-02 18:52:43 -07:00
Colen Garoutte-Carson 0364ab04ce Fix issue with Rename UI lingering after cancellation (#12796) 2024-10-01 17:24:27 -07:00
Sean McManus c8b7f13c1a Merge pull request #12791 from microsoft/main
Merge for 1.22.7
2024-09-30 16:12:32 -07:00
Sean McManus 911c04b96c Update changelog for 1.22.7. (#12790)
* Update changelog for 1.22.7.
2024-09-30 16:07:05 -07:00
Sean McManus 4c0a9ea3be Update TPN. (#12789) 2024-09-30 16:03:36 -07:00
Ben McMorranandSean McManus a5a748166b Add cancellation token to react to Copilot API changes (#12773)
* Add cancellation token to react to Copilot API changes

* Check for known LSP error code

---------

Co-authored-by: Sean McManus <[email protected]>
2024-09-30 14:56:20 -07:00
Bob Brown 1ec1c9bb94 Use the Microsoft CFS registry instead of npm's registry directly (#12787) 2024-09-30 12:46:12 -07:00
Sean McManus b70f1562c1 Adding vsix signing. (#12758) 2024-09-26 17:14:01 -07:00
Colen Garoutte-Carson c65b11bfb5 Fix an issue preventing use of a full command line in compilerPath (#12774) 2024-09-26 16:40:07 -07:00
Colen Garoutte-Carson 8d0d3601a7 Merge pull request #12770 from microsoft/main 2024-09-25 15:46:38 -07:00
Colen Garoutte-Carson 24314254db Update changelog for 1.22.6 (#12769) 2024-09-25 15:39:41 -07:00
Ben McMorran 5c588fba0c Remove parametersSchema for #cpp (#12768) 2024-09-25 15:04:48 -07:00
Sean McManus e9613ae7ad Merge pull request #12764 from microsoft/main
Merge for 1.22.5
2024-09-24 16:55:39 -07:00
Sean McManus 1e89750b0b 1.22.5 changelog (#12762)
* Update changelog for 1.22.5.
2024-09-24 16:45:58 -07:00
Sean McManus 4079b1e516 Fix Cg build. (#12759)
* Fix Cg build.
2024-09-23 19:49:52 -07:00
Sean McManus cc653f8685 Fix .js signing (#12757)
* Fix .js signing.
2024-09-23 18:55:38 -07:00
Ben McMorran b92dbb40c1 Update lmTools API (#12755) 2024-09-23 11:35:08 -07:00
Sean McManus 1f83dd7715 Add signing for .js files (#12749)
* Sign .js files.
2024-09-20 17:05:37 -07:00
Ben McMorran 8d7668ea88 Check related files API flag when IntelliSense is disabled (#12743) 2024-09-19 20:58:36 -07:00
Colen Garoutte-Carson 3570705b5c Merge pull request #12742 from microsoft/main 2024-09-19 16:12:27 -07:00
Colen Garoutte-Carson 478765f1fc Update changelog for 1.22.4 (again) (#12741) 2024-09-19 16:08:15 -07:00
Colen Garoutte-Carson 096b1463a6 Merge pull request #12740 from microsoft/main 2024-09-19 15:32:11 -07:00
Colen Garoutte-Carson 1f263c50b7 Work around issue with clang 18 and size_t (#12739) 2024-09-19 15:29:14 -07:00
Colen Garoutte-Carson 812318163d Merge pull request #12738 from microsoft/main 2024-09-19 15:04:30 -07:00
Colen Garoutte-Carson 0efda4b1c2 Update changelog for 1.22.4 (again) (#12737) 2024-09-19 14:53:51 -07:00
Ben McMorran ca12b97c37 Migrate to Copilot related files API (#12735) 2024-09-19 14:49:03 -07:00
Colen Garoutte-Carson 225b776d99 Merge pull request #12734 from microsoft/main 2024-09-18 14:30:06 -07:00
Colen Garoutte-Carson e4ae0b7fdf Update version and changelog for 1.22.4 (#12733) 2024-09-18 13:50:29 -07:00
Colen Garoutte-Carson 458ef304e8 Rework custom config requests (#12727) 2024-09-18 11:35:00 -07:00
Sean McManus 970f95bfea Update IntelliSense loc strings. (#12726) 2024-09-18 03:18:14 -07:00
Sean McManus cd4ef2329f Update changelog. (#12710) 2024-09-13 11:38:42 -07:00
Sean McManus ccc07f5adb Enable log diagnostics without a C/C++ file active. (#12701) 2024-09-13 11:33:44 -07:00
Sean McManus 50e0f8685a Show the reload window message when caseSensitiveFileSupport is changed. (#12700)
* Show the reload window message when caseSensitiveFileSupport is changed.
2024-09-13 11:22:51 -07:00
Colen Garoutte-Carson 12d95f4708 Merge pull request #12707 from microsoft/main 2024-09-12 12:23:00 -07:00
Colen Garoutte-Carson fc5a084781 Update changelog and version for 1.22.3 (#12703) 2024-09-12 11:50:17 -07:00
Ben McMorran 44671aa6b7 Update checkDTS() to be aware of lmTools (#12696) 2024-09-09 13:34:54 -07:00
Luca 731cccd8e3 Add C++ configuration as a language model tool (luca) (#12685) 2024-09-06 14:53:26 -07:00
Sean McManus 8718b9686b Fix extract to function formatting. (#12679) 2024-09-05 18:20:46 -07:00
Bob Brown 8111083f6a remove old loc files for TS files that don't exist anymore (#12686) 2024-09-05 12:21:57 -07:00
Bob Brown 7006e18ea4 The compiler path selection control is not in sync with the textbox (#12678) 2024-09-04 13:06:23 -07:00
Bob Brown f077665994 delete configuration properties when empty (#12670) 2024-09-04 10:34:48 -07:00
Bob Brown 93a20bc2de Update link to glob info (#12671) 2024-08-30 17:03:51 -07:00
Sean McManus 317df57496 Merge pull request #12658 from microsoft/main
Merge for 1.22.2
2024-08-29 19:31:09 -07:00
Sean McManus 86b698b503 Update changelog and version for 1.22.2. (#12657) 2024-08-29 19:04:49 -07:00
browntarik b7f76c507c Remove intellisenseEngineFallback description (#12655)
* Remove intellisenseEngineFallback description.
* Remove references to includeFallback.
2024-08-29 18:46:25 -07:00
browntarik fcdccd4dff Remove usage of intellisenseEngineFallback setting. (#12600) 2024-08-29 13:54:15 -07:00
Sean McManus f63c3652f8 Merge pull request #12654 from microsoft/main
Merge for 1.22.1
2024-08-29 13:36:59 -07:00
Sean McManus f222a97849 Update changelog for 1.22.1 (#12646)
* Update changelog for 1.22.1
2024-08-29 13:32:47 -07:00
Bob Brown 1f426edd13 Address a component governance report on webpack (#12649) 2024-08-28 10:53:10 -07:00
Bob Brown 994e7b9201 Log the values of editor settings that we track (#12635) 2024-08-27 17:04:01 -07:00
Sean McManus 5d62607760 Merge pull request #12633 from microsoft/main
Merge for 1.22.0 (2nd time)
2024-08-26 15:23:50 -07:00
Sean McManus 3dc7067c30 Update changelog (2nd time) (#12631) 2024-08-26 13:39:38 -07:00
Stanislav 49d987d747 Fix show a list local processes, if remote connection failed (useExtendedRemote) (#12623)
* Fix show a list local processes, if remote connection failed (useExtendedRemote)
2024-08-26 12:22:24 -07:00
dependabot[bot] c81120e7c4 Bump micromatch from 4.0.7 to 4.0.8 in /Extension (#12630)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.7 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/4.0.8/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.7...4.0.8)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 12:14:52 -07:00
Bob Brown e5ce40bfe1 Log the modified extension settings as part of Log Diagnostics (#12621) 2024-08-26 12:02:03 -07:00
Sean McManus d3cd4fcfd7 Fix vcFormat not working and other case comparison bugs. (#12620) 2024-08-23 11:15:42 -07:00
Colen Garoutte-Carson d8a6a98f4b Switch from LSP hover to HoverProvider (#12612) 2024-08-22 19:26:37 -07:00
Colen Garoutte-Carson 326f7d93b9 Spread out schedules of github actions to avoid 'rate limit' errors (#12616) 2024-08-22 18:10:15 -07:00
Colen Garoutte-Carson fbfddd2158 Prevent AddComment action from adding redundant comments (#12611) 2024-08-21 14:32:58 -07:00
Sean McManus 26d0932972 Merge pull request #12610 from microsoft/main
Merge for 1.22.0 (pre-release)
2024-08-21 14:05:26 -07:00
Sean McManus d7bfae6ed1 Update changelog/version for 1.22.0 (#12602)
* Update changelog and version for 1.22.0.
2024-08-21 13:24:07 -07:00
Sean McManus 66b934c6df Update TPN for 1.22.0. (#12601) 2024-08-21 11:44:04 -07:00
Colen Garoutte-Carson 7dcd5a48c0 Remove use of editorconfig module to avoid dependency on one-ini wasm file. (#12579) 2024-08-20 14:38:19 -07:00
Colen Garoutte-Carson a0f863c560 Fix LSP cancellation (#12592) 2024-08-20 14:25:37 -07:00
Garrett SerackandColen Garoutte-Carson 818f7c6899 Update scripts use of spawnSync to work with newer versions of nodejs (#12503)
Co-authored-by: Colen Garoutte-Carson <[email protected]>
2024-08-20 14:10:48 -07:00
Colen Garoutte-Carson cb50bb1b34 Fix addComment action (#12599) 2024-08-20 14:05:45 -07:00
Colen Garoutte-Carson 632454923c Add AddComment GitHub action, and workflows for tagging new debugger issues (#12496) 2024-08-20 13:25:14 -07:00
Bob Brown 06ed83878c Release pipelines for themes and extension pack (#12589) 2024-08-19 16:38:58 -07:00
Sean McManus 4a7fe28adc Update msvc versions for 17.11 (#12583)
* Update msvc versions for 17.11
2024-08-18 06:40:30 -07:00
Sean McManus 0ffdc003fa Fix "Replacement of a substring with itself" warning. (#12546) 2024-08-15 19:18:41 -07:00
browntarik d2bd3e035c Refactor compilerPath logic to reflect settings validation changes (#12556)
* Remove unnesseacary null check and set compilerPathIsExplicit when defaultCompilerPath is null

* Remove unneccessary else statement.

* Refactor changes

* Propogate null usage to reflect null typing for compilerPath.

* Remove normalization of null to undefined.

* Fix linting

* Add null to resolvedCompilerPath

* Update cpp_properties schema
2024-08-15 12:29:06 -07:00
Colen Garoutte-Carson d4c46c725d Update OneLocBuild pipeline (#12573) 2024-08-15 11:59:28 -07:00
Sean McManus 631c522737 Remove debug and ms from TPN (not actually distributed). (#12566) 2024-08-14 18:23:31 -07:00
Sean McManus 571f2d57ef Update axios to 1.7.4. (#12564) 2024-08-13 14:04:56 -07:00
Sean McManus 5cec9b93b8 Fix 5 high severity vulnerabilities in .github/actions. (#12562) 2024-08-13 12:17:20 -07:00
Sean McManus da2fcbc88c Fix vsce with cg.yml (#12561)
* Fix vsce via upgrading to node.js 18.
2024-08-12 14:20:27 -07:00
browntarik 3cf9a99864 Add Validation for VS Code Settings (#12454) 2024-08-09 12:18:44 -07:00
Sean McManus 99af8d886e Update changelog and version for 1.21.6 (#12539) 2024-08-05 10:38:27 -07:00
Sean McManus 3cc2650dfa Merge pull request #12538 from microsoft/seanmcm/1_21_6_release
Update changelog and version for 1.21.6
2024-08-05 09:27:22 -07:00
Sean McManus fdf9b5bfe0 Update changelog and version for 1.21.6 2024-08-02 18:31:39 -07:00
Sean McManus fdd71bc963 Merge pull request #12531 from microsoft/seanmcm/1_21_5_release
Update for 1.21.5.
2024-07-30 22:09:55 -07:00
Sean McManus b768a5440a Update for 1.21.5. (#12530) 2024-07-30 22:09:47 -07:00
Sean McManus 1d266a9c0e Update for 1.21.5. 2024-07-30 20:09:13 -07:00
Sean McManus 570862bf64 Update TPN for 1.21.4 (#12518) 2024-07-25 15:17:27 -07:00
Sean McManus f818529a08 Merge pull request #12517 from microsoft/seanmcm/1_21_4_release
Merge for 1.21.4
2024-07-25 15:13:50 -07:00
Sean McManus 41a05a90c8 Update TPN for 1.21.4 2024-07-25 15:09:54 -07:00
Sean McManus e59c6ca759 Go back to supporting VS Code 1.67.0 instead of 1.82.0. 2024-07-25 14:53:37 -07:00
Sean McManus 4e09135edc Go back to supporting VS Code 1.67.0 instead of 1.82.0. (#12515) 2024-07-25 14:37:18 -07:00
Sean McManus 287ee3961b Merge pull request #12500 from microsoft/seanmcm/1_21_3_release
Update changelog and version for 1.21.3. (#12499)
2024-07-23 19:33:36 -07:00
Sean McManus 8a8fd883ac Update changelog and version for 1.21.3. (#12499) 2024-07-23 19:32:29 -07:00
Sean McManus 15c6bdd613 Update changelog and version for 1.21.3. (#12499) 2024-07-23 19:30:20 -07:00
Bob Brown 7078f4b0bd Enable codeQL for TypeScript (#12490) 2024-07-19 11:30:20 -07:00
Sean McManus 626bb6e388 Change cpp editor.stickyScroll.defaultModel. (#12486) 2024-07-18 18:05:31 -07:00
Sean McManus 01829f8b81 Update 1.21.2 changelog in main. (#12485)
* Update 1.21.2 changelog in main.
* Update version
2024-07-18 21:46:31 +00:00
Colen Garoutte-Carson 9f2e50b2ef Update edge strings for FI (#12487) 2024-07-17 18:25:57 -07:00
Sean McManus 4fe56500a9 Merge pull request #12474 from microsoft/seanmcm/1_21_2_release
Merge for 1.21.2
2024-07-17 18:13:02 -07:00
Sean McManus 03911153f9 Update date. 2024-07-17 15:42:14 -07:00
Sean McManus acea31e572 Minor update. 2024-07-12 15:58:18 -07:00
Sean McManus bf21e01764 Update 2024-07-12 12:25:35 -07:00
Sean McManus 30f1361d23 Merge branch 'main' into seanmcm/1_21_2_release 2024-07-12 12:01:21 -07:00
Sean McManus 825033f768 Merge pull request #12467 from microsoft/main
Merge for 1.21.1 (pre-release)
2024-07-12 11:50:25 -07:00
Bob Brown 6fc05290e6 Strip quotes from debug configurations and fix an issue with quotes in paths (#12471) 2024-07-12 11:46:08 -07:00
Ben McMorran c976dba2dd Don't show warning notification when C_Cpp.getIncludes is disabled (#12470) 2024-07-12 10:53:28 -07:00
Sean McManus d5077a2575 Update changelog and version for 1.21.1. (#12449)
* Update changelog and version for 1.21.1.
2024-07-11 18:50:25 -07:00
[email protected] 3d01238ef9 [Auto] Localization - Translated Strings (#12279) 2024-07-11 17:56:25 -07:00
Sean McManus 0f7faae67f Fix multiple cpptools processes running with a multiroot workspace. (#12461) 2024-07-11 15:14:02 -07:00
Sean McManus 36dd0b874b Check extensions.ignoreRecommendations before doing insiders prompting. (#12447) 2024-07-09 17:27:30 -07:00
Colen Garoutte-Carson 14bd2e7f8e Update VCPkgHeadersDatabase.zip (#12430) 2024-07-02 18:32:09 -07:00
Colen Garoutte-Carson 9d321ce412 Fix an issue with missing custom configurations (#12427) 2024-07-01 14:34:21 -07:00
Colen Garoutte-Carson 7a1785d783 Update edge strings for FI (#12395) 2024-06-28 10:58:16 -07:00
browntarik b5057a1d02 Strip '\r' and '\n' from the end of each line if they exist when parsing the vcpkg database (#12416)
* Strip '\r' and '\n' from the end of each line if they exist when parsing the vcpkg database.

* remove debugging log

* Fix lint issue

* Revert regex

* Refactor line trimming

* Fix lint issues

* Remove old comment
2024-06-26 17:18:00 -07:00
browntarik 2d22b1493c Add @see and @sa Doxygen Tags with the "See Also:" label. (#12415)
* Add sa and see doxygen tags with the "See Also" label.

* remove redundant label

* Fix "See also" label
2024-06-26 15:08:02 -07:00
Sean McManus 3933174c29 Fix the tag parser busy indicator while initializing. (#12404) 2024-06-24 10:19:58 -07:00
Sean McManus d8426caacc Merge pull request #12389 from microsoft/main
Fix crash from loc message mismatch. (#12388)
2024-06-17 14:36:02 -07:00
Sean McManus 0061da69af Fix crash from loc message mismatch. (#12388) 2024-06-17 14:29:25 -07:00
Sean McManus 8942530744 Merge pull request #12386 from microsoft/main
Update changelog date. (#12385)
2024-06-17 11:03:29 -07:00
Sean McManus fced3fbd17 Update changelog date. (#12385) 2024-06-17 11:00:01 -07:00
Sean McManus e663939e56 Merge pull request #12374 from microsoft/seanmcm/1_21_0_insiders
Merge for 1.21.0
2024-06-13 19:22:14 -07:00
Sean McManus 1fb5b63ab7 Merge branch 'main' into seanmcm/1_21_0_insiders 2024-06-13 14:47:55 -07:00
Sean McManus 15c96e28da Updates for 1.21.0 (#12370)
* Updates for 1.21.0
2024-06-13 14:43:27 -07:00
Bob Brown 2327499cdb one-ini-bg.wasm is missing from the webpacked extension (#12369) 2024-06-13 12:10:48 -07:00
Bob Brown 9061b79f2b Update to the latest telemetry API (#12367) 2024-06-12 16:43:27 -07:00
Sean McManus cf35bbcd0e Revert back to glob 7 due to test failures (and update .github/actions dependencies) (#12365)
* Revert back to glob 7 due to test failures.
* Fix npm audit issues with .github/actions
2024-06-12 10:20:04 -07:00
Bob Brown a096f06683 Update top level documents for compliance (#12343) 2024-06-11 09:12:51 -07:00
Sean McManus 1cfd34ca23 Update dependencies, glob, and IntelliSense loc strings (#12317)
* Update dependencies
* Update TPN.
* Update glob.
* Update EDG loc strings.
2024-06-07 17:41:19 -07:00
Luca 923ecfa1cd make debugging easier to inspect local var value (#12358) 2024-06-07 15:28:22 -07:00
Sean McManus db61a690be Fixes/improvements to crash call stacks. (#12355)
* Fixes/improvements to crash call stacks.
2024-06-06 14:57:57 -07:00
Sean McManus 9a5f24fafb Update dependencies. (#12351) 2024-06-05 18:51:29 -07:00
Sean McManus 03933b0a74 Merge pull request #12277 from microsoft/seanmcm/1_20_5_release
Merge for 1.20.5
2024-05-07 20:26:45 -07:00
[email protected] fc8eb8632f [Auto] Localization - Translated Strings (#12236) 2024-05-03 16:06:02 -07:00
[email protected] cf2ea08800 [Auto] Localization - Translated Strings (#12236) 2024-05-03 15:33:13 -07:00
Sean McManus f6722bc8ff Update version and changelog for 1.20.5 (#12264)
* Update version and changelog for 1.20.5
2024-05-03 15:30:48 -07:00
Sean McManus 894db52405 Fix macOS version check. (#12276) 2024-05-03 15:29:46 -07:00
Sean McManus abf384619d Merge branch 'insiders' into seanmcm/1_20_5_release 2024-05-03 15:29:34 -07:00
Sean McManus 3182eed2ac Update version and changelog for 1.20.5 (#12264)
* Update version and changelog for 1.20.5
2024-05-03 14:44:48 -07:00
Sean McManus 054e826e2c Fix macOS version check. (#12276) 2024-05-03 13:13:46 -07:00
Sean McManus fd482d2169 Merge pull request #12274 from microsoft/seanmcm/1_20_4_cherrypick
Updates for 1.20.4 (#12273)
2024-05-02 11:16:42 -07:00
Sean McManus 2fafd831e5 Updates for 1.20.4 (#12273)
* Don't use the crash handler on macOS < 19.
* Update version and changelog.
2024-05-02 10:14:49 -07:00
Sean McManus b3af47fd03 Updates for 1.20.4 (#12273)
* Don't use the crash handler on macOS < 19.
* Update version and changelog.
2024-05-02 10:12:01 -07:00
Bob Brown fbea8eb211 Update CHANGELOG.md (#12271) 2024-05-01 14:16:34 -07:00
Sean McManus 1ceae9d4ed Merge pull request #12266 from microsoft/seanmcm/1_20_3_cherryPicks
Cherry-picks for 1.20.3
2024-04-30 16:18:52 -07:00
Sean McManus d4d5d4551f Update version and changelog for 1.20.3 (#12245)
* Update version and changelog for 1.20.3
2024-04-30 13:11:53 -07:00
Sean McManus 0ef77b5616 Improvements to crash call stack logging. (#12247)
* Updates to crash call stack logging.
* Move crash logging to its own channel.
2024-04-30 13:11:10 -07:00
Sean McManus 79c4412287 Update version and changelog for 1.20.3 (#12245)
* Update version and changelog for 1.20.3
2024-04-30 13:08:27 -07:00
Bob Brown 7c24091cc8 enable TSA and policheck (#12258) 2024-04-26 11:13:17 -07:00
Sean McManus efa93d8b59 Improvements to crash call stack logging. (#12247)
* Updates to crash call stack logging.
* Move crash logging to its own channel.
2024-04-25 16:38:21 -07:00
Sean McManus efdc8e90f6 Merge pull request #12235 from microsoft/seanmcm/1_20_2_cherryPicks2
Cherry-picks for 1.20.2
2024-04-19 17:17:01 -07:00
Sean McManus 9f020e9258 Update changelog for 1.20.2 (2nd time) (#12228)
* Update changelog
2024-04-19 16:57:13 -07:00
Bob Brown c058568767 rename the property again (#12233)
* rename the property again

* fail
2024-04-19 16:57:00 -07:00
browntarik 8809e69e91 Remove redundant variable resolution in handleSquiggles and fix error messaging for env and delimited paths under include paths in c_cpp_properties.json (#12188)
* remove redundant variable resolution

* fix lint

* remove resolveVariable redundancies

* change when resolve and split happens

* fix lint

* Resolve error checking for environment vars and delimited paths

* remove "path" from error messaging

* Adjust error messaging

* remove stray comment

* refactor error messaging + minor fix

* resolve lint

* Fix multi path squiggle regression

* Remove resolvedPath redundancies

* Refactor error messaging and squiggling

* Revert and improve error squiggling behavior

* fix linting

* properly proccess glob patterns + minor fixes

* fix comment positions

* Refactor error message + minor fix

* Fix telemetry metric + minor fix
2024-04-19 16:56:46 -07:00
Sean McManus 7af5c40dd0 Handle multiple cpptools-srv crashes. (#12225) 2024-04-19 16:56:33 -07:00
Sean McManus a1baeac6f7 Update changelog for 1.20.2 (2nd time) (#12228)
* Update changelog
2024-04-19 16:54:05 -07:00
Bob Brown 3b68eab6ca rename the property again (#12233)
* rename the property again

* fail
2024-04-19 14:55:19 -07:00
browntarik 997a042ebf Remove redundant variable resolution in handleSquiggles and fix error messaging for env and delimited paths under include paths in c_cpp_properties.json (#12188)
* remove redundant variable resolution

* fix lint

* remove resolveVariable redundancies

* change when resolve and split happens

* fix lint

* Resolve error checking for environment vars and delimited paths

* remove "path" from error messaging

* Adjust error messaging

* remove stray comment

* refactor error messaging + minor fix

* resolve lint

* Fix multi path squiggle regression

* Remove resolvedPath redundancies

* Refactor error messaging and squiggling

* Revert and improve error squiggling behavior

* fix linting

* properly proccess glob patterns + minor fixes

* fix comment positions

* Refactor error message + minor fix

* Fix telemetry metric + minor fix
2024-04-19 14:11:41 -07:00
Colen Garoutte-Carson aacc06ed27 Fix issue with not yet localized edge strings (#12232) 2024-04-19 13:50:22 -07:00
[email protected] 1ae5303cf0 [Auto] Localization - Translated Strings (#11999) 2024-04-19 13:48:48 -07:00
Sean McManus 7baeb52329 Handle multiple cpptools-srv crashes. (#12225) 2024-04-18 18:28:00 -07:00
Colen Garoutte-Carson 0e5ee3a4d4 Update edge loc strings for FI (#12217) 2024-04-18 15:53:11 -07:00
Sean McManus 1d2bd10691 Merge pull request #12223 from microsoft/main
Fix SettingsTracking treating numerical loggingLevel as invalid. (#12…
2024-04-18 15:11:30 -07:00
Sean McManus 21ef2e36d6 Fix SettingsTracking treating numerical loggingLevel as invalid. (#12216)
* Fix SettingsTracking treating numerical loggingLevel as invalid.
* Fix numeric loggingLevels.
* Return -1 numerical value on invalid levels.
2024-04-18 12:44:22 -07:00
Sean McManus dac96fe852 Merge pull request #12209 from microsoft/main
Merge for 1.20.2
2024-04-16 18:43:48 -07:00
Sean McManus b955eeb013 Update version and changelog for 1.20.2 (#12208) 2024-04-16 17:31:16 -07:00
Sean McManus 3e6b99925b Crash handler update (#12190)
* Minor update to watchForCrashes.
* Add preinitialize message.
2024-04-16 15:36:28 -07:00
Bob Brown f06f689488 rename telemetry property (#12202) 2024-04-15 17:05:48 -07:00
Bob Brown fec0d8854e Log more info with the configuration provider telemetry (#12193) 2024-04-13 09:01:53 -07:00
Sean McManus a1487e5e79 Merge pull request #12185 from microsoft/main
Merge for 1.20.1
2024-04-09 17:07:29 -07:00
Bob Brown 4650cfeeb9 Update CHANGELOG.md (#12186) 2024-04-09 14:43:42 -07:00
Sean McManus 35cda7ebb0 Update changelog for 1.20.1 (#12182)
* Update changelog for 1.20.1
2024-04-09 13:09:25 -07:00
Sean McManus 92a0494796 Update for libexecinfo crash handler change. (#12158)
* Update for libexecinfo crash handler change.
* Update ThirdPartyNotices.txt
2024-04-08 16:13:36 -07:00
Bob Brown d2bd18acf1 don't strip underscores when demangling (#12159) 2024-04-01 14:04:46 -07:00
Bob Brown f3cbf1237d clean up the pipeline runs (#12151) 2024-03-27 17:32:41 -07:00
Bob Brown 76509d6a0c Component Governance pipeline for vscode-cpptools (#12148) 2024-03-27 14:07:28 -07:00
Sean McManus 6f19496172 Merge pull request #12138 from microsoft/main
Merge for 1.20.0
2024-03-26 14:12:18 -07:00
Sean McManus 32ead756bb Update changelog and version for 1.20.0. 2024-03-25 16:17:37 -07:00
Colen Garoutte-Carson 976a1ba8e8 Update to clang-tidy 18.1.2 (#12135) 2024-03-22 18:14:30 -07:00
Garrett Serack 1c4292d8f5 remove unnecessary null (#12133) 2024-03-22 11:22:26 -07:00
Garrett Serack 1ab766bc5c Add setting to support max search results (#12131) 2024-03-21 11:17:24 -07:00
Colen Garoutte-Carson 127588ba57 Update changelog for 1.19.9 again (#12122) 2024-03-19 16:15:31 -07:00
Colen Garoutte-Carson ccd80fedb1 Update changelog 1.19.9 (#12117) 2024-03-18 13:21:27 -07:00
dependabot[bot]andSean McManus 1fc8731c2b Bump follow-redirects from 1.15.5 to 1.15.6 in /Extension (#12112)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sean McManus <[email protected]>
2024-03-18 12:31:43 -07:00
dependabot[bot]andSean McManus b6deaf9fa0 Bump follow-redirects from 1.15.4 to 1.15.6 in /.github/actions (#12111)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

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

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sean McManus <[email protected]>
2024-03-18 12:24:09 -07:00
browntarik a6eff82854 Add internal formatting support for Copy Declaration/Definition (#12055)
* Add text formatting for CopyDD

* fix lint issues

* Plumb up editor settings msg

* add vcFormat param

* Add formatParams to CDD + rollback changes

* fix lint issue

* update defaults

* Reafctor formatParams correctly for vcFormat and .editor_config

* populate editorConfigSettings

* minor fix

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

* resolve and split paths before validation

* expand glob patterns and do not expand incorrect paths

* Do not squiggle paths that need to be expanded

* revert change

* squiggle paths that end with *

* Do not squiggle paths that end with *

* properly squiggle glob paths with recursive includes

* correctly report squiggles with glob paths

* move check for asterisk to outer check

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

* Resolve userHome to os.homedir

* revert change

* fix lint issues

* Rework resolving variables + minor change

* Minor fixes
2024-03-07 10:59:30 -08:00
Colen Garoutte-Carson ae8c4aca58 Update edge json files for FI (#12074) 2024-03-06 19:47:10 -08:00
Colen Garoutte-Carson 79d0c06951 Update edge loc strings (#12073) 2024-03-06 18:58:33 -08:00
Colen Garoutte-Carson a877c6f1ae Fix forced include resolution (#12035) 2024-03-06 14:15:22 -08:00
Colen Garoutte-Carson 76ccb791ff Merge pull request #11947 from microsoft/main 2024-02-09 17:16:17 -08:00
Colen Garoutte-Carson a5a5735089 Merge pull request #11942 from microsoft/main 2024-02-08 17:07:45 -08:00
Sean McManus 5077edf585 Merge pull request #11886 from microsoft/main
Merge for 1.19.2 (2nd time)
2024-01-19 18:08:55 -08:00
Colen Garoutte-Carson f38926f8b1 Merge pull request #11874 from microsoft/main 2024-01-16 17:41:23 -08:00
Sean McManus 30de9bcc27 Merge pull request #11725 from microsoft/main
Update for 1.19.1 (#11724)
2023-11-21 17:12:17 -08:00
Sean McManus 100e2e0828 Merge pull request #11699 from microsoft/main
Merge for 1.19.0
2023-11-16 18:39:02 -08:00
Sean McManus e3b41771c6 Merge pull request #11639 from microsoft/main
Merge for 1.18.2 (2nd time)
2023-11-08 12:34:50 -08:00
Sean McManus 3f7f3090f6 Merge pull request #11633 from microsoft/main
Merge for 1.18.2
2023-11-07 15:59:34 -08:00
Sean McManus 4149493f2c Merge pull request #11607 from microsoft/main
Merge for 1.18.1
2023-11-01 17:55:01 -07:00
Sean McManus 43aad3f65c Merge pull request #11528 from microsoft/main
Update changelog (2nd time) (#11527)
2023-10-12 17:21:18 -07:00
Sean McManus bedcacb0a1 Merge pull request #11526 from microsoft/main
Merge for 1.18.0
2023-10-12 14:58:49 -07:00
Sean McManus a5f8f84b43 Merge pull request #11303 from microsoft/main
Merge for 1.17.1
2023-08-08 17:51:04 -07:00
Sean McManus e53b190380 Merge pull request #11253 from microsoft/main
Merge (again) for 1.17.0
2023-07-26 16:56:43 -07:00
Michelle Matias 1846fd4001 Merge pull request #11250 from microsoft/main 2023-07-26 14:15:17 -07:00
Colen Garoutte-Carson 62e09945e3 Merge pull request #11241 from microsoft/main 2023-07-24 17:32:28 -07:00
Michelle Matias c9b0db02fd Merge pull request #11230 from microsoft/main
Merge 1.17.0
2023-07-21 14:08:21 -07:00
Michelle Matias 51da619eec Merge pull request #11099 from microsoft/main
1.16.1 pre-release
2023-06-15 21:19:13 -07:00
Michelle Matias 3eb50568e9 Merge pull request #10986 from microsoft/main
[Auto] Localization - Translated Strings (#10889)
2023-05-22 13:53:52 -07:00
Michelle Matias 866b145645 Merge pull request #10975 from microsoft/main
1.16.0 pre-release
2023-05-19 15:52:02 -07:00
Sean McManus 9762fe5397 Merge pull request #10862 from microsoft/main
Merge for 1.15.3 (2nd time)
2023-04-21 19:00:16 -07:00
Sean McManus 377896c30a Merge pull request #10846 from microsoft/main
Merge for 1.15.3
2023-04-20 18:55:05 -07:00
Michelle Matias 98f13a6f11 Merge pull request #10815 from microsoft/main
Don't put the compiler selection in the global settings if using the …
2023-04-12 17:57:26 -07:00
Michelle Matias 0d85aea687 Merge pull request #10813 from microsoft/main
Revert walkthrough doc links until walkthrough is published (#10812)
2023-04-12 15:51:05 -07:00
Sean McManus 25d2b76514 Merge pull request #10811 from microsoft/main
Merge for 1.15.2
2023-04-12 11:03:43 -07:00
Sean McManus 42dfef3f6b Merge pull request #10728 from microsoft/main
Merge for 1.15.1
2023-03-22 11:43:15 -07:00
Sean McManus 1ce1e9cd71 Merge pull request #10716 from microsoft/main
Update changelog for 1.15.1. (#10708)
2023-03-21 09:53:45 -07:00
Sean McManus 65163966d5 Merge pull request #10679 from microsoft/main
Merge for 1.15.0
2023-03-15 17:17:35 -07:00
Sean McManus edf8e0a155 Merge pull request #10504 from microsoft/main
Merge for 1.14.2 (2nd time)
2023-02-09 16:30:37 -08:00
Sean McManus 4083075476 Merge pull request #10501 from microsoft/main
Merge for 1.14.2
2023-02-09 14:26:59 -08:00
Michelle Matias b745ebc218 Merge pull request #10453 from microsoft/main
1.14.1 pre-release merge
2023-02-01 14:29:00 -08:00
Michelle Matias b69d17a0f5 Merge pull request #10378 from microsoft/seanmcm/1_14_0_insiders
Merge for 1.14.0
2023-01-11 20:00:38 -08:00
Sean McManus be8b6fb693 Merge branch 'main' into seanmcm/1_14_0_insiders 2023-01-11 19:07:54 -08:00
479 changed files with 62813 additions and 58352 deletions
+2
View File
@@ -0,0 +1,2 @@
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
always-auth=true
+86
View File
@@ -0,0 +1,86 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.AddComment = void 0;
const ActionBase_1 = require("../common/ActionBase");
const utils_1 = require("../common/utils");
class AddComment extends ActionBase_1.ActionBase {
constructor(github, createdAfter, afterDays, labels, addComment, addLabels, removeLabels, setMilestoneId, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
this.github = github;
this.createdAfter = createdAfter;
this.afterDays = afterDays;
this.addComment = addComment;
this.addLabels = addLabels;
this.removeLabels = removeLabels;
this.setMilestoneId = setMilestoneId;
}
async run() {
const updatedTimestamp = this.afterDays ? (0, utils_1.daysAgoToHumanReadbleDate)(this.afterDays) : undefined;
const query = this.buildQuery((updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") +
(this.createdAfter ? `created:>${this.createdAfter} ` : "") +
"is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue();
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
) {
// Don't add a comment if already commented on by an action.
let foundActionComment = false;
for await (const commentBatch of issue.getComments()) {
for (const comment of commentBatch) {
if (comment.author.isGitHubApp) {
foundActionComment = true;
break;
}
}
if (foundActionComment)
break;
}
if (foundActionComment) {
(0, utils_1.safeLog)(`Issue ${hydrated.number} already commented on by an action. Ignoring.`);
continue;
}
if (this.addComment) {
(0, utils_1.safeLog)(`Posting comment on issue ${hydrated.number}`);
await issue.postComment(this.addComment);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
(0, utils_1.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) {
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
if (this.setMilestoneId != undefined) {
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
(0, utils_1.safeLog)(`Processing issue ${hydrated.number}.`);
}
else {
if (!hydrated.open) {
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
}
}
}
exports.AddComment = AddComment;
//# sourceMappingURL=AddComment.js.map
+98
View File
@@ -0,0 +1,98 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { GitHub } from '../api/api';
import { ActionBase } from '../common/ActionBase';
import { daysAgoToHumanReadbleDate, daysAgoToTimestamp, safeLog } from '../common/utils';
export class AddComment extends ActionBase {
constructor(
private github: GitHub,
private createdAfter: string | undefined,
private afterDays: number,
labels: string,
private addComment: string,
private addLabels?: string,
private removeLabels?: string,
private setMilestoneId?: string,
milestoneName?: string,
milestoneId?: string,
ignoreLabels?: string,
ignoreMilestoneNames?: string,
ignoreMilestoneIds?: string,
minimumVotes?: number,
maximumVotes?: number,
involves?: string
) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
}
async run() {
const updatedTimestamp = this.afterDays ? daysAgoToHumanReadbleDate(this.afterDays) : undefined;
const query = this.buildQuery(
(updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") +
(this.createdAfter ? `created:>${this.createdAfter} ` : "") +
"is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue();
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
) {
// Don't add a comment if already commented on by an action.
let foundActionComment = false;
for await (const commentBatch of issue.getComments()) {
for (const comment of commentBatch) {
if (comment.author.isGitHubApp) {
foundActionComment = true;
break;
}
}
if (foundActionComment)
break;
}
if (foundActionComment) {
safeLog(`Issue ${hydrated.number} already commented on by an action. Ignoring.`);
continue;
}
if (this.addComment) {
safeLog(`Posting comment on issue ${hydrated.number}`);
await issue.postComment(this.addComment);
}
if (removeLabelsSet.length > 0) {
for (const removeLabel of removeLabelsSet) {
if (removeLabel && removeLabel.length > 0) {
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) {
safeLog(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
if (this.setMilestoneId != undefined) {
safeLog(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
safeLog(`Processing issue ${hydrated.number}.`);
} else {
if (!hydrated.open) {
safeLog(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
}
}
}
+42
View File
@@ -0,0 +1,42 @@
name: Add Comment and Label
description: Add comment (etc) to issues that are marked with a specified label (etc)
inputs:
token:
description: GitHub token with issue, comment, and label read/write permissions
default: ${{ github.token }}
createdAfter:
description: Creation date after which to be considered.
required: false
afterDays:
description: Days to wait before performing this action (may be 0).
required: false
addComment:
description: Comment to add
labels:
description: items with these labels will be considered. May be "*".
required: true
milestoneName:
description: items with these milestones will be considered (name only, must match ID)
milestoneId:
description: items with these milestones will be considered (id only, must match name)
ignoreLabels:
description: items with these labels will not be considered
ignoreMilestoneNames:
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
ignoreMilestoneIds:
description: items with these milestones will not be considered (IDs only, must match names)
addLabels:
description: Labels to add to issue.
removeLabels:
description: Labels to remove from issue.
minimumVotes:
descriptions: Only issues with at least this many votes will be considered.
maximumVotes:
descriptions: Only issues fewer or equal to this many votes will be considered.
involves:
descriptions: Qualifier to find issues that in some way involve a certain user either as an author, assignee, or mentions.
readonly:
description: If true, changes are not applied.
runs:
using: 'node20'
main: 'index.js'
+20
View File
@@ -0,0 +1,20 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../common/utils");
const AddComment_1 = require("./AddComment");
const Action_1 = require("../common/Action");
class AddCommentAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'AddComment';
}
async onTriggered(github) {
await new AddComment_1.AddComment(github, (0, utils_1.getInput)('createdAfter') || undefined, +((0, utils_1.getInput)('afterDays') || 0), (0, utils_1.getRequiredInput)('labels'), (0, utils_1.getInput)('addComment') || '', (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 AddCommentAction().run(); // eslint-disable-line
//# sourceMappingURL=index.js.map
+36
View File
@@ -0,0 +1,36 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OctoKit } from '../api/octokit'
import { getInput, getRequiredInput } from '../common/utils'
import { AddComment } from './AddComment'
import { Action } from '../common/Action'
class AddCommentAction extends Action {
id = 'AddComment';
async onTriggered(github: OctoKit) {
await new AddComment(
github,
getInput('createdAfter') || undefined,
+(getInput('afterDays') || 0),
getRequiredInput('labels'),
getInput('addComment') || '',
getInput('addLabels') || undefined,
getInput('removeLabels') || undefined,
getInput('setMilestoneId') || undefined,
getInput('milestoneName') || undefined,
getInput('milestoneId') || undefined,
getInput('ignoreLabels') || undefined,
getInput('ignoreMilestoneNames') || undefined,
getInput('ignoreMilestoneIds') || undefined,
+(getInput('minimumVotes') || 0),
+(getInput('maximumVotes') || 9999999),
getInput('involves') || undefined
).run();
}
}
new AddCommentAction().run(); // eslint-disable-line
+2 -2
View File
@@ -15,7 +15,7 @@ inputs:
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
description: items with these labels will be considered. May be "*".
ignoreMilestoneNames:
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
ignoreMilestoneIds:
@@ -29,5 +29,5 @@ inputs:
readonly:
description: If true, changes are not applied.
runs:
using: 'node12'
using: 'node20'
main: 'index.js'
+2 -2
View File
@@ -19,7 +19,7 @@ inputs:
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
description: items with these labels will be considered. May be "*".
ignoreMilestoneNames:
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
ignoreMilestoneIds:
@@ -33,5 +33,5 @@ inputs:
readonly:
description: If true, changes are not applied.
runs:
using: 'node12'
using: 'node20'
main: 'index.js'
+105 -105
View File
@@ -1,106 +1,106 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.StaleCloser = void 0;
const ActionBase_1 = require("../common/ActionBase");
const utils_1 = require("../common/utils");
class StaleCloser extends ActionBase_1.ActionBase {
constructor(github, closeDays, labels, closeComment, pingDays, pingComment, additionalTeam, addLabels, removeLabels, setMilestoneId, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
this.github = github;
this.closeDays = closeDays;
this.closeComment = closeComment;
this.pingDays = pingDays;
this.pingComment = pingComment;
this.additionalTeam = additionalTeam;
this.addLabels = addLabels;
this.removeLabels = removeLabels;
this.setMilestoneId = setMilestoneId;
}
async run() {
const updatedTimestamp = (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(',') : [];
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue();
const lastCommentIterator = await issue.getComments(true).next();
if (lastCommentIterator.done) {
throw Error('Unexpected comment data');
}
const lastComment = lastCommentIterator.value[0];
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
) {
if (!lastComment ||
lastComment.author.isGitHubApp ||
pingTimestamp == undefined ||
// TODO: List the collaborators once per go rather than checking a single user each issue
this.additionalTeam.includes(lastComment.author.name) ||
await issue.hasWriteAccess(lastComment.author)) {
if (pingTimestamp != undefined) {
if (lastComment) {
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
}
else {
(0, utils_1.safeLog)(`No comments on issue ${hydrated.number}. Closing.`);
}
}
if (this.closeComment) {
(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) {
(0, utils_1.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) {
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
await issue.closeIssue("not_planned");
if (this.setMilestoneId != undefined) {
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
(0, utils_1.safeLog)(`Closing issue ${hydrated.number}.`);
}
else {
// Ping
if (hydrated.updatedAt < pingTimestamp && 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)
.replace('${author}', hydrated.author.name));
}
}
else {
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
}
}
}
else {
if (!hydrated.open) {
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
}
}
}
exports.StaleCloser = StaleCloser;
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.StaleCloser = void 0;
const ActionBase_1 = require("../common/ActionBase");
const utils_1 = require("../common/utils");
class StaleCloser extends ActionBase_1.ActionBase {
constructor(github, closeDays, labels, closeComment, pingDays, pingComment, additionalTeam, addLabels, removeLabels, setMilestoneId, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
super(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves);
this.github = github;
this.closeDays = closeDays;
this.closeComment = closeComment;
this.pingDays = pingDays;
this.pingComment = pingComment;
this.additionalTeam = additionalTeam;
this.addLabels = addLabels;
this.removeLabels = removeLabels;
this.setMilestoneId = setMilestoneId;
}
async run() {
const updatedTimestamp = this.closeDays ? (0, utils_1.daysAgoToHumanReadbleDate)(this.closeDays) : undefined;
const pingTimestamp = this.pingDays ? (0, utils_1.daysAgoToTimestamp)(this.pingDays) : undefined;
const query = this.buildQuery((updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
for await (const page of this.github.query({ q: query })) {
for (const issue of page) {
const hydrated = await issue.getIssue();
const lastCommentIterator = await issue.getComments(true).next();
if (lastCommentIterator.done) {
throw Error('Unexpected comment data');
}
const lastComment = lastCommentIterator.value[0];
if (hydrated.open && this.validateIssue(hydrated)
// TODO: Verify updated timestamp
) {
if (!lastComment ||
lastComment.author.isGitHubApp ||
pingTimestamp == undefined ||
// TODO: List the collaborators once per go rather than checking a single user each issue
this.additionalTeam.includes(lastComment.author.name) ||
await issue.hasWriteAccess(lastComment.author)) {
if (pingTimestamp != undefined) {
if (lastComment) {
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Closing.`);
}
else {
(0, utils_1.safeLog)(`No comments on issue ${hydrated.number}. Closing.`);
}
}
if (this.closeComment) {
(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) {
(0, utils_1.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) {
(0, utils_1.safeLog)(`Adding label on issue ${hydrated.number}: ${addLabel}`);
await issue.addLabel(addLabel);
}
}
}
await issue.closeIssue("not_planned");
if (this.setMilestoneId != undefined) {
(0, utils_1.safeLog)(`Setting milestone of issue ${hydrated.number} to id ${+this.setMilestoneId}`);
await issue.setMilestone(+this.setMilestoneId);
}
(0, utils_1.safeLog)(`Closing issue ${hydrated.number}.`);
}
else {
// Ping
if (hydrated.updatedAt < pingTimestamp && 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)
.replace('${author}', hydrated.author.name));
}
}
else {
(0, utils_1.safeLog)(`Last comment on issue ${hydrated.number} by ${lastComment.author.name}. Skipping.${hydrated.assignee ? ' cc @' + hydrated.assignee : ''}`);
}
}
}
else {
if (!hydrated.open) {
(0, utils_1.safeLog)(`Issue ${hydrated.number} is not open. Ignoring`);
}
}
}
}
}
}
exports.StaleCloser = StaleCloser;
//# sourceMappingURL=StaleCloser.js.map
+2 -2
View File
@@ -33,10 +33,10 @@ export class StaleCloser extends ActionBase {
}
async run() {
const updatedTimestamp = daysAgoToHumanReadbleDate(this.closeDays);
const updatedTimestamp = this.closeDays ? daysAgoToHumanReadbleDate(this.closeDays) : undefined;
const pingTimestamp = this.pingDays ? daysAgoToTimestamp(this.pingDays) : undefined;
const query = this.buildQuery((this.closeDays ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const query = this.buildQuery((updatedTimestamp ? `updated:<${updatedTimestamp} ` : "") + "is:open is:unlocked");
const addLabelsSet = this.addLabels ? this.addLabels.split(',') : [];
const removeLabelsSet = this.removeLabels ? this.removeLabels.split(',') : [];
+2 -2
View File
@@ -20,7 +20,7 @@ inputs:
milestoneId:
description: items with these milestones will be considered (id only, must match name)
labels:
description: items with these labels will not be considered. May be "*".
description: items with these labels will be considered. May be "*".
required: true
ignoreMilestoneNames:
description: items with these milestones will not be considered (names only, must match IDs). May be "*".
@@ -43,5 +43,5 @@ inputs:
readonly:
description: If true, changes are not applied.
runs:
using: 'node12'
using: 'node20'
main: 'index.js'
+20 -20
View File
@@ -1,21 +1,21 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../common/utils");
const StaleCloser_1 = require("./StaleCloser");
const Action_1 = require("../common/Action");
class StaleCloserAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'StaleCloser';
}
async onTriggered(github) {
var _a;
await new StaleCloser_1.StaleCloser(github, +(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
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../common/utils");
const StaleCloser_1 = require("./StaleCloser");
const Action_1 = require("../common/Action");
class StaleCloserAction extends Action_1.Action {
constructor() {
super(...arguments);
this.id = 'StaleCloser';
}
async onTriggered(github) {
var _a;
await new StaleCloser_1.StaleCloser(github, +(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
//# sourceMappingURL=index.js.map
+4 -4
View File
@@ -12,6 +12,10 @@ let numRequests = 0;
const getNumRequests = () => numRequests;
exports.getNumRequests = getNumRequests;
class OctoKit {
get octokit() {
numRequests++;
return this._octokit;
}
constructor(token, params, options = { readonly: false }) {
this.token = token;
this.params = params;
@@ -23,10 +27,6 @@ class OctoKit {
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 });
}
+182 -182
View File
@@ -1,183 +1,183 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ActionBase = void 0;
const utils_1 = require("./utils");
class ActionBase {
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
this.labels = labels;
this.milestoneName = milestoneName;
this.milestoneId = milestoneId;
this.ignoreLabels = ignoreLabels;
this.ignoreMilestoneNames = ignoreMilestoneNames;
this.ignoreMilestoneIds = ignoreMilestoneIds;
this.minimumVotes = minimumVotes;
this.maximumVotes = maximumVotes;
this.involves = involves;
this.labelsSet = [];
this.ignoreLabelsSet = [];
this.ignoreMilestoneNamesSet = [];
this.ignoreMilestoneIdsSet = [];
this.ignoreAllWithLabels = false;
this.ignoreAllWithMilestones = false;
this.involvesSet = [];
}
buildQuery(baseQuery) {
var _a, _b, _c, _d, _e, _f;
let query = baseQuery;
(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.
// TODO: Figure out a way to convert either from milestone name to ID, or vice versa.
// If label inclusion and exclusion are mixed, exclusion will take precedence.
// For example, an issue with both labels A and B will not match if B is excluded, even if A is included.
// If a milestoneName/milestoneId are set, ignoreMilenameName/ignoreMilestoneIds are ignored.
// GitHub does not appear to support searching for all issues with milestones (not lacking a milestone). "-no:milestone" does not work.
// GitHub does not appear to support searching for all issues with labels (not lacking a label). "-no:label" does not work.
// All indicated labels must be present
if (this.labels) {
if (((_a = this.labels) === null || _a === void 0 ? void 0 : _a.length) > 2 && ((_b = this.labels) === null || _b === void 0 ? void 0 : _b.startsWith('"')) && ((_c = this.labels) === null || _c === void 0 ? void 0 : _c.endsWith('"'))) {
this.labels = this.labels.substring(1, this.labels.length - 2);
}
this.labelsSet = (_d = this.labels) === null || _d === void 0 ? void 0 : _d.split(',');
for (const str of this.labelsSet) {
if (str != "") {
query = query.concat(` label:"${str}"`);
}
}
}
// The "involves" qualifier to find issues that in some way involve a certain user.
// It is a logical OR between the author, assignee, and mentions.
if (this.involves) {
this.involvesSet = (_e = this.involves) === null || _e === void 0 ? void 0 : _e.split(',');
for (const str of this.involvesSet) {
if (str != "") {
query = query.concat(` involves:"${str}"`);
}
}
}
if (this.ignoreLabels) {
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
query = query.concat(` no:label`);
this.ignoreAllWithLabels = true;
}
else {
this.ignoreLabelsSet = (_f = this.ignoreLabels) === null || _f === void 0 ? void 0 : _f.split(',');
for (const str of this.ignoreLabelsSet) {
if (str != "") {
query = query.concat(` -label:"${str}"`);
}
}
}
}
if (this.milestoneName) {
query = query.concat(` milestone:"${this.milestoneName}"`);
}
else if (this.ignoreMilestoneNames) {
if (this.ignoreMilestoneNames == "*") {
query = query.concat(` no:milestone`);
this.ignoreAllWithMilestones = true;
}
else if (this.ignoreMilestoneIds) {
this.ignoreMilestoneNamesSet = this.ignoreMilestoneNames.split(',');
this.ignoreMilestoneIdsSet = this.ignoreMilestoneIds.split(',');
for (const str of this.ignoreMilestoneNamesSet) {
if (str != "") {
query = query.concat(` -milestone:"${str}"`);
}
}
}
}
return query;
}
// This is necessary because GitHub sometimes returns incorrect results,
// and because issues may get modified while we are processing them.
validateIssue(issue) {
var _a, _b;
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
(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) {
(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)) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set.`);
return false;
}
}
// Make sure no labels we wanted to ignore are present.
if (issue.labels && issue.labels.length > 0) {
for (const str of this.ignoreLabelsSet) {
if (issue.labels.includes(str)) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
return false;
}
}
}
}
if (this.ignoreAllWithMilestones) {
// Validate that the issue does not have a milestone.
if (issue.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 != 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.milestone && issue.milestone.milestoneId != null) {
for (const str of this.ignoreMilestoneIdsSet) {
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;
}
}
}
}
// Verify the issue has a sufficient number of upvotes
let upvotes = 0;
if (issue.reactions) {
upvotes = issue.reactions['+1'];
}
if (this.minimumVotes != undefined) {
if (upvotes < this.minimumVotes) {
(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) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
return true;
}
}
exports.ActionBase = ActionBase;
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ActionBase = void 0;
const utils_1 = require("./utils");
class ActionBase {
constructor(labels, milestoneName, milestoneId, ignoreLabels, ignoreMilestoneNames, ignoreMilestoneIds, minimumVotes, maximumVotes, involves) {
this.labels = labels;
this.milestoneName = milestoneName;
this.milestoneId = milestoneId;
this.ignoreLabels = ignoreLabels;
this.ignoreMilestoneNames = ignoreMilestoneNames;
this.ignoreMilestoneIds = ignoreMilestoneIds;
this.minimumVotes = minimumVotes;
this.maximumVotes = maximumVotes;
this.involves = involves;
this.labelsSet = [];
this.ignoreLabelsSet = [];
this.ignoreMilestoneNamesSet = [];
this.ignoreMilestoneIdsSet = [];
this.ignoreAllWithLabels = false;
this.ignoreAllWithMilestones = false;
this.involvesSet = [];
}
buildQuery(baseQuery) {
var _a, _b, _c, _d, _e, _f;
let query = baseQuery;
(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.
// TODO: Figure out a way to convert either from milestone name to ID, or vice versa.
// If label inclusion and exclusion are mixed, exclusion will take precedence.
// For example, an issue with both labels A and B will not match if B is excluded, even if A is included.
// If a milestoneName/milestoneId are set, ignoreMilenameName/ignoreMilestoneIds are ignored.
// GitHub does not appear to support searching for all issues with milestones (not lacking a milestone). "-no:milestone" does not work.
// GitHub does not appear to support searching for all issues with labels (not lacking a label). "-no:label" does not work.
// All indicated labels must be present
if (this.labels) {
if (((_a = this.labels) === null || _a === void 0 ? void 0 : _a.length) > 2 && ((_b = this.labels) === null || _b === void 0 ? void 0 : _b.startsWith('"')) && ((_c = this.labels) === null || _c === void 0 ? void 0 : _c.endsWith('"'))) {
this.labels = this.labels.substring(1, this.labels.length - 2);
}
this.labelsSet = (_d = this.labels) === null || _d === void 0 ? void 0 : _d.split(',');
for (const str of this.labelsSet) {
if (str != "") {
query = query.concat(` label:"${str}"`);
}
}
}
// The "involves" qualifier to find issues that in some way involve a certain user.
// It is a logical OR between the author, assignee, and mentions.
if (this.involves) {
this.involvesSet = (_e = this.involves) === null || _e === void 0 ? void 0 : _e.split(',');
for (const str of this.involvesSet) {
if (str != "") {
query = query.concat(` involves:"${str}"`);
}
}
}
if (this.ignoreLabels) {
if (this.ignoreLabels == "*" && !this.labels) { // only if unlabeled
query = query.concat(` no:label`);
this.ignoreAllWithLabels = true;
}
else {
this.ignoreLabelsSet = (_f = this.ignoreLabels) === null || _f === void 0 ? void 0 : _f.split(',');
for (const str of this.ignoreLabelsSet) {
if (str != "") {
query = query.concat(` -label:"${str}"`);
}
}
}
}
if (this.milestoneName) {
query = query.concat(` milestone:"${this.milestoneName}"`);
}
else if (this.ignoreMilestoneNames) {
if (this.ignoreMilestoneNames == "*") {
query = query.concat(` no:milestone`);
this.ignoreAllWithMilestones = true;
}
else if (this.ignoreMilestoneIds) {
this.ignoreMilestoneNamesSet = this.ignoreMilestoneNames.split(',');
this.ignoreMilestoneIdsSet = this.ignoreMilestoneIds.split(',');
for (const str of this.ignoreMilestoneNamesSet) {
if (str != "") {
query = query.concat(` -milestone:"${str}"`);
}
}
}
}
return query;
}
// This is necessary because GitHub sometimes returns incorrect results,
// and because issues may get modified while we are processing them.
validateIssue(issue) {
var _a, _b;
if (this.ignoreAllWithLabels) {
// Validate that the issue does not have labels
if (issue.labels && issue.labels.length !== 0) {
(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) {
(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)) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to not having a required label set.`);
return false;
}
}
// Make sure no labels we wanted to ignore are present.
if (issue.labels && issue.labels.length > 0) {
for (const str of this.ignoreLabelsSet) {
if (issue.labels.includes(str)) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having an ignore label set: ${str}`);
return false;
}
}
}
}
if (this.ignoreAllWithMilestones) {
// Validate that the issue does not have a milestone.
if (issue.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 != 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.milestone && issue.milestone.milestoneId != null) {
for (const str of this.ignoreMilestoneIdsSet) {
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;
}
}
}
}
// Verify the issue has a sufficient number of upvotes
let upvotes = 0;
if (issue.reactions) {
upvotes = issue.reactions['+1'];
}
if (this.minimumVotes != undefined) {
if (upvotes < this.minimumVotes) {
(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) {
(0, utils_1.safeLog)(`Issue ${issue.number} skipped due to having more than ${this.maximumVotes} upvotes. Had: ${upvotes}`);
return false;
}
}
return true;
}
}
exports.ActionBase = ActionBase;
//# sourceMappingURL=ActionBase.js.map
+3649 -3475
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -11,11 +11,11 @@
"author": "",
"dependencies": {
"@actions/core": "^1.9.1",
"@actions/github": "^5.0.3",
"@octokit/rest": "^19.0.3",
"@actions/github": "^6.0.0",
"@octokit/rest": "^21.1.1",
"@slack/web-api": "^6.9.1",
"applicationinsights": "^2.5.1",
"axios": "^1.6.1",
"axios": "^1.8.2",
"uuid": "^8.3.2"
},
"devDependencies": {
+29
View File
@@ -0,0 +1,29 @@
name: Bug - debugger
on:
schedule:
- cron: 50 12 * * * # Run at 12:50 PM UTC (4:50 AM PST, 5:50 AM PDT)
workflow_dispatch:
inputs:
readonly:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Add Comment
uses: ./.github/actions/AddComment
with:
readonly: ${{ github.event.inputs.readonly }}
labels: bug,debugger
ignoreLabels: "investigate: costing,investigate,external,by design,question,more info needed,Language Service,internal"
createdAfter: "2024-07-22"
addComment: "Thank you for reporting this issue. Well let you know if we need more information to investigate it. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated."
addLabels: help wanted
@@ -1,7 +1,7 @@
name: By Design closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron: 0 13 * * * # Run at 1:00 PM UTC (5:00 AM PST, 6:00 AM PDT)
workflow_dispatch:
inputs:
readonly:
@@ -23,6 +23,6 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: by design,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
closeDays: 0
closeComment: "This issue has been closed because the described behavior was determined to be by design."
+1 -1
View File
@@ -10,6 +10,6 @@ jobs:
job:
uses: ./.github/workflows/job-compile-and-test.yml
with:
runner-env: macos-12
runner-env: macos-14
platform: mac
yarn-args: --network-timeout 100000
+93
View File
@@ -0,0 +1,93 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ "main", "insiders", "release", "vs" ]
pull_request:
branches: [ "main", "insiders", "release", "vs" ]
schedule:
- cron: '29 4 * * 3'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
# only required for workflows in private repositories
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- language: javascript-typescript
build-mode: none
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
@@ -1,7 +1,7 @@
name: Enhancement Closer (no milestone)
on:
schedule:
- cron: 50 11 * * * # Run at 11:50 AM UTC (3:50 AM PST, 4:50 AM PDT)
- cron: 40 12 * * * # Run at 12:40 PM UTC (4:40 AM PST, 5:40 AM PDT)
workflow_dispatch:
inputs:
readonly:
@@ -1,7 +1,7 @@
name: Enhancement Closer (Triage)
on:
schedule:
- cron: 40 11 * * * # Run at 11:40 AM UTC (3:40 AM PST, 4:40 AM PDT)
- cron: 30 12 * * * # Run at 12:30 PM UTC (4:30 AM PST, 5:30 AM PDT)
workflow_dispatch:
inputs:
readonly:
+1 -1
View File
@@ -1,7 +1,7 @@
name: Enhancement Reopener
on:
schedule:
- cron: 20 12 * * * # Run at 12:20 PM UTC (4:20 AM PST, 5:20 AM PDT)
- cron: 0 11 * * * # Run at 11:00 AM UTC (3:00 AM PST, 4:00 AM PDT)
workflow_dispatch:
inputs:
readonly:
@@ -1,7 +1,7 @@
name: External closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron: 10 13 * * * # Run at 1:10 PM UTC (5:10 AM PST, 6:10 AM PDT)
workflow_dispatch:
inputs:
readonly:
@@ -23,6 +23,6 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: external,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
closeDays: 0
closeComment: "This issue has been closed because it is external or not applicable to the extension."
@@ -0,0 +1,29 @@
name: Feature Request - debugger
on:
schedule:
- cron: 20 13 * * * # Run at 1:20 PM UTC (5:20 AM PST, 6:20 AM PDT)
workflow_dispatch:
inputs:
readonly:
description: "readonly: Specify true or 1 to prevent changes from being commited to GitHub"
default: false
jobs:
main:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout Actions
uses: actions/checkout@v2
- name: Install Actions
run: cd ./.github/actions && npm install --production && cd ../..
- name: Add Comment
uses: ./.github/actions/AddComment
with:
readonly: ${{ github.event.inputs.readonly }}
labels: Feature Request,debugger
ignoreLabels: "investigate: costing,investigate,external,by design,question,more info needed,Language Service,internal"
createdAfter: "2024-07-22"
addComment: "Thank you for your feature request. While we may not be able to implement it immediately, we will monitor community reactions to see how it fits into our backlog. Additionally, if you're working with GDB/LLDB, please note that the code is open source at https://github.com/microsoft/MIEngine/wiki/Contributing-Code . Your contributions are always welcome and appreciated."
addLabels: help wanted
@@ -1,7 +1,7 @@
name: Investigate closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron: 30 13 * * * # Run at 1:30 PM UTC (5:30 AM PST, 6:30 AM PDT)
workflow_dispatch:
inputs:
readonly:
@@ -23,6 +23,6 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: investigate,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
closeDays: 180
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."
@@ -1,7 +1,7 @@
name: Investigate Costing closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron: 40 13 * * * # Run at 1:40 PM UTC (5:40 AM PST, 6:40 AM PDT)
workflow_dispatch:
inputs:
readonly:
@@ -23,6 +23,6 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: "investigate: costing,debugger"
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
closeDays: 180
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."
+12 -4
View File
@@ -19,12 +19,12 @@ jobs:
runs-on: ${{ inputs.runner-env }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Use Node.js 16
uses: actions/setup-node@v3
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 16
node-version: 22
- name: Install Dependencies
run: yarn install ${{ inputs.yarn-args }}
@@ -42,6 +42,14 @@ jobs:
run: yarn test
working-directory: Extension
# These tests don't require the binary.
# On Linux, it is failing (before the tests actually run) with: Test run terminated with signal SIGSEGV.
# But it works on Linux during the E2E test.
- name: Run SingleRootProject tests
if: ${{ inputs.platform != 'linux' }}
run: yarn test --scenario=SingleRootProject --skipCheckBinaries
working-directory: Extension
# NOTE : We can't run the test that require the native binary files
# yet -- there will be an update soon that allows the tester to
# acquire them on-the-fly
@@ -1,7 +1,7 @@
name: More Info Needed Closer - debugger
on:
schedule:
- cron: 10 11 * * * # Run at 11:10 AM UTC (3:10 AM PST, 4:10 AM PDT)
- cron: 50 13 * * * # Run at 1:50 PM UTC (5:50 AM PST, 6:50 AM PDT)
workflow_dispatch:
inputs:
readonly:
@@ -23,7 +23,7 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: more info needed,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
involves: wardengnaw,pieandcakes,calgagi
closeDays: 14
closeComment: "This issue has been closed because it needs more information and has not had recent activity."
@@ -1,7 +1,7 @@
name: Question Closer - debugger
on:
schedule:
- cron: 20 11 * * * # Run at 11:20 AM UTC (3:20 AM PST, 4:20 AM PDT)
- cron: 0 14 * * * # Run at 2:00 PM UTC (6:00 AM PST, 7:00 AM PDT)
workflow_dispatch:
inputs:
readonly:
@@ -23,7 +23,7 @@ jobs:
with:
readonly: ${{ github.event.inputs.readonly }}
labels: question,debugger
ignoreLabels: language service,internal
ignoreLabels: Language Service,internal
involves: wardengnaw,pieandcakes,calgagi
closeDays: 14
closeComment: "This issue has been closed because it is a question and has not had recent activity."
+112
View File
@@ -0,0 +1,112 @@
name: $(date:yyyyMMdd)$(rev:.r)
trigger:
branches:
include:
- main
- release
schedules:
- cron: 30 5 * * 0
branches:
include:
- main
always: true
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
variables:
- name: Codeql.Enabled
value: true
- name: Codeql.Language
value: javascript
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
tsa:
enabled: true
config:
tsaVersion: TsaV2
codebase: NewOrUpdate
codebaseName: vscode-cpptools
tsaStamp: $(TsaProjectName)
tsaEnvironment: PROD
notificationAliases: $(TsaNotificationAlias)
codebaseAdmins: $(TsaCodebaseAdmins)
instanceUrl: $(TsaInstanceUrl)
projectName: $(TsaProjectName)
areaPath: $(TsaAreaPath)
iterationPath: $(TsaIterationPath)
alltools: true
repositoryName: vscode-cpptools
policheck:
enabled: true
featureFlags:
autoBaseline: false
stages:
- stage: build
jobs:
- job: Phase_1
displayName: Build cpptools.vsix
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
templateContext:
outputs:
- output: pipelineArtifact
displayName: 'cpptools.vsix'
condition: succeeded()
targetPath: $(Build.ArtifactStagingDirectory)\Extension
artifactName: cpptools.vsix
steps:
- checkout: self
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
displayName: Use Yarn 1.x
- task: UseNode@1
displayName: Use Node 22.x
inputs:
version: 22.x
- script: IF EXIST %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc del %SYSTEMDRIVE%\Users\%USERNAME%\.npmrc
displayName: Delete .npmrc if it exists
- task: Npm@0
displayName: Install vsce
inputs:
arguments: --global @vscode/vsce
- script: mkdir $(Build.ArtifactStagingDirectory)\Extension
displayName: Create Extension Staging Directory
- script: yarn run vsix-prepublish
displayName: Build files
workingDirectory: $(Build.SourcesDirectory)\Extension
- script: |
cd $(Build.SourcesDirectory)\Extension
vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix
name: ProcessRunner_12
displayName: Run VSCE to package vsix
- task: Npm@0
displayName: Uninstall vsce
inputs:
command: uninstall
arguments: --global @vscode/vsce
+67 -37
View File
@@ -2,11 +2,14 @@
# Pipeline for VsCodeExtension-Localization build definition
# Runs OneLocBuild task to localize xlf file
# ==================================================================================
resources:
repositories:
- repository: self
clean: true
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
trigger: none
pr: none
@@ -18,45 +21,72 @@ schedules:
- main
always: true
pool:
name: 'AzurePipelines-EO'
demands:
- ImageOverride -equals AzurePipelinesWindows2022compliant
variables:
TeamName: cpptools
Codeql.Language: javascript
steps:
- task: NodeTool@0
inputs:
versionSpec: '16.x'
displayName: 'Install Node.js'
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
stages:
- stage: stage
jobs:
- job: job
templateContext:
outputs:
- output: pipelineArtifact
targetPath: '$(Build.ArtifactStagingDirectory)'
artifactName: 'drop'
publishLocation: 'Container'
steps:
- task: NodeTool@0
inputs:
versionSpec: '22.x'
displayName: 'Install Node.js'
- task: CmdLine@2
inputs:
script: 'cd Extension && yarn install'
- task: CmdLine@2
inputs:
script: 'cd Extension && yarn install'
- task: CmdLine@2
inputs:
script: 'cd ./Extension && yarn run translations-export && cd ..'
- 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'
# Requires Azure client 2.x
- task: AzureCLI@2
displayName: 'Set OneLocBuildToken'
enabled: true
inputs:
azureSubscription: '$(AzureSubscription)' # Azure DevOps service connection
scriptType: 'pscore'
scriptLocation: 'inlineScript'
inlineScript: |
$token = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
Write-Host "##vso[task.setvariable variable=AzDO.OneLocBuildToken;issecret=true]${token}"
- 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: OneLocBuild@2
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
inputs:
locProj: 'Build/loc/LocProject.json'
outDir: '$(Build.ArtifactStagingDirectory)'
isCreatePrSelected: false
prSourceBranchPrefix: 'locfiles'
packageSourceAuth: 'patAuth'
patVariable: '$(AzDO.OneLocBuildToken)'
LclSource: lclFilesfromPackage
LclPackageId: 'LCL-JUNO-PROD-VCPP'
lsBuildXLocPackageVersion: '7.0.30510'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- 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 ..'
+48
View File
@@ -0,0 +1,48 @@
name: $(date:yyyyMMdd)$(rev:.r)
trigger: none
pr: none
parameters:
- name: verifyVersion
displayName: Attest version in package.json is correct
type: boolean
default: false
- name: verifyReadme
displayName: Attest README.md is updated
type: boolean
default: false
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
stages:
- stage: package
jobs:
# Introduce pipeline compilation errors to block scheduling if the requisite parameters are not set
- ${{ if not(eq(parameters.verifyVersion, true)) }}:
- 'The version in package.json should be updated before scheduling the pipeline.'
- ${{ if not(eq(parameters.verifyReadme, true)) }}:
- 'README.md should be updated before scheduling the pipeline.'
- template: /Build/package/jobs_package_vsix.yml@self
parameters:
vsixName: cpptools-extension-pack.vsix
srcDir: ExtensionPack
+48
View File
@@ -0,0 +1,48 @@
name: $(date:yyyyMMdd)$(rev:.r)
trigger: none
pr: none
parameters:
- name: verifyVersion
displayName: Attest version in package.json is correct
type: boolean
default: false
- name: verifyReadme
displayName: Attest README.md is updated
type: boolean
default: false
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
stages:
- stage: package
jobs:
# Introduce pipeline compilation errors to block scheduling if the requisite parameters are not set
- ${{ if not(eq(parameters.verifyVersion, true)) }}:
- 'The version in package.json should be updated before scheduling the pipeline.'
- ${{ if not(eq(parameters.verifyReadme, true)) }}:
- 'README.md should be updated before scheduling the pipeline.'
- template: /Build/package/jobs_package_vsix.yml@self
parameters:
vsixName: cpptools-themes.vsix
srcDir: Themes
+49
View File
@@ -0,0 +1,49 @@
parameters:
- name: vsixName
type: string
default: ''
- name: srcDir
type: string
default: ''
jobs:
- job: package
displayName: Build ${{ parameters.vsixName }}
timeoutInMinutes: 30
cancelTimeoutInMinutes: 1
templateContext:
outputs:
- output: pipelineArtifact
displayName: '${{ parameters.vsixName }}'
targetPath: $(Build.ArtifactStagingDirectory)\vsix
artifactName: vsix
steps:
- checkout: self
- task: UseNode@1
displayName: Use Node 22.x
inputs:
version: 22.x
- task: Npm@0
displayName: Install vsce
inputs:
arguments: --global @vscode/vsce
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
displayName: Use Yarn 1.x
- script: mkdir $(Build.ArtifactStagingDirectory)\vsix
displayName: Create Staging Directory
- script: |
cd $(Build.SourcesDirectory)\${{ parameters.srcDir }}
vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}
displayName: Run VSCE to package vsix
- task: Npm@0
displayName: Uninstall vsce
inputs:
command: uninstall
arguments: --global @vscode/vsce
+43
View File
@@ -0,0 +1,43 @@
name: $(Date:yyyyMMdd)$(rev:.r)
trigger: none
pr: none
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
pipelines:
- pipeline: vsixBuild
source: '\VC\VSCode\CpptoolsVSIX\Package cpptools-extension-pack'
trigger: true
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
stages:
- stage: Validate
jobs:
- template: /Build/publish/jobs_manual_validation.yml@self
parameters:
notifyUsers: $(NotifyUsers)
releaseBuildUrl: $(ReleaseBuildUrl)
- stage: Release
dependsOn: Validate
jobs:
- template: /Build/publish/jobs_publish_vsix.yml@self
parameters:
vsixName: cpptools-extension-pack.vsix
+43
View File
@@ -0,0 +1,43 @@
name: $(Date:yyyyMMdd)$(rev:.r)
trigger: none
pr: none
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release
pipelines:
- pipeline: vsixBuild
source: '\VC\VSCode\CpptoolsVSIX\Package cpptools-themes'
trigger: true
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
sdl:
sourceAnalysisPool:
name: AzurePipelines-EO
image: AzurePipelinesWindows2022compliantGPT
os: windows
stages:
- stage: Validate
jobs:
- template: /Build/publish/jobs_manual_validation.yml@self
parameters:
notifyUsers: $(NotifyUsers)
releaseBuildUrl: $(ReleaseBuildUrl)
- stage: Release
dependsOn: Validate
jobs:
- template: /Build/publish/jobs_publish_vsix.yml@self
parameters:
vsixName: cpptools-themes.vsix
+19
View File
@@ -0,0 +1,19 @@
parameters:
- name: notifyUsers
type: string
default: ''
- name: releaseBuildUrl
type: string
default: ''
jobs:
- job: WaitForValidation
displayName: Wait for VSIX validation
pool: server
steps:
- task: ManualValidation@0
displayName: "Manual Validation"
inputs:
notifyUsers: $(notifyUsers)
instructions: |
Download and test the vsix from the latest release build: $(releaseBuildUrl)
+44
View File
@@ -0,0 +1,44 @@
parameters:
- name: vsixName
type: string
default: ''
jobs:
- job: Publish
displayName: Publish to Marketplace
templateContext:
type: releaseJob
isProduction: true
inputs:
- input: pipelineArtifact
pipeline: vsixBuild
artifactName: vsix
targetPath: $(Build.StagingDirectory)\vsix
steps:
- task: NodeTool@0
displayName: Use Node 22.x
inputs:
versionSpec: 22.x
- task: Npm@0
displayName: Install vsce
inputs:
arguments: --global @vscode/vsce
- task: AzureCLI@2
displayName: Generate AAD_TOKEN
inputs:
azureSubscription: $(AzureSubscription)
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
$aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
- script: |
vsce publish --packagePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}
displayName: Publish to Marketplace
env:
VSCE_PAT: $(AAD_TOKEN)
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="SignFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.props" />
<PropertyGroup>
<BaseOutputDirectory>$(BUILD_STAGINGDIRECTORY)/Extension</BaseOutputDirectory>
<!-- These properties are required by MicroBuild, which only signs files that are under these paths -->
<IntermediateOutputPath>$(BaseOutputDirectory)</IntermediateOutputPath>
<OutDir>$(BaseOutputDirectory)</OutDir>
</PropertyGroup>
<ItemGroup>
<!-- Because of Webpack bundling, these are the only shipping Javascript files.
There are no third-party files to sign because they've all been bundled. -->
<FilesToSign Include="$(OutDir)\dist\src\main.js;$(OutDir)\dist\ui\settings.js">
<Authenticode>Microsoft400</Authenticode>
</FilesToSign>
</ItemGroup>
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.targets" />
</Project>
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="SignFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.props" />
<PropertyGroup>
<BaseOutputDirectory>$(BUILD_STAGINGDIRECTORY)</BaseOutputDirectory>
<!-- These properties are required by MicroBuild, which only signs files that are under these paths -->
<IntermediateOutputPath>$(BaseOutputDirectory)</IntermediateOutputPath>
<OutDir>$(BaseOutputDirectory)</OutDir>
</PropertyGroup>
<ItemGroup>
<FilesToSign Include="$(OutDir)\vsix\cpptools-*.signature.p7s">
<Authenticode>VSCodePublisher</Authenticode>
</FilesToSign>
</ItemGroup>
<Import Project="packages\Microsoft.VisualStudioEng.MicroBuild.Core.0.4.1\build\Microsoft.VisualStudioEng.MicroBuild.Core.targets" />
</Project>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.VisualStudioEng.MicroBuild.Core" version="0.4.1" developmentDependency="true" />
</packages>
+8
View File
@@ -0,0 +1,8 @@
# Each line is a file pattern followed by one or more owners.
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @microsoft/cpptools-maintainers will be requested for
# review when someone opens a pull request.
* @microsoft/cpptools-maintainers
+2 -1
View File
@@ -6,4 +6,5 @@ Resources:
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
- Contact [[email protected]](mailto:[email protected]) with questions or concerns
- Contact [[email protected]](mailto:[email protected]) with questions or concerns
- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support)
+22 -1
View File
@@ -5,7 +5,7 @@
* [Build and debug the extension](Documentation/Building%20the%20Extension.md).
* File an [issue](https://github.com/Microsoft/vscode-cpptools/issues) and a [pull request](https://github.com/Microsoft/vscode-cpptools/pulls) with the change and we will review it.
* If the change affects functionality, add a line describing the change to [**CHANGELOG.md**](Extension/CHANGELOG.md).
* Try and add a test in [**test/extension.test.ts**](Extension/test/unitTests/extension.test.ts).
* Try and add a test in [**test/extension.test.ts**](Extension/test/scenarios/SingleRootProject/tests/extension.test.ts).
* Run tests via opening the [**Extension**](https://github.com/Microsoft/vscode-cpptools/tree/main/Extension) folder in Visual Studio Code, selecting the "Launch Tests" configuration in the Debug pane, and choosing "Start Debugging".
## About the Code
@@ -33,3 +33,24 @@ const localize: nls.LocalizeFunc = nls.loadMessageBundle();
const readmeMessage: string = localize("refer.read.me", "Please refer to {0} for troubleshooting information. Issues can be created at {1}", readmePath, "https://github.com/Microsoft/vscode-cpptools/issues");
```
* The first parameter to localize should be a unique key for that string, not used by any other call to localize() in the file unless representing the same string. The second parameter is the string to localize. Both of these parameters must be string literals. Tokens such as {0} and {1} are supported in the localizable string, with replacement values passed as additional parameters to localize().
## Contributor License Agreement
This project welcomes contributions and suggestions. Most contributions require you to
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
and actually do, grant us the rights to use your contribution. For details, visit
https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need
to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the
instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.
### Adding/Updating package.json dependencies
We maintain a public Azure Artifacts feed that we point the package manager to in .npmrc files. If you want to add a dependency or update a version in package.json, you may need to contact us so we can add it to our feed. Please ping our team in a PR or new issue if you experience this issue.
For local development, you can delete the .npmrc file and the matching `yarn.lock` file while you wait for us to update the feed. However, these changes will need to be reverted in your branch before we will accept a PR.
-11
View File
@@ -24,17 +24,6 @@ module.exports = {
"eslint-plugin-header"
],
"rules": {
"indent": [
"warn",
4,
{
"SwitchCase": 1,
"ObjectExpression": "first"
}
],
"@typescript-eslint/indent": [
"error", 4
],
"@typescript-eslint/adjacent-overload-signatures": "error",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/await-thenable": "error",
+2
View File
@@ -0,0 +1,2 @@
registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/
always-auth=true
+5 -3
View File
@@ -33,8 +33,10 @@ export async function main() {
//verbose(`Installing release version of 'ms-vscode.cpptools'`);
//spawnSync(cli, [...args, '--install-extension', 'ms-vscode.cpptools'], { encoding: 'utf-8', stdio: 'ignore' })
verbose(green('Launch VSCode'));
const ARGS = [...args, ...options.launchArgs.filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir=')), `--extensionDevelopmentPath=${$root}`, ...$args ];
verbose(gray(`${cli}\n ${ [...ARGS ].join('\n ')}`));
const ARGS = [...args, ...options.launchArgs.filter(each => !each.startsWith('--extensions-dir=') && !each.startsWith('--user-data-dir=')), `--extensionDevelopmentPath=${$root}`, ...$args ].map(each => (each.indexOf(' ') > -1) && (each.indexOf('"') === -1) ? `"${each}"` : each);
const CLI = cli.indexOf(' ') > -1 && cli.indexOf('"') === -1 ? `"${cli}"` : cli;
spawnSync(cli, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" } });
verbose(gray(`${CLI}\n ${ [...ARGS ].join('\n ')}`));
spawnSync(CLI, ARGS, { encoding: 'utf-8', stdio: 'ignore', env: { ...process.env, DONT_PROMPT_WSL_INSTALL:"1" }, shell: true });
}
+19 -3
View File
@@ -48,7 +48,7 @@ export const Git = async (...args: Parameters<Awaited<CommandFunction>>) => (awa
export const GitClean = async (...args: Parameters<Awaited<CommandFunction>>) => (await new Command(await git, 'clean'))(...args);
export async function getModifiedIgnoredFiles() {
const {code, error, stdio } = await GitClean('-Xd', '-n');
const { code, error, stdio } = await GitClean('-Xd', '-n');
if (code) {
throw new Error(`\n${error.all().join('\n')}`);
}
@@ -65,11 +65,11 @@ export async function rimraf(...paths: string[]) {
}
if (await filepath.isFolder(each)) {
verbose(`Removing folder ${red(each)}`);
all.push(rm(each, {recursive: true, force: true}));
all.push(rm(each, { recursive: true, force: true }));
continue;
}
verbose(`Removing file ${red(each)}`);
all.push(rm(each, {force: true}));
all.push(rm(each, { force: true }));
}
await Promise.all(all);
}
@@ -325,6 +325,7 @@ export async function checkDTS() {
let failing = false;
failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`)) || failing;
failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`)) || failing;
failing = !await assertAnyFile('vscode.proposed.lmTools.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.lmTools.d.ts is missing.`)) || failing;
if (!failing) {
verbose('VSCode d.ts files appear to be in place.');
@@ -333,6 +334,9 @@ export async function checkDTS() {
}
export async function checkBinaries() {
if ($switches.includes('--skipCheckBinaries')) {
return false;
}
let failing = false;
failing = !await assertAnyFile(['bin/cpptools.exe', 'bin/cpptools']) && (quiet || warn(`The native binary files are not present. You should either build or install the native binaries\n\n.`)) || failing;
@@ -341,3 +345,15 @@ export async function checkBinaries() {
}
return failing;
}
export async function checkProposals() {
let failing = false;
await rm(`${$root}/vscode.proposed.chatParticipantAdditions.d.ts`);
failing = await assertAnyFile('vscode.proposed.chatParticipantAdditions.d.ts') && (quiet || warn(`The VSCode import file '${$root}/vscode.proposed.chatParticipantAdditions.d.ts' should not be present.`)) || failing;
if (!failing) {
verbose('VSCode proposals appear to be in place.');
}
return failing;
}
+1 -1
View File
@@ -75,7 +75,7 @@ filterStdio();
async function unitTests() {
await assertAnyFolder('dist/test/unit', `The folder '${$root}/dist/test/unit is missing. You should run ${brightGreen("yarn compile")}\n\n`);
const mocha = await assertAnyFile(["node_modules/.bin/mocha.cmd", "node_modules/.bin/mocha"], `Can't find the mocha testrunner. You might need to run ${brightGreen("yarn install")}\n\n`);
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit'});
const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit', shell: true });
verbose(`\n${green("NOTE:")} If you want to run a scenario test (end-to-end) use ${cmdSwitch('scenario=<NAME>')} \n\n`);
return result.status;
}
+10 -1
View File
@@ -3,7 +3,7 @@
* See 'LICENSE' in the project root for license information.
* ------------------------------------------------------------------------------------------ */
import { checkBinaries, checkCompiled, checkDTS, checkPrep, error, green } from './common';
import { checkBinaries, checkCompiled, checkDTS, checkPrep, checkProposals, error, green } from './common';
const quiet = process.argv.includes('--quiet');
export async function main() {
@@ -50,3 +50,12 @@ export async function dts() {
process.exit(1);
}
}
export async function proposals() {
let failing = false;
failing = (await checkProposals() && (quiet || error(`Issue with VSCode proposals. Run ${green('yarn prep')} to fix it.`))) || failing;
if (failing) {
process.exit(1);
}
}
+2 -2
View File
@@ -27,7 +27,7 @@
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features",
"editor.tabSize": 4,
"files.insertFinalNewline": true
"files.insertFinalNewline": false
},
"[jsonc]": {
"editor.formatOnSave": true,
@@ -37,7 +37,7 @@
},
"[typescript]": {
"editor.tabSize": 4,
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.formatOnSave": true,
"files.insertFinalNewline": true,
"editor.codeActionsOnSave": {
+3
View File
@@ -46,6 +46,9 @@ typings/**
import_edge_strings.js
localized_string_ids.h
translations_auto_pr.js
readme.developer.md
Reinstalling the Extension.md
*.d.ts
# ignore i18n language files
i18n/**
+298 -3
View File
@@ -1,5 +1,300 @@
# C/C++ for Visual Studio Code Changelog
## Version 1.25.3: April 28, 2025
### Enhancement
* Add a configuration warning message explaining why paths in quotes can't be found. [#11955](https://github.com/microsoft/vscode-cpptools/issues/11955)
* Improve the description of the `C_Cpp.copilotHover` setting. [PR #13461](https://github.com/microsoft/vscode-cpptools/pull/13461)
### Bug Fixes
* Fix no error appearing in the configuration UI when an invalid `compilerPath` is used. [#12661](https://github.com/microsoft/vscode-cpptools/issues/12661)
* Fix the 'Debug C/C++ File' button sometimes disappearing. [#13400](https://github.com/microsoft/vscode-cpptools/issues/13400)
* Fix a crash in `read_double`. [#13435](https://github.com/Microsoft/vscode-cpptools/issues/13435)
* Fix the handling of default file associations for certain file extensions. [PR #13455](https://github.com/microsoft/vscode-cpptools/pull/13455)
* Fix shell parsing of the arguments of a full command line in `compilerPath`. [PR #13468](https://github.com/microsoft/vscode-cpptools/pull/13468)
* Fix C and CUDA files being interpreted as C++ in `compile_commands.json`. [#13471](https://github.com/microsoft/vscode-cpptools/issues/13471)
* Stop automatically mapping a `.C` file to C++ if it's already set in `files.associations`. [PR #13476](https://github.com/microsoft/vscode-cpptools/pull/13476)
* Fix issues with the `recursiveIncludes` properties in the configuration UI editor. [PR #13498](https://github.com/microsoft/vscode-cpptools/pull/13498)
* Fix IntelliSense not updating after the language ID is changed, and prevent the language ID from being changed if it's set from `compile_commands.json` or a configuration provider.
* Update clang-tidy and clang-format from 20.1.2 to 20.1.3 (which has some bug fixes).
* Fix a case where language server crash messages appear after 4 minutes.
* Fix a crash with Copilot hover.
* Fix some translation issues.
## Version 1.24.5: April 3, 2025
### New Feature
* Add support for Copilot descriptions in hover tooltips, controlled by the `C_Cpp.copilotHover` setting. [PR #13385](https://github.com/microsoft/vscode-cpptools/pull/13385)
### Enhancements
* Improve/fix the switch header/source feature. [#2635](https://github.com/microsoft/vscode-cpptools/issues/2635)
* Add detected test frameworks to the Copilot context when `#cpp` is used. [PR #13285](https://github.com/microsoft/vscode-cpptools/pull/13285)
* Update clang-tidy and clang-format from 19.1.7 to 20.1.2. [PR #13348](https://github.com/microsoft/vscode-cpptools/pull/13348)
* Remove some unnecessary files from the vsix. [PR #13368](https://github.com/microsoft/vscode-cpptools/pull/13368)
* Improve the logging when a non-existent path is used for indexing. [PR #13372](https://github.com/microsoft/vscode-cpptools/pull/13372)
* Add a new `recursiveIncludes` property to `c_cpp_properties.json`. [PR #13374](https://github.com/microsoft/vscode-cpptools/pull/13374)
* Remove the `C_Cpp.updateChannel` setting. [PR #13376](https://github.com/microsoft/vscode-cpptools/pull/13376)
* Add handling of `-cxx-isystem`, `-stblib++-isystem`, `-isystem-after`, and `--include-barrier` Clang compiler arguments when composing the order of include paths used by IntelliSense.
* Defer the building of the include completion cache to another thread to improve performance when a file is opened.
* On shutdown, immediately terminate the IntelliSense process instead of waiting 2 seconds.
### Bug Fixes
* Fix an IntelliSense crash in `build_sections`. [#12666](https://github.com/microsoft/vscode-cpptools/issues/12666), [#12956](https://github.com/microsoft/vscode-cpptools/issues/12956)
* Fix random IntelliSense process crashes on Linux/macOS when `C_Cpp.intelliSenseCacheSize` is > 0. [#12668](https://github.com/microsoft/vscode-cpptools/issues/12668)
* Fix a bug in which hundreds of custom configuration requests could be sent on startup before the configuration provider has registered. [#13166](https://github.com/microsoft/vscode-cpptools/issues/13166)
* Fix handling of the `-framework` compiler argument. [#13204](https://github.com/microsoft/vscode-cpptools/issues/13204)
* Fix a potential race between didChange and didOpen. [PR #13209](https://github.com/microsoft/vscode-cpptools/pull/13209)
* Fix an issue with the `.editorconfig` `tab_size`. [PR #13216](https://github.com/microsoft/vscode-cpptools/pull/13216)
* Fix a potential deadlock on shutdown if configuration providers are used. [#13218](https://github.com/microsoft/vscode-cpptools/issues/13218)
* Fix the code analysis mode in the Language Status bar not updating after the setting changes. [#13240](https://github.com/microsoft/vscode-cpptools/issues/13240)
* Fix system include/framework paths being used as a fallback for user include/framework paths in the base configuration. [PR #13247](https://github.com/microsoft/vscode-cpptools/pull/13247)
* Fix the `svdPath` description being missing for `launch.json`. [#13287](https://github.com/microsoft/vscode-cpptools/issues/13287)
* Update the Windows SDK packages referenced in the walkthrough. [#13290](https://github.com/microsoft/vscode-cpptools/issues/13290)
* Fix an issue with `C:` being treated as a relative path. [PR #13297](https://github.com/microsoft/vscode-cpptools/pull/13297)
* Fix an unnecessary TU reset when a change is detected in a `compile_commands.json` file that is not used by the active configuration. [#13317](https://github.com/microsoft/vscode-cpptools/issues/13317)
* Fix handling of URIs in web environments. [#13327](https://github.com/microsoft/vscode-cpptools/issues/13327)
* Fix a potential deadlock after using 'Reset IntelliSense Database'. [#13337](https://github.com/microsoft/vscode-cpptools/issues/13337)
* Fix some localization bugs. [PR #13373](https://github.com/microsoft/vscode-cpptools/pull/13373)
* Fix IntelliSense showing the wrong size of objects. [#13375](https://github.com/microsoft/vscode-cpptools/issues/13375)
* Fix the `get_mangled_function_name` IntelliSense process crash. [#13358](https://github.com/Microsoft/vscode-cpptools/issues/13358)
* Fix an issue with duplicate forced includes being removed. Multiple forced includes of the same file should now properly be included multiple times.
* Fix an issue in which the base configuration browse paths may not get populated when using a custom configuration provider.
* Fix an issue with forced includes not being resolved against the same include path search order as a compiler would.
* Fix a `${workspaceFolder}/*` include path not being used as a non-recursive browse path.
* Fix an issue with include path ordering of paths specified with the `-imsvc` argument.
* Fix a race condition that could result in incorrect include completion results.
* Avoid reporting an error due to multiple `didOpen` requests after a crash.
* Fix an inaccurate cursor position for IntelliSense update.
* Fix an IntelliSense crash if a "bad seq number" occurs.
* Fix processes potentially getting stuck on shutdown.
* Fix a potential crash when saving a file.
* Fix a random crash during code analysis.
## Version 1.23.6: February 6, 2025
### Bug Fixes
* Fix a bug with remote attach debugging. [#13137](https://github.com/microsoft/vscode-cpptools/issues/13137)
* Fix symlink-related regression bugs. [#13214](https://github.com/microsoft/vscode-cpptools/issues/13214), [#13228](https://github.com/microsoft/vscode-cpptools/issues/13228)
* Fix a regression bug when using 'Select IntelliSense Configuration'. [#13220](https://github.com/microsoft/vscode-cpptools/issues/13220)
* Fix a regression bug with `files.associations` handling. [#13223](https://github.com/microsoft/vscode-cpptools/issues/13223)
## Version 1.23.5: January 28, 2025
### Enhancements
* Modifications to the snippet completions to more closely match the snippets provided by TypeScript. [#4482](https://github.com/microsoft/vscode-cpptools/issues/4482)
* Enable setting multiple compile commands. [#7029](https://github.com/microsoft/vscode-cpptools/issues/7029)
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12960](https://github.com/microsoft/vscode-cpptools/pull/12960)
* Changes to how paths are internally canonicalized on Linux and macOS, avoiding file system access to improve performance and delay resolution of symbolic links. [#12924](https://github.com/microsoft/vscode-cpptools/issues/12924)
* Add handling of `-fno-char8_t` and `-fchar8_t` compiler arguments. [#12968](https://github.com/microsoft/vscode-cpptools/issues/12968)
* Add support for providing well-known compiler argument information to Copilot Completions. [PR #12979](https://github.com/microsoft/vscode-cpptools/pull/12979)
* Fixed unnecessary cancellation of Copilot context requests. [PR #12988](https://github.com/microsoft/vscode-cpptools/pull/12988)
* Add support for passing an additional parameter to `C_Cpp.ConfigurationSelect` command. [PR #12993](https://github.com/microsoft/vscode-cpptools/pull/12993)
* Thank you for the contribution. [@adrianstephens](https://github.com/adrianstephens)
* Update clang path setting descriptions. [PR #13071](https://github.com/microsoft/vscode-cpptools/pull/13071)
* Update clang-format and clang-tidy from 19.1.2 to 19.1.7.
* IntelliSense parser updates.
### Bug Fixes
* Fix a perf regression in hover operation by using cached lexer line states. [#3126](https://github.com/microsoft/vscode-cpptools/issues/3126)
* Fix `compile_commands.json` no longer being used if the containing folder is deleted and recreated. [#7030](https://github.com/microsoft/vscode-cpptools/issues/7030)
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #13032](https://github.com/microsoft/vscode-cpptools/pull/13032)
* Increase clang-format timeout from 10 seconds to 30 seconds. [#10213](https://github.com/microsoft/vscode-cpptools/issues/10213)
* Fix `C_Cpp.enhancedColorization` not taking effect after it's changed. [#10565](https://github.com/microsoft/vscode-cpptools/issues/10565)
* Fix changes to `files.encoding` not triggering a database reset. [#10892](https://github.com/microsoft/vscode-cpptools/issues/10892)
* Fix parameter hints interpreting `*` in a comment as markdown. [#11082](https://github.com/microsoft/vscode-cpptools/issues/11082)
* Fix an incorrect IntelliSense error when using `std::unique_ptr`. [#11979](https://github.com/microsoft/vscode-cpptools/issues/11979)
* Fix an incorrect IntelliSense error with designated initializers. [#12239](https://github.com/microsoft/vscode-cpptools/issues/12239)
* Fix handling of `koi8ru` and `koi8t` file encodings on Windows. [#12272](https://github.com/microsoft/vscode-cpptools/issues/12272)
* Fix description of `C_Cpp.preferredPathSeparator`. [#12597](https://github.com/microsoft/vscode-cpptools/issues/12597)
* Fix the IntelliSense process launching when it's disabled and the Copilot extension is used. [#12750](https://github.com/microsoft/vscode-cpptools/issues/12750), [#13058](https://github.com/microsoft/vscode-cpptools/issues/13058)
* Fix casing of path in include completion tooltip on Windows. [#12895](https://github.com/microsoft/vscode-cpptools/issues/12895)
* Fix a performance issue where some LSP requests would delay other LSP requests. [#12905](https://github.com/microsoft/vscode-cpptools/issues/12905)
* Fix some localization issues. [#12909](https://github.com/microsoft/vscode-cpptools/issues/12909), [#13090](https://github.com/microsoft/vscode-cpptools/issues/13090)
* Fix pattern matching of sections in `.editorConfig` files. [#12933](https://github.com/microsoft/vscode-cpptools/issues/12933)
* Fix handling of relative paths passed to cl.exe `/reference` argument. [#12944](https://github.com/microsoft/vscode-cpptools/issues/12944)
* Fix a leak of compile command file watchers. [#12946](https://github.com/microsoft/vscode-cpptools/issues/12946)
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12948](https://github.com/microsoft/vscode-cpptools/pull/12948)
* Fix a compile commands fallback logic issue. [#12947](https://github.com/microsoft/vscode-cpptools/issues/12947)
* Thank you for the contribution. [@yiftahw](https://github.com/yiftahw) [PR #12948](https://github.com/microsoft/vscode-cpptools/pull/12948)
* Fix an issue in which a `didOpen` event was processed before the language client was fully started. [#12954](https://github.com/microsoft/vscode-cpptools/issues/12954)
* Fix the IntelliSense mode being `macos` instead of `windows` when `_WIN32` is defined on macOS. [#13016](https://github.com/Microsoft/vscode-cpptools/issues/13016)
* Fix IntelliSense bugs when using non-UTF8 file encodings. [#13028](https://github.com/microsoft/vscode-cpptools/issues/13028), [#13044](https://github.com/microsoft/vscode-cpptools/issues/13044)
* Fix an incorrect translation for "binary operator". [#13048](https://github.com/microsoft/vscode-cpptools/issues/13048)
* Fix the "references may be missing" logging pane being shown when the `C_Cpp.loggingLevel` is `Error` or `None`. [#13066](https://github.com/microsoft/vscode-cpptools/issues/13066)
* Fix `C_Cpp.default.compilerPath` not using the `C_Cpp.preferredPathSeparator` setting when generated from the 'Select IntelliSense Configuration' command. [#13083](https://github.com/microsoft/vscode-cpptools/issues/13083)
* Fix a couple bugs with `.editorConfig` handling. [PR #13140](https://github.com/microsoft/vscode-cpptools/pull/13140)
* Fix a bug when processing a file with invalid multi-byte sequences. [#13150](https://github.com/microsoft/vscode-cpptools/issues/13150)
* Fix call hierarchy calls from. [#13200](https://github.com/microsoft/vscode-cpptools/issues/13200)
* Fix IntelliSense issues related to large header files (>32K) and encodings other than UTF-8.
* Update vsdbg from 17.12.10729.1 to 17.13.20115.1.
* Other internal fixes.
* Fix some deadlocks.
* Fix some crashes.
## Version 1.22.11: November 5, 2024
### Bug Fixes
* Fix system includes incorrectly being treated as non-system includes when specified with `-I`. [#12842](https://github.com/microsoft/vscode-cpptools/issues/12842)
* Fix inactive region ranges when multi-byte UTF-8 characters are used. [#12879](https://github.com/microsoft/vscode-cpptools/issues/12879)
* Fix formatting with `.editorconfig` files. [#12921](https://github.com/microsoft/vscode-cpptools/issues/12921)
## Version 1.23.0: October 29, 2024
### Enhancements
* Update to clang-format and clang-tidy 19.1.2. [#12824](https://github.com/microsoft/vscode-cpptools/issues/12824)
* Enable `#cpp` with GitHub Copilot chat without `C_Cpp.experimentalFeatures` enabled. [PR #12898](https://github.com/microsoft/vscode-cpptools/pull/12898)
### Bug Fixes
* Fix some translation issues. [#7824](https://github.com/microsoft/vscode-cpptools/issues/7824), [#12439](https://github.com/microsoft/vscode-cpptools/issues/12439), [#12440](https://github.com/microsoft/vscode-cpptools/issues/12440), [#12441](https://github.com/microsoft/vscode-cpptools/issues/12441)
* Fix a bug with 'Select IntelliSense Configuration'. [#12705](https://github.com/microsoft/vscode-cpptools/issues/12705)
* Fix newlines being removed from hover markdown code blocks. [#12794](https://github.com/microsoft/vscode-cpptools/issues/12794)
* Fix clang-format using `-` instead of `--` args. [#12819](https://github.com/microsoft/vscode-cpptools/issues/12819)
* Fix processing of `compile_commands.json` generated by the clang `-MJ` option. [#12837](https://github.com/microsoft/vscode-cpptools/issues/12837)
* Fix handling of `-I` and `-isystem` with the same path. [#12842](https://github.com/microsoft/vscode-cpptools/issues/12842)
* Fix stale colorization due to delays in updating the open file version. [PR #12851](https://github.com/microsoft/vscode-cpptools/pull/12851)
* Fix redundant progressive squiggle updates. [PR #12876](https://github.com/microsoft/vscode-cpptools/pull/12876)
* Fix inactive regions with multi-byte UTF-8 characters. [#12879](https://github.com/microsoft/vscode-cpptools/issues/12879)
* Fix some duplicate requests potentially not getting discarded.
* Fix a random crash in `start_process_and_wait_for_exit`.
## Version 1.22.10: October 21, 2024
### Bug Fixes
* Fix the 'Extract to Function' feature not working.
* Fix the 'Go to Next/Prev Preprocessor Conditional' feature not working.
## Version 1.22.9: October 14, 2024
### Performance Improvements
* Initialization performance improvements. [#12030](https://github.com/microsoft/vscode-cpptools/issues/12030)
- Some processing is parallelized and started earlier (populating the filename cache, discovering files). [#11954](https://github.com/microsoft/vscode-cpptools/issues/11954), [#12169](https://github.com/microsoft/vscode-cpptools/issues/12169)
- Some compiler configuration queries are cached in the database, and processing of compile_commands.json was improved. [#10029](https://github.com/microsoft/vscode-cpptools/issues/10029), [#12078](https://github.com/microsoft/vscode-cpptools/issues/12078)
* Performance improvements related to how custom configurations are processed. [#9003](https://github.com/microsoft/vscode-cpptools/issues/9003), [#12632](https://github.com/microsoft/vscode-cpptools/issues/12632)
* Improve the implementation of file buffers to reduce memory usage.
* Performance improvements related to LSP request processing.
### Enhancements
* Add modified `C_Cpp` settings to the `C/C++: Log Diagnostics` output. [#11700](https://github.com/microsoft/vscode-cpptools/issues/11700)
* Add better validation for settings. [#12371](https://github.com/microsoft/vscode-cpptools/issues/12371)
* Change the default C/C++ `"editor.stickyScroll.defaultModel"` to `"foldingProviderModel"`. [#12483](https://github.com/microsoft/vscode-cpptools/issues/12483)
* Remove the `C_Cpp.intelliSenseEngineFallback` setting. [#12596](https://github.com/microsoft/vscode-cpptools/issues/12596)
* Enable `C/C++: Log Diagnostics` without a C/C++ file being active. [#12634](https://github.com/microsoft/vscode-cpptools/issues/12634)
* Add "Additional Tracked Settings" to the `C/C++: Log Diagnostics` output. [PR #12635](https://github.com/microsoft/vscode-cpptools/pull/12635)
* Add support for providing additional context information to Copilot Chat. [PR #12685](https://github.com/microsoft/vscode-cpptools/pull/12685)
* Currently, it requires `"C_Cpp.experimentalFeatures": "enabled"` and typing `#cpp` in the chat.
* The .vsix and .js files are now signed. [#12725](https://github.com/microsoft/vscode-cpptools/issues/12725), [#12744](https://github.com/microsoft/vscode-cpptools/issues/12744)
* Add the database path to the `C/C++: Log Diagnostics` output.
* Various IntelliSense parsing updates/fixes.
### Bug Fixes
* Fix the compiler selection control not keeping the list in sync with the contents of the textbox. [#7427](https://github.com/microsoft/vscode-cpptools/issues/7427)
* Fix a string localization issue. [#7824](https://github.com/microsoft/vscode-cpptools/issues/7824)
* Fix an issue with the 'Add #include' code action incorrectly using a relative path for a system include. [#12010](https://github.com/microsoft/vscode-cpptools/issues/12010)
* Fix an issue with lingering IntelliSense squiggles after an edit. [#12175](https://github.com/microsoft/vscode-cpptools/issues/12175)
* Fix hover over static constexpr variables sometimes not working. [#12284](https://github.com/microsoft/vscode-cpptools/issues/12284)
* Fix completion not giving results in several scenarios. [#12412](https://github.com/microsoft/vscode-cpptools/issues/12412)
* Stop logging duplicate compiler path messages. [#12445](https://github.com/microsoft/vscode-cpptools/issues/12445)
* Fix an issue where a file is incorrectly processed as C instead of C++. [#12466](https://github.com/microsoft/vscode-cpptools/issues/12466)
* Fix an issue with missing database symbols after a Rename operation. [#12480](https://github.com/microsoft/vscode-cpptools/issues/12480)
* Fix include path ordering being incorrect if there is a duplicate. [#12525](https://github.com/microsoft/vscode-cpptools/issues/12525)
* Fix a WebAssembly "Out of Memory" error. [#12529](https://github.com/microsoft/vscode-cpptools/issues/12529)
* Fix an error message not being shown if the connection failed with remote attach debugging. [#12547](https://github.com/microsoft/vscode-cpptools/issues/12547)
* Thank you for the contribution. [@MrStanislav0 (Stanislav)](https://github.com/MrStanislav0)
* Fix `-I` not being used if `-iquote` is also used for the same path. [#12551](https://github.com/microsoft/vscode-cpptools/issues/12551)
* Fix issues with relative paths on `nvcc` (CUDA) command lines not being handled correctly. [#12553](https://github.com/microsoft/vscode-cpptools/issues/12553)
* Fix a crash on shutdown on macOS with a verbose logging level. [#12567](https://github.com/microsoft/vscode-cpptools/issues/12567)
* Fix a random crash when a child process is created. [#12585](https://github.com/microsoft/vscode-cpptools/issues/12585)
* Work around IntelliSense issues with clang 18 due to `size_t` not being defined. [#12618](https://github.com/microsoft/vscode-cpptools/issues/12618)
* Fix the `/FU` flag not working for C++/CLI. [#12641](https://github.com/microsoft/vscode-cpptools/issues/12641)
* Fix a crash in `find_existing_intellisense_client`. [#12666](https://github.com/microsoft/vscode-cpptools/issues/12666)
* Fix a rare crash on macOS related to `get_memory_usage`. [#12667](https://github.com/microsoft/vscode-cpptools/issues/12667)
* Fix an issue with 'Extract to Function' formatting. [#12677](https://github.com/microsoft/vscode-cpptools/issues/12677)
* Fix an issue with duplicate tag parsing occurring after a Rename operation. [#12728](https://github.com/microsoft/vscode-cpptools/issues/12728)
* Fix an issue preventing use of a full command line in `compilerPath`. [PR #12774](https://github.com/microsoft/vscode-cpptools/pull/12774)
* Fix an issue with clang-format/tidy version checks for some builds. [#12806](https://github.com/microsoft/vscode-cpptools/issues/12806)
* Fix an issue causing unnecessary TU updates for files opened during a Rename operation, when `"files.refactoring.autoSave": false` is used.
* Fix some issues with recursive includes handling of symbolic links, multi-root, exclusion changes, and file/folder deletion.
* Fix unnecessary IntelliSense resetting when a new file or folder was created.
* Fix an infinite loop on shutdown after changing the selected settings.
* Fix accumulation of stale signature help and completion requests.
* Fix handling of the `compiler-binddir` compiler argument.
* Fix a random crash during IntelliSense creation.
* Fix some bugs with include completion.
## Version 1.21.6: August 5, 2024
* Fix a cpptools-srv crash on shutdown. [#12354](https://github.com/microsoft/vscode-cpptools/issues/12354)
## Version 1.21.5: July 31, 2024
### Bug Fixes
* Fix clang-format and clang-tidy not working on Windows 10. [#12289](https://github.com/microsoft/vscode-cpptools/issues/12289)
* Fix a crash with cpptools-srv on certain macOS versions. [#12354](https://github.com/microsoft/vscode-cpptools/issues/12354)
* Fix cpptools crashing on macOS Big Sur or older. [#12511](https://github.com/microsoft/vscode-cpptools/issues/12511)
* Fix debugging on Windows ARM64. [#12520](https://github.com/microsoft/vscode-cpptools/issues/12520)
## Version 1.21.4: July 25, 2024
* Re-enable compatibility with VS Code 1.67.0 (instead of 1.82.0). [#12507](https://github.com/microsoft/vscode-cpptools/issues/12507)
## Version 1.21.3: July 24, 2024
* Fix a crash on Linux ARM OS's. [#12497](https://github.com/microsoft/vscode-cpptools/issues/12497)
## Version 1.21.2: July 12, 2024
### Enhancements
* Add `see` and `sa` to the `C_Cpp.doxygen.sectionTags` setting. [#12384](https://github.com/microsoft/vscode-cpptools/issues/12384)
* Update the vcpkg header database. [PR #12430](https://github.com/microsoft/vscode-cpptools/pull/12430)
* Disable the pre-release prompt if the `extensions.ignoreRecommendations` setting is `true`. [#12438](https://github.com/microsoft/vscode-cpptools/issues/12438)
* Switch to an alternative workspace symbol search implementation (performance and results will be slightly different from previous versions).
* Various IntelliSense engine updates/fixes.
### Bug Fixes
* Stop logging file watch events for excluded files. [#11455](https://github.com/microsoft/vscode-cpptools/issues/11455)
* Fix a crash if the Ryzen 3000 doesn't have updated drivers. [#12201](https://github.com/microsoft/vscode-cpptools/issues/12201)
* Fix handling of `-isystem` and `-iquote` for IntelliSense configuration. [#12207](https://github.com/microsoft/vscode-cpptools/issues/12207)
* Fix doxygen comment generation when `/**` comments are used. [#12249](https://github.com/microsoft/vscode-cpptools/issues/12249)
* Fix a code analysis crash on Linux if the message is too long. [#12285](https://github.com/microsoft/vscode-cpptools/issues/12285)
* Fix relative paths in `compile_commands.json` to be relative to the `compile_commands.json`'s directory. [#12290](https://github.com/microsoft/vscode-cpptools/issues/12290)
* Fix a tag parser performance regression. [#12292](https://github.com/microsoft/vscode-cpptools/issues/12292)
* Fix a regression with cl.exe system include path detection. [#12293](https://github.com/microsoft/vscode-cpptools/issues/12293)
* Fix code analysis, find all references, and rename from getting the wrong configuration for non-open files on the first run when using a configuration provider. [#12313](https://github.com/microsoft/vscode-cpptools/issues/12313)
* Fix handling of doxygen comment blocks with `*//*` in them. [#12316](https://github.com/microsoft/vscode-cpptools/issues/12316)
* Fix potential crashes during IntelliSense process shutdown. [#12354](https://github.com/microsoft/vscode-cpptools/issues/12354)
* Fix the language status not showing it's busy while the tag parser is initializing. [#12403](https://github.com/microsoft/vscode-cpptools/issues/12403)
* Fix the vcpkg code action not appearing for missing headers available via vcpkg. [#12413](https://github.com/microsoft/vscode-cpptools/issues/12413)
* Fix custom configurations sometimes not getting used. [PR #12427](https://github.com/microsoft/vscode-cpptools/pull/12427)
* Fix a code analysis error when using gcc 14. [#12428](https://github.com/microsoft/vscode-cpptools/issues/12428)
* Fix warning notification showing when `C_Cpp.getIncludes` is disabled. [PR #12470](https://github.com/microsoft/vscode-cpptools/pull/12470)
* Fix a cause of colorization, inactive regions, and inlay hints getting cleared when an update is pending.
* Update the default clang/gcc versions used for IntelliSense if an unknown version is found.
* Fix a cause of semantic tokens transiently being placed in the wrong location.
* Update clang-format and clang-tidy from 18.1.2 to 18.1.7 (for the bug fixes).
* Fix a potential deadlock when configured using compile commands.
## Version 1.20.5: May 6, 2024
### Enhancements
* Add support for C++ modules IFC version 0.43. [#10843](https://github.com/microsoft/vscode-cpptools/issues/10843)
* Add support for `${userHome}` in `c_cpp_properties.json`. [#11756](https://github.com/microsoft/vscode-cpptools/issues/11756)
* Reduce the default max workspace symbol search results and add `C_Cpp.maxSymbolSearchResults`. [PR #12131](https://github.com/microsoft/vscode-cpptools/pull/12131)
* Update `clang-format`/`clang-tidy` to 18.1.2. [PR #12135](https://github.com/microsoft/vscode-cpptools/pull/12135)
* Log `cpptools` and `cpptools-srv` crash call stacks in the 'C/C++ Crash Call Stacks' Output channel for bug reporting (on x64 Linux and x64/arm64 Mac).
* Increase the fuzzy symbol character limit from 16 to 28.
* Update the IntelliSense engine.
### Bug Fixes
* Fix an IntelliSense parsing issue. [#6183](https://github.com/microsoft/vscode-cpptools/issues/6183)
* Fix 'Copy Declaration / Definition' code not being formatted. [#10956](https://github.com/microsoft/vscode-cpptools/issues/10956)
* Fix semantic colorization of certain macro arguments. [#11416](https://github.com/microsoft/vscode-cpptools/issues/11416)
* Fix 'Add #include' code actions for code scoped by a namespace or class. [#11541](https://github.com/microsoft/vscode-cpptools/issues/11541)
* Fix 'Create Declaration / Definition' not working if the cursor isn't on the function name. [#11834](https://github.com/microsoft/vscode-cpptools/issues/11834)
* Fix duplicate 'Add #include' code actions. [#11989](https://github.com/microsoft/vscode-cpptools/issues/11989)
* Fix directories being incorrectly recursively traversed in certain cases. [#11993](https://github.com/microsoft/vscode-cpptools/issues/11993)
* Fix `forcedInclude` resolution for relative paths. [PR #12035](https://github.com/microsoft/vscode-cpptools/pull/12035)
* Fix 'Add Configuration...' in `launch.json` when `editor.suggest.showSnippets` is `false`. [#12059](https://github.com/microsoft/vscode-cpptools/issues/12059)
* Fix `c_cpp_properties.json` warnings for `includePath`s with `**` wildcard glob patterns. [#12070](https://github.com/microsoft/vscode-cpptools/issues/12070)
* Fix non-existent relative path variables not showing a warning in `c_cpp_properties.json` (and other related issues). [#12089](https://github.com/microsoft/vscode-cpptools/issues/12089)
* Fix call stacks for `cpptools` and `cpptools-srv` not being available on Linux. [#12091](https://github.com/microsoft/vscode-cpptools/issues/12091)
* Fix IntelliSense processes shutting down immediately if not enough memory is detected. [#12126](https://github.com/microsoft/vscode-cpptools/issues/12126)
* Fix code analysis aborting after encountering an excluded file (instead of just skipping it). [#12127](https://github.com/microsoft/vscode-cpptools/issues/12127)
* Fix `"Cannot open source"` errors on missing includes not appearing if `C_Cpp.errorSquiggles` is `enabled`. [#12134](https://github.com/microsoft/vscode-cpptools/issues/12134)
* Fix the IntelliSense server not starting when a completion, signature help, or document highlight occurs from external commands. [#12143](https://github.com/microsoft/vscode-cpptools/issues/12143)
* Fix the IntelliSense configuration not falling back to the `c_cpp_properties.json` configuration for a file not handled by a configuration provider. [#12144](https://github.com/microsoft/vscode-cpptools/issues/12144)
* Fix duplicate URIs in calls to provideConfigurations. [#12177](https://github.com/microsoft/vscode-cpptools/issues/12177)
* Fix a crash and deadlock with a high `C_Cpp.loggingLevel`. [#12194](https://github.com/microsoft/vscode-cpptools/issues/12194)
* Fix handling of `-iquote` for code analysis and `#include` completions. [#12198](https://github.com/microsoft/vscode-cpptools/issues/12198)
* Fix a crash during startup. [#12237](https://github.com/microsoft/vscode-cpptools/issues/12237)
* Fix IntelliSense configuration on Windows ARM64. [#12253](https://github.com/microsoft/vscode-cpptools/issues/12253)
* Fix a `cpptools` process crash and deadlock during shutdown.
## Version 1.19.9: March 20, 2024
### Bug Fixes
* Fix an issue with Cygwin system headers not being properly detected. [#12113](https://github.com/microsoft/vscode-cpptools/issues/12113)
@@ -1189,7 +1484,7 @@
## 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`. [PR MIEngine#1013](https://github.com/microsoft/MIEngine/pull/1013)
@@ -1894,7 +2189,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
@@ -2238,4 +2533,4 @@
## Version 0.5.0: April 14, 2016
* Usability and correctness bug fixes.
* Simplify installation experience.
* Simplify installation experience.
File diff suppressed because it is too large Load Diff
Binary file not shown.
+3 -4
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__building_module(x)=0",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
@@ -11,5 +10,5 @@
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
"defaults_op": "merge"
}
+3 -4
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__building_module(x)=0",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
@@ -11,5 +10,5 @@
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
"defaults_op": "merge"
}
+3 -4
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__building_module(x)=0",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
@@ -11,5 +10,5 @@
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
"defaults_op": "merge"
}
+3 -4
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__building_module(x)=0",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
@@ -11,5 +10,5 @@
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
"defaults_op": "merge"
}
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8",
"-Dunix=1",
"-D__unix__=1",
"-D__linux__=1",
+3 -4
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__building_module(x)=0",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__arm__=1",
@@ -10,5 +9,5 @@
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
"defaults_op": "merge"
}
+3 -4
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__building_module(x)=0",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__aarch64__=1",
@@ -10,5 +9,5 @@
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
"defaults_op": "merge"
}
+3 -4
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__building_module(x)=0",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__x86_64=1",
@@ -10,5 +9,5 @@
"-D__SIZE_TYPE__=long unsigned int",
"-D__WCHAR_TYPE__=int"
],
"defaults_op" : "merge"
}
"defaults_op": "merge"
}
+3 -4
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__building_module(x)=0",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__i386=1",
@@ -10,5 +9,5 @@
"-D__SIZE_TYPE__=unsigned int",
"-D__WCHAR_TYPE__=long int"
],
"defaults_op" : "merge"
}
"defaults_op": "merge"
}
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__arm__=1",
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__aarch64__=1",
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__x86_64=1",
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8",
"-D__APPLE__=1",
"-D__MACH__=1",
"-D__i386=1",
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2 -3
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8"
"-D__building_module(x)=0"
],
"defaults_op": "merge"
}
}
+2 -3
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8"
"-D__building_module(x)=0"
],
"defaults_op": "merge"
}
}
+2 -3
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8"
"-D__building_module(x)=0"
],
"defaults_op": "merge"
}
}
+2 -3
View File
@@ -1,7 +1,6 @@
{
"defaults": [
"--pack_alignment",
"8"
"-D__building_module(x)=0"
],
"defaults_op": "merge"
}
}
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
-2
View File
@@ -1,7 +1,5 @@
{
"defaults": [
"--pack_alignment",
"8"
],
"defaults_op": "merge"
}
+4 -6
View File
@@ -4,13 +4,11 @@
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1935",
"--pack_alignment",
"8",
"-D_MSC_VER=1935",
"-D_MSC_FULL_VER=193532215",
"1943",
"-D_MSC_VER=1943",
"-D_MSC_FULL_VER=194334604",
"-D_MSC_BUILD=0",
"-D_M_ARM=7"
],
"defaults_op": "merge"
}
}
+4 -6
View File
@@ -4,14 +4,12 @@
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1935",
"--pack_alignment",
"8",
"1943",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1935",
"-D_MSC_FULL_VER=193532215",
"-D_MSC_VER=1943",
"-D_MSC_FULL_VER=194334604",
"-D_MSC_BUILD=0",
"-D_M_ARM64=1"
],
"defaults_op": "merge"
}
}
+16 -18
View File
@@ -1,18 +1,16 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1935",
"--pack_alignment",
"8",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1935",
"-D_MSC_FULL_VER=193532215",
"-D_MSC_BUILD=0",
"-D_M_X64=100",
"-D_M_AMD64=100"
],
"defaults_op": "merge"
}
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1943",
"-D_CPPUNWIND=1",
"-D_MSC_VER=1943",
"-D_MSC_FULL_VER=194334604",
"-D_MSC_BUILD=0",
"-D_M_X64=100",
"-D_M_AMD64=100"
],
"defaults_op": "merge"
}
+15 -17
View File
@@ -1,17 +1,15 @@
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1935",
"--pack_alignment",
"8",
"-D_MSC_VER=1935",
"-D_MSC_FULL_VER=193532215",
"-D_MSC_BUILD=0",
"-D_M_IX86=600",
"-D_M_IX86_FP=2"
],
"defaults_op": "merge"
}
{
"defaults": [
"-D_MSC_EXTENSIONS",
"--microsoft",
"--microsoft_bugs",
"--microsoft_version",
"1943",
"-D_MSC_VER=1943",
"-D_MSC_FULL_VER=194334604",
"-D_MSC_BUILD=0",
"-D_M_IX86=600",
"-D_M_IX86_FP=2"
],
"defaults_op": "merge"
}
+58 -6
View File
@@ -18,7 +18,10 @@
"compilerPath": {
"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"
"type": [
"string",
"null"
]
},
"compilerArgs": {
"markdownDescription": "Compiler arguments to modify the includes or defines used, e.g. `-nostdinc++`, `-m32`, etc. Arguments that take additional space-delimited arguments should be entered as separate arguments in the array, e.g. for `--sysroot <arg>` use `\"--sysroot\", \"<arg>\"`.",
@@ -67,9 +70,20 @@
]
},
"compileCommands": {
"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"
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
],
"markdownDescription": "Full path or a list of full paths to `compile_commands.json` files 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."
},
"includePath": {
"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`.",
@@ -166,7 +180,10 @@
"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"
"type": [
"boolean",
"string"
]
},
"browse": {
"type": "object",
@@ -194,6 +211,42 @@
},
"additionalProperties": false
},
"recursiveIncludes": {
"type": "object",
"properties": {
"reduce": {
"markdownDescription": "Set to `always` to always reduce the number of recursive include paths provided to IntelliSense to only those paths currently referenced by #include statements. This requires first parsing files to determine which headers are included. Set to `never` to provide all recursive include paths to IntelliSense. Reducing the number of recursive include paths may improve IntelliSense performance when a very large number of recursive include paths are involved. Not reducing the number of recursive include paths can improve IntelliSense performance by avoiding the need to parse files to determine which include paths to provide. The `default` value is currently to reduce the number of recursive include paths provided to 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",
"enum": [
"always",
"never",
"default",
"${default}"
]
},
"priority": {
"markdownDescription": "The priority of recursive include paths. If set to `beforeSystemIncludes`, the recursive include paths will be searched before system include paths. If set to `afterSystemIncludes`, the recursive include paths will be searched after system include paths. `beforeSystemIncludes` would more closely reflect the search order of a compiler, while `afterSystemIncludes` may result in improved performance.",
"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",
"enum": [
"beforeSystemIncludes",
"afterSystemIncludes",
"${default}"
]
},
"order": {
"markdownDescription": "The order in which subdirectories of recursive includes are searched.",
"type": "string",
"enum": [
"depthFirst",
"breadthFirst",
"${default}"
]
}
},
"additionalProperties": false
},
"customConfigurationVariables": {
"type": "object",
"markdownDescription": "Custom variables that can be queried through the command `${cpptools:activeConfigCustomVariable}` to use for the input variables in `launch.json` or `tasks.json`.",
@@ -236,7 +289,6 @@
},
"enableConfigurationSquiggles": {
"type": "boolean",
"default": true,
"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."
}
+2 -1
View File
@@ -270,7 +270,8 @@ gulp.task("translations-import", (done) => {
let id = language.transifexId || language.id;
return gulp.src(path.join(options.location, id, translationProjectName, `${translationExtensionName}.xlf`))
.pipe(nls.prepareJsonFiles())
.pipe(gulp.dest(path.join("./i18n", language.folderName)));
.pipe(gulp.dest(path.join("./i18n", language.folderName)))
.pipe(es.wait()); // This is required or it gives `this.pipeTo.end is not a function`.
}))
.pipe(es.wait(() => {
done();
@@ -9,7 +9,7 @@
"c_cpp_properties.schema.json.definitions.configurations.items.properties.compilerArgs": "用于修改所使用的包含或定义的编译器参数,例如 `-nostdinc++`、`-m32` 等。采用其他空格分隔参数的参数应在数组中作为单独的参数输入,例如,对于 `--sysroot <arg>` 使用 `\"--sysroot\", \"<arg>\"`。",
"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.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`。",
@@ -22,6 +22,9 @@
"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.recursiveIncludes.properties.reduce": "设置为 `always` 可始终将提供给 IntelliSense 的递归包含路径数减少到仅限当前由 #include 语句引用的路径。这需要首先分析文件以确定包含哪些标头。设置为 `never` 可将所有递归包含路径提供给 IntelliSense。当涉及到大量递归包含路径时,减少递归包含路径的数量可能会提高 IntelliSense 性能。如果不减少递归包含路径的数量,则可以通过避免需要分析文件以确定要提供的包含路径来提高 IntelliSense 性能。`default` 值目前会减少提供给 IntelliSense 的递归包含路径数。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.priority": "递归包含路径的优先级。如果设置为 `beforeSystemIncludes`,则会在系统包含路径之前搜索递归包含路径。如果设置为 `afterSystemIncludes` ,则会在系统包含路径后搜索递归包含路径。`beforeSystemIncludes` 将更密切地反映编译器的搜索顺序,而 `afterSystemIncludes` 则可能导致性能提升。",
"c_cpp_properties.schema.json.definitions.configurations.items.properties.recursiveIncludes.properties.order": "搜索递归包含的子目录的顺序。",
"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": "配置文件的版本。此属性由扩展托管。请勿更改它。",

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