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

Gitpod "open in" should be set-able per project, not just per-user #6874

Closed
rfay opened this issue Nov 24, 2021 · 13 comments
Closed

Gitpod "open in" should be set-able per project, not just per-user #6874

rfay opened this issue Nov 24, 2021 · 13 comments

Comments

@rfay
Copy link

rfay commented Nov 24, 2021

Is your feature request related to a problem? Please describe

The new Jetbrains open-in-local feature is great, but you have to choose it for the whole user. I work in GoLand for many projects, but PhpStorm for many others.

Describe the behaviour you'd like

I'd want to be able to configure the "open in" at the project level, not the user level.

Currently it's all-in for one tool, and that doesn't fit what I'd do.

Relates to:

@akosyakov
Copy link
Member

akosyakov commented Nov 25, 2021

I'd want to be able to configure the "open in" at the project level, not the user level.

I guess you mean per project but on user level, i.e. each user can decide which IDE he wants to use for different repos. It is very typical in java world for instance to only commit gradle or maven setup but let devs use IDE of preference.

@rfay
Copy link
Author

rfay commented Nov 25, 2021

Yes, I do mean project-level and of course under control of the user. I guess because I don't have anybody else in the project I use I forget that. That does make it more complicated.

@mrsimonemms
Copy link
Contributor

I would love to see it being even more granular than that and being able to decide which Jetbrains IDE I use at runtime.

Real world usecase - I tend to want to use Goland when working with Go projects but IntelliJ when working on JS projects. When doing work on the Gitpod repo, this has both projects so I tend to switch between the two.

In my mind, this could work as a split button showing all the different available IDEs (defaulting to whatever is set as your default browser in settings)

@loujaybee
Copy link
Member

Associated with: #8573

@loujaybee
Copy link
Member

loujaybee commented May 31, 2022

Configuring this in project settings would have some challenges:

  1. It would be good to have a "global" view of your overrides to default, as going through and managing each setting on a per-project basis could be cumbersome. Something like GitHub does with repository selection (CC: @gtsiolis).
  2. Not all repo's are projects.

image

Alternatively, we could implement a persistent choice on workspace start or from dashboard, e.g. #8573

@loujaybee
Copy link
Member

loujaybee commented Jun 2, 2022

Given some of the limitations of adding on a project level, I suggest starting with #8573, and implemented as an "ask me for all workspaces" (thanks for the suggestion @Siddhant-K-code ) would be a good point to start with getting movement on this.

With the longer term solution looking like...

  1. Global preference - Only one preference for all future workspace starts, as current.
  2. Ask me everytime - Always ask for editor preference on start, allowing easier folks who swap more frequently (use cases I've heard ard: bouncing between work/personal, for open-source folks, or for leveraging browser VS Code for "quick edit" type work)
  3. Pin for project - Allow the user to pin an IDE preference on a per-project basis (this is not perfect, as not all repo’s are projects, but if you have starting "test" Theia instance only works once in a given terminal? #2 set, this mitigates that issue).

@huweiATgithub
Copy link

I think a per-project setting might make the most sense - a project has an IDE that fits it the best.
For a repo having many components that require different IDEs, a better way might be to create multiple projects for the same repo.
Of course, there might be the case that a user wants to open the project in another IDE occasionally.

Considering all these, it is good for a project to have the following radio button for choosing IDE:

  • follow user preference - the default one
  • ask everytime - for workspace started from this project, ask every time.
  • specific IDE - start the selected IDE

In per-User preference, it could have the above options except follow user preference.

Regarding those workspaces which are not from a project, one can either modify the user preference (switch IDE or select ask everytime) or specify it through the link, e.g. https://gitpod.io/#referrer:jetbrains-gateway:intellij/https://github.com/gitpod-io/spring-petclinic.
The latter is even working now.

@loujaybee
Copy link
Member

loujaybee commented Aug 30, 2022

Adding additional user feedback for pinning project to an IDE or editor configuration:

I am looking to configure a different Editor by project other than going to the setting and changing the editor before launching a new gitpod. We use different editors depending on the project, for Go Projects we want to use GoLand, but for Java we use IntelliJ. We don't have a preferred editor, we have a preferred editor depending on the project.

And relating to mono-repo use cases which require multiple editors:

We need to open two different editors at the same time. We use Kotlin Multiplatform to share code between platforms. When working on web, devs expect to be able to make changes in Kotlin and update the web code at the same time to see how they interact. Devs use IntelliJ for KMP, and VSCode for web

@mbrevoort
Copy link
Contributor

Another option would be to combine of Ask me every time with select and Never ask again, saving a per user, per project setting. However, we would need to show these settings somewhere for each user, allowing them to delete them (oops, how do I undo that?).

@andreafalzetti
Copy link
Contributor

I really miss this feature, I think we should deliver a skateboard here ASAP. Ask me every time is a good option IMHO for the time being.

@gtsiolis
Copy link
Contributor

The new start with options feature recently merged could help here, see #15389, #15567, and #15668. Cc @svenefftinge

For example, you can now prompt users to select an editor and workspace class when opening a workspace for any repository, like gitpod-io/gitpod, by using the following URL:

https://gitpod.io/?showOptions=true&editor=intellij#https://github.com/gitpod-io/gitpod

Using the default options can be done by only using the showOptions parameter.

https://gitpod.io/?showOptions=true#https://github.com/gitpod-io/gitpod


In any case, although the workspace class selection makes sense in the project-scope where the setting has moved, I'm not sure if having the editor selection per-project is ideal as developers have strong opinions about their editor choice, dotfiles setup, etc. regardless the type of the project. Maybe if we allowed users to opt-out from the project setting and use their choice every time could help. Alternatively, I'd suggest improving the flexibility or ways to select a different editor. 💭

@loujaybee
Copy link
Member

loujaybee commented Jan 18, 2023

Thanks for the update here, @gtsiolis !

I'm not sure if having the editor selection per-project is ideal as developers have strong opinions about their editor choice, dotfiles setup, etc. @gtsiolis

Noting for some customers, having an IDE org wide policy is beneficial, see:

@stale
Copy link

stale bot commented May 9, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the meta: stale This issue/PR is stale and will be closed soon label May 9, 2023
@stale stale bot closed this as completed Jun 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants