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

Basic support IntelliJ IDEA as a Che editor #17790

Closed
10 of 12 tasks
l0rd opened this issue Sep 4, 2020 · 25 comments
Closed
10 of 12 tasks

Basic support IntelliJ IDEA as a Che editor #17790

l0rd opened this issue Sep 4, 2020 · 25 comments
Labels
area/editor/jetbrains/intellij Issues related to the IntelliJ-based IDE for Eclipse Che kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. severity/P1 Has a major impact to usage or development of the system.
Milestone

Comments

@l0rd
Copy link
Contributor

l0rd commented Sep 4, 2020

Is your enhancement related to a problem? Please describe.

Che-theia is the default editor. We support alternative editors such as dirigible, desktop eclipse and code-server. But not IntelliJ.

Describe the solution you'd like

Add support for IntelliJ as an editor. IntelliJ would run in the browser. IntelliJ community edition should be used. These are the subtasks:

What is NOT included in this issue

A fully supported editor should also:

  • describe the IDE configuration in a devfile (commands, plugins, runtime services)
  • automatically inject users configs in the IDE (such as proxy, git, kubernetes settings)
  • airgap support

But these features are not in this issue scope. We will create dedicated issues for that.

Describe alternatives you've considered

Additional context

This is a feature provided by coder enterprise (this is the dockerfile).

@benoitf has provided PoC that uses webswing and that can be tried out with the following devfile or using docker locally docker run --rm -it -p 8080:8080 quay.io/fbenoit/webswing-intellij:20200904.

image

@l0rd l0rd added the kind/enhancement A feature request - must adhere to the feature request template. label Sep 4, 2020
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Sep 4, 2020
@l0rd l0rd changed the title Support IntelliJ as an editor Support IntelliJ IDEA as a Che editor Sep 4, 2020
@jeffmaury
Copy link

Please note that IntelliJ Community does not require a license

@jeffmaury
Copy link

Adding GTK broadway as an alternative (this is used by Desktop Eclipse)

@benoitf
Copy link
Contributor

benoitf commented Sep 4, 2020

@jeffmaury broadway is for GTK/AWT but inteliij is not using AWT/gtk

@benoitf
Copy link
Contributor

benoitf commented Sep 7, 2020

@l0rd l0rd added area/editor/theia Issues related to the che-theia IDE of Che severity/P1 Has a major impact to usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Sep 7, 2020
@benoitf benoitf added area/plugin-registry and removed area/editor/theia Issues related to the che-theia IDE of Che labels Sep 7, 2020
@l0rd l0rd changed the title Support IntelliJ IDEA as a Che editor Basic support IntelliJ IDEA as a Che editor Sep 10, 2020
@benoitf benoitf added area/editor/theia Issues related to the che-theia IDE of Che area/editor/jetbrains/intellij Issues related to the IntelliJ-based IDE for Eclipse Che and removed team/editors area/editor/theia Issues related to the che-theia IDE of Che area/plugin-registry labels Sep 10, 2020
@azatsarynnyy azatsarynnyy mentioned this issue Sep 17, 2020
18 tasks
@azatsarynnyy azatsarynnyy added this to the 7.20 milestone Sep 17, 2020
@vzhukovs vzhukovs self-assigned this Sep 22, 2020
@azatsarynnyy azatsarynnyy added the status/in-progress This issue has been taken by an engineer and is under active development. label Sep 22, 2020
@benoitf
Copy link
Contributor

benoitf commented Sep 22, 2020

source code of POC are there

