fsharp icon indicating copy to clipboard operation
fsharp copied to clipboard

F1 Help in VS taking to old version of F# library documentation

Open dsyme opened this issue 4 years ago • 2 comments

We need to do an end-to-end sweep over what F1 Help is doing.

  • [x] For .NET Library things like System.String we 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 ID Microsoft.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

dsyme avatar Oct 15 '21 17:10 dsyme

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.

dsyme avatar Oct 29 '21 19:10 dsyme

I posted a question here https://github.com/dotnet/dotnet-api-docs/issues/7724 but got no reply as yet

dsyme avatar Mar 03 '22 23:03 dsyme