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

Support for remote workspaces #318

Closed
Gama11 opened this issue Jan 14, 2020 · 6 comments
Closed

Support for remote workspaces #318

Gama11 opened this issue Jan 14, 2020 · 6 comments
Assignees
Labels
Milestone

Comments

@Gama11
Copy link
Contributor

Gama11 commented Jan 14, 2020

When working with remote workspaces, Project Manager's "List Projects to Open" command is no longer a good replacement for the built-in "Open Recent...": As far as I know there's no way to let Project Manager know about remote workspaces, while they do appear in "Open Recent...".

Here's an example with a workspace opened via the Remote SSH extension:

It is possible to run the "Save Project" command in that workspace, but this doesn't actually work when you try to open it (the saved project has the path on the remote machine as a rootPath).

I'm not sure how Project Manager could programatically open a remote workspace. Maybe it would have to invoke a command of the specific remote extension that is used (SSH, WSL, Container...). I wonder how VSCode does this internally in the "Open Recent..." UI.

@alefragnani
Copy link
Owner

Hi @Gama11 ,

First of all, thank you for you PR. I'm on vacation right now, and didn't have the time/resources to properly evaluate it.

I'm still not sure how the extension would work with Remotes At first, I thought about working locally which means ignoring remote folders/workspaces, and displaying just the local folders. Then, I thought about supporting remote folders, but as you described, I don't know if there are APIs available for that.

If I remember correctly, updating the extensionKind info will allow the extension to be visible and usable while opening remotes workspaces (you will see the commands and the Side Bar), but the Save Project command (and probably others which depends on the file system) does not work, right?

I'm slowly returning to my OSS projects. Still planning what to do in the next releases 😄 . Stay tuned.

@alefragnani alefragnani self-assigned this Jan 21, 2020
@alefragnani alefragnani added enhancement remote Remote Development labels Jan 21, 2020
@Gama11
Copy link
Contributor Author

Gama11 commented Jan 21, 2020

I'm not sure supporting remote workspaces is the same or even related to the extension running remotely.

If I remember correctly, updating the extensionKind info will allow the extension to be visible and usable while opening remotes workspaces (you will see the commands and the Side Bar), but the Save Project command (and probably others which depends on the file system) does not work, right?

Indeed.

@alefragnani
Copy link
Owner

Same here 😄.

I see two different scenarios, and not necessarily the extension needs to support both:

  1. The extension can be used when you connect to remotes
  2. The extension fully supports remote file systems, because it recognizes and supports working with it.

In both scenarios, you may have some limitations (like when you use Live Share). In this case, the first scenario (can be used) is almost complete with your PR, because:

It is working

  • The Commands are available
  • The Side Bar is available
  • You can switch between projects

It is not working

  • You can't save new projects (because the projects.json file is stored locally, not remotely.

To fully supports remotes, I think it should have:

  • Auto-detect projects in the remote
  • Share the settings/projects between host and remote

But I'm not sure I would make full support (probably not)

I don't use remotes that much, and played a little with Containers while bringing the Bookmarks extension to remote (still in alfa stage).

@Gama11
Copy link
Contributor Author

Gama11 commented Jan 22, 2020

It is working - You can switch between projects

That's exactly the part that's not 100% working / what this issue is about.

In VSCode's "Open Recent" list, you have folders on the local file system in the same list as those <remote folder> [SSH: <IP>] entries from e.g. the Remote SSH extension. That's why the Project Manager's "Open Project" command is no longer a viable replacement for the built-in "Open Recent..." for me anymore since I started using remote development support: I can't use it to connect to a remote.

Personally I'm not really interested in auto-detection of projects on the remote, that seems unrelated to this.

@alefragnani
Copy link
Owner

I'm playing with it, and I guess I found a way to securely allow the extension to run while connected to remotes. I won't fully support remotes for now, but at least the extension will be available when connected on remotes.

What I mean about secure? I would like to avoid issues while using the Save Project command, so, the command will be disabled when running in remote environments.

Stay tuned

@alefragnani
Copy link
Owner

Hi @Gama11 ,

The other Remote Development issue (#284) has raised a few issues, related to some users which (apparently) were using the extension installed remotely. Once the Save Project is now disabled when remote, they can't save remote projects anymore (which was an unexpected scenario to me).

I've created #323 to gather more information about these scenarios, better understand their needs, and release an update which could be used by everyone.

I hope the newly released version works as expected for you. If not, please let me know.

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

No branches or pull requests

2 participants