zed
zed copied to clipboard
Remote Project REPL support
Summary
Run jupyter repl on remote machines
Description
From what I could understand from code:
- Currently
repl_storeis global, and not updated when changing projects (i.e. connecting to remote project) JupyterSettingsare global too, and project settings are ignored (there is a big chance that remote machine needs different kernel configs)
It seems that current code could work on remote, if it weren't global, and it would update to changing workspaces and connecting to remote.
I was trying to do this myself, but got a little bit stuck due to lack of knowledge around code base:
- I could get my local config to match remote config, but then it would actually read local jupyter kernelspec instead of remote. I guess that's because I first open local workspace, then remote, and the global
repl_storeis initialized with local fs, not remote (funny enough it's reading local kernelspec but then runs it on remote) - I don't quite understand the difference between project/workspace/editor and it's relation to each other (see next)
- As far as I understand, we need to
observe_new_viewsinsideReplStore::init, and create a new repl for each (workspace/editor) - I was trying to look at
file_finderto understand, and it works with workspaces, but here we also need editor too to get the code that we want to run, so I got a little stuck with a problem of matching both states correctly. It seems we need to have only one of (editor/workspace), and get the other from that, but I don't get it what the "parent/child" relationship here if it even exists
Same problem here:
I am also facing this issue and adding a default kernel selection for the remote project in its settings.json also doesn't seem to fix this issue, even though the lsp seems to understand the remote file system correctly
Confusingly, I'm working on support for remote jupyter servers which is not the same as the kernels via remoting (over SSH). I'll need some verbiage to differentiate between these.
This would be a very useful feature. Thanks again for a great editor.
+1. This would be a very nice feature to have when working remotely.
Is this feature being actively worked on? Is there an ETA?
it seems like the recent zed versions don't even have the option for repl in remote projects
it seems like the recent zed versions don't even have the option for repl in remote projects
Seems to be intentional as of #20397 But I don't know why it's also disabled for ssh remotes, there is code for remote kernels...
it seems like the recent zed versions don't even have the option for repl in remote projects
Seems to be intentional as of #20397 But I don't know why it's also disabled for ssh remotes, there is code for remote kernels...
yeah, this sounds like they wanted to focus on other things first but this shouldn't be very time talking to fix either
any updates?
It might be a user friendly to state that in the REPL / or Remote documentation. This would have saved me some time and despair over my incompetence.
Trying to use Zed on windows using WSL2 integration and this has become a blocker for me. The Jupyter kernel on wsl2 is not detected; This happens to be the single reason I am not moving to zed completely. Will stay here for updates.
I don't have a Windows machine to diagnose it but I'm guessing we're looking for Jupyter kernels in App Data https://github.com/runtimed/runtimed/blob/a7bec5d805bae26650ccbbac9baaa7946d43844b/crates/runtimelib/src/dirs.rs#L88. What's the path to your kernels on WSL?