[llvm] [llvm] Revise IDE folder structure (PR #89741)

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 25 07:26:28 PDT 2024


Meinersbur wrote:

> > > I see a benefit in renaming folders like "Tools" and "Tests" to "LLVM Tests" and "LLVM Tools", but I really don't think having folders within folders is a good UI for regular projects: it'll mean extra clicking in the solution explorer just to get to the file you want (a process which is already a bit suboptimal as it is), for no real added benefit when you can just make the folders top-level and named to distinguish subprojects.
> > 
> > 
> > Having the suprojects in subfolders allows you to unload these projects from the VS IDE solution (including LLVM itself) without re-running cmake.
> 
> When you say "unload these projects" are you referring to effectively disabling them via the "Unload solution projects in folder" option? If so, you don't need them in a subfolder to achive this: just select multiple folders and click "Unload project". So, if you named all the, e.g. clang folders `Clang ...` they'll be trivially easy to multi-select, since they'll be in order.

It'll mean extra clicking. Which also seems to be your argument against it, just in different places.

In case of LLVM there are 18 subfolders. I really want them to be collapsable to not take more clutter in the projects view then necessary when I don't use them.
![image](https://github.com/llvm/llvm-project/assets/2278807/2360261b-c05e-4542-8224-57a036b77462)


> It also doesn't account for the fact that I routinely expand and collapse folders, so that I can easily see the projects I'm currently working on (often I am working on multiple projects in different folders at the same time in my local codebase). This is especially significant for solutions with many projects like LLVM, where they take up more screen space in the Solution Explorer, and worse when using a small screen like a laptop. 

This sounds like an argument in favor of subproject-folders to me. It allows you to expand/collapse on more granularities and collapsed folders take less space.

If you just want to see the subproject name in the Executables/Libraries/... folder, could we compromise on this?
![image](https://github.com/llvm/llvm-project/assets/2278807/157d6769-b82d-4ef8-b40e-1819d85c38ca)


https://github.com/llvm/llvm-project/pull/89741


More information about the llvm-commits mailing list