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

Support VS Codium #14

Open
survirtual opened this issue Sep 26, 2022 · 3 comments
Open

Support VS Codium #14

survirtual opened this issue Sep 26, 2022 · 3 comments
Labels
approved Approved for implementation feature-request New feature or request

Comments

@survirtual
Copy link

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 survirtual added feature-request New feature or request needs-triage Awaiting triage from a core team member labels Sep 26, 2022
@survirtual
Copy link
Author

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'
  1. 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

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

  3. 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 tmacwill added approved Approved for implementation and removed needs-triage Awaiting triage from a core team member labels Jan 10, 2023
@tmacwill
Copy link
Member

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Approved for implementation feature-request New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants