You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Doing this will also light up a checkmark in Nuget Package Explorer and dotnet validate experiences.
It might also enable better sourcelink-based go-to-definition experiences, because these options could be reconstituted into an accurate Project Options structure that could be used to provide actual typecheck results for that file (this is currently a problem in the kinds of views used by FSAC for sourcelink-based go-to-definition).
Now that all of the major editors support fetching actual source via sourcelink, I think this should be prioritized. Emitting compiler options (which include metadata references!) into PDBs will allow for seamless navigation and editor experiences in the automatically-downloaded sources - right now once you enter into an F# source file downloaded in this way you're in a broken state in terms of editor functionality. The downloaded files don't support further navigation, proper highlighting, or intellisense - all because compilation options and references aren't available to reconstruct ProjectOptions for the file transparently on the editor side.
Our Portable PDB writer doesn't emit
PortableCustomDebugInfoKinds.CompilationOptions
This information is emitted by C#, allowing a compilation to be resurrected from a PDB.
Portable PDB spec is here: https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md
It may be useful for F# to emit this information in some situation once we clarify what debugging experience it supports. https://github.com/dotnet/roslyn/blob/3d8acbd585a75e9cdb3509623bf6c39ceb46b2c2/src/Compilers/Core/Portable/PEWriter/MetadataWriter.PortablePdb.cs#L853
The text was updated successfully, but these errors were encountered: