BetterThanTomorrow / calva

Clojure & ClojureScript Interactive Programming for VS Code
https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.calva
Other
1.61k stars 213 forks source link

Support for Github browser-embedded VS Code #1274

Open cyppan opened 3 years ago

cyppan commented 3 years ago

I've tried installing Calva into the github.dev browser VS code but it says that the extension is not compatible, I guess it's the same with a Codespace VS code, I haven't tried this though (I don't have access with my current Github plan).

Codespace enables development environments in the cloud, very much like gitpod, it can be either through:

Here some documentation I've found about making extensions compatible with codespace, which might apply too to: https://code.visualstudio.com/api/advanced-topics/remote-extensions

But I'm not sure if the github.dev browser VS code (the one you get when typing "." in a Github repo) is the same as the Codespace one.

bpringe commented 3 years ago

I think that browser VS Code is powered by Codespaces. Let's see what @PEZ has to say on this since he's done some experimenting with integrating Calva with environments like this.

bpringe commented 3 years ago

Examples are when an extension accesses files from the VS Code installation on the desktop or when an extension depends on an executable that must run in a desktop environment.

I'm not sure about that first point, but I think Calva's usage of clojure-lsp is in line with the second point, since clojure-lsp runs as a separate process on the client OS. I don't know for certain that it couldn't also run in Codespaces in a similar way though. If that were an issue, we could probably disable clojure-lsp in that environment.

PEZ commented 3 years ago

Someone with access to Codespaces out there? Would be good to know if Calva works there in the non-browser setting.

cyppan commented 3 years ago

I was thinking so, but my current github plan is not enough sorry

cdeszaq commented 2 years ago

Circling back on this, Calva seems to work fine via Codespaces and the in-browser editor. There's some strangeness with hot reloading and shadow-cljs and how that all works, since there is some fancy localhost URL detection and conversion going on, but otherwise everything seems to work fine.

If I think of it, I'll come back here and add more details about what the URL wrangling seems to be doing. However, for those looking to play themselves, all you need is a basic Team plan, which is (I think) $4/month for just your personal user, and then whatever minimal charges there are for the actual Codespace instance you'd be playing with.