-
-
Notifications
You must be signed in to change notification settings - Fork 42
Change solution file parsing to report the structure of folders/projects, rather than returning projects as a flat list #241
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
base: main
Are you sure you want to change the base?
Conversation
| ) | ||
| |> Seq.map parseFolder | ||
|
|
||
| // 'SolutionItems' contains all of SolutionFolders and SolutionProjects, so only include things that aren't in those to avoid duplication |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When testing I noticed that some solution items are being returned twice here, which didn't seem right (note the duplicated guids in the results, with different Kinds)
Looks to be because 'SolutionItems' contains all the folders and so the existing logic will include any root level folders as 'Unknown' as well as including them as folders
954a2f9 to
335378d
Compare
|
Updated based on comments in ionide/ionide-vscode-fsharp#2109 about returning the solution folders before the solution level projects. Still needs a bit more testing with the interaction between solution filters and folders (what should happen with folders that have all their contents filtered out etc) |
It looks like if you have
Then Visual Studio doesn't display the empty folders, but Ionide does, |
335378d to
03d4e0c
Compare
Opened #242 just for the filtering question, to leave this one just for the folder structure changes |
03d4e0c to
b0469d2
Compare



refs ionide/ionide-vscode-fsharp#2107
An attempt at making it return the projects inside their solution folders, rather than along side them, by making it work more like v0.68.0 did (I created the new unit test by writing the test in the 0.68.0 version on the assumption that's returning the strucuture that Ionide expected, then moving the test to the latest source and changing the code to match.)
Possibly this still needs more tests adding (maybe both a sln and a slnx file to make sure they behave the same, and maybe multipe layers of nested subfolders rather than just one)
I also haven't tested this within Ionide yet - just the unit tests so far.