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

Custom URI Scheme for 3rd party integrations (DevPod) #15070

Open
1 task done
pascalbreuninger opened this issue Jul 24, 2024 · 2 comments
Open
1 task done

Custom URI Scheme for 3rd party integrations (DevPod) #15070

pascalbreuninger opened this issue Jul 24, 2024 · 2 comments
Labels
cli Command-line interface feedback enhancement [core label] linux remote dev Feedback for remote development servers

Comments

@pascalbreuninger
Copy link

pascalbreuninger commented Jul 24, 2024

Check for existing issues

  • Completed

Describe the feature

Hey 👋

Motivation

I'm the maintainer of an open source project called DevPod which let's you create dev environments based on devcontainer.json on any infrastructure and the connect it to the most popular IDEs.
Zed has gained a lot of traction lately and unsurprisingly we now have requests to support it in DevPod (ref).
I know your remote development implementation is in the early stages but it might be interesting to consider integrating with other tools such as DevPod for the GA release of this feature.

Suggestion

VSCode and Jetbrains IDEs currently expose a custom uri scheme to create new remote workspaces, i.e.

  • vscode://vscode-remote/ssh-remote+$HOST/$FOLDER_TO_OPEN
  • jetbrains-gateway://connect#idePath=$IDE_FOLDER_ON_REMOTE&projectPath=FOLDER_TO_OPEN&host=$HOST&type=ssh&deploy=false

Zed could also implement a similar custom protocol using the existing parsing features to open files with zed://filename if I saw that correctly glimpsing over the code.

Alternatives

  • Add a new CLI command to launch a remote workspace, zed launch --host=$HOST --folder=$FOLDER or something along those lines
  • I haven't tried it yet but external tools could potentially use the existing SQLite client to update the internal state manually although it's error prone and likely to fail soon

If applicable, add mockups / screenshots to help present your vision of the feature

No response

@pascalbreuninger pascalbreuninger added admin read Pending admin review enhancement [core label] triage Maintainer needs to classify the issue labels Jul 24, 2024
@ConradIrwin
Copy link
Member

@pascalbreuninger Thanks for suggesting this! We're in the middle of a rewrite of our SSH layer, but we do intend to support some kind of URL. Like zed://ssh/$HOST/$PATH.

I'm assuming dev containers rarely need other ssh options, but I'd like to make sure we have the support for that too.

@notpeter notpeter added cli Command-line interface feedback linux remote dev Feedback for remote development servers and removed triage Maintainer needs to classify the issue admin read Pending admin review labels Jul 24, 2024
@pascalbreuninger
Copy link
Author

pascalbreuninger commented Jul 24, 2024

@ConradIrwin yup that should be enough. Most tools write their own SSH host config anyway if they need more options. As long as we can let zed know which host (or command) to use and where the workspace is located on the remote machine, we're good 👍
Looking forward to your refactoring!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cli Command-line interface feedback enhancement [core label] linux remote dev Feedback for remote development servers
Projects
None yet
Development

No branches or pull requests

3 participants