-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Open
Labels
Description
Currently the FileBasedProgramsProjectSystem loads both genuine miscellaneous files and file based programs in mostly the same way - for each file it runs a design time build, runs restore and creates a new project for each file.
This is not ideal for genuine miscellaneous files. We should create a separate path, which:
- sets-up a temp location on disk, to hold a "canonical misc files project" created from an empty file
- does a design time build on it once, the first time we are asked to make a "rich misc files project" essentially,
- then uses the workspace APIs to add or remove misc documents to the "canonical project's" (also removing whatever blank document we originally used for the design time build)
This would support virtual misc files as well, as we don't need a specific file to run a design time build, and avoid nuisance things like restore popups and weird user configurations resulting in obj/ folders in random places.
Copilot