serenadeai / serenade

Apache License 2.0
329 stars 56 forks source link

Support VS Codium #14

Open survirtual opened 2 years ago

survirtual commented 2 years ago

Context

Please support VS Codium.

I do not want to be tracked by Microsoft so I use VS Codium. It is an OSS fork of VS Code that has all the same features, minus telemetry. It should work with minor code changes as it has all the same considerations as vs code. I installed the VS Code plugin to VS Codium but it does not seem to work. There are too many places that have hardcoded settings for VS Code for me to manage manually going through.

Goals

I want to use this with VS Codium instead of VS Code.

Proposed Solution

Make the VS Code editor configurable to support whatever version is installed

Alternatives

There is no downside to doing this.

survirtual commented 2 years ago

Just an unofficial FYI for anyone wanting to use this without using VS Code / using vscodium and not wanting to deal with building.

Quick hack to make this work on vscodium on the provided bins and extensions:

1) Open up the app package & replace vscode with vscodium (this changes the name to match the application)

grep -rl vscode . | LC_ALL=C xargs sed -i "" 's/vscode/vscodium/g'

2) Install vscode extension into vscodium by downloading the Serenade vsix, then manually installing the extension in vs codium via the top right ... menu in the extensions tab -> install from vsix

3) Go to the .vscode-oss extensions folder in your home dir and find the serenade extension (cd ~/.vscode-oss/extensions/serenade-)

4) Change the first two non-require instances of "vscode" to "vscodium" (this gets ipc sending the correct app id)

Should be able to establish comms and be operational. Would need to do this with every upgrade, so just a hack / fyi.

For the devs: looks like everything works with this simple mod, so maybe just adding a vscode || vscodium || vscodeoss or chain everywhere a vscode literal exists would make this work. In the extension, just need to check the extension bin dir and if it's in vscode-oss, then it's using vscodium. I'm sure there is a better way in the API to detect that, and in the IPC source just change it from "vscode" as the app name to an if - else statement setting it based on the app. Should be a pretty straight-forward change; I'll maybe do that when I have more time and submit a pull request.

tmacwill commented 1 year ago

I'd be supportive of the change above—generalizing vscode to also apply to variants where no other changes would be required. IIRC we did this at some point to support Brave/Edge via the Chrome extension.

BobSynfig commented 1 year ago

A faster solution: rename (or duplicate*) codium binary as vscode in codium's folder. You can just rename it, as normally you don"t have M$ version installed in favour of codium. Note that a symlink is not sufficient as the executable needs to be named vsocde in memory in order to be recognized by Serenade. You can also do a little script that will overwrite vscode before to start it everytime you would update your codium.