-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
F#: The files in solution need to be ordered in project file order #1875
Comments
cc @KevinRansom As discussed in dotnet/fsharp#2692: I think I've already got a solution that means we can use the standard Solution Explorer, have a fixed compile order and allow files to be specified in any order. Beneath the "Dependencies" node in the Solution Explorer, we should have a "Compile Order" node. This node contains a flat list of files - in the exact order that they're in the MSBuild file, including their relative paths. The rest of the Solution Explorer is just as a C# project - we can use this as is. We just need to make sure that when a file is added, we add it to the Compile Order node - likewise for deletion. I think this method is simple, clear and solves many of the weird edge cases we have with rendering multiple folders etc. It will also be a huge boost to just use as much as Roslyn's project system as possible without us having to hack around it for our snowflake compilation. |
We came up with a agreement with CPS on controlling display order, we also need it for C# and VB for our special nodes: #1896. |
@saul I'm confused about how this is supposed to work, so when the files are rendered under the project node in the solution explorer, they won't appear in compile order anymore? |
CPS currently sorts files in alphabetic order under the project. Hopefully we will get that fixed, although there is some pushback on doing that. Regardless of that, with the presence of folders in the project, there is no mechanism other than manually editing the project file to arrange things in the correct order for the compiler. This proposal adds a new node where compiler order is rendered. The cps solution explorer may arrange them in whatever order they like at that point. |
@saul some additional questions about this new compile order node -
|
Also for discoverability I think a "Select this file in the Compile Order" option in the right-click menu for the files in the project tree will be useful too. |
Need to check if ordering support is needed to do even the separate node proposal or if we can draw them as graph nodes\AttachedCollectionSource - @tmeschter @natidea can we order those nodes? |
@tmeschter @natidea Any update on this? Thanks :) |
We are in the "no new features" part of 15.3. By default, this no longer meets the bar and is now moved to post-15.6. I'm willing to have the discussion if there is something low-risk in-hand that can be applied here, since I certainly understand & appreciate the F# community view & history here, but project team has a lotta bugs to fix in a very short amount of time, and we're less than a handful of days from Escrow. |
@MattGertz that makes sense. It's a shame it was ignored for so long on the assumption that it's not needed. Speaking of which I'm still waiting to hear back from Tom and Nat as to whether this is necessary at all with what we've got already... @tmeschter @natidea |
@saul @srivatsn Sorry, I lost track of this question. I can only speak to the possibility of implementing this using Implementing an |
Can this be closed in favor of #2793? |
Not necessarily. #2793 (I think) refers to how the compiler and design time builds get the ordered files, not how they're displayed in the Solution Explorer. @KevinRansom for more info. |
We've got it backwards - #2793 is tracking the solution explorer work (and @natidea has PRs out here and to CPS to fix that). |
@TIHan - you should join this repo so that I can assign issues to you :) |
We currently have a workaround in place for this that @KevinRansom added, but @davkean had a different way that he thought we should do this in 15.6. @davkean is that still relevant? |
This issue is fixed. |
Instead of being sorted alphabetically we need to display the tree in the project file order.
Also, we need gestures to move a file up\down and Add a file above\below.
The text was updated successfully, but these errors were encountered: