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

open local workspaces, files and folders in remote #14607

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

jonah-iden
Copy link
Contributor

What it does

Implements #14574
This does 2 things regarding opening workspaces when connected to a remote.

  1. It shows the list of local workspaces when executing open recent workspaces and allows opening them even when connected to a remote
  2. It adds a new button to the file dialog when connected to a remote to show local files instead of the ones in the container. This then allows opening local folders and disconnecting from the remote by selecting one of these.

How to test

  • Connect to a remote or dev-container.

  • select file -> Open Recent Workspace...

  • see the list should be equal to the list you see locally.

  • Workspaces should be openable both dev-container and normal files/folders

  • Connect to a remote or dev-container.

  • use the file -> Open Folder... option.

  • See there should be a new button Show Local

  • Click to see a new file dialog opening showing the local file system

  • Selecting the folder disconnects the remote and opens the workspace or opens a new window with the selected workspace (depending on settings)

Follow-ups

Breaking changes

  • This PR introduces breaking changes and requires careful review. If yes, the breaking changes section in the changelog has been updated.

Attribution

Review checklist

Reminder for reviewers

@jonah-iden jonah-iden changed the title Jiden/open local workspaces in remote open local workspaces, files and folders in remote Dec 10, 2024
@@ -81,5 +84,11 @@ export default new ContainerModule((bind, _, __, rebind) => {
bind(LocalRemoteFileSystemProvider).toSelf().inSingletonScope();
rebind(UserStorageContribution).to(RemoteUserStorageContribution);

if (isRemote) {
rebind(WorkspaceService).to(RemoteWorkspaceService).inSingletonScope();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: This should rather be a contribution, instead of a rebinding. See also the existing rebinding in the collaboration package

rebind(WorkspaceService).toService(CollaborationWorkspaceService);
and the related issue #14080.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Waiting on reviewers
Development

Successfully merging this pull request may close these issues.

2 participants