F1 Help in VS taking to old version of F# library documentation
We need to do an end-to-end sweep over what F1 Help is doing.
-
[x] For .NET Library things like
System.Stringwe seem to go to the correct documentation -
[x] For F# keywords we sort of do the right thing, e.g. F1 on "open" goes to https://msdn.microsoft.com/query/dev16.query?appId=Dev16IDEF1&l=EN-US&k=k(open_FS);k(SolutionItemsProject);k(DevLang-FSharp)&rd=true which re-routes to the F# docs. See why
-
[ ] For F# Library things (e.g.
Async) F1 on open in VS2022 goes to https://msdn.microsoft.com/query/dev16.query?appId=Dev16IDEF1&l=EN-US&k=k(Microsoft.FSharp.Control.FSharpAsync1);k(SolutionItemsProject);k(DevLang-FSharp)&rd=true which is the same as for keywords but with a different IDMicrosoft.FSharp.Control.FSharpAsync1. However the query service then resolves this to very old documentation for Visual Studio 2013.
The fix appears to be to adjust the query service so that we do this:
Microsoft.FSharp.Control.FSharpAsync`1 --> https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html
and in general like this (putting aside some issues with the `1 and so on)
Microsoft.AAA.BBB.CCC --> https://fsharp.github.io/fsharp-core-docs/reference/aaa-bbb-ccc.html
If necesary fsdocs/FSharp.Formatting can be modified to generate additional redirecting target pages
I notice the .NET docs have a mechanism for specifying F1 keyword targets, e.g.
f1_keywords:
- let!_FS
We could perhaps add long lists of the necessary forwarding tokens to the language reference sections.
I posted a question here https://github.com/dotnet/dotnet-api-docs/issues/7724 but got no reply as yet