It seems like this could be shifted where the role in Logic is reduced to using the active project is used to find the full path and passed to a function in Core that handles the file generation and project file editing and once it completes VS reloads the project.
This change would need to remove the dependence on Project and IProjectProvider but between FSharpProjectContext and FSharpProjectOptions (from FSharp.Compiler.Service) we should be able to get the information we need. Worst case scenario we need to do a small amount of XML parsing to get the rest of the configuration settings.
It seems like this could be shifted where the role in Logic is reduced to using the active project is used to find the full path and passed to a function in Core that handles the file generation and project file editing and once it completes VS reloads the project.
This change would need to remove the dependence on
Project
andIProjectProvider
but betweenFSharpProjectContext
andFSharpProjectOptions
(from FSharp.Compiler.Service) we should be able to get the information we need. Worst case scenario we need to do a small amount of XML parsing to get the rest of the configuration settings.Code located @ https://github.com/fsprojects/VisualFSharpPowerTools/blob/master/src/FSharpVSPowerTools.Logic/Reference/FsiReferenceCommand.fs