[WIP] Lazy load projects #198
Analysis complete
Summary
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.
Walkthrough
- Add
FsprojData
type to store fsproj path and compile items (link) - Modify
getInfo
function to usegetFsprojCompileItemPaths
to get compile items for fsproj files (link) - Modify
peek
function to sort and map fsproj files toFsprojData
records and wrap them inInteresting.Directory
case (link, link) - Add
getFsprojCompileItemPaths
function toProjectLoader
module inLibrary.fs
to load and evaluate fsproj files usingSystem.Xml
namespace andgetCompileItems
function (link, link)
Poem
Sing, O Muse, of the valiant F# coders, who dared to explore the fsproj files
And craft a new type to store their data, with skill and cunning like Hephaestus
They used theMicrosoft.Build.Evaluation
assembly, a mighty tool of Zeus
To get the full paths of compile items, and sort them by their order and use
Emoji
📝🛠️🚀
Include these descriptions in your pull request description by including the following marker tags:
copilot:all
: all the content, in one gocopilot:summary
: a one paragraph summary of the code changescopilot:walkthrough
: a step by step walkthrough of the code changescopilot:poem
: a poem about the code changes!copilot:emoji
: three emoji that capture the changes
Feedback is welcome. Simply add a comment to this PR of the form /copilot feedback [your comments here]
.
Details
Copilot for PRs is a limited technical preview from GitHub Next.
It's aim is to make it easier to write pull request descriptions by providing automatically generated suggestions based on the code changes.
To find out more go to https://githubnext.com/projects/copilot-for-pull-requests or come and chat with us on Discord
File | Status | Duration |
---|---|---|
Summary & Walkthrough | ✅ Finished | 25.8 seconds |
src/Ionide.ProjInfo.ProjectSystem/WorkspacePeek.fs | ✅ Finished | 16.2 seconds |
src/Ionide.ProjInfo/Library.fs | ✅ Finished | 16.8 seconds |