Dear developers!
Please add IDE support for folders in F# projects by:
Please implement new commands in Solution Explorer context menu:
Add Below -> New Folder,
Add Below -> Existing Folder,
Add Above -> New Folder,
Add Above -> Existing Folder.
The Remove, Delete, Move Up, Move Down commands should apply to folders as well as to files.
The Copy, Paste commands should be able to copy and paste the selected files (and folders, subfolders) to another folder of the same or different project.
The Move to Folder command is needed in Solution Explorer context menu and should be able to move the selected files (and folders, subfolders) to another folder.
Folder organization feature is not intended to change the already existing, linear order of compilation for source files in F# projects. The F# files mentioned first in the .fsproj file should be compiled first, as usual.
I need to edit the .fsproj file manually (in the 21th century!, due to lack of Visual Studio support) to obtain the F# project with the folder organization I need.
For example,
I want to obtain the project with 3 folders, so I need to rewrite:
<ItemGroup>
<Compile Include="type1.fs" />
<Compile Include="type2.fs" />
<Compile Include="type3.fs" />
<Compile Include="type4.fs" />
<Compile Include="type5.fs" />
<Compile Include="type6.fs" />
<Compile Include="type7.fs" />
</ItemGroup>
in the .fsproj file as follows:
<ItemGroup>
<Compile Include="type1.fs" />
<Compile Include="Folder1\type2.fs" />
<Compile Include="Folder1\type3.fs" />
<Compile Include="Folder2\type4.fs" />
<Compile Include="Folder2\type5.fs" />
<Compile Include="Folder3\type6.fs" />
<Compile Include="Folder3\type7.fs" />
</ItemGroup>
The order of compilation remains unchanged: type1.fs, type2.fs, ... type7.fs.
This feature will help refactoring mid-size and large F# solutions (containing several dozens or hundreds of projects) by introducing meaningful folder organization in F# projects.
@financial-engineer
Please let us make the move to CPS. Any work on the current project system may well end up not shipping. The work to move to CPS is just about to start.
Kevin
@kevinransom, if the work is in progress can we have a ticket (with a checklist of work that's been done) and close off the other related project system tickets?
Exciting :)
@KevinRansom Closed by #2692
Most helpful comment
@financial-engineer
Please let us make the move to CPS. Any work on the current project system may well end up not shipping. The work to move to CPS is just about to start.
Kevin