From be6ba471d32881ef6d3628368b702b4e075cc184 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 12:01:05 +0200 Subject: [PATCH 01/16] Update System versions --- eng/Versions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index da68a27d5c1..01cc387f134 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -80,14 +80,14 @@ 4.6.0 - 4.5.5 + 4.6.0 6.1.0 - 8.0.0 + 9.0.0 $(SystemPackageVersionVersion) $(SystemPackageVersionVersion) $(SystemPackageVersionVersion) From 926a0dac918df245f8a58cc61b996c47e542be9f Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 10:06:20 +0000 Subject: [PATCH 02/16] update version.details.xml (system packages from 8 to 9) --- eng/Version.Details.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6af7b1bc3eb..9885b9eccd3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -17,17 +17,17 @@ https://github.com/dotnet/msbuild c192adbb5252264481e8c046a8e0694f7fc7855b - + https://github.com/dotnet/runtime - 5535e31a712343a63f5d7d796cd874e563e5ac14 + 9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3 - + https://github.com/dotnet/runtime - 5535e31a712343a63f5d7d796cd874e563e5ac14 + 9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3 - + https://github.com/dotnet/runtime - 5535e31a712343a63f5d7d796cd874e563e5ac14 + 9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3 From dd1b70ffd31a0c71cc971aa7a62ef32b57890a17 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 10:08:06 +0000 Subject: [PATCH 03/16] Adding diagsource --- eng/Version.Details.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9885b9eccd3..5a00eb0f9cb 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -29,6 +29,10 @@ https://github.com/dotnet/runtime 9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3 + + https://github.com/dotnet/runtime + 9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3 + From e2c374d22bd836c00776f061f5615009d42b9e26 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 13:00:38 +0200 Subject: [PATCH 04/16] Update Versions.props --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index 01cc387f134..0f40c115e79 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -97,7 +97,7 @@ $(SystemPackageVersionVersion) 1.6.0 - 4.11.0-2.24264.2 + 4.14.0 17.10.191 17.10.40152 17.10.526-pre-g1b474069f5 From 1ecf828093c6495ff9cb92b830c35394d6b95465 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 13:32:20 +0200 Subject: [PATCH 05/16] Update Versions.props --- eng/Versions.props | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 0f40c115e79..26bf1f0ab6f 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -97,11 +97,11 @@ $(SystemPackageVersionVersion) 1.6.0 - 4.14.0 - 17.10.191 - 17.10.40152 - 17.10.526-pre-g1b474069f5 - 17.10.41 + 4.15.0 + 17.14.15 + 17.14.15 + 17.14.15 + 17.14.15 17.13.26 $(RoslynVersion) From 8ab767c13250ec04f9317633bc2fb01dc0a6036a Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 13:45:44 +0200 Subject: [PATCH 06/16] Update Versions.props --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index 26bf1f0ab6f..848ad326299 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -97,7 +97,7 @@ $(SystemPackageVersionVersion) 1.6.0 - 4.15.0 + 4.14.0 17.14.15 17.14.15 17.14.15 From 5337b8673e2505a89c33346eab5d0fc35756aeea Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 14:18:31 +0200 Subject: [PATCH 07/16] Update Versions.props --- eng/Versions.props | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 848ad326299..209d8cf06bb 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -98,15 +98,15 @@ 1.6.0 4.14.0 - 17.14.15 - 17.14.15 - 17.14.15 + 17.14.188 + 17.14.39341 + 17.14.79 17.14.15 - 17.13.26 + 17.15.0-preview-25276-10 $(RoslynVersion) $(RoslynVersion) - $(RoslynVersion) + 4.15.0 $(RoslynVersion) $(RoslynVersion) $(RoslynVersion) @@ -138,9 +138,9 @@ 15.0.25123-Dev15Preview - 17.13.26 - 17.13.26 - 17.13.26 + 17.15.0-preview-25276-10 + 17.15.0-preview-25276-10 + 17.15.0-preview-25276-10 $(VisualStudioEditorPackagesVersion) @@ -168,7 +168,7 @@ 17.10.2179 - 17.10.21 + 17.13.7 17.0.0 17.8.8 12.0.4 @@ -195,8 +195,8 @@ 17.11.1 13.0.3 1.0.0-beta2-dev3 - 2.18.48 - 2.10.69 + 2.21.10 + 2.11.86 2.9.0 2.8.2 3.1.17 From c895ba8e0cfe4ade8c2cc5767c03a3f7ffd30106 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 14:19:22 +0200 Subject: [PATCH 08/16] Update Version.Details.xml --- eng/Version.Details.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 5a00eb0f9cb..158d160bcc4 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,21 +1,21 @@ - + https://github.com/dotnet/msbuild - c192adbb5252264481e8c046a8e0694f7fc7855b + 15d19b96cf826b99925c8e5fd75575f46c60dd4a - + https://github.com/dotnet/msbuild - c192adbb5252264481e8c046a8e0694f7fc7855b + 15d19b96cf826b99925c8e5fd75575f46c60dd4a - + https://github.com/dotnet/msbuild - c192adbb5252264481e8c046a8e0694f7fc7855b + 15d19b96cf826b99925c8e5fd75575f46c60dd4a - + https://github.com/dotnet/msbuild - c192adbb5252264481e8c046a8e0694f7fc7855b + 15d19b96cf826b99925c8e5fd75575f46c60dd4a https://github.com/dotnet/runtime From eadcd71e802a698a37b334afb63754d36986676a Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 14:40:56 +0200 Subject: [PATCH 09/16] Update Versions.props --- eng/Versions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 209d8cf06bb..71e2a6568b5 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -128,7 +128,7 @@ $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) + 17.14.39383 $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) @@ -196,7 +196,7 @@ 13.0.3 1.0.0-beta2-dev3 2.21.10 - 2.11.86 + 2.11.90 2.9.0 2.8.2 3.1.17 From b9a2008c31d510c25bfc384ca5610b4ef183a58c Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 16:30:47 +0200 Subject: [PATCH 10/16] roslyn+vs versions --- eng/Versions.props | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 71e2a6568b5..0ad5752b422 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -97,16 +97,17 @@ $(SystemPackageVersionVersion) 1.6.0 - 4.14.0 + 4.15.0-1.25171.14 17.14.188 - 17.14.39341 + 17.14.39473 17.14.79 + 17.14.39490 17.14.15 17.15.0-preview-25276-10 $(RoslynVersion) $(RoslynVersion) - 4.15.0 + $(RoslynVersion) $(RoslynVersion) $(RoslynVersion) $(RoslynVersion) @@ -117,7 +118,7 @@ $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) + $(VisualStudioShellProjectsPackages) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) @@ -127,8 +128,8 @@ $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) - 17.14.39383 + $(VisualStudioShellProjectsPackages) + $(VisualStudioShellProjectsPackages) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) $(MicrosoftVisualStudioShellPackagesVersion) @@ -153,7 +154,7 @@ $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) $(VisualStudioEditorPackagesVersion) - $(VisualStudioEditorPackagesVersion) + 17.14.106 5.6.0 0.1.169-beta $(MicrosoftVisualStudioExtensibilityTestingVersion) @@ -168,7 +169,7 @@ 17.10.2179 - 17.13.7 + 17.14.18 17.0.0 17.8.8 12.0.4 @@ -195,7 +196,7 @@ 17.11.1 13.0.3 1.0.0-beta2-dev3 - 2.21.10 + 2.21.66 2.11.90 2.9.0 2.8.2 From 5da0fa6d0f2348a59814bd77d27788b2ec22ca22 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 27 May 2025 16:34:43 +0200 Subject: [PATCH 11/16] nerdbank warnings... --- .../FSharp.LanguageService.Base.csproj | 1 + vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj | 1 + 2 files changed, 2 insertions(+) diff --git a/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj b/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj index 89ca891597a..fead6828567 100644 --- a/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj +++ b/vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj @@ -46,6 +46,7 @@ + diff --git a/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj b/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj index 43e8352845f..0171cdf9b26 100644 --- a/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj +++ b/vsintegration/src/FSharp.VS.FSI/FSharp.VS.FSI.fsproj @@ -57,6 +57,7 @@ + From 788576b5b3e421c6d046528b52a0b5a41ba7d9ed Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Wed, 28 May 2025 11:05:34 +0200 Subject: [PATCH 12/16] 4 warnings only?! --- eng/Versions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 0ad5752b422..09a41cc29bd 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -99,9 +99,9 @@ 4.15.0-1.25171.14 17.14.188 - 17.14.39473 + 17.14.40268 17.14.79 - 17.14.39490 + 17.14.40254 17.14.15 17.15.0-preview-25276-10 @@ -196,8 +196,8 @@ 17.11.1 13.0.3 1.0.0-beta2-dev3 - 2.21.66 - 2.11.90 + 2.22.11 + 2.12.87 2.9.0 2.8.2 3.1.17 From 158e0cf856b9c4e335a85a84f06467b901f02861 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Wed, 28 May 2025 11:09:42 +0200 Subject: [PATCH 13/16] 0 nuget warnings, rock halelujah --- eng/Versions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 09a41cc29bd..6d7504f8dd2 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -131,9 +131,9 @@ $(VisualStudioShellProjectsPackages) $(VisualStudioShellProjectsPackages) $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) + 17.14.40270 $(MicrosoftVisualStudioShellPackagesVersion) - $(MicrosoftVisualStudioShellPackagesVersion) + 17.14.40270 10.0.30319 11.0.50727 15.0.25123-Dev15Preview @@ -169,7 +169,7 @@ 17.10.2179 - 17.14.18 + 17.14.20 17.0.0 17.8.8 12.0.4 From 031be1c85103e0cbfe1473d709fa796e31751c2a Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Wed, 28 May 2025 12:05:44 +0200 Subject: [PATCH 14/16] adjusting to API changes --- .../LanguageService/LanguageService.fs | 80 +++++++++---------- .../Helpers/RoslynHelpers.fs | 4 +- 2 files changed, 41 insertions(+), 43 deletions(-) diff --git a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs index 4eb399a39f3..bb1ec6b3d30 100644 --- a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs +++ b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs @@ -355,64 +355,62 @@ type internal FSharpPackage() as this = flushTelemetry () #endif - override this.InitializeAsync(cancellationToken: CancellationToken, progress: IProgress) : Tasks.Task = - // `base.` methods can't be called in the `async` builder, so we have to cache it - let baseInitializeAsync = base.InitializeAsync(cancellationToken, progress) + override this.RegisterInitializationWork (packageRegistrationTasks: PackageRegistrationTasks): unit = + base.RegisterInitializationWork(packageRegistrationTasks: PackageRegistrationTasks) + packageRegistrationTasks.AddTask(true, (fun progress _tasks cancellationToken -> + foregroundCancellableTask{ + let! commandService = this.GetServiceAsync(typeof) + let commandService = commandService :?> OleMenuCommandService - foregroundCancellableTask { - do! baseInitializeAsync + // Switch to UI thread + do! this.JoinableTaskFactory.SwitchToMainThreadAsync() - let! commandService = this.GetServiceAsync(typeof) - let commandService = commandService :?> OleMenuCommandService + // FSI-LINKAGE-POINT: sited init + FSharp.Interactive.Hooks.fsiConsoleWindowPackageInitializeSited (this :> Package) commandService - // Switch to UI thread - do! this.JoinableTaskFactory.SwitchToMainThreadAsync() + // FSI-LINKAGE-POINT: private method GetDialogPage forces fsi options to be loaded + let _fsiPropertyPage = + this.GetDialogPage(typeof) - // FSI-LINKAGE-POINT: sited init - FSharp.Interactive.Hooks.fsiConsoleWindowPackageInitializeSited (this :> Package) commandService + let workspace = this.ComponentModel.GetService() - // FSI-LINKAGE-POINT: private method GetDialogPage forces fsi options to be loaded - let _fsiPropertyPage = - this.GetDialogPage(typeof) + let _ = + this.ComponentModel.DefaultExportProvider.GetExport() - let workspace = this.ComponentModel.GetService() + let optionsManager = + workspace.Services.GetService().FSharpProjectOptionsManager - let _ = - this.ComponentModel.DefaultExportProvider.GetExport() + let metadataAsSource = + this.ComponentModel.DefaultExportProvider.GetExport().Value - let optionsManager = - workspace.Services.GetService().FSharpProjectOptionsManager - - let metadataAsSource = - this.ComponentModel.DefaultExportProvider.GetExport().Value + let! solution = this.GetServiceAsync(typeof) + let solution = solution :?> IVsSolution - let! solution = this.GetServiceAsync(typeof) - let solution = solution :?> IVsSolution + let solutionEvents = FSharpSolutionEvents(optionsManager, metadataAsSource) - let solutionEvents = FSharpSolutionEvents(optionsManager, metadataAsSource) + let! rdt = this.GetServiceAsync(typeof) + let rdt = rdt :?> IVsRunningDocumentTable - let! rdt = this.GetServiceAsync(typeof) - let rdt = rdt :?> IVsRunningDocumentTable + solutionEventsOpt <- Some(solutionEvents) + solution.AdviseSolutionEvents(solutionEvents) |> ignore - solutionEventsOpt <- Some(solutionEvents) - solution.AdviseSolutionEvents(solutionEvents) |> ignore + let projectContextFactory = + this.ComponentModel.GetService() - let projectContextFactory = - this.ComponentModel.GetService() + let miscFilesWorkspace = + this.ComponentModel.GetService() - let miscFilesWorkspace = - this.ComponentModel.GetService() + do + SingleFileWorkspaceMap(FSharpMiscellaneousFileService(workspace, miscFilesWorkspace, projectContextFactory), rdt) + |> ignore - do - SingleFileWorkspaceMap(FSharpMiscellaneousFileService(workspace, miscFilesWorkspace, projectContextFactory), rdt) - |> ignore + do + LegacyProjectWorkspaceMap(solution, optionsManager, projectContextFactory) + |> ignore - do - LegacyProjectWorkspaceMap(solution, optionsManager, projectContextFactory) - |> ignore + } + |> CancellableTask.startAsTask cancellationToken)) - } - |> CancellableTask.startAsTask cancellationToken override _.RoslynLanguageName = FSharpConstants.FSharpLanguageName (*override this.CreateWorkspace() = this.ComponentModel.GetService() *) diff --git a/vsintegration/tests/FSharp.Editor.Tests/Helpers/RoslynHelpers.fs b/vsintegration/tests/FSharp.Editor.Tests/Helpers/RoslynHelpers.fs index 85ad11c6e2e..25509f14ace 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/Helpers/RoslynHelpers.fs +++ b/vsintegration/tests/FSharp.Editor.Tests/Helpers/RoslynHelpers.fs @@ -171,7 +171,7 @@ type TestHostWorkspaceServices(hostServices: HostServices, workspace: Workspace) |> System.Collections.Concurrent.ConcurrentDictionary let langServices = - TestHostLanguageServices(this, LanguageNames.FSharp, exportProvider) + new TestHostLanguageServices(this, LanguageNames.FSharp, exportProvider) override _.Workspace = workspace @@ -199,7 +199,7 @@ type TestHostServices() = inherit HostServices() override this.CreateWorkspaceServices(workspace) = - TestHostWorkspaceServices(this, workspace) + new TestHostWorkspaceServices(this, workspace) [] type RoslynTestHelpers private () = From 2c385ca0f2de68aa8ff79270ea4aa07aaf463b39 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Wed, 28 May 2025 12:21:04 +0200 Subject: [PATCH 15/16] =?UTF-8?q?one=20more=20time=20=E2=99=AB=20=E2=99=AA?= =?UTF-8?q?=20=E2=99=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vsintegration/tests/UnitTests/Tests.RoslynHelpers.fs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vsintegration/tests/UnitTests/Tests.RoslynHelpers.fs b/vsintegration/tests/UnitTests/Tests.RoslynHelpers.fs index 25ba0ce68dc..ff00a933e26 100644 --- a/vsintegration/tests/UnitTests/Tests.RoslynHelpers.fs +++ b/vsintegration/tests/UnitTests/Tests.RoslynHelpers.fs @@ -160,7 +160,7 @@ type TestHostWorkspaceServices(hostServices: HostServices, workspace: Workspace) |> Seq.distinctBy (fun x -> x.Key) |> System.Collections.Concurrent.ConcurrentDictionary - let langServices = TestHostLanguageServices(this, LanguageNames.FSharp, exportProvider) + let langServices = new TestHostLanguageServices(this, LanguageNames.FSharp, exportProvider) override _.Workspace = workspace @@ -191,7 +191,7 @@ type TestHostServices() = inherit HostServices() override this.CreateWorkspaceServices(workspace) = - TestHostWorkspaceServices(this, workspace) :> HostWorkspaceServices + new TestHostWorkspaceServices(this, workspace) :> HostWorkspaceServices [] type RoslynTestHelpers private () = From 1c4beed9374437a24c5354e5e9d22b83bb74895b Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Wed, 28 May 2025 12:32:15 +0200 Subject: [PATCH 16/16] =?UTF-8?q?Fantom(as)=20of=20the=20opera=20=E2=99=AB?= =?UTF-8?q?=20=E2=99=AA=20=E2=99=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LanguageService/LanguageService.fs | 79 ++++++++++--------- 1 file changed, 41 insertions(+), 38 deletions(-) diff --git a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs index bb1ec6b3d30..4f6136b8db0 100644 --- a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs +++ b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs @@ -355,62 +355,65 @@ type internal FSharpPackage() as this = flushTelemetry () #endif - override this.RegisterInitializationWork (packageRegistrationTasks: PackageRegistrationTasks): unit = + override this.RegisterInitializationWork(packageRegistrationTasks: PackageRegistrationTasks) : unit = base.RegisterInitializationWork(packageRegistrationTasks: PackageRegistrationTasks) - packageRegistrationTasks.AddTask(true, (fun progress _tasks cancellationToken -> - foregroundCancellableTask{ - let! commandService = this.GetServiceAsync(typeof) - let commandService = commandService :?> OleMenuCommandService - // Switch to UI thread - do! this.JoinableTaskFactory.SwitchToMainThreadAsync() + packageRegistrationTasks.AddTask( + true, + (fun progress _tasks cancellationToken -> + foregroundCancellableTask { + let! commandService = this.GetServiceAsync(typeof) + let commandService = commandService :?> OleMenuCommandService - // FSI-LINKAGE-POINT: sited init - FSharp.Interactive.Hooks.fsiConsoleWindowPackageInitializeSited (this :> Package) commandService + // Switch to UI thread + do! this.JoinableTaskFactory.SwitchToMainThreadAsync() - // FSI-LINKAGE-POINT: private method GetDialogPage forces fsi options to be loaded - let _fsiPropertyPage = - this.GetDialogPage(typeof) + // FSI-LINKAGE-POINT: sited init + FSharp.Interactive.Hooks.fsiConsoleWindowPackageInitializeSited (this :> Package) commandService - let workspace = this.ComponentModel.GetService() + // FSI-LINKAGE-POINT: private method GetDialogPage forces fsi options to be loaded + let _fsiPropertyPage = + this.GetDialogPage(typeof) - let _ = - this.ComponentModel.DefaultExportProvider.GetExport() + let workspace = this.ComponentModel.GetService() - let optionsManager = - workspace.Services.GetService().FSharpProjectOptionsManager + let _ = + this.ComponentModel.DefaultExportProvider.GetExport() - let metadataAsSource = - this.ComponentModel.DefaultExportProvider.GetExport().Value + let optionsManager = + workspace.Services.GetService().FSharpProjectOptionsManager - let! solution = this.GetServiceAsync(typeof) - let solution = solution :?> IVsSolution + let metadataAsSource = + this.ComponentModel.DefaultExportProvider.GetExport().Value - let solutionEvents = FSharpSolutionEvents(optionsManager, metadataAsSource) + let! solution = this.GetServiceAsync(typeof) + let solution = solution :?> IVsSolution - let! rdt = this.GetServiceAsync(typeof) - let rdt = rdt :?> IVsRunningDocumentTable + let solutionEvents = FSharpSolutionEvents(optionsManager, metadataAsSource) - solutionEventsOpt <- Some(solutionEvents) - solution.AdviseSolutionEvents(solutionEvents) |> ignore + let! rdt = this.GetServiceAsync(typeof) + let rdt = rdt :?> IVsRunningDocumentTable - let projectContextFactory = - this.ComponentModel.GetService() + solutionEventsOpt <- Some(solutionEvents) + solution.AdviseSolutionEvents(solutionEvents) |> ignore - let miscFilesWorkspace = - this.ComponentModel.GetService() + let projectContextFactory = + this.ComponentModel.GetService() - do - SingleFileWorkspaceMap(FSharpMiscellaneousFileService(workspace, miscFilesWorkspace, projectContextFactory), rdt) - |> ignore + let miscFilesWorkspace = + this.ComponentModel.GetService() - do - LegacyProjectWorkspaceMap(solution, optionsManager, projectContextFactory) - |> ignore + do + SingleFileWorkspaceMap(FSharpMiscellaneousFileService(workspace, miscFilesWorkspace, projectContextFactory), rdt) + |> ignore - } - |> CancellableTask.startAsTask cancellationToken)) + do + LegacyProjectWorkspaceMap(solution, optionsManager, projectContextFactory) + |> ignore + } + |> CancellableTask.startAsTask cancellationToken) + ) override _.RoslynLanguageName = FSharpConstants.FSharpLanguageName (*override this.CreateWorkspace() = this.ComponentModel.GetService() *)