flathub / flathub/com.visualstudio.code

Idea for handling Visual Studio Code's SDK and $PATH woes

Open
#72 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
Shell
Stars
217
Forks
82
Avg merge
1d 7h
Merged PRs (30d)
1

Description

As part of the [Unity Hub Flatpak](https://github.com/flathub/flathub/pull/839), Visual Studio Code needs to be able to handle C# code via Omnisharp. This has gotten me a bit stuck, as Omnisharp (as well as some other VS Code extensions) wants the dotnet SDK binary to be directly in `$PATH`, but it's in `/usr/lib/sdk/dotnet/bin`. You could technically use an override to add it to the PATH, but having this be required just to use Untiy Hub doesn't seem overly user friendly.

In fact, this is really a general problem. Flatpak intentionally doesn't add SDK extensions to the PATH to avoid conflicts, but sometimes we just need it there.

Now comes the idea: include a "Flatpak SDK Extension PATH Manager" (name of course not final) extension as part of the default installation. This extension would have a check box for every installed SDK extension, and the user could mark the boxes for the SDK extensions they want to be in their PATH. Whenever VS Code is started, the "Flatpak SDK Path Manager" VS Code extension would go through all the selected SDK extensions and update the VS Code environment with the SDK extensions' `enable.sh` environment.

This would avoid the potential conflicts (as the user is still in charge of deciding what goes in the PATH and what doesn't), but it would also make it far more user-friendly to be able to add whatever is needed to the default PATH without having to mess with overrides and the Flatpak CLI.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.