Menu

#254 Collapse long folder hierarchies into one folder

open
nobody
5
2005-06-03
2005-06-03
Anonymous
No

In the tree view, it's not uncommon to see a long string of nested
folders without any branching. For example:

src
|- edu
|- rice
|- cs
|- drjava
|- sub1
|- sub2

I find that such hierarchies, while really not providing much useful
information, often cause all the useful folders to be indented more
than half of the way across the pane. I deal with this, when file
names start running off the pane, by always scrolling as far right as I
can.

I'd like to see a more elegant presentation of such hierarchies. One
solution is the following, although a better one might present itself:

src/edu/rice/cs/drjava
|- sub1
|- sub2

This is an important problem because most users who develop in
Java using the recommended naming conventions will find
themselves creating such non-branching strings of nested folders.

Discussion

  • Dan Smith

    Dan Smith - 2005-06-03

    Logged In: YES
    user_id=1060117

    This was my submission, by the way. I forgot to check that I was logged
    in.

     
  • Jonathan Lugo

    Jonathan Lugo - 2005-06-03

    Logged In: YES
    user_id=1185203

    Currently, the navigation tree begins wherever the project
    file is located. If you'd like to collapse the empty
    folders src/edu/rice/cs, then simply put the .pjt file in
    the "cs" directory rather than the "src" directory.

    One option we were thinking about was to have a source root
    option in the project file that acts much like the build
    directory. We could also have a property describing the
    starting point of the navigation tree. That way we could
    display any folders between the source root and starting
    point as requested. There could be several odd corner cases
    with this though.

     
  • Dan Smith

    Dan Smith - 2005-06-03

    Logged In: YES
    user_id=1060117

    Some problems with just moving the project file (some of them also
    apply to explicitly setting a tree root):

    - The natural place to put the project file is at the "top" of the project. If,
    say, the build directory or the extra classpath items were at the top
    level, I wouldn't want to have to go *up* from my project file to be able to
    reference them.
    - If there are more than one of these these empty folder chains -- either
    because the code comes from two completely different namespaces
    (e.g. edu.rice.cs.drjava and org.apache.bcel), or because there are two
    source trees (e.g. src-windows and src-mac in the DrJava code) -- the
    project can't see them both.
    - One important reason to keep the "src/edu/rice/cs" path is that it
    makes clear the correspondence between a class's package and its file
    location. If you can't see those names, you're left to assume that the
    "drjava" folder really is inside an invisible "src/edu/rice/cs" hierarchy.
    - If the source tree comes from CVS or something similar, it's nice to
    maintain a distinction between CVS files and local files. Moving the
    project file into the tree blurs that distinction.

     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.