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

Explore how to better intergrate remote file system providers #146688

Closed
daviddossett opened this issue Apr 4, 2022 · 6 comments
Closed

Explore how to better intergrate remote file system providers #146688

daviddossett opened this issue Apr 4, 2022 · 6 comments
Assignees
Labels
feature-request Request for new features or functionality ux User experience issues
Milestone

Comments

@daviddossett
Copy link
Contributor

Tracking UX explorations for improving the integration of remote fs providers such as OneDrive or Google Drive.

Ref: OneDrive Browser extension

@daviddossett daviddossett added the ux User experience issues label Apr 4, 2022
@daviddossett daviddossett added this to the April 2022 milestone Apr 4, 2022
@daviddossett daviddossett self-assigned this Apr 4, 2022
@daviddossett
Copy link
Contributor Author

daviddossett commented Apr 7, 2022

Exploring some early ideas that builds off the existing Remote Repositories contribution to the Explorer's welcome view:

Quick Pick

This basically outlines a flow where an extension could add items to the quick pick launched via the Remote Repositories extension. The extension would contribute the quick pick item and then handle auth from there. After that, it basically looks like any other remote folder opened up in restricted mode:

open-remote.mp4

Split Button

Alternatively, there could be a version where we use a split button to expose the remote folder/repo options. I don't think this would scale quite as well, but it's worth including here in case it inspires any other idea:

CleanShot 2022-04-07 at 15 53 57@2x

cc @misolori — I may be somewhat off the mark here re: integrating with the Remote Repositories extension. I don't know if it makes sense to somehow allow extensions to contribute to that extensions quick pick. Maybe it needs to be extracted out to core and all extensions, including remote repos, contribute to a generic quick pick? Not sure yet.

@gjsjohnmurray
Copy link
Contributor

What about the scenario where I already have a local folder open and I want to add a FileSystemProvider folder to it? Will the OneDrive / Google Drive extensions support such hybrid multi-root workspaces?

Two extensions I contribute to add commands to the Explorer context menu adjacent to the standard "Add Folder to Workspace..." one:

image

To handle the "no folder open" case they contribute to Explorer's welcome view:

image

One of these (Serenji) also contributes to the quickpick which appears when clicking on the "Open a Remote Window" panel on the status bar.

Here are its entries when no folder/workspace is yet open:

image

And here when a folder is already open:

image

@daviddossett I wonder if your split button idea would better suit the "Open Folder" button. Clicking the main part of the button would continue to open the Open Folder dialog for the local workstation. The dropdown part would list contributions from extensions such as the two I work on.

@daviddossett
Copy link
Contributor Author

daviddossett commented Apr 8, 2022

@gjsjohnmurray Yeah, I wonder if things like OneDrive/Google Drive should instead be considered folders like your examples above. That makes more sense since these aren't really repositories in a formal sense. It also means we can keep the existing multi-root patterns in place.

If that were the case, extending the "Open Folder" contribution(s) would make sense. That could look something like:

CleanShot 2022-04-08 at 11 30 54

Alternatively, it could use the quick pick like this. I wouldn't prefer this option since the 80%+ case suffers from the second step of adding a quick pick. Worse, if no extensions contribute to that quick pick, we would probably need to default to the behavior today (e.g. just opening the local fs) which would be more efficient, but not very predictable if you had interacted with both flows.

CleanShot 2022-04-08 at 11 38 58

Lastly, we could also think about folding the "Open Remote Repository" button into the split button options. This ends up as a bit of a kitchen sink but I'm exploring how we could have something of an "Open anything" model.

CleanShot 2022-04-22 at 10 04 19

Edited to remove Clone option

@gjsjohnmurray
Copy link
Contributor

I like the split button rather than the quickpick.

I think "Clone Repository" is significantly different from the other options, in that its effects on your local workstation persist after VS Code is closed (there's a cloned folder in the local filesystem).

@daviddossett
Copy link
Contributor Author

Yep, good point 👍

@daviddossett
Copy link
Contributor Author

Closing given no other activity here. Will reopen if we revisit it in the future.

@github-actions github-actions bot locked and limited conversation to collaborators Jan 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality ux User experience issues
Projects
None yet
Development

No branches or pull requests

2 participants