Added support for accessing and sorting compile items in fsproj files. Modified WorkspacePeek.fs to use a new type for fsproj data and added a function to Library.fs to get the full paths of compile items.
🤖 Generated by Copilot at 9b54ec1
Sing, O Muse, of the valiant F# coders, who dared to explore the fsproj filesAnd craft a new type to store their data, with skill and cunning like HephaestusThey used the Microsoft.Build.Evaluation assembly, a mighty tool of ZeusTo get the full paths of compile items, and sort them by their order and use
Add FsprojData type to store fsproj path and compile items (link)
Modify getInfo function to use getFsprojCompileItemPaths to get compile items for fsproj files (link)
Modify peek function to sort and map fsproj files to FsprojData records and wrap them in Interesting.Directory case (link, link)
Add getFsprojCompileItemPaths function to ProjectLoader module in Library.fs to load and evaluate fsproj files using System.Xml namespace and getCompileItems function (link, link)
WHAT
🤖 Generated by Copilot at 9b54ec1
Added support for accessing and sorting compile items in fsproj files. Modified
WorkspacePeek.fs
to use a new type for fsproj data and added a function toLibrary.fs
to get the full paths of compile items.🤖 Generated by Copilot at 9b54ec1
📝🛠️🚀
WHY
This is WIP of trying to lazy load projects. See: https://github.com/ionide/ionide-vscode-fsharp/pull/1957
HOW
🤖 Generated by Copilot at 9b54ec1
FsprojData
type to store fsproj path and compile items (link)getInfo
function to usegetFsprojCompileItemPaths
to get compile items for fsproj files (link)peek
function to sort and map fsproj files toFsprojData
records and wrap them inInteresting.Directory
case (link, link)getFsprojCompileItemPaths
function toProjectLoader
module inLibrary.fs
to load and evaluate fsproj files usingSystem.Xml
namespace andgetCompileItems
function (link, link)