Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use background CancellableTask in VS instead of async & asyncMaybe #15187

Merged
merged 28 commits into from
May 25, 2023

Conversation

vzarytovskii
Copy link
Member

@vzarytovskii vzarytovskii commented May 4, 2023

It seems previous PR shomehow got closed for some reason?

More of an experiment by now, will be migrating things one-by-one and see what are the implications.
So far, it feels snappy.

@0101 @majocha @TheAngryByrd if you have any feedback, that'll be great. Also, if you'd like to test it, just build vsix and try in your VS installation.

VSIX(updated on every change): https://1drv.ms/u/s!AiT31MwroM_3lfUYVfV8H3l14MZfpg?e=JDGyhR (should work in 17.6 and higher)

wip

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
@majocha
Copy link
Contributor

majocha commented May 5, 2023

I installed it and, at first glance, nothing bad happened. Colorization kick in, errors in editor show up and clear up quickly.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
@vzarytovskii
Copy link
Member Author

vzarytovskii commented May 5, 2023

Updated a bunch more services, the latest vsix is in original post, I will be updating it from time to time, if someone wants to test (should work in 17.6 and 17.7, not 17.5 though).

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
@vzarytovskii
Copy link
Member Author

I think this is ready as a first batch, to not leave it in PR state forever, we better get it in 17.7 early and start playing with it.

I have moved major functionality to tasks, but not go to defition, I prefer to have it as a separate issue, since a bunch of rewriting will be involved.

Update: I have updated VSIX in the OP, please do install and test it

@vzarytovskii vzarytovskii marked this pull request as ready for review May 11, 2023 14:22
@vzarytovskii vzarytovskii requested a review from a team as a code owner May 11, 2023 14:22
@vzarytovskii
Copy link
Member Author

Ok, I'd probably want to merge it after we have telemetry in 17.7, to see what's the difference

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
vzarytovskii and others added 2 commits May 18, 2023 18:02

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Co-authored-by: Andrii Chebukin <xperiandri@live.ru>

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
This reverts commit bf51b31.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
@KevinRansom KevinRansom enabled auto-merge (squash) May 19, 2023 18:14

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
vzarytovskii and others added 4 commits May 23, 2023 16:15

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
  Co-authored-by: vzarytovskii <1260985+vzarytovskii@users.noreply.github.com>

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
…sharp into cancellable-tasks
@dotnet dotnet deleted a comment from github-actions bot May 24, 2023
  Co-authored-by: vzarytovskii <1260985+vzarytovskii@users.noreply.github.com>
@dotnet dotnet deleted a comment from github-actions bot May 24, 2023

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
…sharp into cancellable-tasks

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
@vzarytovskii
Copy link
Member Author

When CI is green, I am going to merge this one, unless anyone has any additional comments.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Co-authored-by: Petr <psfinaki@users.noreply.github.com>
@KevinRansom KevinRansom merged commit 271790c into dotnet:main May 25, 2023
vzarytovskii added a commit that referenced this pull request May 31, 2023

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
* LexFilter: cleanup whitespaces (#15250)

* Parser: rewrite tuple expr recovery to allow better items recovery (#15227)

* Checker: recover on unknown record fields (#15214)

* Make anycpu work correctly on Arm64 (#15234)

* Makeanuycpu work correctly on arm64

* Update Microsoft.FSharp.Targets

* Fix15254 (#15257)

* Deploy only compressed metadata for dotnet sdk implementation (#15230)

* compress fsharp for sdk

* Update FSharp.DependencyManager.Nuget.fsproj

* Parser: more binary expressions recovery (#15255)

* Use background CancellableTask in VS instead of async & asyncMaybe (#15187)

* wip

* iteration

* iteration: quickinfo, help context

* fantomas

* todo

* moved tasks to editor project, fixed comment colouring bug

* fantomas

* Fantomas + PR feedback

* Update vsintegration/src/FSharp.Editor/Hints/HintService.fs

Co-authored-by: Andrii Chebukin <xperiandri@live.ru>

* Revert "Update vsintegration/src/FSharp.Editor/Hints/HintService.fs"

This reverts commit bf51b31.

---------

Co-authored-by: Andrii Chebukin <xperiandri@live.ru>

* Name resolution: actually add reported item when trying to replace (#14772)

Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>

* Move flatErrors tests from fsharpqa (#15251)

* temp

* tests

* flaterrors

* update tests

* preserve ranges in result of UnsolvedTyparsOfModuleDef to help with warnings (#15243)

* preserve ranges in result of UnsolvedTyparsOfModuleDef to help with warnings

* use fallback range only for range0

* pattern match instead of Option.isSome

* Add test

* Revert "Add test"

This reverts commit e05e808.

* Make `FSharpReferencedProject` representation public (#15266)

* Make FSharpReferencedProject representation public

* Update surface area

* Fantomas

* Fantomas

---------

Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>

* Fix navigation for external enums, DUs and name resultion for members (#15270)

* Update FSharp.Compiler.Service.SurfaceArea.netstandard20.debug.bsl

* Add warning when compiler selects among multiple record type candidates, fslang-suggestion 1091 (#15256)

* Protect assembly exploration for C# extension members (#15271)

* Compute ValInline.Never for externs (#15274)

* Compute ValInline.Never for externs

---------

Co-authored-by: Eugene Auduchinok <eugene.auduchinok@jetbrains.com>
Co-authored-by: Kevin Ransom (msft) <codecutter@hotmail.com>
Co-authored-by: Vlad Zarytovskii <vzaritovsky@hotmail.com>
Co-authored-by: Andrii Chebukin <xperiandri@live.ru>
Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>
Co-authored-by: dawe <dawedawe@posteo.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

7 participants