scalameta / metals-feature-requests

Issue tracker for Metals feature requests
37 stars 4 forks source link

Add plugin support for Eclipse Che (Online IDE) #46

Open soronpo opened 5 years ago

soronpo commented 5 years ago

Is your feature request related to a problem? Please describe. I want beginners to be able to start using Scala as easy as possible.

Describe the solution you'd like Online IDEs (web-embedded) make it possible to have a ready environment for new users. The zero-install overhead is quite beneficial. Eclipse Che is such a cloud IDE and also supports LSP. Supposedly it has similar API to Eclipse, so it may be easy to port the existing Metals plugin to support Che.

Describe alternatives you've considered Perhaps https://code.visualstudio.com/docs/remote/remote-overview

Additional context https://www.eclipse.org/che/technology/

Search terms: Eclipse Che

tgodzik commented 4 years ago

@soronpo I managed to get the Metals plugin working in Eclipse Theia in GitPod via: https://gitpod.io/#https://github.com/tgodzik/metals-sample

This should also work in Eclipse Che since it can run Theia as an IDE. I asked around on EclipseCon and it should be possible to create either a separate Che registry that we publish the plugin to, or to create a PR to the existing registry.

Either way, it should be pretty easy to do. If anyone's interested in looking into that it shouldn't take too much time.

soronpo commented 4 years ago

Interesting. I've also tried Theia a few weeks ago with the Visual Studio Code plugin, but without success. I tried now using the workspace you provided, but it doesn't seem to compile anything.

tgodzik commented 4 years ago

Interesting. I've also tried Theia a few weeks ago with the Visual Studio Code plugin, but without success. I tried now using the workspace you provided, but it doesn't seem to compile anything.

Did the build import message pop up? Is there anything in metals.log file? It did work pretty well each time I opened a project.

soronpo commented 4 years ago

I removed the .metals folder and reimported the sbt. It works now. This has great potential! If we manage to have a stable working workspace on scala-lang it would greatly enhance the beginner user experience.

soronpo commented 4 years ago

Did you need to change anything in the plugin to make this work?

tgodzik commented 4 years ago

Did you need to change anything in the plugin to make this work?

Nothing at all, just added the .gitpod.yml configuration to have a proper JDK and plugins already installed:

image: openjdk:8
vscode:
  extensions:
    - scala-lang.scala@0.3.8:wQBBM+lKILHBqOqlqW60xA==
    - scalameta.metals@1.6.0:Yi5jjDJjIyozrOuZIWFt/g==
soronpo commented 4 years ago

This should also work in Eclipse Che since it can run Theia as an IDE. I asked around on EclipseCon and it should be possible to create either a separate Che registry that we publish the plugin to, or to create a PR to the existing registry.

Either way, it should be pretty easy to do. If anyone's interested in looking into that it shouldn't take too much time.

We might be able to put some hours on this. I'm working on a collaborative project that utilizes Che and one of the groups developed a custom plugin for it. So they may have the know-how to make metals work on Che.

tgodzik commented 4 years ago

@soronpo It would be awesome if you could take a look into this. I don't have much time currently, but let me know if you need any help!