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

[Idea] Web IDE using theia #11119

Closed
Th3Whit3Wolf opened this issue Apr 18, 2020 · 19 comments
Closed

[Idea] Web IDE using theia #11119

Th3Whit3Wolf opened this issue Apr 18, 2020 · 19 comments
Labels
issue/confirmed Issue has been reviewed and confirmed to be present or accepted to be implemented type/feature Completely new functionality. Can only be merged if feature freeze is not active.

Comments

@Th3Whit3Wolf
Copy link

Th3Whit3Wolf commented Apr 18, 2020

Since Theia IDE 1.0 was launched I thought it might be an opportunity for a new gitea feature.

What is Theia

Eclipse Theia is an extensible platform to develop full-fledged multi-language Cloud & Desktop IDE-like products with state-of-the-art web technologies.

It is basically a self hosted vscode (it looks like vsocde and can use vscode extensions) and comes with it's own docker container.

I think using this would be a better experience than gitlab's web IDE in terms of both UI and functionality.

I am unsure of how much work would be required for this but I would love to hear what people think about this idea

@guillep2k guillep2k added the type/feature Completely new functionality. Can only be merged if feature freeze is not active. label Apr 18, 2020
@lunny
Copy link
Member

lunny commented Apr 19, 2020

  • Open a IDE on one repository with special branch(default will open default branch). For different user with different permission, we can provide readonly mode and write mode. Did theia support read-only mode? Maybe a read-only mode is a first step. The IDE link entry could be in repository or in branch list, the link will be a new window.
  • Load repository treepath from git on the IDE.(Asynchronize load the sub tree)
  • When open a file on the IDE tree, extract the file from git.
  • When save/delete a file, submit a change to git.
  • Git integration. We should display the git blame on the IDE.

@roberChen
Copy link

roberChen commented Apr 19, 2020

What about the extensions support?

@dsseng
Copy link
Contributor

dsseng commented Apr 19, 2020

@lunny I experimented with Theia before, for the last (git integration) you can install GitLens VS Code extension, it's compatible, at least 70% of its main fuctions work. The most problem is security, as Theia exposes console.

@lunny
Copy link
Member

lunny commented Apr 19, 2020

@lunny I experimented with Theia before, for the last (git integration) you can install GitLens VS Code extension, it's compatible, at least 70% of its main fuctions work. The most problem is security, as Theia exposes console.

Yes, some feature should be disable. Is theia a npm package?

@lunny
Copy link
Member

lunny commented Apr 19, 2020

What about the extensions support?

extensions should be supported as well.

@dsseng
Copy link
Contributor

dsseng commented Apr 19, 2020

@lunny it's a set of npm packages. To create an IDE out of core, Theia extensions and VS Code ones, you need to create a package.json as in examples of Theia apps, define extensions and plugins there and build using their CLI. VS Code extensions can be loaded later using builtin Open-VSX registry. Security is bigger problem than you thought, there're a lot of functions relying on terminal. Probably it won't be safe to use without Docker.

@lunny
Copy link
Member

lunny commented Apr 19, 2020

Every user/repository branch will have one docker and it's difficult to know if it should be destroyed.

@roberChen
Copy link

roberChen commented Apr 19, 2020

I think it's better to regard theia as an editor rather than a full featured IDE for gitea, or allowing gitea to integrate theia just like how it does with drone CI.

@dsseng
Copy link
Contributor

dsseng commented Apr 19, 2020

For "editor" you don't need Theia as far as I know, you need Monaco editor, which is main editor of Theia.

@roberChen
Copy link

Maybe it's better to integrate Monaco editor with gitea for users who runs gitea on a Raspberry pi, I think...

@lunny
Copy link
Member

lunny commented Apr 19, 2020

I think that's different. Monaco editor could help to edit single file but theia will help to change the whole branch then you can send PR online.

@UnlimitedCookies
Copy link

Maybe there could be something similar to how Gitpod handles the Theia instances. It only allows for a limited number of containers per user (this should be pre-configurable) and automatically shuts down containers when they are not being used. I think it also pre-compiles some parts to make it faster for a dev to get started.

And of course this entire online IDE should be something entirely optional so the people hosting on a Raspberry Pi don't have to worry :)

@stale
Copy link

stale bot commented Jun 20, 2020

This issue has been automatically marked as stale because it has not had recent activity. I am here to help clear issues left open even if solved or waiting for more insight. This issue will be closed if no further activity occurs during the next 2 weeks. If the issue is still valid just add a comment to keep it alive. Thank you for your contributions.

@stale stale bot added the issue/stale label Jun 20, 2020
@lunny lunny added the issue/confirmed Issue has been reviewed and confirmed to be present or accepted to be implemented label Jun 21, 2020
@stale stale bot removed the issue/stale label Jun 21, 2020
@HKMV
Copy link

HKMV commented Nov 24, 2022

Will there be in the future?

@lunny
Copy link
Member

lunny commented Nov 24, 2022

Reviewed again all my thought before, I changed my idea. I don't think we should embed a WebIDE into Gitea.

@techknowlogick
Copy link
Member

Gitpod has a PR that is adding Gitea support, and I believe other web IDEs are adding the same. So I think this should be closed (at least for now).

@thomas-mc-work
Copy link
Contributor

Follow up:

@darkguy2008
Copy link

darkguy2008 commented Mar 12, 2023

Gitpod is cool but I just came here due to a google search looking for a way to have something more alike to GitLab's Web IDE feature inside Gitea's web UI itself. A way to browse repos with an IDE-like interface, if you will. I don't think it has to be a full-fledged IDE in the sense of allowing to compile/run/etc. but just browsing would be great.

@lunny
Copy link
Member

lunny commented Mar 12, 2023

I currently don't think it's necessary to embed a web editor into Gitea. But we can have a better integration with other web editors/local editors. I think #22378 will be a first step to do that.

@go-gitea go-gitea locked and limited conversation to collaborators May 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
issue/confirmed Issue has been reviewed and confirmed to be present or accepted to be implemented type/feature Completely new functionality. Can only be merged if feature freeze is not active.
Projects
None yet
Development

No branches or pull requests

10 participants