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 Code settings system and workspace/configuration in addition to gobpie.json #59

Open
FeldrinH opened this issue Apr 20, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@FeldrinH
Copy link
Collaborator

Most of the settings in gobpie.json are things that you would want to set per computer, not per folder. Given this, I think it would make sense to use VS Code's intended solution for managing extension configuration, which as far as I can tell is declaring settings in contributes.configuration and reading them from Gobpie using the LSP worspace/configuration request.

If this is implemented we could get rid of gobpie.json entirely and since VS Code supports overriding settings per-folder this would result in no loss of flexibility and an improvement in usability.

@sim642 sim642 added the enhancement New feature or request label Apr 23, 2023
@karoliineh
Copy link
Member

How well does it scale to other IDEs? Although we are not currently having plugins for any other IDE than VS Code, it would be pointless to restrict GobPie to VS Code only. Otherwise why even use MagpieBridge and not implement a VS Code plugin directly?

If the IDEs manage extension configurations similarly, with no major modifications needed for extending to any other IDE, this can replace the JSON file. Otherwise, I would suggest we can implement it for VS Code, but the JSON option for settings should still stay as an alternative.

@FeldrinH
Copy link
Collaborator Author

As far as I can find vim and emacs should have good support for workspace/configuration, however I'm not sure if they have any support at all for the browser windows that GobPie needs.

Intellij LSP (https://github.com/gtache/intellij-lsp) is unmaintained and MagpieBridge's implementation (https://github.com/MagpieBridge/IntelliJLSP) doesn't appear to support workspace/configuration, so IntelliJ support is unlikely, unless we put in the work to implement it ourselves.

As far as I can tell (the documentation is practically nonexistent for this) Eclipse does support the request, but you have to implement the configuration UI yourself. There is probably a generic configuration system somewhere in Eclipse's plugin infrastructure that can simplify this.

@FeldrinH
Copy link
Collaborator Author

FeldrinH commented Apr 29, 2023

However, this isn't really an either-or situtation. We could use gobpie.json if it exists and otherwise fall back to workspace/configuration and if that is unsupported then fall back to a default configuration.

That could improve the UX on VSCode and other IDE-s with workspace/configuration support for a relatively small effort.

@sim642
Copy link
Member

sim642 commented May 2, 2023

We could use gobpie.json if it exists and otherwise fall back to workspace/configuration

It would be best if the two configurations could be merged per-field because some (e.g. preAnalyzeCommand) are specified for the project and thus likely in goblint.json, while others (e.g. goblintExecutable) are user-specific.

@FeldrinH FeldrinH changed the title Use VS Code settings system and workspace/configuration instead of gobpie.json Support VS Code settings system and workspace/configuration in addition to gobpie.json Jun 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants