Che-theia is the default editor. We support alternative editors such as dirigible, desktop eclipse and code-server. But not IntelliJ.
Add support for IntelliJ as an editor. IntelliJ would run in the browser. IntelliJ community edition should be used. These are the subtasks:
JETBRAINS_LICENSE_SERVER env variableEnter key in built-in terminal (solution provided in https://github.com/eclipse/che/issues/17790#issuecomment-698854133) or have preliminary preference set up on workspace startup https://github.com/eclipse/che/issues/17986A fully supported editor should also:
But these features are not in this issue scope. We will create dedicated issues for that.
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.

Please note that IntelliJ Community does not require a license
Adding GTK broadway as an alternative (this is used by Desktop Eclipse)
@jeffmaury broadway is for GTK/AWT but inteliij is not using AWT/gtk
Here is with novnc:
https://che.openshift.io/f?url=https://gist.githubusercontent.com/benoitf/1b85a426971790687f5b057ff205dbea/raw/c6ea1b2a75c3e3c16ea217eef37965cb68606e47/devfile.yaml

xpra:
http://che.openshift.io/f/?url=https://gist.githubusercontent.com/benoitf/6ccdb0ee11658c5efb794ca1b161bfb0/raw/f8cea506db476614ea9b94b898cac359df926fda/devile-intellj-xpra.yaml

latest novnc attempt by Florent http://che.openshift.io/f?url=https://gist.githubusercontent.com/benoitf/3c69b0290e6b6901dd20a505e1024267/raw/7f6523f7ec8a5bcbdbbc82eb4800fe565cb74c9f/gistfile1.txt
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)
I've moved vnc POC to https://github.com/che-incubator/che-editor-intellij-community
I have added a few more requirements in the description:
I would say order should be
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.
Intellij Idea's configuration directory is described in the following doc: https://www.jetbrains.com/help/idea/tuning-the-ide.html?_ga=2.152130681.1731799723.1600938923-801667806.1600783588#config-directory
@vzhukovskii note that $HOME/.local and $HOME/.java are used as well but not documented !
@benoitf thanks for the pointing! Will take a note about these directories.
@benoitf @vzhukovskii I have updated the description with the ordered list provided by @benoitf above with a few changes:
@l0rd thanks! At this moment there is a work on implementing simple activity tracker, because this is a kinda blocker for user experience. Issue for that will post in this comment soon. _(update: https://github.com/eclipse/che/issues/17953)_
To make the work coherent, I'll create a dedicate issues for each subtask, because this looks like an epic.
Another thing, that needs to be resolved is handling Enter key in the built-in terminal. At this moment it's also kinda blocker. There's a workaround to copy \n from the editor and paste to the terminal, but it's really slows down the any interaction with the terminal. Added to the description.
Disabling

in settings make it work

Then this option needs to be disabled by default in settings all the time
I think, we can add additional item into description, to have a preliminary IDE configuration and set up specific options like https://github.com/eclipse/che/issues/17790#issuecomment-698854133. 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_
I've added the issue for a UBI-based Dockerfile as it's a requirement for including it to CRW.
https://github.com/eclipse/che/issues/18031
Two subtasks not yet complete, so move to 7.22 milestone:
[ ] document how to use it and extend it: RHDEVDOCS#2161
JETBRAINS_LICENSE_SERVER env variable[ ] clone projects on boot https://github.com/eclipse/che/issues/15973
The basic support is done :tada:
If this will be our priority in the future, then all further enhancements will be tracked with separate issues.