eclipse-che / che

Kubernetes based Cloud Development Environments for Enterprise Teams
http://eclipse.org/che
Eclipse Public License 2.0
6.99k stars 1.19k forks source link

Use plug-ins of extension packs for all default stacks #15272

Open benoitf opened 4 years ago

benoitf commented 4 years ago

Description

When using VS Code (or VS Code online) and when I'm working on a Java project the default java pack is proposed https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack

It includes vscode-java and the debugger but also a lot of other tools like the java test runner, dependency viewer, maven scaffolding, etc.

This is also true for different technologies https://marketplace.visualstudio.com/search?target=VSCode&category=Extension%20Packs&sortBy=Installs

There are PHP pack, Python pack, TypeScript, etc.

But in Che, there is mostly only the LSP/Debug extension provided while tons of tools are de-factory really important when working on a project.

Describe the solution you'd like

I would like to have the same default plug-ins/packs provided when using Che and working for a given technology.

Java Devfile example --> Java Extension Pack being selected. PHP Devfile example --> PHP Extension pack being selected. etc.

dependency tasks:

Check plug-ins are working tasks:

tsmaeder commented 4 years ago

This is a good idea, but we don't have the notion of "extension packs" for Che plugins. This needs some technical thought. Also, this sounds largish; should it be included in the roadmap? https://github.com/eclipse/che/wiki/Roadmap

benoitf commented 4 years ago

AFAIK it's largish as it's an epic

tsmaeder commented 4 years ago

Since the implementation of this is unclear, not sure which team to assign this to. @benoitf @l0rd this needs some discussion first.

tsmaeder commented 4 years ago

Removed from language backlog, not clear this falls into our responsibilities.

benoitf commented 4 years ago

@tsmaeder it's your responsability

It's only about adding more default plug-ins for default stack languages.

tsmaeder commented 4 years ago

@benoitf that's not what the title says.

benoitf commented 4 years ago

In Eclipse Che, right now if I select Java, java-debug vsix is also brought. So ChePlugin can bring more than one vsix at a time (which is what an extension pack is doing)

so I could have a ChePlugin with the exact same list of vsix (minor the one that are not free) for a given language

so it's just a matter of bringing more plug-ins to have same experience than on VS Code or Vs Code Online

tsmaeder commented 4 years ago

@benoitf no, if I have two extension packs (let's say "Quarkus" and "Spring Boot"), I'll end up with multiple copies of jdt.ls. So this is not simply a matter of adding more VS Code extensions to the Che plugins. If the user installs two of them, stuff is going to break. Having a "extension pack" mechanism is much more involved and is unlikely to even involve the "languages" team.

benoitf commented 4 years ago

@tsmaeder if you don't provide extension as separate plug-in it doesn't reproduce your problem. And AFAIK quarkus is not included in the Java extension pack

benoitf commented 4 years ago

I think we should separate issue This issue/epic is about having one plug-in that is enabling multiple plug-ins at a time (same container)

Not trying to solve the issue about enabling 4 different plug-ins and make them work with the same container or by sharing a common folder for jdt.ls

Or not trying to solve plug-in collision.

Just to have same default tools than VS Code online that enable by default the extension pack for projects. (so need to be sure that these extensions are working well)

benoitf commented 4 years ago

I will create specific issues for Languages Team ans list them in the epic

che-bot commented 3 years ago

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.