[go: up one dir, main page]

Skip to content

UX: Client only WebIDE vs Remote Development

This issue describes a fundamental discrepancy between our "WebIDE can't open different projects" and "Remote Development should be able to open any remote folders" strategies.


Opening different projects from within the WebIDE

When you use vanilla VS Code for the web, it allows you to change workspaces. That means you can work on different projects without leaving the browser VS Code.

Changing project in vscode.dev:

change-repository-vscode-dev

The current legacy WebIDE is meant to be opened from the project page, and if you want WebIDE for a different project, you have to navigate to that project and open it there.

Changing project in legacy WebIDE:

changing-project-legacy-web-ide

This UX difference lead to a design decision to block any folder/workspace changes in the new Client-only WebIDE.

The design decision to only allow one workspace to be opened is strange for Remote Development. When connected to RDE, you assume you can open any folder on the remote host.

Questions to answer

  • Can we enable users to switch projects directly from Client-only WebIDE? (this would be UX change compared to the legacy WebIDE).
  • Is it OK if we hardcode the remote host folder in the URL for the MVC, or do we want the ability to switch folders?

URL Design

The URL design is similar between vscode.dev and legacy WebIDE

Software URL
vscode.dev https://vscode.dev/github/viktomas/godu
legacy WebIDE https://gitlab.com/-/ide/project/gitlab-org/gitlab-vscode-extension/edit/main/-/

From a URL design perspective, it might be strange to open the remote development on a project route e.g. https://gitlab.com/-/ide/project/gitlab-org/gitlab-vscode-extension/edit/main/-/?remoteHost=remote.host.domain.name&remoteFolder=/root/projects/gitlab-vscode-extension&token=abc The folder name is duplicated and what if the user wants to open a different folder on the remote.

Questions to answer

  • Does it make sense to have a separate route for WebIDE connected to RDE? e.g. https://gitlab.com/-/ide/remote?hostost=remote.host.domain.name&folder=/root/projects/gitlab-vscode-extension&token=abc

Terms explained in: Create a common vocabulary for Remote Development

Edited by Tomas Vik