(with VNC I was able to use browser resizing and maximize widgets using a lightweight wm (here it's fluxbox) where I can hide toolbar/workspaces, etc by default)

@benoitf
Copy link
Contributor

benoitf commented Sep 22, 2020

@l0rd
Copy link
Contributor Author

l0rd commented Sep 22, 2020

I have added a few more requirements in the description:

  • It should be possible to minimize the sidebar as it's possible for Theia.
  • We should provide documentation about how to use the ultimate edition.
  • We should test that it works properly with a Floating License Server.

@benoitf
Copy link
Contributor

benoitf commented Sep 22, 2020

I would say order should be

  1. publish image of the intellij community + vnc
  2. Add plugin in the registry
  3. Add devfile using this plug-in (turn into documentation)
  4. doc: a) probably need to have a 'base image' that ppl can extend to their own use
    b) example of devfile with JETBRAINS_LICENSE_SERVER and ultimate edition
  5. persistent settings across workspace restart
  6. idle timeout che/intellij plug-in
  7. image for CRW based on ubi8
  8. clone projects on boot or do Che to perform git clone of projects to reduce errors and for easier integration with editors #15973
  9. terminal/containers intellij/che plug-in
  10. minimize che dashboard sidebar (workaround if not done is to open the ide in a new full window. I did that there: https://github.com/benoitf/che-intellij-editor-webswing/blob/master/index.html#L25-L30)
  11. execute devfile tasks (let's avoid that for now)

@nickboldt
Copy link
Contributor

What are the deliverables here? new container image(s)? new plugin(s)? new devfile(s)?

If any of the above, what are the dependencies, and how are they built? What licenses apply re: redistribution, attribution, etc.? is crypto involved? Are there any security concerns?

This smells like an Epic, which would need some subtasks under it re: the above items.

@vzhukovs
Copy link
Contributor

Then this option needs to be disabled by default in settings all the time

@vzhukovs
Copy link
Contributor

vzhukovs commented Sep 28, 2020

I think, we can add additional item into description, to have a preliminary IDE configuration and set up specific options like #17790 (comment). Because when workspace opens at first time, user has to configure this option to operate with terminal. //upd: updated the last item in the list

benoitf added a commit to benoitf/che that referenced this issue Sep 30, 2020
Related to eclipse-che#17790

Change-Id: I07b6c4b02bcb1e7fd9725e2e640f7c7e0d66aee2
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
benoitf added a commit to benoitf/che that referenced this issue Oct 1, 2020
Related to eclipse-che#17790

Change-Id: I07b6c4b02bcb1e7fd9725e2e640f7c7e0d66aee2
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
benoitf added a commit to benoitf/che that referenced this issue Oct 1, 2020
Related to eclipse-che#17790

Change-Id: I07b6c4b02bcb1e7fd9725e2e640f7c7e0d66aee2
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
benoitf added a commit that referenced this issue Oct 1, 2020
Related to #17790

Change-Id: I07b6c4b02bcb1e7fd9725e2e640f7c7e0d66aee2
Signed-off-by: Florent Benoit <fbenoit@redhat.com>
@azatsarynnyy
Copy link
Member

I've added the issue for a UBI-based Dockerfile as it's a requirement for including it to CRW.
#18031

@azatsarynnyy azatsarynnyy modified the milestones: 7.20, 7.21 Oct 8, 2020
@azatsarynnyy azatsarynnyy mentioned this issue Oct 8, 2020
15 tasks
@azatsarynnyy azatsarynnyy added kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. and removed status/in-progress This issue has been taken by an engineer and is under active development. labels Oct 22, 2020
@azatsarynnyy azatsarynnyy removed the kind/enhancement A feature request - must adhere to the feature request template. label Oct 22, 2020
@nickboldt nickboldt modified the milestones: 7.21, 7.22 Nov 2, 2020
@nickboldt
Copy link
Contributor

Two subtasks not yet complete, so move to 7.22 milestone:

@azatsarynnyy
Copy link
Member

The basic support is done 🎉
If this will be our priority in the future, then all further enhancements will be tracked with separate issues.

@maxandersen
Copy link

how does one try out this feature ?

@benoitf
Copy link
Contributor

benoitf commented Sep 6, 2021

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/editor/jetbrains/intellij Issues related to the IntelliJ-based IDE for Eclipse Che kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

No branches or pull requests

9 participants