Skip to content
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

Feature Proposal: Directory Viewer #1785

Open
kitten opened this issue May 19, 2020 · 0 comments
Open

Feature Proposal: Directory Viewer #1785

kitten opened this issue May 19, 2020 · 0 comments
Labels
A-workspace Area: Overall UX, editor layout, tabs/groups/splits etc. enhancement New feature or request

Comments

@kitten
Copy link

kitten commented May 19, 2020

I'm not sure where feature proposals go, so I thought I'd just post it here and see how it goes ❤️
I haven't quite looked into how new components and bindings could be implemented yet, but I thought starting out with an issue would be a nice start!

I personally don't use file tree viewer sidebars in editors. In neovim I'm currently using vim-dirvish. This is a nice in-between solution, between a file-tree sidebar and a fuzzy finder.

Basically it's the "vim way" of not having a file sidebar show up all the time, but instead modally switching between files. It's nice to discover projects with and to just quickly navigate around.

It's a directory viewer modal and shows the current file's directory; selecting folders means that we start navigating around, and selecting a file opens it. The useful binding for this could be -.

  • When - is pressed it shows a list of files in the current directory and sub directories.
  • Selecting a file opens it, and selecting a directory switches the list to it.
  • Pressing - again opens the parent directory.

This could be implemented with the current views/components for the fuzzy search already (repurposing the QuickOpen fuzzy-finder)

@CrossR CrossR added A-workspace Area: Overall UX, editor layout, tabs/groups/splits etc. enhancement New feature or request labels May 19, 2020
bryphe added a commit that referenced this issue Sep 9, 2020
In starting to work on #528 - vim navigation for the file explorer (and other bits of UI, like search, SCM, etc) - there's some preliminary work that needs to happen. In particular, we need to refine our concept of 'Focus' - for example, we currently have 'Explorer' as a focus state, but as we break down #528 and look at features like #1785 (directory explorers) - we need to refine this. In particular, there could multiple 'explorers' in the view, and the focus might need some state along with - like the current selected item, information about the viewport (for `zz`, etc).

We'll need to 'fractalize' our focus state - we'll keep track of sort of the high-level place we have focus - for example, the `Sidebar`, and then from there, the `Sidebar` can route focus operations, like text-input and paste, to the appropriate piece, which can then delegate it further (for example, for search - one focus state will be input focus, and another will be navigating the search results). So just like we have a 'fractal' model for state - we'll need a 'fractal' model for focus to handle these cases.

In addition, a common request I get (mentioned in #1914, and comes up a lot in e-mail) is that the search behavior right now is confusing - all other buttons in the sidebar change the sidebar stop, but the search one opens up an extra pane. Since we can now resize the search pane, and it will simplify the focus-work described above (it would otherwise be a special case), figured it was a good to move it. The UX should still be improved - with the default sidebar size, it's difficult to interpret the results.

__TODO:__
- [x] Fix context menu behavior in new model - there are some cases where it stays open
- [x] Fix default focus for search / SCM / extensions
bryphe added a commit that referenced this issue Sep 15, 2020
This is some ground-work to enable moving the file explorer to a feature, which will help in terms of providing vim-navigation, as well as making it re-usable (ie, for a better directory experierence, like #1785) 

In addition, this brings in a small API change in the latest exthost API that was missed on upgrade (#2423 )
bryphe added a commit that referenced this issue Sep 17, 2020
This is to help support #1785 , by extracting the file-explorer to a stand-alone, modular feature, as well as making it easier to hook up to some of the incoming focus pieces for vim-style navigation (#528).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-workspace Area: Overall UX, editor layout, tabs/groups/splits etc. enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants